diff options
| author | kj-sh604 | 2025-05-27 00:28:56 -0400 |
|---|---|---|
| committer | kj-sh604 | 2025-05-27 00:28:56 -0400 |
| commit | 397c55996cc1a988804c6dbf216c6638eabddf98 (patch) | |
| tree | 2fc58772137b2040811eee7315062a6364bb504e | |
| parent | bb605e6c8df698d3e9c83a6097cf849a7e2aa8fb (diff) | |
refactor: coreutils-hybrid as current coreutils-uutils package
(as of 05/27/2025)
| -rw-r--r-- | coreutils-hybrid/.SRCINFO | 21 | ||||
| -rw-r--r-- | coreutils-hybrid/.gitignore | 1 | ||||
| -rw-r--r-- | coreutils-hybrid/PKGBUILD | 71 | ||||
| -rw-r--r-- | coreutils-hybrid/README | 1 | ||||
| -rw-r--r-- | coreutils-hybrid/disable_selinux.patch | 13 |
5 files changed, 59 insertions, 48 deletions
diff --git a/coreutils-hybrid/.SRCINFO b/coreutils-hybrid/.SRCINFO index 00fac06..58b8ea5 100644 --- a/coreutils-hybrid/.SRCINFO +++ b/coreutils-hybrid/.SRCINFO @@ -1,8 +1,8 @@ pkgbase = coreutils-hybrid - pkgdesc = GNU coreutils / uutils-coreutils hybrid package. Uses stable uutils programs mixed with GNU counterparts if uutils counterpart is unfinished / buggy - pkgver = 9.5_0.0.26 - pkgrel = 604 - url = https://www.gnu.org/software/coreutils/ + pkgdesc = (warning: use at own risk) Cross-platform Rust rewrite of the GNU coreutils being used as actual system coreutils + pkgver = 0.1.0 + pkgrel = 1 + url = https://github.com/uutils/coreutils arch = x86_64 license = GPL3 license = MIT @@ -17,17 +17,18 @@ pkgbase = coreutils-hybrid depends = openssl depends = gcc-libs depends = libkeccak + depends = oniguruma provides = coreutils provides = b3sum provides = sha3sum conflicts = coreutils - conflicts = coreutils-hybrid - conflicts = coreutils-hybrid-git conflicts = b3sum conflicts = sha3sum - source = https://ftp.gnu.org/gnu/coreutils/coreutils-9.5.tar.xz - source = uutils-coreutils-0.0.26.tar.gz::https://github.com/uutils/coreutils/archive/0.0.26.tar.gz - sha512sums = 2ca0deac4dc10a80fd0c6fd131252e99d457fd03b7bd626a6bc74fe5a0529c0a3d48ce1f5da1d3b3a7a150a1ce44f0fbb6b68a6ac543dfd5baa3e71f5d65401c - sha512sums = ba3eb06b4a11ba1adbe28fd53282827a148a3dd616db06230f7d31810418fd80f024e55ecd29ff2556b307f146bd99b083bd337912a900e7190db1c32bdf5cb0 + source = https://ftp.gnu.org/gnu/coreutils/coreutils-9.7.tar.xz + source = uutils-coreutils-0.1.0.tar.gz::https://github.com/uutils/coreutils/archive/0.1.0.tar.gz + source = disable_selinux.patch + sha256sums = e8bb26ad0293f9b5a1fc43fb42ba970e312c66ce92c1b0b16713d7500db251bf + sha256sums = 55c528f2b53c1b30cb704550131a806e84721c87b3707b588a961a6c97f110d8 + sha256sums = 302614165d99f04600627222ddad0444a0144fcad6a1ff59ad43fb0b3162060e pkgname = coreutils-hybrid diff --git a/coreutils-hybrid/.gitignore b/coreutils-hybrid/.gitignore index af9a530..6b2b2ea 100644 --- a/coreutils-hybrid/.gitignore +++ b/coreutils-hybrid/.gitignore @@ -1,4 +1,3 @@ -# Version: 9.4_0.0.23 pkg/ src/ *.tar diff --git a/coreutils-hybrid/PKGBUILD b/coreutils-hybrid/PKGBUILD index 2d0a3c4..d69783b 100644 --- a/coreutils-hybrid/PKGBUILD +++ b/coreutils-hybrid/PKGBUILD @@ -1,50 +1,47 @@ +# Maintainer: kj_sh604 <406hs_jk@proton.me> + pkgname=coreutils-hybrid -pkgver=9.5_0.0.26 -pkgrel=604 -pkgdesc='GNU coreutils / uutils-coreutils hybrid package. Uses stable uutils programs mixed with GNU counterparts if uutils counterpart is unfinished / buggy' -gnu_coreutils=coreutils -rust_uutils=uutils-coreutils -gnu_coreutils_version=9.5 -rust_uutils_version=0.0.26 +_gnuver=9.7 +_uuver=0.1.0 +pkgver=${_uuver} +pkgrel=1 +pkgdesc='(warning: use at own risk) Cross-platform Rust rewrite of the GNU coreutils being used as actual system coreutils' arch=('x86_64') license=('GPL3' 'MIT') -url='https://www.gnu.org/software/coreutils/' -_url='https://github.com/uutils/coreutils' -depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl' 'gcc-libs' 'libkeccak') -conflicts=('coreutils' 'coreutils-hybrid' 'coreutils-hybrid-git' 'b3sum' 'sha3sum') +url='https://github.com/uutils/coreutils' +_url='https://www.gnu.org/software/coreutils/' +depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl' 'gcc-libs' 'libkeccak' 'oniguruma') +conflicts=('coreutils' 'b3sum' 'sha3sum') provides=('coreutils' 'b3sum' 'sha3sum') makedepends=('rust' 'cargo' 'python-sphinx') -source=("https://ftp.gnu.org/gnu/$gnu_coreutils/$gnu_coreutils-$gnu_coreutils_version.tar.xz" - "$rust_uutils-$rust_uutils_version.tar.gz::$_url/archive/$rust_uutils_version.tar.gz") -sha512sums=('2ca0deac4dc10a80fd0c6fd131252e99d457fd03b7bd626a6bc74fe5a0529c0a3d48ce1f5da1d3b3a7a150a1ce44f0fbb6b68a6ac543dfd5baa3e71f5d65401c' - 'ba3eb06b4a11ba1adbe28fd53282827a148a3dd616db06230f7d31810418fd80f024e55ecd29ff2556b307f146bd99b083bd337912a900e7190db1c32bdf5cb0') +source=("https://ftp.gnu.org/gnu/coreutils/coreutils-$_gnuver.tar.xz" + "uutils-coreutils-$_uuver.tar.gz::$url/archive/$_uuver.tar.gz" + disable_selinux.patch) +sha256sums=('e8bb26ad0293f9b5a1fc43fb42ba970e312c66ce92c1b0b16713d7500db251bf' + '55c528f2b53c1b30cb704550131a806e84721c87b3707b588a961a6c97f110d8' + '302614165d99f04600627222ddad0444a0144fcad6a1ff59ad43fb0b3162060e') prepare() { - cd $gnu_coreutils-$gnu_coreutils_version - # apply patch from the source array (should be a pacman feature) - local filename - for filename in "${source[@]}"; do - if [[ "$filename" =~ \.patch$ ]]; then - echo "Applying patch ${filename##*/}" - patch -p1 -N -i "$srcdir/${filename##*/}" - fi - done - : + cd coreutils-$_uuver + # the following is derived from the latest uutils-coreutils changes from Tobias Powalowski: + # disable selinux in Makefile, upstream seems broken in parameter parsing + # SELINUX_ENABLE=0 should not enable SELINUX but fails + patch -Np1 -i ../../disable_selinux.patch } build() { - # build gnu coreutils without the stable uutils programs counterparts - cd $gnu_coreutils-$gnu_coreutils_version + # build gnu coreutils that are not implemented in the MULTICALL rust uutils + cd coreutils-$_gnuver ./configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --with-openssl \ - --enable-no-install-program="[,arch,b2sum,base32,base64,basename,basenc,cat,chgrp,chmod,chown,chroot,cksum,comm,csplit,cut,dir,dircolors,dirname,du,echo,env,expand,factor,false,fmt,fold,head,hostid,id,link,ln,logname,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nice,nl,nohup,nproc,paste,pathchk,pinky,printenv,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stdbuf,sum,sync,tee,timeout,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,users,vdir,wc, who,whoami,yes" + --enable-no-install-program="[, arch, b2sum, b3sum, base32, base64, basename, basenc, cat, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, hashsum, head, hostid, hostname, id, install, join, kill, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mktemp, more, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, seq, sha1sum, sha224sum, sha256sum, sha3-224sum, sha3-256sum, sha3-384sum, sha3-512sum, sha384sum, sha3sum, sha512sum, shake128sum, shake256sum, shred, shuf, sleep, sort, split, stat, stdbuf, sum, sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who, whoami, yes" } package() { - # build uutils-coreutils, skip the buggy parts - cd $gnu_coreutils-$rust_uutils_version + export RUSTONIG_DYNAMIC_LIBONIG=1 + cd coreutils-$_uuver make \ DESTDIR="$pkgdir" \ PREFIX=/usr \ @@ -53,20 +50,20 @@ package() { PROFILE=release \ MULTICALL=y \ install - # install gnu coreutils over the uutils-coreutils - cd $srcdir && cd $gnu_coreutils-$gnu_coreutils_version + # merge specified gnu coreutils with the rust uutils + cd $srcdir && cd coreutils-$_gnuver make DESTDIR="$pkgdir" install # add libstdbuf.so mkdir -p $pkgdir/usr/lib/coreutils - cd $srcdir && cd $gnu_coreutils-$rust_uutils_version/target/release/deps + cd $srcdir && cd coreutils-$_uuver/target/release/deps mv liblibstdbuf.so $pkgdir/usr/lib/coreutils/libstdbuf.so # clean conflicts, arch ships these in other apps cd $pkgdir/usr/bin - rm groups hostname kill more uptime + rm groups hostname install kill more uptime # symlink missing binaries if [ -f "coreutils" ]; then local binaries=( - "b2sum" "b3sum" "md5sum" "sha1sum" "sha224sum" + "b2sum" "b3sum" "install" "md5sum" "sha1sum" "sha224sum" "sha256sum" "sha3-224sum" "sha3-256sum" "sha3-384sum" "sha3-512sum" "sha384sum" "sha3sum" "sha512sum" "shake128sum" "shake256sum" ) @@ -78,5 +75,7 @@ package() { fi # additional cleanup rm $pkgdir/usr/share/bash-completion/completions/* - rm $pkgdir/usr/share/man/man1/{groups.1,hostname.1,kill.1,more.1,uptime.1} + rm $pkgdir/usr/share/man/man1/{groups.1,hostname.1,install.1,kill.1,more.1,uptime.1} } + +# vim: ts=2 sw=2 et: diff --git a/coreutils-hybrid/README b/coreutils-hybrid/README deleted file mode 100644 index eccc27a..0000000 --- a/coreutils-hybrid/README +++ /dev/null @@ -1 +0,0 @@ -my personalized PKGBUILD of the "coreutils-hybrid" package found in the AUR. diff --git a/coreutils-hybrid/disable_selinux.patch b/coreutils-hybrid/disable_selinux.patch new file mode 100644 index 0000000..f6a5bff --- /dev/null +++ b/coreutils-hybrid/disable_selinux.patch @@ -0,0 +1,13 @@ +diff --git a/GNUmakefile b/GNUmakefile +index f46126a82..58bf7fbdd 100644 +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -181,8 +181,6 @@ SELINUX_PROGS := \ + + ifneq ($(OS),Windows_NT) + PROGS := $(PROGS) $(UNIX_PROGS) +-# Build the selinux command even if not on the system +- PROGS := $(PROGS) $(SELINUX_PROGS) + endif + + UTILS ?= $(PROGS) |
