rust-coreutils/rust2rpm.toml
Benjamin A. Beasley bf5fc932eb Allow procfs 0.18
2026-01-05 09:34:36 +00:00

127 lines
5 KiB
TOML

[package]
summary = "coreutils ~ GNU coreutils reimplementation in Rust"
description = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust."
cargo-toml-patch-comments = [
"drop uudoc, unneeded",
"update rstest to 0.26: https://github.com/uutils/coreutils/commit/001a91fbe6adea29a566326df3fcda30f89e97ab",
"enable feat_acl",
"TODO: enable unix",
"allow procfs 0.17, 0.18",
"allow hex-literal 1.0: https://github.com/uutils/coreutils/commit/944cd4f72ca7d6e87d06d0a0a5b9e8dafedfba4b",
]
extra-sources = [
{ "number" = 1, "file" = "coreutils-ls-commands.sh", "comments" = ["Script to list available coreutils commands"] },
]
extra-patches = [
{ "number" = 2, "file" = "coreutils-fix-seq-neg-num-tests.diff", "comments" = ["Fix seq tests that pass negative numbers"] },
]
bin-package-name = "uutils-coreutils"
extra-files = [
"%{_bindir}/uu_*",
"%{_mandir}/man1/*",
"%{bash_completions_dir}/*",
"%{fish_completions_dir}/*",
"%{zsh_completions_dir}/*",
]
[package.bin-renames]
coreutils = "uutils-coreutils"
[scripts]
prep.post = ["""\
# coreutils-ls-commands.sh script
cp -p %{SOURCE1} ."""]
build.post = ["""\
mkdir -p data/man/man1
mkdir -p data/completions/{bash,fish,zsh}
for utility in $(./coreutils-ls-commands.sh target/rpm/coreutils); do
target/rpm/coreutils manpage $utility > data/man/man1/uu_${utility}.1
for s in bash zsh; do
target/rpm/coreutils completion $utility $s > data/completions/$s/uu_${utility}
done
target/rpm/coreutils completion $utility fish > data/completions/fish/uu_${utility}.fish
done
target/rpm/coreutils manpage coreutils > data/man/man1/uutils-coreutils.1
for s in bash zsh; do
target/rpm/coreutils completion coreutils $s > data/completions/$s/uutils-coreutils
done
target/rpm/coreutils completion coreutils fish > data/completions/fish/uutils-coreutils.fish
"""]
install.post = ["""\
for utility in $(./coreutils-ls-commands.sh target/rpm/coreutils); do
ln -sr %{buildroot}%{_bindir}/uutils-coreutils %{buildroot}%{_bindir}/uu_$utility
done
mkdir -p %{buildroot}%{_mandir}/man1
cp -p data/man/man1/* %{buildroot}%{_mandir}/man1/
mkdir -p %{buildroot}%{bash_completions_dir}
mkdir -p %{buildroot}%{fish_completions_dir}
mkdir -p %{buildroot}%{zsh_completions_dir}
cp -p data/completions/bash/* %{buildroot}%{bash_completions_dir}/
cp -p data/completions/fish/* %{buildroot}%{fish_completions_dir}/
cp -p data/completions/zsh/* %{buildroot}%{zsh_completions_dir}/
"""]
[tests]
comments = [
"--test-threads 1: tests fail with permission denied error if run with too many threads (currently not needed)",
"common::util::tests::test_compare_xattrs: operation not supported",
"test_chcon / test_runcon: SELinux not supported in mock",
"test_cp: operation not supported",
"test_df: needs an actual filesystem to test",
"test_du: expected sublink/symlink in output",
"test_ls: need block/char device",
"test_seq: tolerances too tight",
"test_sort: formatting differences with recent unicode-width versions",
]
skip = [
"common::util::tests::test_compare_xattrs",
"test_chcon::",
"test_runcon::",
"test_cp::test_copy_dir_preserve_permissions",
"test_cp::test_copy_dir_preserve_permissions_inaccessible_file",
"test_cp::test_copy_through_dangling_symlink_no_dereference_permissions",
"test_cp::test_cp_debug_reflink_auto_sparse_always_non_sparse_file_with_long_zero_sequence",
"test_cp::test_cp_parents_2_dirs",
"test_cp::test_cp_parents_with_permissions_copy_dir",
"test_cp::test_cp_parents_with_permissions_copy_file",
"test_cp::test_cp_preserve_xattr",
"test_cp::test_cp_sparse_always_empty",
"test_cp::test_cp_sparse_always_non_empty",
"test_cp::test_preserve_hardlink_attributes_in_directory",
"test_cp::test_preserve_mode",
"test_df::test_file_column_width_if_filename_contains_unicode_chars",
"test_df::test_nonexistent_file",
"test_df::test_output_file_specific_files",
"test_df::test_output_mp_repeat",
"test_df::test_output_option_without_equals_sign",
"test_df::test_total_label_in_correct_column",
"test_df::test_type_option_with_file",
"test_du::test_du_dereference_args",
"test_du::test_du_no_dereference",
"test_ls::test_device_number",
"test_ls::test_ls_allocation_size",
"test_ls::test_ls_inode",
"test_ls::test_ls_long_format",
"test_ls::test_ls_long_formats",
"test_seq::test_count_down_floats",
"test_seq::test_float_precision_increment",
"test_seq::test_inf_width",
"test_seq::test_neg_inf_width",
"test_seq::test_separator_and_terminator_floats",
"test_seq::test_width_decimal_scientific_notation_increment",
"test_seq::test_width_decimal_scientific_notation_trailing_zeros_end",
"test_seq::test_width_decimal_scientific_notation_trailing_zeros_increment",
"test_seq::test_width_floats",
"test_seq::test_width_negative_zero_decimal_notation",
"test_seq::test_width_negative_zero_scientific_notation",
"test_sort::test_keys_closed_range",
"test_sort::test_keys_multiple_ranges",
"test_sort::test_keys_no_field_match",
"test_sort::test_keys_open_ended",
]