summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/pax/APKBUILD25
-rw-r--r--user/pax/needed-header.patch11
-rw-r--r--user/pax/pax-20160306-glibc-to-linux.patch38
3 files changed, 67 insertions, 7 deletions
diff --git a/user/pax/APKBUILD b/user/pax/APKBUILD
index edd736e5c..d27e68633 100644
--- a/user/pax/APKBUILD
+++ b/user/pax/APKBUILD
@@ -7,24 +7,35 @@ pkgdesc="Portable Archive eXchange, the POSIX archival tool"
url="https://www.mirbsd.org/pax.htm"
arch="all"
license="BSD"
-depends=""
depends_dev="libbsd-dev fts-dev"
makedepends="$depends_dev"
-install=""
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://ftp.debian.org/debian/pool/main/p/$pkgname/${pkgname}_$pkgver.orig.tar.xz"
+subpackages="$pkgname-doc"
+source="http://ftp.debian.org/debian/pool/main/p/$pkgname/${pkgname}_$pkgver.orig.tar.xz
+ needed-header.patch
+ pax-20160306-glibc-to-linux.patch"
builddir="$srcdir/$pkgname"
build() {
cd "$builddir"
${CC} ${CPPFLAGS} ${CFLAGS} \
- -DHAVE_STRLCPY -DHAVE_VIS -DHAVE_STRMODE -DLONG_OFF_T -DHAVE_LINKAT \
+ -DHAVE_STRLCPY -DHAVE_STRMODE -DLONG_OFF_T -DHAVE_LINKAT -DHAVE_SYS_SYSMACROS_H -D_BSD_SOURCE \
+ -DPAX_SAFE_PATH=\"/bin:/usr/bin:/usr/local/bin\" \
$(pkgconf --cflags libbsd) \
- -Wall ${LDFLAGS} *.c -o $pkgname $(pkgconf --libs libbsd) $(pkgconf --libs fts)
+ -Wall ${LDFLAGS} *.c -o $pkgname $(pkgconf --libs libbsd) $(pkgconf --libs libfts)
}
package() {
cd "$builddir"
+
+ install -Dm755 pax "$pkgdir"/usr/bin/pax
+ ln -s pax "$pkgdir"/usr/bin/paxcpio
+ ln -s pax "$pkgdir"/usr/bin/paxtar
+
+ install -Dm644 pax.1 "$pkgdir"/usr/share/man/man1/pax.1
+ install -m644 cpio.1 "$pkgdir"/usr/share/man/man1/paxcpio.1
+ install -m644 tar.1 "$pkgdir"/usr/share/man/man1/paxtar.1
}
-sha512sums="4ca17a412fde5c0de3ff9820a9a5c7e210e015ccddcc791f0c0936f45471dbbe1e96a97515e65d21e5d36a61b14e920eb3a9181ffeabad801663c812ee084c15 pax_20161104.orig.tar.xz"
+sha512sums="4ca17a412fde5c0de3ff9820a9a5c7e210e015ccddcc791f0c0936f45471dbbe1e96a97515e65d21e5d36a61b14e920eb3a9181ffeabad801663c812ee084c15 pax_20161104.orig.tar.xz
+f494daeebca58bfc0875138e3b01e1d7b74d982b574b0d06d18244046cd0c0b99d8039a629391a578657489346f580c4eaf347ee43ba78eb1058fadebffef497 needed-header.patch
+96d018bd1be2b0d22c9c5e11a92d8cf7ef9bc72d1b13686e572aa15935f2fda9d507baf1e0eb916fec776c2f9d7bab458c203cab64446eed34b70f544109d1d7 pax-20160306-glibc-to-linux.patch"
diff --git a/user/pax/needed-header.patch b/user/pax/needed-header.patch
new file mode 100644
index 000000000..c91d4dafa
--- /dev/null
+++ b/user/pax/needed-header.patch
@@ -0,0 +1,11 @@
+--- pax/pax.h.old 2016-10-25 19:05:17.000000000 +0000
++++ pax/pax.h 2017-07-29 14:52:09.258899166 +0000
+@@ -41,6 +41,8 @@
+ #ifndef MIRCPIO_PAX_H
+ #define MIRCPIO_PAX_H "$MirOS: src/bin/pax/pax.h,v 1.17 2016/10/25 19:04:26 tg Exp $"
+
++#include <sys/types.h>
++
+ /*
+ * BSD PAX global data structures and constants.
+ */
diff --git a/user/pax/pax-20160306-glibc-to-linux.patch b/user/pax/pax-20160306-glibc-to-linux.patch
new file mode 100644
index 000000000..f864729cc
--- /dev/null
+++ b/user/pax/pax-20160306-glibc-to-linux.patch
@@ -0,0 +1,38 @@
+--- pax/cache.c.old 2016-03-06 08:12:52.000000000 -0600
++++ pax/cache.c 2016-04-17 13:01:26.461307830 -0500
+@@ -195,7 +195,7 @@
+ * No entry for this uid, we will add it
+ */
+ if (!pwopn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setpwent();
+ #elif !defined(__INTERIX)
+ setpassent(1);
+@@ -265,7 +265,7 @@
+ * No entry for this gid, we will add it
+ */
+ if (!gropn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setgrent();
+ #elif !defined(__INTERIX) && !defined(__CYGWIN__)
+ setgroupent(1);
+@@ -336,7 +336,7 @@
+ }
+
+ if (!pwopn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setpwent();
+ #elif !defined(__INTERIX)
+ setpassent(1);
+@@ -403,7 +403,7 @@
+ }
+
+ if (!gropn) {
+-#if defined(__GLIBC__)
++#if defined(__GLIBC__) || defined(__linux__)
+ setgrent();
+ #elif !defined(__INTERIX) && !defined(__CYGWIN__)
+ setgroupent(1);