diff options
Diffstat (limited to 'libre/fakeroot-tcp')
-rw-r--r-- | libre/fakeroot-tcp/PKGBUILD | 66 | ||||
-rw-r--r-- | libre/fakeroot-tcp/fakeroot.install | 14 | ||||
-rw-r--r-- | libre/fakeroot-tcp/silence-dlerror.patch | 17 |
3 files changed, 97 insertions, 0 deletions
diff --git a/libre/fakeroot-tcp/PKGBUILD b/libre/fakeroot-tcp/PKGBUILD new file mode 100644 index 000000000..2d5d26d05 --- /dev/null +++ b/libre/fakeroot-tcp/PKGBUILD @@ -0,0 +1,66 @@ +# Maintainer: David P. <megver83@parabola.nu> +# Maintainer (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor (Arch): Allan McRae <allan@archlinux.org> +# Contributor (Arch): Jochem Kossen <j.kossen@home.nl> + +pkgname=fakeroot-tcp +_pkgname=fakeroot +pkgver=1.24 +pkgrel=2 +pkgrel+=.parabola1 +pkgdesc='Tool for simulating superuser privileges, with TCP IPC' +arch=(x86_64) +arch+=(i686 armv7h) +license=(GPL) +url='https://tracker.debian.org/pkg/fakeroot' +install=fakeroot.install +depends=(glibc filesystem sed util-linux sh) +makedepends=(po4a) +provides=(${_pkgname}=${pkgver}-${pkgrel}) +conflicts=(${_pkgname}) +source=("https://deb.debian.org/debian/pool/main/f/$_pkgname/${_pkgname}_${pkgver}.orig.tar.gz" + 'silence-dlerror.patch') +sha256sums=('2e045b3160370b8ab4d44d1f8d267e5d1d555f1bb522d650e7167b09477266ed' + '347f6496c93ed0d91dcb554db92602b50520a16308e3b8bc33822bd69966267b') + +prepare() { + cd $_pkgname-$pkgver + patch -p1 -i "$srcdir"/silence-dlerror.patch + + ./bootstrap +} + +build() { + cd $_pkgname-$pkgver + + # librechroot ARM builds fail with sysv IPC + # https://labs.parabola.nu/issues/2775 + # https://archlinuxarm.org/forum/viewtopic.php?p=63781 + local ipc + if [ $CARCH = armv7h ]; then + ipc=tcp + else + ipc=sysv + fi + + ./configure --prefix=/usr \ + --libdir=/usr/lib/libfakeroot \ + --disable-static \ + --with-ipc=$ipc + + make + + cd doc + po4a -k 0 --rm-backups --variable 'srcdir=../doc/' po4a/po4a.cfg +} + +package() { + cd $_pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -dm755 "$pkgdir/etc/ld.so.conf.d/" + echo '/usr/lib/libfakeroot' > "$pkgdir/etc/ld.so.conf.d/fakeroot.conf" + + # install README for sysv/tcp usage + install -Dm644 README "$pkgdir/usr/share/doc/$_pkgname/README" +} diff --git a/libre/fakeroot-tcp/fakeroot.install b/libre/fakeroot-tcp/fakeroot.install new file mode 100644 index 000000000..caab92243 --- /dev/null +++ b/libre/fakeroot-tcp/fakeroot.install @@ -0,0 +1,14 @@ +post_install() { + usr/bin/ldconfig -r . +} + +post_upgrade() { + if [ "$(vercmp $2 1.14.4-2)" -lt 0 ]; then + sed -i -e '/\/usr\/lib\/libfakeroot/d' etc/ld.so.conf + fi + usr/bin/ldconfig -r . +} + +pre_remove() { + usr/bin/ldconfig -r . +} diff --git a/libre/fakeroot-tcp/silence-dlerror.patch b/libre/fakeroot-tcp/silence-dlerror.patch new file mode 100644 index 000000000..a4472d8f7 --- /dev/null +++ b/libre/fakeroot-tcp/silence-dlerror.patch @@ -0,0 +1,17 @@ +diff --git a/libfakeroot.c b/libfakeroot.c +index f867758..7ef6e47 100644 +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -256,10 +256,12 @@ void load_library_symbols(void){ + /* clear dlerror() just in case dlsym() legitimately returns NULL */ + msg = dlerror(); + *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name); ++#ifdef LIBFAKEROOT_DEBUGGING + if ( (msg = dlerror()) != NULL){ + fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg); + /* abort ();*/ + } ++#endif /* LIBFAKEROOT_DEBUGGING */ + } + } + |