Link uu_ binaries directly, without the shell wrapper
The multicall binary `uutils-coreutils` already strips arbitrary
prefixes up to a non-alphabetic character, so our `uu_` prefix works
fine when linked directly.
(cherry picked from commit c4440c160e)
This commit is contained in:
parent
0c55108464
commit
962d783b23
3 changed files with 6 additions and 46 deletions
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Wrapper to invoke coreutils multicall via individual libexec symlink
|
||||
#
|
||||
# To use:
|
||||
# - symlink this to /usr/bin/uu_$utility
|
||||
# - it will invoke /usr/libexec/uutils-coreutils/$utility
|
||||
# - that is in turn a symlink to /usr/bin/uutils-coreutils, which is a
|
||||
# multicall binary that behaves like $utility when that is argv[0]
|
||||
|
||||
CALLED_AS=$(basename "$0")
|
||||
|
||||
UTILITY=${CALLED_AS#uu_}
|
||||
|
||||
CMD="/usr/libexec/uutils-coreutils/$UTILITY"
|
||||
|
||||
if [ -L "$CMD" ]; then
|
||||
# we want the argv to be passed as-is here
|
||||
# shellcheck disable=SC2068
|
||||
"$CMD" $@
|
||||
else
|
||||
echo "Error: $CMD not found" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -11,10 +11,8 @@ Summary: coreutils ~ GNU coreutils reimplementation in Rust
|
|||
License: MIT
|
||||
URL: https://crates.io/crates/coreutils
|
||||
Source: %{crates_source}
|
||||
# * Wrapper to invoke coreutils multicall via individual libexec symlink
|
||||
Source1: coreutils-wrapper.sh
|
||||
# * Script to list available coreutils commands
|
||||
Source2: coreutils-ls-commands.sh
|
||||
Source1: coreutils-ls-commands.sh
|
||||
# Manually created patch for downstream crate metadata changes
|
||||
# * drop uudoc, unneeded
|
||||
# * allow up to rstest 0.23
|
||||
|
|
@ -152,8 +150,6 @@ Obsoletes: uu_yes < %{obsolete_uu_nvr}
|
|||
%doc README.md
|
||||
%{_bindir}/uutils-coreutils
|
||||
%{_bindir}/uu_*
|
||||
%dir %{_libexecdir}/uutils-coreutils
|
||||
%{_libexecdir}/uutils-coreutils/*
|
||||
%{_mandir}/man1/*
|
||||
%{bash_completions_dir}/*
|
||||
%{fish_completions_dir}/*
|
||||
|
|
@ -162,10 +158,8 @@ Obsoletes: uu_yes < %{obsolete_uu_nvr}
|
|||
%prep
|
||||
%autosetup -n %{crate}-%{version} -p1
|
||||
%cargo_prep
|
||||
# coreutils-wrapper.sh script
|
||||
cp -p %{SOURCE1} .
|
||||
# coreutils-ls-commands.sh script
|
||||
cp -p %{SOURCE2} .
|
||||
cp -p %{SOURCE1} .
|
||||
|
||||
%generate_buildrequires
|
||||
%cargo_generate_buildrequires
|
||||
|
|
@ -194,11 +188,8 @@ target/rpm/coreutils completion coreutils fish > data/completions/fish/uutils-co
|
|||
%install
|
||||
%cargo_install
|
||||
mv %{buildroot}/%{_bindir}/coreutils %{buildroot}/%{_bindir}/uutils-coreutils
|
||||
mkdir -p %{buildroot}%{_libexecdir}/uutils-coreutils/misc
|
||||
cp -p coreutils-wrapper.sh %{buildroot}%{_libexecdir}/uutils-coreutils/misc/
|
||||
for utility in $(./coreutils-ls-commands.sh target/rpm/coreutils); do
|
||||
ln -sr %{buildroot}%{_bindir}/uutils-coreutils %{buildroot}%{_libexecdir}/uutils-coreutils/$utility
|
||||
ln -sr %{buildroot}%{_libexecdir}/uutils-coreutils/misc/coreutils-wrapper.sh %{buildroot}%{_bindir}/uu_$utility
|
||||
ln -sr %{buildroot}%{_bindir}/uutils-coreutils %{buildroot}%{_bindir}/uu_$utility
|
||||
done
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
cp -p data/man/man1/* %{buildroot}%{_mandir}/man1/
|
||||
|
|
|
|||
|
|
@ -10,8 +10,7 @@ cargo-toml-patch-comments = [
|
|||
"allow procfs 0.17",
|
||||
]
|
||||
extra-sources = [
|
||||
{ "number" = 1, "file" = "coreutils-wrapper.sh", "comments" = ["Wrapper to invoke coreutils multicall via individual libexec symlink"] },
|
||||
{ "number" = 2, "file" = "coreutils-ls-commands.sh", "comments" = ["Script to list available coreutils commands"] },
|
||||
{ "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"] },
|
||||
|
|
@ -21,8 +20,6 @@ bin-package-name = "uutils-coreutils"
|
|||
|
||||
extra-files = [
|
||||
"%{_bindir}/uu_*",
|
||||
"%dir %{_libexecdir}/uutils-coreutils",
|
||||
"%{_libexecdir}/uutils-coreutils/*",
|
||||
"%{_mandir}/man1/*",
|
||||
"%{bash_completions_dir}/*",
|
||||
"%{fish_completions_dir}/*",
|
||||
|
|
@ -34,10 +31,8 @@ coreutils = "uutils-coreutils"
|
|||
|
||||
[scripts]
|
||||
prep.post = ["""\
|
||||
# coreutils-wrapper.sh script
|
||||
cp -p %{SOURCE1} .
|
||||
# coreutils-ls-commands.sh script
|
||||
cp -p %{SOURCE2} ."""]
|
||||
cp -p %{SOURCE1} ."""]
|
||||
|
||||
build.post = ["""\
|
||||
mkdir -p data/man/man1
|
||||
|
|
@ -58,11 +53,8 @@ target/rpm/coreutils completion coreutils fish > data/completions/fish/uutils-co
|
|||
"""]
|
||||
|
||||
install.post = ["""\
|
||||
mkdir -p %{buildroot}%{_libexecdir}/uutils-coreutils/misc
|
||||
cp -p coreutils-wrapper.sh %{buildroot}%{_libexecdir}/uutils-coreutils/misc/
|
||||
for utility in $(./coreutils-ls-commands.sh target/rpm/coreutils); do
|
||||
ln -sr %{buildroot}%{_bindir}/uutils-coreutils %{buildroot}%{_libexecdir}/uutils-coreutils/$utility
|
||||
ln -sr %{buildroot}%{_libexecdir}/uutils-coreutils/misc/coreutils-wrapper.sh %{buildroot}%{_bindir}/uu_$utility
|
||||
ln -sr %{buildroot}%{_bindir}/uutils-coreutils %{buildroot}%{_bindir}/uu_$utility
|
||||
done
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
cp -p data/man/man1/* %{buildroot}%{_mandir}/man1/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue