From afb7fedb969e47190c982718c7529447fa0c1dbe Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Tue, 19 Dec 2023 20:25:10 +0100 Subject: [PATCH] Update to version 0.32.0; Fixes RHBZ#2108897 --- .gitignore | 1 + ...utomated-integration-test-generation.patch | 37 -------- ...ding-shell-completions-and-man-pages.patch | 37 ++++++++ rust-sequoia-sq.spec | 51 +++++++---- sequoia-sq-fix-metadata.diff | 91 +++++++++++-------- sources | 2 +- 6 files changed, 125 insertions(+), 94 deletions(-) delete mode 100644 0001-build-remove-automated-integration-test-generation.patch create mode 100644 0001-fix-building-shell-completions-and-man-pages.patch diff --git a/.gitignore b/.gitignore index 165d5b4..cb58c7c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /sequoia-sq-0.25.0.crate /sequoia-sq-0.26.0.crate +/sequoia-sq-0.32.0.crate diff --git a/0001-build-remove-automated-integration-test-generation.patch b/0001-build-remove-automated-integration-test-generation.patch deleted file mode 100644 index dd42be2..0000000 --- a/0001-build-remove-automated-integration-test-generation.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5daffba8dd7b00739507c74b5ce28d18597e7be9 Mon Sep 17 00:00:00 2001 -From: Fabio Valentini -Date: Wed, 16 Mar 2022 12:10:07 +0100 -Subject: [PATCH] build: remove automated integration test generation - ---- - build.rs | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/build.rs b/build.rs -index 71399d4..cc4c687 100644 ---- a/build.rs -+++ b/build.rs -@@ -1,7 +1,6 @@ - use std::env; - use std::fs; - use std::io::{self, Write}; --use std::path::Path; - use clap::Shell; - - mod sq_cli { -@@ -11,12 +10,6 @@ mod sq_cli { - fn main() { - println!("cargo:rerun-if-changed=build.rs"); - -- // XXX: Revisit once -- // https://github.com/rust-lang/rust/issues/44732 is stabilized. -- -- subplot_build::codegen(Path::new("sq-subplot.md")) -- .expect("failed to generate code with Subplot"); -- - let mut sq = sq_cli::configure( - clap::App::new("sq").set_term_width(80), - cfg!(feature = "autocrypt"), --- -2.35.1 - diff --git a/0001-fix-building-shell-completions-and-man-pages.patch b/0001-fix-building-shell-completions-and-man-pages.patch new file mode 100644 index 0000000..83d7f85 --- /dev/null +++ b/0001-fix-building-shell-completions-and-man-pages.patch @@ -0,0 +1,37 @@ +From af8d0e678603bc922ba2249d05872f08a596136d Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Tue, 19 Dec 2023 18:56:57 +0100 +Subject: [PATCH] fix building shell completions and man pages + +--- + build.rs | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/build.rs b/build.rs +index 1a844ad..be4e686 100644 +--- a/build.rs ++++ b/build.rs +@@ -25,16 +25,14 @@ fn main() { + dump_help(sq.clone()).unwrap(); + + // Generate shell completions +- let outdir = match env::var_os("CARGO_TARGET_DIR") { +- None => return, +- Some(outdir) => outdir, +- }; ++ let out_dir = std::path::PathBuf::from( ++ std::env::var_os("OUT_DIR").ok_or(std::io::ErrorKind::NotFound).unwrap()); + +- fs::create_dir_all(&outdir).unwrap(); ++ fs::create_dir_all(&out_dir).unwrap(); + + for shell in &[Shell::Bash, Shell::Fish, Shell::Zsh, Shell::PowerShell, + Shell::Elvish] { +- let path = clap_complete::generate_to(*shell, &mut sq, "sq", &outdir).unwrap(); ++ let path = clap_complete::generate_to(*shell, &mut sq, "sq", &out_dir).unwrap(); + println!("cargo:warning=completion file is generated: {:?}", path); + }; + +-- +2.43.0 + diff --git a/rust-sequoia-sq.spec b/rust-sequoia-sq.spec index 970a8ba..f81613a 100644 --- a/rust-sequoia-sq.spec +++ b/rust-sequoia-sq.spec @@ -1,27 +1,26 @@ -# Generated by rust2rpm 24 -# * missing dev-dependencies: fehler, subplot-build, subplotlib -%bcond_with check +# Generated by rust2rpm 25 +%bcond_without check %global crate sequoia-sq Name: rust-sequoia-sq -Version: 0.26.0 +Version: 0.32.0 Release: %autorelease Summary: Command-line frontends for Sequoia -License: GPL-2.0-or-later +License: LGPL-2.0-or-later URL: https://crates.io/crates/sequoia-sq Source: %{crates_source} # Manually created patch for downstream crate metadata changes -Patch: sequoia-sq-fix-metadata.diff # * exclude files that are only useful for upstream development # * prevent manpages from getting installed twice # * drop automated generation of upstream integration tests -# * bump sequoia-autocrypt to 0.25 -# * bump sequoia-net to 0.27 -Patch: 0001-build-remove-automated-integration-test-generation.patch +# * drop features for unsupported crypto backends +Patch: sequoia-sq-fix-metadata.diff +# https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues/163 +Patch: 0001-fix-building-shell-completions-and-man-pages.patch -BuildRequires: rust-packaging >= 23 +BuildRequires: cargo-rpm-macros >= 24 %global _description %{expand: Command-line frontends for Sequoia.} @@ -30,51 +29,67 @@ Command-line frontends for Sequoia.} %package -n %{crate} Summary: %{summary} +# (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # 0BSD OR MIT OR Apache-2.0 # Apache-2.0 +# Apache-2.0 AND MIT +# Apache-2.0 OR BSL-1.0 # Apache-2.0 OR MIT # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT +# BSD-2-Clause OR Apache-2.0 OR MIT # BSL-1.0 -# GPL-2.0-or-later # LGPL-2.0-or-later # LGPL-3.0 OR GPL-2.0 OR GPL-3.0 -# LGPL-3.0+ # MIT # MIT OR Apache-2.0 # MIT OR Apache-2.0 OR Zlib # MIT OR Zlib OR Apache-2.0 +# MPL-2.0 # Unlicense OR MIT # Zlib OR Apache-2.0 OR MIT -License: GPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND LGPL-3.0 AND MIT AND Unicode-DFS-2016 +License: LGPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND BSD-3-Clause AND MIT AND MPL-2.0 AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (LGPL-3.0 OR GPL-2.0 OR GPL-3.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) +# LICENSE.dependencies contains a full license breakdown %description -n %{crate} %{_description} %files -n %{crate} %license LICENSE.txt %license LICENSE.dependencies +%doc README.md %{_bindir}/sq %{_mandir}/man1/sq* +%{bash_completions_dir}/sq.bash +%{fish_completions_dir}/sq.fish +%{zsh_completions_dir}/_sq %prep -%autosetup -n %{crate}-%{version_no_tilde} -p1 -# remove integration tests (assert-cli is broken during RPM builds) -rm -r tests +%autosetup -n %{crate}-%{version} -p1 %cargo_prep +# drop broken integration tests +rm -vr subplot/ +rm -vr tests/ %generate_buildrequires %cargo_generate_buildrequires %build %cargo_build -%cargo_license_summary +%{cargo_license_summary} %{cargo_license} > LICENSE.dependencies %install %cargo_install # install manual pages mkdir -p %{buildroot}/%{_mandir}/man1 -cp -pav man-sq-net-autocrypt/* %{buildroot}/%{_mandir}/man1/ +cp -pav target/release/build/%{crate}-*/out/sq*.1 %{buildroot}/%{_mandir}/man1/ +# install shell completions +install -Dpm 0644 target/release/build/%{crate}-*/out/sq.bash \ + %{buildroot}/%{bash_completions_dir}/sq.bash +install -Dpm 0644 target/release/build/%{crate}-*/out/sq.fish \ + %{buildroot}/%{fish_completions_dir}/sq.fish +install -Dpm 0644 target/release/build/%{crate}-*/out/_sq \ + %{buildroot}/%{zsh_completions_dir}/_sq %if %{with check} %check diff --git a/sequoia-sq-fix-metadata.diff b/sequoia-sq-fix-metadata.diff index 689d63c..5e22a37 100644 --- a/sequoia-sq-fix-metadata.diff +++ b/sequoia-sq-fix-metadata.diff @@ -1,57 +1,72 @@ ---- sequoia-sq-0.26.0/Cargo.toml 1970-01-01T00:00:01+00:00 -+++ sequoia-sq-0.26.0/Cargo.toml 2023-04-14T10:24:21.873221+00:00 -@@ -23,6 +23,7 @@ - categories = ["cryptography", "authentication", "command-line-utilities"] - license = "GPL-2.0-or-later" - repository = "https://gitlab.com/sequoia-pgp/sequoia" -+exclude = ["man-*", "Makefile", "sq-subplot.md", "subplot/"] - - [[bin]] - name = "sq" -@@ -50,12 +51,12 @@ - version = "5.0" - - [dependencies.sequoia-autocrypt] --version = "0.24" -+version = "0.25" - optional = true - default-features = false +--- sequoia-sq-0.32.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ sequoia-sq-0.32.0/Cargo.toml 2023-12-19T16:57:04.024891+00:00 +@@ -44,6 +44,12 @@ + ] + license = "LGPL-2.0-or-later" + repository = "https://gitlab.com/sequoia-pgp/sequoia-sq" ++exclude = [ ++ "/deny.toml", ++ "/Dockerfile", ++ "/sq.subplot", ++ "/sq-subplot.md", ++] - [dependencies.sequoia-net] --version = "0.24" -+version = "0.27" - default-features = false + [profile.release] + debug = true +@@ -76,10 +82,6 @@ + [dependencies.dirs] + version = "5" - [dependencies.sequoia-openpgp] -@@ -71,17 +72,7 @@ +-[dependencies.dot-writer] +-version = "0.1.3" +-optional = true +- + [dependencies.humantime] + version = "2" - [dependencies.tokio] - version = "1.13.1" --[dev-dependencies.assert_cmd] --version = "2.0.4" +@@ -143,14 +145,8 @@ + [dev-dependencies.assert_cmd] + version = "2" -[dev-dependencies.fehler] -version = "1.0.0" - --[dev-dependencies.predicates] --version = "2" + [dev-dependencies.predicates] + version = ">=2, <4" - -[dev-dependencies.subplotlib] --version = "0.1.0" - [build-dependencies.clap] - version = "2.33" +-version = ">=0.7, <0.10" -@@ -89,13 +80,9 @@ - version = "1.0.0" + [build-dependencies.anyhow] + version = "1.0.18" +@@ -189,29 +185,19 @@ + version = "1.17" default-features = false -[build-dependencies.subplot-build] --version = "0.1.0" +-version = ">=0.7, <0.10" +-optional = true - + [build-dependencies.terminal_size] + version = ">=0.2.6, <0.4" + [features] autocrypt = ["sequoia-autocrypt"] - compression-bzip2 = ["buffered-reader/compression-bzip2", "sequoia-openpgp/compression-bzip2"] + compression-bzip2 = ["sequoia-openpgp/compression-bzip2"] +-crypto-botan = ["sequoia-openpgp/crypto-botan"] +-crypto-botan2 = ["sequoia-openpgp/crypto-botan2"] -crypto-cng = ["sequoia-openpgp/crypto-cng"] crypto-nettle = ["sequoia-openpgp/crypto-nettle"] - default = ["crypto-nettle", "compression-bzip2", "autocrypt"] + crypto-openssl = ["sequoia-openpgp/crypto-openssl"] +-crypto-rust = ["sequoia-openpgp/crypto-rust"] + default = [ + "crypto-nettle", + "compression-bzip2", + "autocrypt", +- "dot-writer", +-] +-subplot = ["subplot-build"] ++] + [badges.gitlab] + repository = "sequoia-pgp/sequoia-sq" diff --git a/sources b/sources index f556818..f528ebe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sequoia-sq-0.26.0.crate) = 4e5431050809ca82922eeda6252ba16abc505dea2cfdbd5964169b98b19933088ebc95065e9624d98545678bcd741c7d5185eb8699fc968ab62272d7ce6bb310 +SHA512 (sequoia-sq-0.32.0.crate) = 33688d286d830391b55a3d309d22d0561335941aaef1fe3e9878158ed28c53b2b1a90e0c168be9457f8b9e3d22a1f771ad67f322767e959d4ad959a01479a3c0