commit c891c2892a8faace949a0fdc17b350ab772e97bb Author: MSVSphere Packaging Team Date: Fri Oct 25 19:14:08 2024 +0300 import rust-sequoia-sq-0.37.0-4.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eccd979 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +SOURCES/capnproto-c++-1.0.1.tar.gz +SOURCES/rust-sequoia-sq-0.37.0-vendor.tar.xz +SOURCES/sequoia-sq-0.37.0.crate diff --git a/.rust-sequoia-sq.metadata b/.rust-sequoia-sq.metadata new file mode 100644 index 0000000..1e5d782 --- /dev/null +++ b/.rust-sequoia-sq.metadata @@ -0,0 +1,3 @@ +c0a9e401d06d97d8b477cc5e5600d98c4875f235 SOURCES/capnproto-c++-1.0.1.tar.gz +c22a01eefa6dffb2b5a7b84db942697eac848c30 SOURCES/rust-sequoia-sq-0.37.0-vendor.tar.xz +088f06bcdcc4439f68acbc14cb27eb3f05e32ca4 SOURCES/sequoia-sq-0.37.0.crate diff --git a/SOURCES/sequoia-sq-fix-metadata.diff b/SOURCES/sequoia-sq-fix-metadata.diff new file mode 100644 index 0000000..09747e0 --- /dev/null +++ b/SOURCES/sequoia-sq-fix-metadata.diff @@ -0,0 +1,77 @@ +--- sequoia-sq-0.37.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ sequoia-sq-0.37.0/Cargo.toml 2024-06-15T16:34:04.061673+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", ++] + + [profile.release] + debug = true +@@ -76,10 +82,6 @@ + [dependencies.dirs] + version = "5" + +-[dependencies.dot-writer] +-version = "0.1.3" +-optional = true +- + [dependencies.humantime] + version = "2" + +@@ -155,9 +157,6 @@ + [dev-dependencies.dircpy] + version = "0.3" + +-[dev-dependencies.fehler] +-version = "1.0.0" +- + [dev-dependencies.libc] + version = "0.2" + +@@ -166,9 +165,6 @@ + + [dev-dependencies.regex] + version = "1" +- +-[dev-dependencies.subplotlib] +-version = ">=0.7, <0.10" + + [build-dependencies.anyhow] + version = "1.0.18" +@@ -217,10 +213,6 @@ + version = "1.0.137" + features = ["derive"] + +-[build-dependencies.subplot-build] +-version = ">=0.7, <0.10" +-optional = true +- + [build-dependencies.terminal_size] + version = ">=0.2.6, <0.4" + +@@ -228,17 +220,12 @@ + version = ">=0.15, <0.17" + + [features] +-crypto-botan = ["sequoia-openpgp/crypto-botan"] +-crypto-botan2 = ["sequoia-openpgp/crypto-botan2"] +-crypto-cng = ["sequoia-openpgp/crypto-cng"] + crypto-nettle = ["sequoia-openpgp/crypto-nettle"] + crypto-openssl = ["sequoia-openpgp/crypto-openssl"] + crypto-rust = ["sequoia-openpgp/crypto-rust"] + default = [ +- "crypto-nettle", +- "dot-writer", +-] +-subplot = ["subplot-build"] ++ "crypto-openssl", ++] + + [badges.gitlab] + repository = "sequoia-pgp/sequoia-sq" diff --git a/SPECS/rust-sequoia-sq.spec b/SPECS/rust-sequoia-sq.spec new file mode 100644 index 0000000..f3a1e4a --- /dev/null +++ b/SPECS/rust-sequoia-sq.spec @@ -0,0 +1,199 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 4; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# Generated by rust2rpm 26 +%bcond_without check + +%global crate sequoia-sq + +%if 0%{?rhel} +# RHEL: Use bundled deps as it doesn't ship Rust libraries +%global bundled_rust_deps 1 +%global __brp_mangle_shebangs_exclude_from ^/usr/src/debug/.*$ +%bcond_without bundled_capnproto +%else +# Fedora: Use only system Rust libraries +%global bundled_rust_deps 0 +%bcond_with bundled_capnproto +%endif + +Name: rust-sequoia-sq +Version: 0.37.0 +Release: %autorelease +Summary: Command-line frontends for Sequoia + +License: LGPL-2.0-or-later +URL: https://crates.io/crates/sequoia-sq +Source0: %{crates_source} + +# Generated using cargo-vendor-filterer: +# cargo download %%{crate}==%%{version} > %%{crate}-%%{version}.crate +# tar xf %%{crate}-%%{version}.crate +# cargo update ... # optional, if you want to update specific dependencies +# pushd %%{crate}-%%{version} +# cargo vendor-filterer --platform x86_64-unknown-linux-gnu \ +# --platform powerpc64le-unknown-linux-gnu \ +# --platform aarch64-unknown-linux-gnu \ +# --platform i686-unknown-linux-gnu \ +# --platform s390x-unknown-linux-gnu \ +# --all-features=true +Source1: %{name}-%{version}-vendor.tar.xz +Source2: capnproto-c++-1.0.1.tar.gz +# Manually created patch for downstream crate metadata changes +# * switch crypto backend from Nettle to OpenSSL +# * exclude files that are only useful for upstream development +# * drop automated generation of upstream integration tests +# * drop features for unsupported crypto backends +Patch: sequoia-sq-fix-metadata.diff + +%if 0%{?bundled_rust_deps} +BuildRequires: rust-toolset +# vendored openssl-sys +BuildRequires: openssl-devel +# vendored rustqlite +BuildRequires: sqlite-devel +%else +BuildRequires: cargo-rpm-macros >= 24 +%endif + +%if %{with bundled_capnproto} +BuildRequires: gcc-c++ +BuildRequires: cmake >= 3.1 +%endif + +%global _description %{expand: +Command-line frontends for Sequoia.} + +%description %{_description} + +%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 ISC OR MIT +# 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 +# LGPL-2.0-or-later +# 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: 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 ISC OR MIT) 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 (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} -N %{?bundled_rust_deps:-a1} +%autopatch -M 99 -p1 +%if 0%{?bundled_rust_deps} +%cargo_prep -v vendor + +# drop broken integration tests +rm -vr subplot/ +# don't lock the dependencies +rm -f Cargo.lock +%else +%cargo_prep +# drop broken integration tests +rm -vr subplot/ + +%generate_buildrequires +%cargo_generate_buildrequires +%endif + +%if %{with bundled_capnproto} +mkdir -p bundled_capnproto +pushd bundled_capnproto +tar --strip-components=1 -xf %{SOURCE2} +popd +%endif + +%build +%if %{with bundled_capnproto} +pushd bundled_capnproto +%cmake -DBUILD_TESTING=OFF +%cmake_build +export PATH="$PWD/%{__cmake_builddir}/src/capnp:$PATH" +popd +%endif +%cargo_build +%{cargo_license_summary} +%{cargo_license} > LICENSE.dependencies + +%install +%cargo_install +# install manual pages +mkdir -p %{buildroot}/%{_mandir}/man1 +cp -pav target/release/build/%{crate}-*/out/man-pages/sq*.1 %{buildroot}/%{_mandir}/man1/ +# install shell completions +install -Dpm 0644 target/release/build/%{crate}-*/out/shell-completions/sq.bash \ + %{buildroot}/%{bash_completions_dir}/sq.bash +install -Dpm 0644 target/release/build/%{crate}-*/out/shell-completions/sq.fish \ + %{buildroot}/%{fish_completions_dir}/sq.fish +install -Dpm 0644 target/release/build/%{crate}-*/out/shell-completions/_sq \ + %{buildroot}/%{zsh_completions_dir}/_sq + +%if %{with check} +%check +# * skip tests that require files which are not included in published crates +# * skip tests that fail because the Fedora crypto policy is too strict +%cargo_test -- -- --exact --skip cli::cert::export::sq_cert_export --skip cli::cert::import::sq_cert_import --skip cli::inspect::sq_inspect --skip cli::key::expire::sq_key_expire --skip cli::key::sq_key_import --skip cli::key::sq_key_list --skip cli::pki::sq_pki_authenticate --skip cli::pki::sq_pki_identify --skip cli::pki::sq_pki_list --skip cli::pki::sq_pki_lookup --skip cli::pki::sq_pki_path --skip sq_sign --skip sq_sign_append --skip sq_sign_append_on_compress_then_sign --skip sq_sign_detached --skip sq_sign_detached_append --skip sq_sign_with_notations --skip sq_autocrypt_import +%endif + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 0.37.0-4 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Mon Aug 26 2024 Daiki Ueno - 0.37.0-4 +- Update vendored openssl, sequoia-openpgp and zerovec crates + +* Thu Aug 22 2024 Stanislav Zidek - 0.37.0-3 +- initial CI and gating setup + +* Tue Aug 20 2024 Daiki Ueno - 0.37.0-2 +- Don't compile capnproto in %%prep + +* Tue Feb 15 2022 Zbigniew Jędrzejewski-Szmek - 0.25.0-5 +- Rebuild with package notes + +* Fri Jan 21 2022 Fedora Release Engineering - 0.25.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Sep 14 2021 Sahana Prasad - 0.25.0-3 +- Rebuilt with OpenSSL 3.0.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.25.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Apr 08 2021 Fabio Valentini - 0.25.0-1 +- Initial package + +## END: Generated by rpmautospec