RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 18-May-2011 15:34:35 Branch: rpm-5_4 Handle: 2011051813343401 Modified files: (Branch: rpm-5_4) rpm CHANGES rpm/scripts find-debuginfo.sh Log: Sort file list for debuginfo extraction. (inspired by Robert Schiele http://lists.rpm.org/pipermail/rpm-list/2011-May/000894.html) Submitted by: Elia Pinto Summary: Revision Changes Path 1.3501.2.127+2 -0 rpm/CHANGES 1.14.2.1 +7 -7 rpm/scripts/find-debuginfo.sh ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3501.2.126 -r1.3501.2.127 CHANGES --- rpm/CHANGES 16 May 2011 00:34:35 -0000 1.3501.2.126 +++ rpm/CHANGES 18 May 2011 13:34:34 -0000 1.3501.2.127 @@ -1,4 +1,6 @@ 5.4.0 -> 5.4.1: + - devzero2000: Sort file list for debuginfo extraction. + (inspired by Robert Schiele http://lists.rpm.org/pipermail/rpm-list/2011-May/000894.html) - proyvind: update doxygen input filename paths. - proyvind: fix assertion error when trying to install packages without required permissions. @@ . patch -p0 <<'@@ .' Index: rpm/scripts/find-debuginfo.sh ============================================================================ $ cvs diff -u -r1.14 -r1.14.2.1 find-debuginfo.sh --- rpm/scripts/find-debuginfo.sh 10 Aug 2010 12:18:52 -0000 1.14 +++ rpm/scripts/find-debuginfo.sh 18 May 2011 13:34:35 -0000 1.14.2.1 @@ -176,7 +176,7 @@ # Strip ELF binaries find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \ \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \ - -print | + -print | LANG=C sort | file -N -f - | sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped/\1/p' | xargs --no-run-if-empty stat -c '%h %D_%i %n' | while read nlinks inum f; do @@ -232,7 +232,7 @@ # For each symlink whose target has a .debug file, # make a .debug symlink to that file. -find $RPM_BUILD_ROOT ! -path "${debugdir}/*" -type l -print | +find $RPM_BUILD_ROOT ! -path "${debugdir}/*" -type l -print | LANG=C sort | while read f do t=$(readlink -m "$f").debug @@ -249,19 +249,19 @@ LC_ALL=C sort -z -u "$SOURCEFILE" | egrep -v -z '(<internal>|<built-in>)$' | (cd "$RPM_BUILD_DIR"; cpio -pd0mL "${RPM_BUILD_ROOT}/usr/src/debug") # stupid cpio creates new directories in mode 0700, fixup - find "${RPM_BUILD_ROOT}/usr/src/debug" -type d -print0 | + find "${RPM_BUILD_ROOT}/usr/src/debug" -type d -print0 | LANG=C sort | xargs --no-run-if-empty -0 chmod a+rx fi if [ -d "${RPM_BUILD_ROOT}/usr/lib" -o -d "${RPM_BUILD_ROOT}/usr/src" ]; then ((nout > 0)) || test ! -d "${RPM_BUILD_ROOT}/usr/lib" || - (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) | + (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) | LANG=C sort | sed 's,^,%dir /usr/lib/,' >> "$LISTFILE" (cd "${RPM_BUILD_ROOT}/usr" - test ! -d lib/debug || find lib/debug ! -type d - test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1 + test ! -d lib/debug || find lib/debug ! -type d | LANG=C sort + test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1 | LANG=C sort ) | sed 's,^,/usr/,' >> "$LISTFILE" fi @@ -321,7 +321,7 @@ done if ((nout > 0)); then # Now add the right %dir lines to each output list. - (cd "${RPM_BUILD_ROOT}"; find usr/lib/debug -type d) | + (cd "${RPM_BUILD_ROOT}"; find usr/lib/debug -type d) | LANG=C sort sed 's#^.*$#\\@^/&/@{h;s@^.*$@%dir /&@p;g;}#' | LC_ALL=C sort -ur > "${LISTFILE}.dirs.sed" i=0 @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org