General ======= coreutils is packaged in an unusual way. The binaries are published on crates.io. As we don't want to package them separately, we have to do some voodoo magic to make it more maintainable but not following the typical debcargo process. To be coinstallable with GNU coreutils, manpages are called rust-$PROGRAM. Reminder ======== It is NOT recommended to use that in production. See the package description for the list of reasons. Install ======= Because rust-coreutils can easily break a system, it isn't replacing the GNU coreutils. Instead, we are installing the binaries in /usr/lib/cargo/bin/coreutils/. Usage ===== To use rust-coreutils instead GNU, use: $ export PATH=/usr/lib/cargo/bin/coreutils/:$PATH As rust-coreutils aims at being a drop-in replacement, it is possible to override the GNU coreutils binaries. We are NOT installing the binaries in /usr/lib/cargo/bin/ to avoid unexpected errors in case users already added /usr/lib/cargo/bin/ in their PATH to get fd or others binaries. Zsh-completion ============== Add: fpath=(/usr/share/zsh/site-functions/rust-coreutils/ $fpath) to your ~/.zshrc And maybe run: rm -f ~/.zcompdump; compinit Repack ====== cd $TARGET rm -rf build/coreutils ./update.sh coreutils # will fail git clone git@github.com:uutils/coreutils.git -b 0.0.17 coreutils cd cp -R $TARGET/src/coreutils/debian $TARGET/build/coreutils/ cp Cargo.toml $TARGET/build/coreutils/ cp -R src/* $TARGET/build/coreutils/src/ cd $TARGET/build rm -rf coreutils.orig coreutils/.pc/ tar Jcvf rust-coreutils_0.0.17.orig.tar.xz coreutils/ dpkg-source -b -i coreutils For now, we are following upstream version. If one day, we want to replace GNU/coreutils package with this one, we will have to follow the version of the GNU version as we have some packages having an explicit minimal dep (ex: initramfs-tools-core, xinit, initscripts) -- Sylvestre Ledru , Tue, 7 Jun 2022 21:11:21 +0200