diff --git a/coreutils-fix-metadata.diff b/coreutils-fix-metadata.diff index 3e94071..0f204a8 100644 --- a/coreutils-fix-metadata.diff +++ b/coreutils-fix-metadata.diff @@ -1,5 +1,5 @@ --- coreutils-0.7.0/Cargo.toml 2006-07-24T01:21:28+00:00 -+++ coreutils-0.7.0/Cargo.toml 2026-03-19T00:37:33.825177+00:00 ++++ coreutils-0.7.0/Cargo.toml 2026-03-29T20:06:38.194812+00:00 @@ -39,6 +39,7 @@ [package.metadata.docs.rs] all-features = true diff --git a/rust-coreutils.spec b/rust-coreutils.spec index b0a778c..77a85dc 100644 --- a/rust-coreutils.spec +++ b/rust-coreutils.spec @@ -26,6 +26,7 @@ Patch: coreutils-fix-metadata.diff ExcludeArch: %{ix86} BuildRequires: cargo-rpm-macros >= 24 +BuildRequires: systemd-devel %global _description %{expand: coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust.} @@ -34,8 +35,45 @@ coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) u %package -n uutils-coreutils Summary: %{summary} -# FIXME: paste output of %%cargo_license_summary here -License: # FIXME +# (MIT OR Apache-2.0) AND Unicode-DFS-2016 +# (MIT OR Apache-2.0) AND Zlib +# 0BSD OR MIT OR Apache-2.0 +# Apache-2.0 +# Apache-2.0 OR Apache-2.0 WITH LLVM-exception +# Apache-2.0 OR GPL-2.0-only +# Apache-2.0 OR MIT +# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT +# BSD-2-Clause +# BSD-2-Clause OR Apache-2.0 OR MIT +# BSD-3-Clause +# CC0-1.0 +# ISC +# MIT +# MIT OR Apache-2.0 +# MIT OR Zlib OR Apache-2.0 +# MIT-0 OR Apache-2.0 +# Unicode-3.0 +# Unlicense OR MIT +# Zlib +License: %{shrink: + (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND + Zlib AND + (0BSD OR MIT OR Apache-2.0) AND + Apache-2.0 AND + (Apache-2.0 OR Apache-2.0 WITH LLVM-exception) AND + (Apache-2.0 OR GPL-2.0-only) AND + (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND + BSD-2-Clause AND + (BSD-2-Clause OR Apache-2.0 OR MIT) AND + BSD-3-Clause AND + CC0-1.0 AND + ISC AND + MIT AND + (MIT OR Zlib OR Apache-2.0) AND + (MIT-0 OR Apache-2.0) AND + Unicode-3.0 AND + (Unlicense OR MIT) +} # LICENSE.dependencies contains a full license breakdown %description -n uutils-coreutils %{_description} @@ -1760,12 +1798,12 @@ use the "yes" feature of the "%{crate}" crate. %cargo_prep %generate_buildrequires -%cargo_generate_buildrequires -f uudoc +%cargo_generate_buildrequires -f feat_acl,feat_os_unix,feat_selinux,feat_systemd_logind,uudoc %build -%cargo_build -f uudoc -%{cargo_license_summary -f uudoc} -%{cargo_license -f uudoc} > LICENSE.dependencies +%cargo_build -f feat_acl,feat_os_unix,feat_selinux,feat_systemd_logind,uudoc +%{cargo_license_summary -f feat_acl,feat_os_unix,feat_selinux,feat_systemd_logind,uudoc} +%{cargo_license -f feat_acl,feat_os_unix,feat_selinux,feat_systemd_logind,uudoc} > LICENSE.dependencies mkdir -p data/man/man1 mkdir -p data/completions/{bash,fish,zsh} @@ -1784,7 +1822,7 @@ target/release/uudoc completion coreutils fish > data/completions/fish/uutils-co %install -%cargo_install -f uudoc +%cargo_install -f feat_acl,feat_os_unix,feat_selinux,feat_systemd_logind,uudoc mv %{buildroot}/%{_bindir}/coreutils %{buildroot}/%{_bindir}/uutils-coreutils for utility in $(target/rpm/coreutils --list); do ln -sr %{buildroot}%{_bindir}/uutils-coreutils %{buildroot}%{_bindir}/uu_$utility @@ -1815,12 +1853,13 @@ rm %{buildroot}%{_bindir}/uudoc # * test_df: needs an actual filesystem to test # * test_du: expected sublink/symlink in output # * test_ls: need block/char device -# * test_od: s390x failures, see https://github.com/uutils/coreutils/issues/9017#issuecomment-4148721220 +# * test_od: s390x failures, see +# https://github.com/uutils/coreutils/issues/9017#issuecomment-4148721220 # * test_seq: tolerances too tight # * test_sort: formatting differences with recent unicode-width versions # * uudoc: missing test fixture # * various color and localization tests -%{cargo_test -f uudoc -- -- %{shrink: +%{cargo_test -f feat_acl,feat_os_unix,feat_selinux,feat_systemd_logind,uudoc -- -- %{shrink: --skip common::util::tests::test_compare_xattrs --skip test_chcon:: --skip test_runcon:: diff --git a/rust2rpm.toml b/rust2rpm.toml index 0cfa0d9..18f592d 100644 --- a/rust2rpm.toml +++ b/rust2rpm.toml @@ -24,6 +24,19 @@ extra-files = [ [package.bin-renames] coreutils = "uutils-coreutils" +[features] +enable = [ + "feat_os_unix", + "feat_acl", + "feat_selinux", + "feat_systemd_logind", +] + +[requires] +build = [ + "systemd-devel", +] + [scripts] build.post = ["""\ mkdir -p data/man/man1