diff options
author | Nicolas Iooss | 2014-04-24 11:14:13 +0200 |
---|---|---|
committer | Nicolas Iooss | 2014-04-24 12:14:14 +0200 |
commit | ceb896e0ca2374f86e0819bfe60725c94359ba78 (patch) | |
tree | 1ef1416d24b341b98f8b851834ebb089fcabe5fc | |
parent | 33cc706b7f85d74a065ffc54fcf29d3bf595a0dd (diff) | |
download | aur-ceb896e0ca2374f86e0819bfe60725c94359ba78.tar.gz |
coreutils-selinux 8.22-4 update
Add patch "cp: don't reserve a device number", also included in coreutils
package.
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | 0001-cp-don-t-reserve-a-device-number.patch | 77 | ||||
-rw-r--r-- | PKGBUILD | 7 |
3 files changed, 87 insertions, 5 deletions
@@ -1,7 +1,7 @@ pkgbase = coreutils-selinux pkgdesc = The basic file, shell and text manipulation utilities of the GNU operating system with SELinux support pkgver = 8.22 - pkgrel = 3 + pkgrel = 4 url = http://www.gnu.org/software/coreutils install = coreutils.install arch = i686 @@ -15,18 +15,20 @@ pkgbase = coreutils-selinux depends = libcap depends = openssl depends = libselinux - provides = coreutils=8.22-3 - provides = selinux-coreutils=8.22-3 + provides = coreutils=8.22-4 + provides = selinux-coreutils=8.22-4 conflicts = coreutils conflicts = selinux-coreutils source = ftp://ftp.gnu.org/gnu/coreutils/coreutils-8.22.tar.xz source = ftp://ftp.gnu.org/gnu/coreutils/coreutils-8.22.tar.xz.sig source = coreutils-8.22-shuf-segfault.patch + source = 0001-cp-don-t-reserve-a-device-number.patch source = 0001-copy-fix-SELinux-context-preservation-for-existing-d.patch source = 0002-copy-fix-a-segfault-in-SELinux-context-copying-code.patch md5sums = 8fb0ae2267aa6e728958adc38f8163a2 md5sums = SKIP md5sums = 94f7e6f373f37beb236caabed8fcdb52 + md5sums = ac3825f60b6e0300e375f656a3667c52 md5sums = a320632626e1639643f3510ae1c62ed0 md5sums = 40575ec80e895b5db52dafa6556e6e26 diff --git a/0001-cp-don-t-reserve-a-device-number.patch b/0001-cp-don-t-reserve-a-device-number.patch new file mode 100644 index 000000000000..1f276b4a49d8 --- /dev/null +++ b/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 + @@ -9,7 +9,7 @@ pkgname=coreutils-selinux pkgver=8.22 -pkgrel=3 +pkgrel=4 pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system with SELinux support" arch=('i686' 'x86_64') license=('GPL3') @@ -22,17 +22,20 @@ provides=("${pkgname/-selinux}=${pkgver}-${pkgrel}" "selinux-${pkgname/-selinux}=${pkgver}-${pkgrel}") source=(ftp://ftp.gnu.org/gnu/${pkgname/-selinux}/${pkgname/-selinux}-$pkgver.tar.xz{,.sig} 'coreutils-8.22-shuf-segfault.patch' + '0001-cp-don-t-reserve-a-device-number.patch' '0001-copy-fix-SELinux-context-preservation-for-existing-d.patch' '0002-copy-fix-a-segfault-in-SELinux-context-copying-code.patch') md5sums=('8fb0ae2267aa6e728958adc38f8163a2' 'SKIP' '94f7e6f373f37beb236caabed8fcdb52' + 'ac3825f60b6e0300e375f656a3667c52' 'a320632626e1639643f3510ae1c62ed0' '40575ec80e895b5db52dafa6556e6e26') prepare() { cd ${pkgname/-selinux}-$pkgver - patch -Np1 -i ../coreutils-8.22-shuf-segfault.patch + patch -p1 -i ../coreutils-8.22-shuf-segfault.patch + patch -p1 -i ../0001-cp-don-t-reserve-a-device-number.patch patch -Np1 -i ../0001-copy-fix-SELinux-context-preservation-for-existing-d.patch patch -Np1 -i ../0002-copy-fix-a-segfault-in-SELinux-context-copying-code.patch } |