summaryrefslogtreecommitdiffstats
path: root/coreutils-uutils-selinux
diff options
context:
space:
mode:
authorkj-sh6042025-05-27 00:56:45 -0400
committerkj-sh6042025-05-27 00:56:45 -0400
commit20dd9649c35b09401fb511ad33892be6d25b9c9c (patch)
treec66365313a9cc96e2ccbec9a90ef95e37389d32b /coreutils-uutils-selinux
parent784c5bdad0a12a31f933b6a405359170c7e5a618 (diff)
refactor: re-organize files
Diffstat (limited to 'coreutils-uutils-selinux')
-rw-r--r--coreutils-uutils-selinux/.SRCINFO28
-rw-r--r--coreutils-uutils-selinux/.gitignore6
-rw-r--r--coreutils-uutils-selinux/0001-update-selinux-progs.patch12
-rw-r--r--coreutils-uutils-selinux/PKGBUILD71
4 files changed, 117 insertions, 0 deletions
diff --git a/coreutils-uutils-selinux/.SRCINFO b/coreutils-uutils-selinux/.SRCINFO
new file mode 100644
index 0000000..ddb0c00
--- /dev/null
+++ b/coreutils-uutils-selinux/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = coreutils-uutils-selinux
+ 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
+ makedepends = cargo
+ makedepends = clang
+ makedepends = python-sphinx
+ makedepends = rust
+ depends = gcc-libs
+ depends = glibc
+ depends = libselinux
+ depends = oniguruma
+ provides = coreutils
+ provides = b3sum
+ provides = sha3sum
+ conflicts = coreutils
+ conflicts = b3sum
+ conflicts = sha3sum
+ source = uutils-coreutils-0.1.0.tar.gz::https://github.com/uutils/coreutils/archive/0.1.0.tar.gz
+ source = 0001-update-selinux-progs.patch
+ sha256sums = 55c528f2b53c1b30cb704550131a806e84721c87b3707b588a961a6c97f110d8
+ sha256sums = d8290988c9c8275e2087f1a63d63c420c88ebcf7c50aed0ef53d9dcd46517b36
+
+pkgname = coreutils-uutils-selinux
diff --git a/coreutils-uutils-selinux/.gitignore b/coreutils-uutils-selinux/.gitignore
new file mode 100644
index 0000000..6b2b2ea
--- /dev/null
+++ b/coreutils-uutils-selinux/.gitignore
@@ -0,0 +1,6 @@
+pkg/
+src/
+*.tar
+*.tar.zst
+*.tar.gz
+*.tar.xz
diff --git a/coreutils-uutils-selinux/0001-update-selinux-progs.patch b/coreutils-uutils-selinux/0001-update-selinux-progs.patch
new file mode 100644
index 0000000..aee086f
--- /dev/null
+++ b/coreutils-uutils-selinux/0001-update-selinux-progs.patch
@@ -0,0 +1,12 @@
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -177,7 +177,8 @@
+
+ SELINUX_PROGS := \
+ chcon \
+- runcon
++ runcon \
++ stty
+
+ ifneq ($(OS),Windows_NT)
+ PROGS := $(PROGS) $(UNIX_PROGS)
diff --git a/coreutils-uutils-selinux/PKGBUILD b/coreutils-uutils-selinux/PKGBUILD
new file mode 100644
index 0000000..634958f
--- /dev/null
+++ b/coreutils-uutils-selinux/PKGBUILD
@@ -0,0 +1,71 @@
+# Maintainer: kj_sh604 <406hs_jk@proton.me>
+
+pkgname=coreutils-uutils-selinux
+pkgver=0.1.0
+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://github.com/uutils/coreutils'
+conflicts=('coreutils' 'b3sum' 'sha3sum')
+provides=('coreutils' 'b3sum' 'sha3sum')
+depends=(
+ gcc-libs
+ glibc
+ libselinux
+ oniguruma
+)
+makedepends=(
+ cargo
+ clang
+ python-sphinx
+ rust
+)
+source=("uutils-coreutils-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+ 0001-update-selinux-progs.patch)
+sha256sums=('55c528f2b53c1b30cb704550131a806e84721c87b3707b588a961a6c97f110d8'
+ 'd8290988c9c8275e2087f1a63d63c420c88ebcf7c50aed0ef53d9dcd46517b36')
+
+ prepare() {
+ cd ${pkgname%-uutils-selinux}-${pkgver}
+ # patch SELINUX_PROGS to include stty
+ patch -Np1 -i ../../0001-update-selinux-progs.patch
+}
+
+package() {
+ cd ${pkgname%-uutils-selinux}-${pkgver}
+ export RUSTONIG_DYNAMIC_LIBONIG=1
+ make install \
+ USE=selinux \
+ DESTDIR="$pkgdir" \
+ PREFIX=/usr \
+ MANDIR=/share/man/man1 \
+ PROG_PREFIX= \
+ PROFILE=release \
+ MULTICALL=y
+ # add libstdbuf.so
+ mkdir -p $pkgdir/usr/lib/coreutils
+ cd $srcdir && cd ${pkgname%-uutils-selinux}-${pkgver}/target/release/deps
+ mv liblibstdbuf.so $pkgdir/usr/lib/coreutils/libstdbuf.so
+ # clean conflicts (archlinux ships these in other apps)
+ cd $pkgdir/usr/bin
+ rm groups hostname install kill more uptime
+ # symlink missing binaries
+ if [ -f "coreutils" ]; then
+ local binaries=(
+ "b2sum" "b3sum" "install" "md5sum" "sha1sum" "sha224sum" "sha256sum"
+ "sha3-224sum" "sha3-256sum" "sha3-384sum" "sha3-512sum" "sha384sum"
+ "sha3sum" "sha512sum" "shake128sum" "shake256sum"
+ )
+ for bin in "${binaries[@]}"; do
+ ln -s coreutils "$bin" || echo "warning: failed to create symlink for $bin"
+ done
+ else
+ echo "coreutils binary not found, skipping symlink creation."
+ fi
+ # additional cleanup
+ rm $pkgdir/usr/share/bash-completion/completions/*
+ rm $pkgdir/usr/share/man/man1/{groups.1,hostname.1,install.1,kill.1,more.1,uptime.1}
+}
+
+# vim: ts=2 sw=2 et: