diff --git a/.gitignore b/.gitignore index beaeb95..229737a 100644 --- a/.gitignore +++ b/.gitignore @@ -112,3 +112,60 @@ /nmstate-2.2.26.tar.gz /nmstate-2.2.26.tar.gz.asc /nmstate-vendor-2.2.26.tar.xz +/nmstate-2.2.33.tar.gz +/nmstate-2.2.33.tar.gz.asc +/nmstate-vendor-2.2.33.tar.xz +/nmstate-2.2.34.tar.gz +/nmstate-2.2.34.tar.gz.asc +/nmstate-vendor-2.2.34.tar.xz +/nmstate-2.2.35.tar.gz +/nmstate-2.2.35.tar.gz.asc +/nmstate-vendor-2.2.35.tar.xz +/nmstate-2.2.39.tar.gz +/nmstate-2.2.39.tar.gz.asc +/nmstate-vendor-2.2.39.tar.xz +/nmstate-2.2.40.tar.gz +/nmstate-2.2.40.tar.gz.asc +/nmstate-vendor-2.2.40.tar.xz +/nmstate-2.2.41.tar.gz +/nmstate-2.2.41.tar.gz.asc +/nmstate-vendor-2.2.41.tar.xz +/nmstate-2.2.42.tar.gz +/nmstate-2.2.42.tar.gz.asc +/nmstate-vendor-2.2.42.tar.xz +/nmstate-2.2.43.tar.gz +/nmstate-2.2.43.tar.gz.asc +/nmstate-vendor-2.2.43.tar.xz +/nmstate-2.2.44.tar.gz +/nmstate-2.2.44.tar.gz.asc +/nmstate-vendor-2.2.44.tar.xz +/nmstate-2.2.45.tar.gz +/nmstate-2.2.45.tar.gz.asc +/nmstate-vendor-2.2.45.tar.xz +/nmstate-2.2.46.tar.gz +/nmstate-2.2.46.tar.gz.asc +/nmstate-vendor-2.2.46.tar.xz +/nmstate-2.2.47.tar.gz +/nmstate-2.2.47.tar.gz.asc +/nmstate-vendor-2.2.47.tar.xz +/nmstate-2.2.48.tar.gz +/nmstate-2.2.48.tar.gz.asc +/nmstate-vendor-2.2.48.tar.xz +/nmstate-2.2.49.tar.gz +/nmstate-2.2.49.tar.gz.asc +/nmstate-vendor-2.2.49.tar.xz +/nmstate-2.2.50.tar.gz +/nmstate-2.2.50.tar.gz.asc +/nmstate-vendor-2.2.50.tar.xz +/nmstate-2.2.52.tar.gz +/nmstate-2.2.52.tar.gz.asc +/nmstate-vendor-2.2.52.tar.xz +/nmstate-2.2.54.tar.gz +/nmstate-2.2.54.tar.gz.asc +/nmstate-vendor-2.2.54.tar.xz +/nmstate-2.2.55.tar.gz +/nmstate-2.2.55.tar.gz.asc +/nmstate-vendor-2.2.55.tar.xz +/nmstate-2.2.57.tar.gz +/nmstate-2.2.57.tar.gz.asc +/nmstate-vendor-2.2.57.tar.xz diff --git a/README.md b/README.md index d1ae56e..2642134 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ # nmstate -The nmstate package \ No newline at end of file +The nmstate package + +## Bundle update with rust-netlink and nispor + +When certain nmstate update requires new release of rust-netlink or nispor, +please check this document on correct procedure: + +https://docs.fedoraproject.org/en-US/package-maintainers/Package_Update_Guide/#multiple_packages diff --git a/README.packit b/README.packit index 797aefb..e03362b 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.79.0.post2+g93f33d9. +The file was generated using packit 1.12.0.post1.dev13+gd51655c23. diff --git a/nmstate.spec b/nmstate.spec index ecf602c..172d11c 100644 --- a/nmstate.spec +++ b/nmstate.spec @@ -2,7 +2,7 @@ %define libname libnmstate Name: nmstate -Version: 2.2.26 +Version: 2.2.57 Release: %autorelease Summary: Declarative network manager API License: Apache-2.0 AND LGPL-2.1-or-later @@ -11,8 +11,10 @@ Source0: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.g Source1: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc Source2: https://nmstate.io/nmstate.gpg Source3: %{url}/releases/download/v%{version}/%{srcname}-vendor-%{version}.tar.xz +# Force nmstate-libs upgrade along with nmstate rpm when installed +# https://issues.redhat.com/browse/RHEL-52890 +Requires: (nmstate-libs%{?_isa} = %{version}-%{release} if nmstate-libs) BuildRequires: python3-devel -BuildRequires: python3-setuptools BuildRequires: gnupg2 BuildRequires: systemd-devel BuildRequires: systemd-rpm-macros @@ -22,24 +24,36 @@ BuildRequires: rust-toolset BuildRequires: rust-packaging BuildRequires: (crate(clap/cargo) >= 3.1 with crate(clap/cargo) < 4.0) BuildRequires: (crate(clap/default) >= 3.1 with crate(clap/default) < 4.0) -BuildRequires: (crate(chrono/default) >= 0.4 with crate(chrono/default) < 0.5) -BuildRequires: (crate(ctrlc/default) >= 3.2 with crate(ctrlc/default) < 4.0) -BuildRequires: (crate(env_logger/default) >= 0.10 with crate(env_logger/default) < 0.11) +BuildRequires: (crate(time/std) >= 0.3 with crate(time/std) < 0.4) +BuildRequires: (crate(time/formatting) >= 0.3 with crate(time/formatting) < 0.4) +BuildRequires: (crate(time/parsing) >= 0.3 with crate(time/parsing) < 0.4) +BuildRequires: (crate(env_logger/default) >= 0.11 with crate(env_logger/default) < 0.12) BuildRequires: (crate(libc/default) >= 0.2 with crate(libc/default) < 0.3) BuildRequires: (crate(log/default) >= 0.4 with crate(log/default) < 0.5) -BuildRequires: (crate(nispor/default) >= 1.2.17 with crate(nispor/default) < 2.0) +BuildRequires: (crate(nispor/default) >= 1.2.27 with crate(nispor/default) < 2.0) BuildRequires: (crate(serde/default) >= 1.0 with crate(serde/default) < 2.0) BuildRequires: (crate(serde/derive) >= 1.0 with crate(serde/derive) < 2.0) BuildRequires: (crate(serde_json/default) >= 1.0 with crate(serde_json/default) < 2.0) BuildRequires: (crate(serde_yaml/default) >= 0.9 with crate(serde_yaml/default) < 1.0) BuildRequires: (crate(uuid/v4) >= 1.1 with crate(uuid/v4) < 2.0) BuildRequires: (crate(uuid/v5) >= 1.1 with crate(uuid/v5) < 2.0) -BuildRequires: (crate(zbus/default) >= 1.9 with crate(zbus/default) < 2.0) -BuildRequires: (crate(zvariant/default) >= 2.10 with crate(zvariant/default) < 3.0) -BuildRequires: (crate(nix/default) >= 0.26 with crate(nix/default) < 0.27) -BuildRequires: (crate(toml/default) >= 0.8 with crate(toml/default) < 0.9) +BuildRequires: (crate(zbus/default) >= 5.1 with crate(zbus/default) < 6.0) +BuildRequires: (crate(zvariant/default) >= 5.1 with crate(zvariant/default) < 6.0) +BuildRequires: (crate(nix/default) >= 0.30 with crate(nix/default) < 0.31) +BuildRequires: (crate(toml/default) >= 0.9 with crate(toml/default) < 1.0) +BuildRequires: (crate(tokio/default) >= 1.3 with crate(tokio/default) < 2.0) +BuildRequires: (crate(tokio/net) >= 1.3 with crate(tokio/net) < 2.0) +BuildRequires: (crate(tokio/rt) >= 1.3 with crate(tokio/rt) < 2.0) +BuildRequires: (crate(tokio/signal) >= 1.3 with crate(tokio/signal) < 2.0) +BuildRequires: (crate(tokio/time) >= 1.3 with crate(tokio/time) < 2.0) +BuildRequires: (crate(once_cell/default) >= 1.12 with crate(once_cell/default) < 2.0) %endif +%generate_buildrequires +pushd rust/src/python >/dev/null +%pyproject_buildrequires +popd >/dev/null + %description Nmstate is a library with an accompanying command line tool that manages host networking settings in a declarative manner and aimed to satisfy enterprise @@ -130,9 +144,9 @@ Summary: Rust crate of nmstate with query_apply feature BuildArch: noarch License: Apache-2.0 # https://bugzilla.redhat.com/show_bug.cgi?id=2161128 -Requires: (crate(nispor/default) >= 1.2.12 with crate(nispor/default) < 2.0) -Requires: (crate(nix/default) >= 0.24 with crate(nix/default) < 0.25) -Requires: (crate(zbus/default) >= 1.9 with crate(zbus/default) < 2.0) +Requires: (crate(nispor/default) >= 1.2.17 with crate(nispor/default) < 2.0) +Requires: (crate(nix/default) >= 0.26 with crate(nix/default) < 0.27) +Requires: (crate(zbus/default) >= 5.1 with crate(zbus/default) < 6.0) %description -n rust-%{name}+query_apply-devel This package contains library source intended for building other packages @@ -175,7 +189,7 @@ pushd rust popd pushd rust/src/python -%py3_build +%pyproject_wheel popd %install @@ -186,15 +200,21 @@ env SKIP_PYTHON_INSTALL=1 \ %make_install pushd rust/src/python -%py3_install +%pyproject_install popd %if ! 0%{?rhel} -# cargo_install has problem on detecting library when running in workspace -# due to bug https://pagure.io/fedora-rust/cargo2rpm/issue/5 -# Removing the workspace Cargo.toml will workaround this problem. -rm rust/Cargo.toml pushd rust/src/lib +# Fedora cargo2rpm has problem when working with worksace dependency +# https://pagure.io/fedora-rust/cargo2rpm/issue/13 +# we use `cargo package` to generate the expanded Cargo.toml which +# is also the one used in crates.io +cargo package --frozen --no-verify --target-dir %{_tmppath} +tar xf %{_tmppath}/package/nmstate-%{version}.crate \ + nmstate-%{version}/Cargo.toml +mv nmstate-%{version}/Cargo.toml ./Cargo.toml +# Remove worksapce Cargo.toml +rm ../../Cargo.toml %cargo_install popd %endif @@ -226,7 +246,7 @@ popd %files -n python3-%{libname} %license LICENSE %{python3_sitelib}/%{libname} -%{python3_sitelib}/%{srcname}-*.egg-info/ +%{python3_sitelib}/%{srcname}-*.dist-info/ %files static %{_libdir}/libnmstate.a diff --git a/sources b/sources index c2aaa63..93fcb0a 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (nmstate-2.2.26.tar.gz) = 52ff3f35ea514018be2dec5d83cc42ad3ed13cf93c6ac72b838ff4218e51d364abbc3f0b33feb9971cda2bc9eb8f76374c0fe66b614f311a71196900117a83fd -SHA512 (nmstate-2.2.26.tar.gz.asc) = a1cebb3221a7222188b41e348201364189b0c3b35de4964ec5fb83a13b0976bbb17fc831662bfbbf0b9461288c146551c56c6d57862dc4333d848f19ce4194e5 -SHA512 (nmstate.gpg) = bfbf3620045f3c1f15eaf6877fd7407834a75d2650976f2327abd02ddb910aa34500f07a774dd17023c43dcba42a0ffc66f23cd6816fd9694acad2c5eed9e8d3 -SHA512 (nmstate-vendor-2.2.26.tar.xz) = 80cbb3e73a55ae602edb3f4538ef87f1b441d149e7bed53fad60828f811d19450d4882a86521c0147d5d9a932c6d5b9595803d919ab1bc7622d29a36c289446a +SHA512 (nmstate-2.2.57.tar.gz) = b203455ce70e8c2f0e0d67d0b57ded8da1a8a6492bc636412b4682d15453cdb694cf33b1c84498ab50e3a42a79d3a763ef3316943b356ccab5f858df03fd0a63 +SHA512 (nmstate-2.2.57.tar.gz.asc) = 972de00f4b4e18410c5aa6a6d23606ceda496c18747f7ba95e6602f21f24f8b3eaffe1d3e82aaf3e529592989f12ce1198b40c8b83abb6b7d108666b56ec7359 +SHA512 (nmstate.gpg) = e465239bc2a037457c5cb105f69cb033c092708285689f906b5e40cae01e12629bec1cdee7eb6aa3a327e4fc93dfd5ce0e006b295fe5ced8df039f9098cef0bc +SHA512 (nmstate-vendor-2.2.57.tar.xz) = 88c69f1f20367acd858b25bb0e834ae7b21b4291d90b0ed62dd33c9a427f845b98fa56ba6b8d4228bc6c807f2293d77f4cd6ed7a568e6ceff19c875ef3bea6dd diff --git a/tests/cli_query_reapply.sh b/tests/cli_query_reapply.sh index 50cba9d..492857d 100755 --- a/tests/cli_query_reapply.sh +++ b/tests/cli_query_reapply.sh @@ -2,6 +2,8 @@ TMP_FILE=$(mktemp /tmp/nmstate.XXXXXX.yaml) -nmstatectl show > $TMP_FILE 2>/dev/null +nmstatectl show > $TMP_FILE -nmstatectl set $TMP_FILE 2>/dev/null +cat $TMP_FILE + +nmstatectl set $TMP_FILE 2>&1