diff options
author | Jonathan Curran <jonathan@curran.in> | 2015-09-09 02:07:11 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-09-15 09:36:21 +0200 |
commit | 0a87665078e3b7b8e7a63b2fda5df8d6eccc41e5 (patch) | |
tree | 46e506c412c41a584f603683f23d8d25c12d0e33 | |
parent | 6256fadac26c8fbbfee03264ebfc927321548b99 (diff) | |
download | aports-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
-rw-r--r-- | testing/fts/00-static-and-shared-libs.patch | 49 | ||||
-rw-r--r-- | testing/fts/APKBUILD | 65 | ||||
-rw-r--r-- | testing/fts/fts-header-correctness.patch | 20 | ||||
-rw-r--r-- | testing/fts/fts-uclibc.patch | 45 | ||||
-rw-r--r-- | testing/fts/stdint.patch | 10 |
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> |