summary refs log tree commit diff
path: root/ripple/fakefakeroot
diff options
context:
space:
mode:
authoredef <edef@unfathomable.blue>2021-05-26 15:30:32 +0000
committeredef <edef@unfathomable.blue>2021-05-28 17:15:43 +0000
commitd6993000ed2f37f0a683c67a75efb5255b2eaef2 (patch)
tree2b5f245712f22fa893b9fcd9f6b4dc050e160144 /ripple/fakefakeroot
parente109ea262d2059115c2069f32f420a9d3af71803 (diff)
downloadunf-legacy-d6993000ed2f37f0a683c67a75efb5255b2eaef2.tar.zst
ripple/fakefakeroot: a fakeroot shim
Package managers and build systems love running install phases
under fakeroot, which generates a lot of spurious syscalls for us.

This shim takes care of that without patching build systems.

The included Arch Linux PKGBUILD provides it as a replacement package
for fakeroot itself. It does not attempt to fully comply with packaging
guidelines, nor does it need to, since it isn't intended to be
upstreamable anyway.

Reviewed-by: V <v@unfathomable.blue>
Change-Id: Ie9bf87d066f9bb2de7624d705b1e4527cca14d9a
Diffstat (limited to 'ripple/fakefakeroot')
-rw-r--r--ripple/fakefakeroot/.gitignore5
-rw-r--r--ripple/fakefakeroot/PKGBUILD17
-rwxr-xr-xripple/fakefakeroot/fakefakeroot.sh17
3 files changed, 39 insertions, 0 deletions
diff --git a/ripple/fakefakeroot/.gitignore b/ripple/fakefakeroot/.gitignore
new file mode 100644
index 0000000..b91c0cb
--- /dev/null
+++ b/ripple/fakefakeroot/.gitignore
@@ -0,0 +1,5 @@
+# SPDX-FileCopyrightText: edef <edef@unfathomable.blue>
+# SPDX-License-Identifier: OSL-3.0
+/*.pkg.tar.*
+/src/
+/pkg/
diff --git a/ripple/fakefakeroot/PKGBUILD b/ripple/fakefakeroot/PKGBUILD
new file mode 100644
index 0000000..22cdb41
--- /dev/null
+++ b/ripple/fakefakeroot/PKGBUILD
@@ -0,0 +1,17 @@
+# SPDX-FileCopyrightText: edef <edef@unfathomable.blue>
+# SPDX-License-Identifier: OSL-3.0
+pkgname=fakefakeroot
+pkgver=0
+pkgrel=0
+pkgdesc='fakeroot shim'
+arch=('any')
+license=('OSL-3.0')
+depends=('bash')
+provides=('fakeroot')
+conflicts=('fakeroot')
+source=('./fakefakeroot.sh')
+b2sums=('SKIP')
+
+package() {
+	install -Dm 0755 fakefakeroot.sh $pkgdir/usr/bin/fakeroot
+}
diff --git a/ripple/fakefakeroot/fakefakeroot.sh b/ripple/fakefakeroot/fakefakeroot.sh
new file mode 100755
index 0000000..0f6ca7c
--- /dev/null
+++ b/ripple/fakefakeroot/fakefakeroot.sh
@@ -0,0 +1,17 @@
+#! /bin/bash
+# SPDX-FileCopyrightText: edef <edef@unfathomable.blue>
+# SPDX-License-Identifier: OSL-3.0
+
+if [ "$*" = "-v" ]; then
+    echo fakefakeroot
+    exit 0
+fi
+
+if [ "$1" != "--" ]; then
+    echo "usage: $0 -- PROGRAM [ARG]..." >&2
+    exit 255
+fi
+
+export FAKEROOTKEY="double-fake-root"
+
+shift; exec "$@"