aboutsummaryrefslogtreecommitdiffstats
path: root/testing/fts
diff options
context:
space:
mode:
authorJonathan Curran <jonathan@curran.in>2015-09-09 02:07:11 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-09-15 09:36:21 +0200
commit0a87665078e3b7b8e7a63b2fda5df8d6eccc41e5 (patch)
tree46e506c412c41a584f603683f23d8d25c12d0e33 /testing/fts
parent6256fadac26c8fbbfee03264ebfc927321548b99 (diff)
downloadaports-0a87665078e3b7b8e7a63b2fda5df8d6eccc41e5.tar.bz2
aports-0a87665078e3b7b8e7a63b2fda5df8d6eccc41e5.tar.xz
testing/fts: change package source [and implementation]
Updated the source to use musl-fts that is used in voidlinux. It's up-to-date based on fts in NetBSD and includes headers that produce no warnings when compiled against. I've tested it against existing dependences (libcgroup) and it appears to be fine. https://github.com/pullmoll/musl-fts
Diffstat (limited to 'testing/fts')
-rw-r--r--testing/fts/00-static-and-shared-libs.patch49
-rw-r--r--testing/fts/APKBUILD65
-rw-r--r--testing/fts/fts-header-correctness.patch20
-rw-r--r--testing/fts/fts-uclibc.patch45
-rw-r--r--testing/fts/stdint.patch10
5 files changed, 72 insertions, 117 deletions
diff --git a/testing/fts/00-static-and-shared-libs.patch b/testing/fts/00-static-and-shared-libs.patch
new file mode 100644
index 0000000000..b65b1d0d67
--- /dev/null
+++ b/testing/fts/00-static-and-shared-libs.patch
@@ -0,0 +1,49 @@
+diff --git a/.gitignore b/.gitignore
+index 528fe32..663e6bb 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -10,4 +10,5 @@ config.status
+ configure
+ depcomp
+ install-sh
++ltmain.sh
+ missing
+diff --git a/Makefile.am b/Makefile.am
+index aa93562..f09994e 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,5 @@
+ ## Makefile.am - procress this file with automake to produce Makefile.in
+-lib_LIBRARIES = libfts.a
+-libfts_a_SOURCES = fts.c
+-libfts_a_HEADERS = fts.h
+-libfts_adir = $(includedir)
++lib_LTLIBRARIES = libfts.la
++libfts_la_SOURCES = fts.c
++libfts_la_HEADERS = fts.h
++libfts_ladir = $(includedir)
+diff --git a/bootstrap.sh b/bootstrap.sh
+index 9e026b5..cd4a585 100755
+--- a/bootstrap.sh
++++ b/bootstrap.sh
+@@ -1,4 +1,5 @@
+ #!/bin/sh
++libtoolize
+ aclocal
+ autoconf
+ automake --add-missing
+diff --git a/configure.ac b/configure.ac
+index 28dd6c6..6f12859 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7,7 +7,9 @@ AC_INIT([fts], [1.1], [Jürgen Buchmüller <pullmoll@t-online.de>])
+ AM_INIT_AUTOMAKE([1.15])
+
+ AC_PROG_CC
+-AC_PROG_RANLIB
++AC_PROG_LIBTOOL
++
++LT_INIT
+
+ AC_CHECK_HEADERS(assert.h dirent.h errno.h fcntl.h stdlib.h string.h unistd.h sys/param.h sys/stat.h)
+
diff --git a/testing/fts/APKBUILD b/testing/fts/APKBUILD
index c13248234b..8677a6b071 100644
--- a/testing/fts/APKBUILD
+++ b/testing/fts/APKBUILD
@@ -1,28 +1,24 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=fts
-pkgver=0
-pkgrel=4
-pkgdesc="keith bostic's POSIX file tree stream operations library"
-url="http://bostic.com/"
+pkgver=1.1
+pkgrel=5
+pkgdesc="Provides the fts(3) functions, which are missing in musl libc"
+url="https://github.com/pullmoll/musl-fts/"
arch="all"
license="BSD"
depends=
-depends_dev=
-makedepends="$depends_dev bsd-compat-headers"
+depends_dev="autoconf automake"
+makedepends="$depends_dev"
install=""
-subpackages="$pkgname-dev $pkgname-doc"
-replaces_doc="man-pages"
-source="saveas-https://sites.google.com/a/bostic.com/keithbostic/files/fts.tar.gz?attredirects=0/fts.tar.gz
- fts-uclibc.patch
- fts-header-correctness.patch
- stdint.patch"
+subpackages="$pkgname-dev"
+source="https://github.com/pullmoll/musl-fts/archive/v1.1.zip
+ 00-static-and-shared-libs.patch"
-_builddir="${srcdir}/${pkgname}"
+_builddir="${srcdir}/musl-${pkgname}-${pkgver}"
prepare() {
local i
cd "$_builddir"
- chmod +w *.c
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
@@ -32,39 +28,24 @@ prepare() {
build() {
cd "$_builddir"
- gcc -I. -fPIC -shared -o libfts.so -Wl,-soname,libfts.so.${pkgver} fts.c
+ ./bootstrap.sh
+ ./configure --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr || return 1
+ make || return 1
}
package() {
cd "$_builddir"
-
- install -d "$pkgdir"/usr/lib
-
- install -m 755 libfts.so "$pkgdir"/usr/lib/libfts.so.${pkgver}
- ln -sf libfts.so.${pkgver} "$pkgdir"/usr/lib/libfts.so
-
- install -d "$pkgdir"/usr/include
- install -m 644 fts.h "$pkgdir"/usr/include/fts.h
-
- install -d "$pkgdir"/usr/share/man/man3
- install -m 644 fts.3 "$pkgdir"/usr/share/man/man3/fts.3
+ make DESTDIR=${pkgdir} install || return 1
mkdir -p "$pkgdir"/usr/lib/pkgconfig
- cat >"$pkgdir"/usr/lib/pkgconfig/libfts.pc <<__EOF__
-prefix=/usr
-exec_prefix=\${prefix}
-libdir=\${exec_prefix}/lib
-includedir=\${exec_prefix}/include
-
-Name: libfts
-Description: $pkgdesc
-Version: $pkgver
-Libs: -lfts
-Cflags:
-__EOF__
+ cp "$_builddir"/musl-fts.pc "$pkgdir"/usr/lib/pkgconfig/libfts.pc
}
-md5sums="120c14715485ec6ced14f494d059d20a fts.tar.gz
-588fead4044bf535ff97298651aaab8f fts-uclibc.patch
-b197744ece4ef9a5fa52692acf9b6666 fts-header-correctness.patch
-a8a5a8e81e1c67738aef00f3f13a718b stdint.patch"
+md5sums="9ee52bbf56df87d3cf5349407d26ab01 v1.1.zip
+db14405fba57173dc1f72bae322bcddb 00-static-and-shared-libs.patch"
+sha256sums="17154766ca2c1e2e7ca55039a4a10a0334427fe986cd52b8c936667e80350954 v1.1.zip
+aea0dde6690df477b4575362c9101981835abbf2bf04cf1a02911917efc23695 00-static-and-shared-libs.patch"
+sha512sums="e2e03589d31a0494c1652fa411260646497c623598569443fd18718f63013c871bebef1765ebe6129895f5fd6008c0bf6d2a0d843ac2645eb6d9615056f6ba7e v1.1.zip
+dc455af94a97524024ae714ae57ca123a6732e3d9872a56d1cf282107cba09e30efd976b9c448c0c520407b1e43c71e36deec3e0655dcf3076d293ac7af8a9ac 00-static-and-shared-libs.patch"
diff --git a/testing/fts/fts-header-correctness.patch b/testing/fts/fts-header-correctness.patch
deleted file mode 100644
index 59061bfc95..0000000000
--- a/testing/fts/fts-header-correctness.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- fts.orig/fts.h
-+++ fts/fts.h
-@@ -38,6 +38,17 @@
- #ifndef _FTS_H_
- #define _FTS_H_
-
-+#include <sys/types.h>
-+#include <sys/param.h>
-+#include <sys/stat.h>
-+
-+#include <dirent.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
- typedef struct {
- struct _ftsent *fts_cur; /* current node */
- struct _ftsent *fts_child; /* linked list of children */
diff --git a/testing/fts/fts-uclibc.patch b/testing/fts/fts-uclibc.patch
deleted file mode 100644
index 3593530396..0000000000
--- a/testing/fts/fts-uclibc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- fts.orig/fts.c
-+++ fts/fts.c
-@@ -31,6 +31,10 @@
- * SUCH DAMAGE.
- */
-
-+#define alignof(TYPE) ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)
-+#define ALIGNBYTES (alignof(long double) - 1)
-+#define ALIGN(p) (((uintptr_t)(p) + ALIGNBYTES) & ~ALIGNBYTES)
-+
- #if defined(LIBC_SCCS) && !defined(lint)
- static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
- #endif /* LIBC_SCCS and not lint */
-@@ -652,10 +656,10 @@
- if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
- continue;
-
-- if ((p = fts_alloc(sp, dp->d_name, (int)dp->d_namlen)) == NULL)
-+ if ((p = fts_alloc(sp, dp->d_name, (int)dp->d_reclen)) == NULL)
- goto mem1;
-- if (dp->d_namlen > maxlen) {
-- if (fts_palloc(sp, (size_t)dp->d_namlen)) {
-+ if (dp->d_reclen > maxlen) {
-+ if (fts_palloc(sp, (size_t)dp->d_reclen)) {
- /*
- * No more memory for path or structures. Save
- * errno, free up the current structure and the
-@@ -675,7 +679,7 @@
- maxlen = sp->fts_pathlen - sp->fts_cur->fts_pathlen - 1;
- }
-
-- p->fts_pathlen = len + dp->d_namlen + 1;
-+ p->fts_pathlen = len + dp->d_reclen + 1;
- p->fts_parent = sp->fts_cur;
- p->fts_level = level;
-
-@@ -784,7 +788,7 @@
- /* If user needs stat info, stat buffer already allocated. */
- sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp;
-
--#ifdef DT_WHT
-+#ifdef S_IFWHT
- /*
- * Whited-out files don't really exist. However, there's stat(2) file
- * mask for them, so we set it so that programs (i.e., find) don't have
diff --git a/testing/fts/stdint.patch b/testing/fts/stdint.patch
deleted file mode 100644
index 1ad7157e58..0000000000
--- a/testing/fts/stdint.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./fts.c.orig
-+++ ./fts.c
-@@ -46,6 +46,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <fts.h>
-+#include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>