diff options
-rw-r--r-- | abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch | 77 | ||||
-rw-r--r-- | abs/core/coreutils/PKGBUILD | 45 |
2 files changed, 106 insertions, 16 deletions
diff --git a/abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch b/abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch new file mode 100644 index 0000000..1f276b4 --- /dev/null +++ b/abs/core/coreutils/0001-cp-don-t-reserve-a-device-number.patch @@ -0,0 +1,77 @@ +From d0294ff3b90430750a631556277c75f1a555dd44 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Thu, 3 Apr 2014 09:48:22 -0700 +Subject: [PATCH] cp: don't reserve a device number + +* src/copy.c (copy_internal): Replace dev_t arg DEVICE with struct +stat pointer arg PARENT. All callers changed. This removes an +unwarranted assumption that dev_t values of 0 cannot occur in file +systems. See: http://bugs.gnu.org/17179 +--- + src/copy.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/src/copy.c b/src/copy.c +index 781cc1e..d471a77 100644 +--- a/src/copy.c ++++ b/src/copy.c +@@ -117,7 +117,7 @@ struct dir_list + #define DEST_INFO_INITIAL_CAPACITY 61 + + static bool copy_internal (char const *src_name, char const *dst_name, +- bool new_dst, dev_t device, ++ bool new_dst, struct stat const *parent, + struct dir_list *ancestors, + const struct cp_options *x, + bool command_line_arg, +@@ -621,7 +621,7 @@ copy_dir (char const *src_name_in, char const *dst_name_in, bool new_dst, + char *dst_name = file_name_concat (dst_name_in, namep, NULL); + bool first_dir_created = *first_dir_created_per_command_line_arg; + +- ok &= copy_internal (src_name, dst_name, new_dst, src_sb->st_dev, ++ ok &= copy_internal (src_name, dst_name, new_dst, src_sb, + ancestors, &non_command_line_options, false, + &first_dir_created, + &local_copy_into_self, NULL); +@@ -1725,9 +1725,8 @@ should_dereference (const struct cp_options *x, bool command_line_arg) + /* Copy the file SRC_NAME to the file DST_NAME. The files may be of + any type. NEW_DST should be true if the file DST_NAME cannot + exist because its parent directory was just created; NEW_DST should +- be false if DST_NAME might already exist. DEVICE is the device +- number of the parent directory, or 0 if the parent of this file is +- not known. ANCESTORS points to a linked, null terminated list of ++ be false if DST_NAME might already exist. A nonnull PARENT describes the ++ parent directory. ANCESTORS points to a linked, null terminated list of + devices and inodes of parent directories of SRC_NAME. COMMAND_LINE_ARG + is true iff SRC_NAME was specified on the command line. + FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG is both input and output. +@@ -1737,7 +1736,7 @@ should_dereference (const struct cp_options *x, bool command_line_arg) + static bool + copy_internal (char const *src_name, char const *dst_name, + bool new_dst, +- dev_t device, ++ struct stat const *parent, + struct dir_list *ancestors, + const struct cp_options *x, + bool command_line_arg, +@@ -2434,7 +2433,7 @@ copy_internal (char const *src_name, char const *dst_name, + } + + /* Decide whether to copy the contents of the directory. */ +- if (x->one_file_system && device != 0 && device != src_sb.st_dev) ++ if (x->one_file_system && parent && parent->st_dev != src_sb.st_dev) + { + /* Here, we are crossing a file system boundary and cp's -x option + is in effect: so don't copy the contents of this directory. */ +@@ -2827,7 +2826,7 @@ copy (char const *src_name, char const *dst_name, + top_level_dst_name = dst_name; + + bool first_dir_created_per_command_line_arg = false; +- return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL, ++ return copy_internal (src_name, dst_name, nonexistent_dst, NULL, NULL, + options, true, + &first_dir_created_per_command_line_arg, + copy_into_self, rename_succeeded); +-- +1.9.1 + diff --git a/abs/core/coreutils/PKGBUILD b/abs/core/coreutils/PKGBUILD index d38de6e..f10a12e 100644 --- a/abs/core/coreutils/PKGBUILD +++ b/abs/core/coreutils/PKGBUILD @@ -1,34 +1,47 @@ -# $Id: PKGBUILD 201684 2013-12-18 05:22:31Z allan $ -# Maintainer: Allan McRae <allan@archlinux.org> +# $Id$ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=coreutils -pkgver=8.22 -pkgrel=2 -pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system" +pkgver=8.23 +pkgrel=1 +pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system' arch=('i686' 'x86_64') license=('GPL3') -url="http://www.gnu.org/software/coreutils" +url='http://www.gnu.org/software/coreutils' groups=('base') depends=('glibc' 'pam' 'acl' 'gmp' 'libcap' 'openssl') -install=${pkgname}.install -source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +install=$pkgname.install +source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +md5sums=('abed135279f87ad6762ce57ff6d89c41' + 'SKIP') + +#prepare() { +# cd $pkgname-$pkgver +#} build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr --libexecdir=/usr/lib --with-openssl \ - --enable-no-install-program=groups,hostname,kill,uptime + cd $pkgname-$pkgver + FORCE_UNSAFE_CONFIGURE=1 + export FORCE_UNSAFE_CONFIGURE + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-openssl \ + --enable-no-install-program=groups,hostname,kill,uptime make } check() { - cd ${srcdir}/${pkgname}-${pkgver} + cd $pkgname-$pkgver make RUN_EXPENSIVE_TESTS=yes check } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install } -md5sums=('8fb0ae2267aa6e728958adc38f8163a2' - 'SKIP') + +# vim:set ts=2 sw=2 et: |