summaryrefslogtreecommitdiffstats
path: root/coreutils-uutils-libselinux
diff options
context:
space:
mode:
authorkj-sh6042025-05-27 13:52:18 -0400
committerkj-sh6042025-05-27 13:52:18 -0400
commit12144b850f7dbff536b84e2d327e1a35400d6ddc (patch)
tree68aa227db2fc56cef8eab20e55b9c6c44e159c55 /coreutils-uutils-libselinux
parentab73f4c06c1e8c7d5e322427e27311f4a37eb450 (diff)
refactor: package rename and pkgdesc changes
Diffstat (limited to 'coreutils-uutils-libselinux')
-rw-r--r--coreutils-uutils-libselinux/.SRCINFO28
-rw-r--r--coreutils-uutils-libselinux/.gitignore3
-rw-r--r--coreutils-uutils-libselinux/0001-update-selinux-progs.patch12
-rw-r--r--coreutils-uutils-libselinux/PKGBUILD81
4 files changed, 124 insertions, 0 deletions
diff --git a/coreutils-uutils-libselinux/.SRCINFO b/coreutils-uutils-libselinux/.SRCINFO
new file mode 100644
index 0000000..82dba08
--- /dev/null
+++ b/coreutils-uutils-libselinux/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = coreutils-uutils-libselinux
+ pkgdesc = (warning: use at own risk) Cross-platform Rust rewrite of the GNU coreutils installed as system core utilities. Built with libselinux for the chcon, runcon, and stty binaries
+ 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-libselinux
diff --git a/coreutils-uutils-libselinux/.gitignore b/coreutils-uutils-libselinux/.gitignore
new file mode 100644
index 0000000..8d78c83
--- /dev/null
+++ b/coreutils-uutils-libselinux/.gitignore
@@ -0,0 +1,3 @@
+pkg/
+src/
+*.tar*
diff --git a/coreutils-uutils-libselinux/0001-update-selinux-progs.patch b/coreutils-uutils-libselinux/0001-update-selinux-progs.patch
new file mode 100644
index 0000000..aee086f
--- /dev/null
+++ b/coreutils-uutils-libselinux/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-libselinux/PKGBUILD b/coreutils-uutils-libselinux/PKGBUILD
new file mode 100644
index 0000000..d5c7a84
--- /dev/null
+++ b/coreutils-uutils-libselinux/PKGBUILD
@@ -0,0 +1,81 @@
+# Maintainer: kj_sh604 <406hs_jk@proton.me>
+
+pkgname=coreutils-uutils-libselinux
+pkgver=0.1.0
+pkgrel=1
+pkgdesc='(warning: use at own risk) Cross-platform Rust rewrite of the GNU
+coreutils installed as system core utilities. Built with libselinux for the
+chcon and runcon binaries'
+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-libselinux}-${pkgver}
+ # patch SELINUX_PROGS to include stty
+ patch -Np1 -i ../../0001-update-selinux-progs.patch
+}
+
+package() {
+ cd ${pkgname%-uutils-libselinux}-${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-libselinux}-${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: