diff options
-rw-r--r-- | main/cowdancer/APKBUILD | 42 | ||||
-rw-r--r-- | main/cowdancer/cowdancer-disable-cowbuilder.patch | 42 | ||||
-rw-r--r-- | main/cowdancer/cowdancer-no-vsym.patch | 33 |
3 files changed, 117 insertions, 0 deletions
diff --git a/main/cowdancer/APKBUILD b/main/cowdancer/APKBUILD new file mode 100644 index 000000000..2c59a994a --- /dev/null +++ b/main/cowdancer/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +pkgname=cowdancer +pkgver=0.63 +pkgrel=0 +pkgdesc="userland copy-on-write filesystem" +url="http://www.netfort.gr.jp/~dancer/software/cowdancer.html" +arch="all" +license="GPL" +depends= +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="$pkgname-doc" +source="http://ftp.de.debian.org/debian/pool/main/c/cowdancer/cowdancer_${pkgver}.tar.gz + cowdancer-disable-cowbuilder.patch + cowdancer-no-vsym.patch" + +_builddir="${srcdir}/${pkgname}-${pkgver}" +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="8632184e830a041e1a3319d1ed39e31d cowdancer_0.63.tar.gz +6b59f89cc093670950a3bc00df19d10f cowdancer-disable-cowbuilder.patch +da87422b0350bcba5bd79cae8b4da596 cowdancer-no-vsym.patch" diff --git a/main/cowdancer/cowdancer-disable-cowbuilder.patch b/main/cowdancer/cowdancer-disable-cowbuilder.patch new file mode 100644 index 000000000..5f76cad31 --- /dev/null +++ b/main/cowdancer/cowdancer-disable-cowbuilder.patch @@ -0,0 +1,42 @@ +--- cowdancer-0.63.orig/Makefile ++++ cowdancer-0.63/Makefile +@@ -1,5 +1,5 @@ + SHELL=/bin/bash +-BINARY=libcowdancer.so cow-shell cowbuilder qemubuilder cowdancer-ilistcreate \ ++BINARY=libcowdancer.so cow-shell cowdancer-ilistcreate \ + cowdancer-ilistdump + INSTALL_DIR=install -d -o root -g root -m 755 + INSTALL_FILE=install -o root -g root -m 644 +@@ -23,19 +23,11 @@ + $(INSTALL_FILE) cow-shell.1 $(DESTDIR)/usr/share/man/man1/cow-shell.1 + $(INSTALL_FILE) cowdancer-ilistcreate.1 $(DESTDIR)/usr/share/man/man1/cowdancer-ilistcreate.1 + $(INSTALL_FILE) cowdancer-ilistdump.1 $(DESTDIR)/usr/share/man/man1/cowdancer-ilistdump.1 +- $(INSTALL_FILE) cowbuilder.8 $(DESTDIR)/usr/share/man/man8/cowbuilder.8 +- $(INSTALL_FILE) qemubuilder.8 $(DESTDIR)/usr/share/man/man8/qemubuilder.8 + $(INSTALL_FILE) libcowdancer.so $(DESTDIR)${LIBDIR}/cowdancer/libcowdancer.so + $(INSTALL_PROGRAM) cow-shell $(DESTDIR)/usr/bin/cow-shell +- $(INSTALL_PROGRAM) cowbuilder $(DESTDIR)/usr/sbin/cowbuilder +- $(INSTALL_PROGRAM) qemubuilder $(DESTDIR)/usr/sbin/qemubuilder + $(INSTALL_PROGRAM) cowdancer-ilistcreate $(DESTDIR)/usr/bin/cowdancer-ilistcreate + $(INSTALL_PROGRAM) cowdancer-ilistdump $(DESTDIR)/usr/bin/cowdancer-ilistdump + +- $(INSTALL_DIR) $(DESTDIR)/etc/bash_completion.d +- $(INSTALL_FILE) bash_completion.qemubuilder $(DESTDIR)/etc/bash_completion.d/qemubuilder +- $(INSTALL_FILE) bash_completion.cowbuilder $(DESTDIR)/etc/bash_completion.d/cowbuilder +- + libcowdancer.so: cowdancer.lo ilistcreate.lo + $(CC) $(CFLAGS) -ldl -shared -o $@ $^ + +@@ -43,12 +35,6 @@ + $(CC) $(CFLAGS) -o $@ $^ + + cowdancer-ilistcreate: cowdancer-ilistcreate.o ilistcreate.o +- $(CC) $(CFLAGS) -o $@ $^ +- +-cowbuilder: cowbuilder.o parameter.o forkexec.o ilistcreate.o main.o +- $(CC) $(CFLAGS) -o $@ $^ +- +-qemubuilder: qemubuilder.lfso parameter.lfso forkexec.lfso qemuipsanitize.lfso qemuarch.lfso file.lfso main.lfso + $(CC) $(CFLAGS) -o $@ $^ + + %.lo: %.c diff --git a/main/cowdancer/cowdancer-no-vsym.patch b/main/cowdancer/cowdancer-no-vsym.patch new file mode 100644 index 000000000..b244fc930 --- /dev/null +++ b/main/cowdancer/cowdancer-no-vsym.patch @@ -0,0 +1,33 @@ +--- cowdancer-0.63.orig/cowdancer.c ++++ cowdancer-0.63/cowdancer.c +@@ -174,29 +174,7 @@ + origlibc_fopen = dlsym(RTLD_NEXT, "fopen64"); + origlibc_fopen64 = dlsym(RTLD_NEXT, "fopen64"); + dlerror(); +- if (!(origlibc_chown = dlvsym(RTLD_NEXT, "chown", "GLIBC_2.1"))) +- { +- /* I should really check dlerror, but due to a possible bug in glibc, +- dlerror doesn't seem to work at all. +- */ +- const char* d=dlerror(); +- if(!d) +- { +- debug_cowdancer("dlerror does not return anything, chown returned NULL but OK"); +- /* success */ +- } +- else +- { +- debug_cowdancer(d); +- } +- +- +- /* fallback to loading unversioned symbol doing it anyway +- since glibc does not seem to set dlerror on dlsym failure. +- */ +- origlibc_chown = dlsym(RTLD_NEXT, "chown"); +- +- } ++ origlibc_chown = dlsym(RTLD_NEXT, "chown"); + origlibc_fchown = dlsym(RTLD_NEXT, "fchown"); + origlibc_lchown = dlsym(RTLD_NEXT, "lchown"); + origlibc_chmod = dlsym(RTLD_NEXT, "chmod"); |