Hello community,
here is the log from the commit of package cpio
checked in at Fri Mar 14 17:30:55 CET 2008.
--------
--- cpio/cpio.changes 2007-11-29 15:54:36.000000000 +0100
+++ /mounts/work_src_done/STABLE/cpio/cpio.changes 2008-03-13 19:04:42.000000000 +0100
@@ -1,0 +2,11 @@
+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
+
+-------------------------------------------------------------------
New:
----
cpio-2.9-dir_perm.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cpio.spec ++++++
--- /var/tmp/diff_new_pack.uR6239/_old 2008-03-14 17:29:46.000000000 +0100
+++ /var/tmp/diff_new_pack.uR6239/_new 2008-03-14 17:29:46.000000000 +0100
@@ -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 @@
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 @@
David J. MacKenzie
Jim Meyering
+%lang_package
%prep
%setup
%patch1
@@ -69,6 +73,7 @@
%patch11
%patch12
%patch13
+%patch14 -p1
chmod 755 .
chmod u+w *
chmod a+r *
@@ -98,7 +103,7 @@
%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 @@
%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 @@
--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"
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
++++++ cpio-2.9-dir_perm.patch ++++++
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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org