From c8a093c9eb55fb10d535333522e038cec075e175 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Fri, 16 Aug 2013 11:45:47 +0200 Subject: [PATCH] fix hurd FTBFS --- debian/changelog | 7 +++++++ debian/patches/series | 1 + debian/patches/upstream-hurd-fix | 36 ++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 debian/patches/upstream-hurd-fix diff --git a/debian/changelog b/debian/changelog index d9b75451..c10331cc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +tar (1.26+dfsg-8) unstable; urgency=low + + * cherry-pick upstream commit at Pino Toscano's suggestion to fix FTBFS + on hurd-i386, closes: #719863 + + -- Bdale Garbee Fri, 16 Aug 2013 11:37:40 +0200 + tar (1.26+dfsg-7) unstable; urgency=low * cherry-pick upstream commit at Marc Schaeffer's suggestion to fix diff --git a/debian/patches/series b/debian/patches/series index 1ed4a34a..eec364df 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,3 +4,4 @@ listed03-linux-only eglibc-2.16-ftbfs-gnulib-nogets link-extraction-fix upstream-compare-fix +upstream-hurd-fix diff --git a/debian/patches/upstream-hurd-fix b/debian/patches/upstream-hurd-fix new file mode 100644 index 00000000..98fd9e86 --- /dev/null +++ b/debian/patches/upstream-hurd-fix @@ -0,0 +1,36 @@ +>From 6689e8db4f53f6a0bed3d1bc4ed12d31eaa3bf51 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 17 Jan 2012 22:21:52 -0800 +Subject: [PATCH] tar: port --overwrite symlink test to GNU/Hurd + +Problem reported by Pino Toscano in +. +* gnulib.modules: Add fcntl-h, which defines +HAVE_WORKING_O_NOFOLLOW. +* src/extract.c (open_output_file): Use HAVE_WORKING_O_NOFOLLOW, +not O_NOFOLLOW, when testing whther O_NOFOLLOW works. + +This file is a placeholder. It will be replaced with the actual ChangeLog +by make dist. Run make ChangeLog if you wish to create it earlier. +--- + gnulib.modules | 1 + + src/extract.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/extract.c b/src/extract.c +index 55f3eb8..bd5e7bf 100644 +--- a/src/extract.c ++++ b/src/extract.c +@@ -887,7 +887,8 @@ open_output_file (char const *file_name, int typeflag, mode_t mode, + /* If O_NOFOLLOW is needed but does not work, check for a symlink + separately. There's a race condition, but that cannot be avoided + on hosts lacking O_NOFOLLOW. */ +- if (! O_NOFOLLOW && overwriting_old_files && ! dereference_option) ++ if (! HAVE_WORKING_O_NOFOLLOW ++ && overwriting_old_files && ! dereference_option) + { + struct stat st; + if (fstatat (chdir_fd, file_name, &st, AT_SYMLINK_NOFOLLOW) == 0 +-- +1.7.10.4 + -- 2.30.2