This commit is contained in:
parent
6f1b1f7f87
commit
6d32c543d6
101
cpio-2.9-dir_perm.patch
Normal file
101
cpio-2.9-dir_perm.patch
Normal file
@ -0,0 +1,101 @@
|
||||
diff -up cpio-2.9/src/extern.h.orig cpio-2.9/src/extern.h
|
||||
--- cpio-2.9/src/extern.h.orig 2007-06-28 14:59:38.000000000 +0200
|
||||
+++ cpio-2.9/src/extern.h 2008-02-13 15:24:37.000000000 +0100
|
||||
@@ -211,7 +211,7 @@ uintmax_t from_ascii (char const *where,
|
||||
|
||||
void delay_set_stat (char const *file_name, struct stat *st,
|
||||
mode_t invert_permissions);
|
||||
-void repair_delayed_set_stat (char const *dir,
|
||||
+int repair_delayed_set_stat (char const *dir,
|
||||
struct stat *dir_stat_info);
|
||||
void apply_delayed_set_stat (void);
|
||||
|
||||
diff -up cpio-2.9/src/copyin.c.orig cpio-2.9/src/copyin.c
|
||||
--- cpio-2.9/src/copyin.c.orig 2007-06-28 12:51:09.000000000 +0200
|
||||
+++ cpio-2.9/src/copyin.c 2008-02-14 10:28:33.000000000 +0100
|
||||
@@ -570,6 +570,7 @@ static void
|
||||
copyin_directory (struct cpio_file_stat *file_hdr, int existing_dir)
|
||||
{
|
||||
int res; /* Result of various function calls. */
|
||||
+ struct stat file_stat;
|
||||
#ifdef HPUX_CDF
|
||||
int cdf_flag; /* True if file is a CDF. */
|
||||
int cdf_char; /* Index of `+' char indicating a CDF. */
|
||||
@@ -626,7 +627,6 @@ copyin_directory (struct cpio_file_stat
|
||||
create_all_directories(), so the mkdir will fail
|
||||
because the directory exists. If that's the case,
|
||||
don't complain about it. */
|
||||
- struct stat file_stat;
|
||||
if (errno != EEXIST)
|
||||
{
|
||||
mkdir_error (file_hdr->c_name);
|
||||
@@ -645,7 +645,11 @@ copyin_directory (struct cpio_file_stat
|
||||
}
|
||||
}
|
||||
|
||||
- set_perms (-1, file_hdr);
|
||||
+ /* if the directory is queued for delayed_set_stat,
|
||||
+ fix permissions in the queue, otherwise set the permissions now */
|
||||
+ cpio_to_stat(file_hdr, &file_stat);
|
||||
+ if (repair_delayed_set_stat(file_hdr->c_name, &file_stat))
|
||||
+ set_perms (-1, file_hdr);
|
||||
}
|
||||
|
||||
static void
|
||||
diff -up cpio-2.9/src/makepath.c.orig cpio-2.9/src/makepath.c
|
||||
diff -up cpio-2.9/src/util.c.orig cpio-2.9/src/util.c
|
||||
--- cpio-2.9/src/util.c.orig 2007-06-28 15:04:51.000000000 +0200
|
||||
+++ cpio-2.9/src/util.c 2008-02-14 13:24:37.000000000 +0100
|
||||
@@ -1265,6 +1265,16 @@ stat_to_cpio (struct cpio_file_stat *hdr
|
||||
hdr->c_tar_linkname = NULL;
|
||||
}
|
||||
|
||||
+void
|
||||
+cpio_to_stat (struct cpio_file_stat *hdr, struct stat *st)
|
||||
+{
|
||||
+ stat (hdr->c_name, st);
|
||||
+ st->st_mode = hdr->c_mode;
|
||||
+ st->st_uid = CPIO_UID(hdr->c_uid);
|
||||
+ st->st_gid = CPIO_GID(hdr->c_gid);
|
||||
+ st->st_mtime = hdr->c_mtime;
|
||||
+}
|
||||
+
|
||||
#ifndef HAVE_FCHOWN
|
||||
# define fchown(fd, uid, gid) (-1)
|
||||
#endif
|
||||
@@ -1389,7 +1399,7 @@ delay_set_stat (char const *file_name, s
|
||||
created within the file name of DIR. The intermediate directory turned
|
||||
out to be the same as this directory, e.g. due to ".." or symbolic
|
||||
links. *DIR_STAT_INFO is the status of the directory. */
|
||||
-void
|
||||
+int
|
||||
repair_delayed_set_stat (char const *dir,
|
||||
struct stat *dir_stat_info)
|
||||
{
|
||||
@@ -1400,22 +1410,19 @@ repair_delayed_set_stat (char const *dir
|
||||
if (stat (data->stat.c_name, &st) != 0)
|
||||
{
|
||||
stat_error (data->stat.c_name);
|
||||
- return;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
if (st.st_dev == dir_stat_info->st_dev
|
||||
&& st.st_ino == dir_stat_info->st_ino)
|
||||
{
|
||||
stat_to_cpio (&data->stat, dir_stat_info);
|
||||
- data->invert_permissions =
|
||||
- ((dir_stat_info->st_mode ^ st.st_mode)
|
||||
- & MODE_RWX & ~ newdir_umask);
|
||||
- return;
|
||||
+ data->invert_permissions = 0;
|
||||
+ return 0;
|
||||
}
|
||||
}
|
||||
|
||||
- ERROR ((0, 0, _("%s: Unexpected inconsistency when making directory"),
|
||||
- quotearg_colon (dir)));
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
void
|
11
cpio.changes
11
cpio.changes
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 13 19:03:41 CET 2008 - lmichnovic@suse.cz
|
||||
|
||||
- lang subpackage split off
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 13 18:55:59 CET 2008 - lmichnovic@suse.cz
|
||||
|
||||
- applying upstream patch cpio-2.9-dir_perm.patch which fixes
|
||||
incorrect directory permissions after archive extraction
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 29 15:49:49 CET 2007 - lmichnovic@suse.cz
|
||||
|
||||
|
104
cpio.spec
104
cpio.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package cpio (Version 2.9)
|
||||
#
|
||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
@ -10,13 +10,14 @@
|
||||
|
||||
# norootforbuild
|
||||
|
||||
|
||||
Name: cpio
|
||||
Url: http://www.gnu.org/software/cpio/cpio.html
|
||||
License: GPL v3 only
|
||||
Group: Productivity/Archiving/Compression
|
||||
AutoReqProv: on
|
||||
Version: 2.9
|
||||
Release: 27
|
||||
Release: 44
|
||||
Summary: A Backup and Archiving Utility
|
||||
Source: cpio-2.9.tar.bz2
|
||||
Patch1: cpio-2.9-no_rmt.patch
|
||||
@ -32,8 +33,10 @@ Patch10: cpio-2.9-segfault_in_copyin.patch
|
||||
Patch11: cpio-2.9-avoid_overflow_warning.patch
|
||||
Patch12: cpio-2.9-doc_typo.patch
|
||||
Patch13: cpio-2.9-m4_macro.patch
|
||||
Patch14: cpio-2.9-dir_perm.patch
|
||||
PreReq: %install_info_prereq
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires: %{name}-lang = %{version}
|
||||
|
||||
%description
|
||||
GNU cpio is a program to manage archives of files. This package also
|
||||
@ -54,6 +57,7 @@ Authors:
|
||||
David J. MacKenzie <djm@gnu.org>
|
||||
Jim Meyering <meyering@na-net.ornl.gov>
|
||||
|
||||
%lang_package
|
||||
%prep
|
||||
%setup
|
||||
%patch1
|
||||
@ -69,6 +73,7 @@ Authors:
|
||||
%patch11
|
||||
%patch12
|
||||
%patch13
|
||||
%patch14 -p1
|
||||
chmod 755 .
|
||||
chmod u+w *
|
||||
chmod a+r *
|
||||
@ -98,7 +103,7 @@ ln -sf ../../bin/cpio $RPM_BUILD_ROOT/usr/bin/cpio
|
||||
%postun
|
||||
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
|
||||
|
||||
%files -f %{name}.lang
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
/bin/cpio
|
||||
/usr/bin/cpio
|
||||
@ -108,32 +113,39 @@ ln -sf ../../bin/cpio $RPM_BUILD_ROOT/usr/bin/cpio
|
||||
%doc %{_mandir}/man1/mt.1.gz
|
||||
#/usr/share/locale/*/LC_MESSAGES/cpio.mo
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
|
||||
%changelog
|
||||
* Thu Nov 29 2007 - lmichnovic@suse.cz
|
||||
* Thu Mar 13 2008 lmichnovic@suse.cz
|
||||
- lang subpackage split off
|
||||
* Thu Mar 13 2008 lmichnovic@suse.cz
|
||||
- applying upstream patch cpio-2.9-dir_perm.patch which fixes
|
||||
incorrect directory permissions after archive extraction
|
||||
* Thu Nov 29 2007 lmichnovic@suse.cz
|
||||
- removed unused m4 macro gl_LONG_LONG (*m4_macro.patch)
|
||||
* Wed Nov 07 2007 - lmichnovic@suse.cz
|
||||
* Wed Nov 07 2007 lmichnovic@suse.cz
|
||||
- upstream fix of typo in documantation (*doc_typo.patch)
|
||||
* Tue Oct 23 2007 - lmichnovic@suse.cz
|
||||
* Tue Oct 23 2007 lmichnovic@suse.cz
|
||||
- rewrote code which uses overflow to copy string in structure and
|
||||
gcc was complaining about it (*avoid_overflow_warning.patch)
|
||||
* Mon Oct 01 2007 - lmichnovic@suse.cz
|
||||
* Mon Oct 01 2007 lmichnovic@suse.cz
|
||||
- Fixed typo in copin.c causing segfault [#329744]
|
||||
(*segfault_in_copyin.patch)
|
||||
* Tue Sep 25 2007 - lmichnovic@suse.cz
|
||||
* Tue Sep 25 2007 lmichnovic@suse.cz
|
||||
- fix for compiling with new gcc 4.3 (*gcc4_3.patch)
|
||||
* Mon Aug 20 2007 - lmichnovic@suse.cz
|
||||
* Mon Aug 20 2007 lmichnovic@suse.cz
|
||||
- fixed typo in paxlib-owl-alloca.patch [#301416]
|
||||
* Fri Aug 17 2007 - lmichnovic@suse.cz
|
||||
* Fri Aug 17 2007 lmichnovic@suse.cz
|
||||
- upstream fix: use of alloca can cause stack overflow
|
||||
(paxlib-owl-alloca.patch)
|
||||
* Tue Aug 14 2007 - lmichnovic@suse.cz
|
||||
* Tue Aug 14 2007 lmichnovic@suse.cz
|
||||
- CAN-2005-1111 is not fixed completely in 2.9 (chmodRaceC.patch)
|
||||
based on fedora patch
|
||||
* Wed Jul 25 2007 - lmichnovic@suse.cz
|
||||
* Wed Jul 25 2007 lmichnovic@suse.cz
|
||||
- fixed types of variables for LFS support (*lfs_correction.patch)
|
||||
* Tue Jul 24 2007 - lmichnovic@suse.cz
|
||||
* Tue Jul 24 2007 lmichnovic@suse.cz
|
||||
- adjusted *mt.patch to fix compression handling [#223494]
|
||||
* Fri Jul 20 2007 - lmichnovic@suse.cz
|
||||
* Fri Jul 20 2007 lmichnovic@suse.cz
|
||||
- update to version 2.9
|
||||
- obsoletes *lstat.patch
|
||||
* Licensed under the GPLv3.
|
||||
@ -162,79 +174,79 @@ ln -sf ../../bin/cpio $RPM_BUILD_ROOT/usr/bin/cpio
|
||||
--no-absolute-pathnames; option --absolute-pathnames is still possible
|
||||
- obsoletes *checksum.patch, fix_umask.patch, sparse.patch
|
||||
- using lang macro
|
||||
* Thu Sep 21 2006 - lmichnovic@suse.cz
|
||||
* Thu Sep 21 2006 lmichnovic@suse.cz
|
||||
- fixed typo in cpio-2.6.dif; renamed to *-mt.patch
|
||||
- united suffix of patches
|
||||
* Tue Sep 19 2006 - schwab@suse.de
|
||||
* Tue Sep 19 2006 schwab@suse.de
|
||||
- Fix missing newline after mt status.
|
||||
* Mon Jul 24 2006 - rguenther@suse.de
|
||||
* Mon Jul 24 2006 rguenther@suse.de
|
||||
- remove useless build-dependency on rsh.
|
||||
* Wed Jan 25 2006 - mls@suse.de
|
||||
* Wed Jan 25 2006 mls@suse.de
|
||||
- converted neededforbuild to BuildRequires
|
||||
* Tue Dec 06 2005 - fehr@suse.de
|
||||
* Tue Dec 06 2005 fehr@suse.de
|
||||
- add cpio-2.6-chmodRaceC.patch and cpio-2.6-dirTraversal.patch to
|
||||
fix bug #80226
|
||||
- add cpio-2.6-writeOutHeaderBufferOverflow.patch to fix #133454
|
||||
- add cpio-2.6-checksum.patch fix wrong checksum on 64bit archs
|
||||
- add cpio-2.6-lfs.patch to support large files on 32bit archs
|
||||
* Wed Aug 10 2005 - fehr@suse.de
|
||||
* Wed Aug 10 2005 fehr@suse.de
|
||||
- fix call to setlocale to make multibyte characters work (#98902)
|
||||
* Thu Jun 30 2005 - fehr@suse.de
|
||||
* Thu Jun 30 2005 fehr@suse.de
|
||||
- open with O_NONBLOCK option (#94449)
|
||||
* Wed May 04 2005 - ro@suse.de
|
||||
* Wed May 04 2005 ro@suse.de
|
||||
- properly detect lstat in configure
|
||||
* Wed Apr 27 2005 - snwint@suse.de
|
||||
* Wed Apr 27 2005 snwint@suse.de
|
||||
- fix '--sparse' option check
|
||||
* Mon Apr 25 2005 - fehr@suse.de
|
||||
* Mon Apr 25 2005 fehr@suse.de
|
||||
- update to cpio 2.6
|
||||
* Mon Jan 24 2005 - fehr@suse.de
|
||||
* Mon Jan 24 2005 fehr@suse.de
|
||||
- fix problem with cpio not respecting umask (#50054)
|
||||
* Mon Jan 19 2004 - ro@suse.de
|
||||
* Mon Jan 19 2004 ro@suse.de
|
||||
- fix build as user
|
||||
* Sun Jan 11 2004 - adrian@suse.de
|
||||
* Sun Jan 11 2004 adrian@suse.de
|
||||
- add %%defattr
|
||||
* Thu Apr 24 2003 - ro@suse.de
|
||||
* Thu Apr 24 2003 ro@suse.de
|
||||
- fix install_info --delete call and move from preun to postun
|
||||
* Tue Apr 15 2003 - coolo@suse.de
|
||||
* Tue Apr 15 2003 coolo@suse.de
|
||||
- use BuildRoot
|
||||
* Fri Feb 07 2003 - fehr@suse.de
|
||||
* Fri Feb 07 2003 fehr@suse.de
|
||||
- Use %%install_info macro
|
||||
* Tue Sep 17 2002 - ro@suse.de
|
||||
* Tue Sep 17 2002 ro@suse.de
|
||||
- removed bogus self-provides
|
||||
* Tue Aug 13 2002 - mfabian@suse.de
|
||||
* Tue Aug 13 2002 mfabian@suse.de
|
||||
- add cpio-2.5-i18n-0.1.patch received from
|
||||
"Mitsuru Chinen" <CHINEN@jp.ibm.com>
|
||||
The patch just adds a setlocale (LC_ALL, "").
|
||||
* Sun Jul 28 2002 - kukuk@suse.de
|
||||
* Sun Jul 28 2002 kukuk@suse.de
|
||||
- remove unused tetex from neededforbuild
|
||||
* Fri Jul 05 2002 - fehr@suse.de
|
||||
* Fri Jul 05 2002 fehr@suse.de
|
||||
- update to new version 2.5
|
||||
* Mon Dec 03 2001 - fehr@suse.de
|
||||
* Mon Dec 03 2001 fehr@suse.de
|
||||
- make the -c switch comatible to SVR4 (and compatible to RedHat)
|
||||
- fix the man page accordingly
|
||||
- add rsh to #needfobuild to allow remote file access again (#12543)
|
||||
* Sun Dec 03 2000 - schwab@suse.de
|
||||
* Sun Dec 03 2000 schwab@suse.de
|
||||
- Fix a few bugs and typos.
|
||||
* Tue Nov 28 2000 - fehr@suse.de
|
||||
* Tue Nov 28 2000 fehr@suse.de
|
||||
- add compile options for LFS
|
||||
* Mon Apr 17 2000 - fehr@suse.de
|
||||
* Mon Apr 17 2000 fehr@suse.de
|
||||
- move cpio binary to /bin for compatibility with RedHat
|
||||
* Fri Feb 25 2000 - kukuk@suse.de
|
||||
* Fri Feb 25 2000 kukuk@suse.de
|
||||
- remove Makefile.Linux
|
||||
- use _infodir/_mandir
|
||||
* Mon Sep 13 1999 - bs@suse.de
|
||||
* Mon Sep 13 1999 bs@suse.de
|
||||
- ran old prepare_spec on spec file to switch to new prepare_spec.
|
||||
* Thu Sep 02 1999 - fehr@suse.de
|
||||
* Thu Sep 02 1999 fehr@suse.de
|
||||
- Fix patch for broken header (cast to short instead of int)
|
||||
* Wed Aug 04 1999 - kukuk@suse.de
|
||||
* Wed Aug 04 1999 kukuk@suse.de
|
||||
- Add patch for broken header in oldascii format
|
||||
* Tue Sep 22 1998 - ro@suse.de
|
||||
* Tue Sep 22 1998 ro@suse.de
|
||||
- define _GNU_SOURCE for glibc where including getopt
|
||||
* Tue Sep 01 1998 - ro@suse.de
|
||||
* Tue Sep 01 1998 ro@suse.de
|
||||
- fixed strdup-macro problem
|
||||
* Thu Jun 05 1997 - florian@suse.de
|
||||
* Thu Jun 05 1997 florian@suse.de
|
||||
- go through the list of regex in a more suitable way (from ma@suse.de)
|
||||
* Sun Apr 13 1997 - florian@suse.de
|
||||
* Mon Apr 14 1997 florian@suse.de
|
||||
- update to new version 2.4.2
|
||||
- add Linux patches from RedHat
|
||||
- add patches from gnu.utils.bugs
|
||||
|
Loading…
Reference in New Issue
Block a user