Source: rust-coreutils Severity: wishlist Tags: patch Hi Sylvestre,
I know your preference to have individual binaries to match GNU's :-). Just in case you want to reevaluate, I forward here the patch we use in Apertis to reduce the storage footprint from 125.7 MB to 35.1 MB. Best, Dylan
Subject: Build a multicall binary instead of multiple binaries to reduce the storage footprint Origin: https://gitlab.apertis.org/pkg/rust-coreutils diff --git a/debian/not-installed b/debian/not-installed index 6e84106..d2d9c16 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -1,3 +1,7 @@ usr/local/share/bash-completion/* usr/local/share/fish/* usr/local/share/zsh/* + +# Don't install symlinks created by upstream makefile +# That leads to issues with merged-usr and no-merged-usr env +usr/local/bin/* diff --git a/debian/rules b/debian/rules index 82d5bd7..4672a0c 100755 --- a/debian/rules +++ b/debian/rules @@ -5,6 +5,11 @@ include /usr/share/rustc/architecture.mk export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE VERSION := $(shell dpkg-parsechangelog -S Version|sed -e "s|.*~\(.*\)-.*|\1|g") + +# Build a multicall binary instead of multiple binaries +# to reduce the storage footprint +export MULTICALL = y + %: dh $@ --buildsystem cargo diff --git a/debian/rust-coreutils.install b/debian/rust-coreutils.install index 63d45ca..367b84c 100644 --- a/debian/rust-coreutils.install +++ b/debian/rust-coreutils.install @@ -1,110 +1 @@ -# GNU/Coreutils: Installed in /bin/ -usr/local/bin/cat /bin/ -usr/local/bin/chgrp /bin/ -usr/local/bin/chmod /bin/ -usr/local/bin/chown /bin/ -usr/local/bin/cp /bin/ -usr/local/bin/date /bin/ -#usr/local/bin/dd /bin/ -usr/local/bin/df /bin/ -#usr/local/bin/dir /bin/ -usr/local/bin/echo /bin/ -usr/local/bin/false /bin/ -usr/local/bin/ln /bin/ -usr/local/bin/ls /bin/ -usr/local/bin/mkdir /bin/ -usr/local/bin/mknod /bin/ -usr/local/bin/mktemp /bin/ -usr/local/bin/mv /bin/ -usr/local/bin/pwd /bin/ -usr/local/bin/readlink /bin/ -usr/local/bin/rm /bin/ -usr/local/bin/rmdir /bin/ -usr/local/bin/sleep /bin/ -#usr/local/bin/stty /bin/ -usr/local/bin/sync /bin/ -usr/local/bin/touch /bin/ -usr/local/bin/true /bin/ -usr/local/bin/uname /bin/ -#usr/local/bin/vdir /bin/ - -# GNU/Coreutils: Installed in /usr/bin/ -usr/local/bin/[ usr/bin -usr/local/bin/arch usr/bin -#usr/local/bin/b2sum usr/bin -usr/local/bin/base32 usr/bin -usr/local/bin/base64 usr/bin -usr/local/bin/basename usr/bin -#usr/local/bin/basenc usr/bin -#usr/local/bin/chcon usr/bin -usr/local/bin/cksum usr/bin -usr/local/bin/comm usr/bin -usr/local/bin/csplit usr/bin -usr/local/bin/cut usr/bin -usr/local/bin/dircolors usr/bin -usr/local/bin/dirname usr/bin -usr/local/bin/du usr/bin -usr/local/bin/env usr/bin -usr/local/bin/expand usr/bin -usr/local/bin/expr usr/bin -usr/local/bin/factor usr/bin -usr/local/bin/fmt usr/bin -usr/local/bin/fold usr/bin -usr/local/bin/groups usr/bin -usr/local/bin/head usr/bin -usr/local/bin/hostid usr/bin -usr/local/bin/id usr/bin -usr/local/bin/install usr/bin -usr/local/bin/join usr/bin -usr/local/bin/link usr/bin -usr/local/bin/logname usr/bin -#usr/local/bin/md5sum usr/bin -usr/local/bin/mkfifo usr/bin -usr/local/bin/nice usr/bin -usr/local/bin/nl usr/bin -usr/local/bin/nohup usr/bin -usr/local/bin/nproc usr/bin -usr/local/bin/numfmt usr/bin -usr/local/bin/od usr/bin -usr/local/bin/paste usr/bin -usr/local/bin/pathchk usr/bin -usr/local/bin/pinky usr/bin -usr/local/bin/pr usr/bin -usr/local/bin/printenv usr/bin -usr/local/bin/printf usr/bin -usr/local/bin/ptx usr/bin -usr/local/bin/realpath usr/bin -#usr/local/bin/runcon usr/bin -usr/local/bin/seq usr/bin -#usr/local/bin/sha1sum usr/bin -#usr/local/bin/sha224sum usr/bin -#usr/local/bin/sha256sum usr/bin -#usr/local/bin/sha384sum usr/bin -#usr/local/bin/sha512sum usr/bin -usr/local/bin/shred usr/bin -usr/local/bin/shuf usr/bin -usr/local/bin/sort usr/bin -usr/local/bin/split usr/bin -usr/local/bin/stat usr/bin -usr/local/bin/stdbuf usr/bin -usr/local/bin/sum usr/bin -usr/local/bin/tac usr/bin -usr/local/bin/tail usr/bin -usr/local/bin/tee usr/bin -usr/local/bin/test usr/bin -usr/local/bin/timeout usr/bin -usr/local/bin/tr usr/bin -usr/local/bin/truncate usr/bin -usr/local/bin/tsort usr/bin -usr/local/bin/tty usr/bin -usr/local/bin/unexpand usr/bin -usr/local/bin/uniq usr/bin -usr/local/bin/unlink usr/bin -usr/local/bin/users usr/bin -usr/local/bin/wc usr/bin -usr/local/bin/who usr/bin -usr/local/bin/whoami usr/bin -usr/local/bin/yes usr/bin -usr/local/bin/chroot usr/bin -usr/local/bin/hashsum usr/bin -usr/local/bin/relpath usr/bin +usr/local/bin/coreutils /usr/bin diff --git a/debian/rust-coreutils.links b/debian/rust-coreutils.links index ce69adb..f9e3af6 100644 --- a/debian/rust-coreutils.links +++ b/debian/rust-coreutils.links @@ -12,3 +12,114 @@ usr/bin/hashsum usr/bin/sha3-384sum usr/bin/hashsum usr/bin/sha3-512sum usr/bin/hashsum usr/bin/shake128sum usr/bin/hashsum usr/bin/shake256sum + +# GNU/Coreutils: Installed in /bin/ +usr/bin/coreutils bin/cat +usr/bin/coreutils bin/chgrp +usr/bin/coreutils bin/chmod +usr/bin/coreutils bin/chown +usr/bin/coreutils bin/cp +usr/bin/coreutils bin/date +#usr/bin/coreutils bin/dd +usr/bin/coreutils bin/df +#usr/bin/coreutils bin/dir +usr/bin/coreutils bin/echo +usr/bin/coreutils bin/false +usr/bin/coreutils bin/ln +usr/bin/coreutils bin/ls +usr/bin/coreutils bin/mkdir +usr/bin/coreutils bin/mknod +usr/bin/coreutils bin/mktemp +usr/bin/coreutils bin/mv +usr/bin/coreutils bin/pwd +usr/bin/coreutils bin/readlink +usr/bin/coreutils bin/rm +usr/bin/coreutils bin/rmdir +usr/bin/coreutils bin/sleep +#usr/bin/coreutils bin/stty +usr/bin/coreutils bin/sync +usr/bin/coreutils bin/touch +usr/bin/coreutils bin/true +usr/bin/coreutils bin/uname +#usr/bin/coreutils bin/vdir + +# GNU/Coreutils: Installed in /usr/bin/ +usr/bin/coreutils usr/bin/[ +usr/bin/coreutils usr/bin/arch +#usr/bin/coreutils usr/bin/b2sum +usr/bin/coreutils usr/bin/base32 +usr/bin/coreutils usr/bin/base64 +usr/bin/coreutils usr/bin/basename +#usr/bin/coreutils usr/bin/basenc +#usr/bin/coreutils usr/bin/chcon +usr/bin/coreutils usr/bin/cksum +usr/bin/coreutils usr/bin/comm +usr/bin/coreutils usr/bin/csplit +usr/bin/coreutils usr/bin/cut +usr/bin/coreutils usr/bin/dircolors +usr/bin/coreutils usr/bin/dirname +usr/bin/coreutils usr/bin/du +usr/bin/coreutils usr/bin/env +usr/bin/coreutils usr/bin/expand +usr/bin/coreutils usr/bin/expr +usr/bin/coreutils usr/bin/factor +usr/bin/coreutils usr/bin/fmt +usr/bin/coreutils usr/bin/fold +usr/bin/coreutils usr/bin/groups +usr/bin/coreutils usr/bin/head +usr/bin/coreutils usr/bin/hostid +usr/bin/coreutils usr/bin/id +usr/bin/coreutils usr/bin/install +usr/bin/coreutils usr/bin/join +usr/bin/coreutils usr/bin/link +usr/bin/coreutils usr/bin/logname +#usr/bin/coreutils usr/bin/md5sum +usr/bin/coreutils usr/bin/mkfifo +usr/bin/coreutils usr/bin/nice +usr/bin/coreutils usr/bin/nl +usr/bin/coreutils usr/bin/nohup +usr/bin/coreutils usr/bin/nproc +usr/bin/coreutils usr/bin/numfmt +usr/bin/coreutils usr/bin/od +usr/bin/coreutils usr/bin/paste +usr/bin/coreutils usr/bin/pathchk +usr/bin/coreutils usr/bin/pinky +usr/bin/coreutils usr/bin/pr +usr/bin/coreutils usr/bin/printenv +usr/bin/coreutils usr/bin/printf +usr/bin/coreutils usr/bin/ptx +usr/bin/coreutils usr/bin/realpath +#usr/bin/coreutils usr/bin/runcon +usr/bin/coreutils usr/bin/seq +#usr/bin/coreutils usr/bin/sha1sum +#usr/bin/coreutils usr/bin/sha224sum +#usr/bin/coreutils usr/bin/sha256sum +#usr/bin/coreutils usr/bin/sha384sum +#usr/bin/coreutils usr/bin/sha512sum +usr/bin/coreutils usr/bin/shred +usr/bin/coreutils usr/bin/shuf +usr/bin/coreutils usr/bin/sort +usr/bin/coreutils usr/bin/split +usr/bin/coreutils usr/bin/stat +usr/bin/coreutils usr/bin/stdbuf +usr/bin/coreutils usr/bin/sum +usr/bin/coreutils usr/bin/tac +usr/bin/coreutils usr/bin/tail +usr/bin/coreutils usr/bin/tee +usr/bin/coreutils usr/bin/test +usr/bin/coreutils usr/bin/timeout +usr/bin/coreutils usr/bin/tr +usr/bin/coreutils usr/bin/truncate +usr/bin/coreutils usr/bin/tsort +usr/bin/coreutils usr/bin/tty +usr/bin/coreutils usr/bin/unexpand +usr/bin/coreutils usr/bin/uniq +usr/bin/coreutils usr/bin/unlink +usr/bin/coreutils usr/bin/users +usr/bin/coreutils usr/bin/wc +usr/bin/coreutils usr/bin/who +usr/bin/coreutils usr/bin/whoami +usr/bin/coreutils usr/bin/yes +usr/bin/coreutils usr/bin/chroot +usr/bin/coreutils usr/bin/hashsum +usr/bin/coreutils usr/bin/relpath