diff options
author | Michael Cummings <mcummings@gentoo.org> | 2005-01-27 13:01:22 +0000 |
---|---|---|
committer | Michael Cummings <mcummings@gentoo.org> | 2005-01-27 13:01:22 +0000 |
commit | fc4dc106236bb1b05a5ac7d85c7f1476e13beec7 (patch) | |
tree | 0d49d7aa320476cbe6ca05534bb8845005fcda49 /dev-lang | |
parent | Tarball changed upstream -> updated digest (diff) | |
download | historical-fc4dc106236bb1b05a5ac7d85c7f1476e13beec7.tar.gz historical-fc4dc106236bb1b05a5ac7d85c7f1476e13beec7.tar.bz2 historical-fc4dc106236bb1b05a5ac7d85c7f1476e13beec7.zip |
cleanup of perl-cleaner
Package-Manager: portage-2.0.51-r13
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/perl/ChangeLog | 6 | ||||
-rw-r--r-- | dev-lang/perl/Manifest | 26 | ||||
-rwxr-xr-x | dev-lang/perl/files/perl-cleaner | 294 |
3 files changed, 153 insertions, 173 deletions
diff --git a/dev-lang/perl/ChangeLog b/dev-lang/perl/ChangeLog index 94f32b651129..7a19efcceec4 100644 --- a/dev-lang/perl/ChangeLog +++ b/dev-lang/perl/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lang/perl # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.104 2005/01/26 18:30:41 mcummings Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.105 2005/01/27 13:01:22 mcummings Exp $ + + 27 Jan 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner: + Code cleanup thanks to Mr.B. *MAJOR* typo in the filename for the prelist of + ebuilds to re-emerge resulted in no ebuilds getting re-emerged... 26 Jan 2005; Michael Cummings <mcummings@gentoo.org> files/perl-cleaner: tmpdir fix - thanks Mr. B. diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 93732fbe5ec2..04462963220c 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -1,20 +1,20 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 0a8a42957053c5e35daeef59a80e5e10 perl-5.8.2-r1.ebuild 10011 -MD5 a5b85ee6cc22f19ca3184230aaa015f8 ChangeLog 31884 +MD5 c1ca72943ab54f2d757f1009445241e4 ChangeLog 32107 MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305 -MD5 96cd0e466f12c964156591508069e0df perl-5.8.2-r2.ebuild 10143 +MD5 0a8a42957053c5e35daeef59a80e5e10 perl-5.8.2-r1.ebuild 10011 MD5 b36304514ba321213f46228cef0308f3 perl-5.8.4-r1.ebuild 12152 MD5 209da21854ae41ebdaedb6707fb6c3a2 perl-5.8.5-r1.ebuild 11334 MD5 b37d94840cedea35d672ff8db46b1a47 perl-5.8.5-r2.ebuild 11774 MD5 3e38f787015236ca28ffdbcbfcffc52a perl-5.8.5.ebuild 11519 MD5 543934693fe590d4cf99d72f7b9e70ab perl-5.8.6-r1.ebuild 11791 MD5 76294281f5b62cd9789c43267e1d8b95 perl-5.8.6.ebuild 11402 +MD5 96cd0e466f12c964156591508069e0df perl-5.8.2-r2.ebuild 10143 MD5 e344a13cc5d4622febb94084d96bc551 perl-5.8.4-r2.ebuild 12283 MD5 76a8c5fdfe242de0f3922676f994d716 perl-5.8.5-r3.ebuild 11906 MD5 af8a06628a3c86f87c2506c07f8528ee perl-5.8.6-r2.ebuild 11923 -MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.2-picdl.patch 250 +MD5 1841937b9e11260dd4c320a88057fc24 files/perl-cleaner 8364 MD5 8381e239056a7895edf8f3c6c05c835c files/digest-perl-5.8.2-r1 64 MD5 93155b02a7e9d3cdc6d6934ce78d9f11 files/digest-perl-5.8.4-r1 64 MD5 c354e2fbf8141a769c20032e94f45fd3 files/digest-perl-5.8.5 64 @@ -23,16 +23,15 @@ MD5 c354e2fbf8141a769c20032e94f45fd3 files/digest-perl-5.8.5-r2 64 MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6 64 MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r1 64 MD5 3195cf2f1f12f77ecc5b9c4fe9ea0995 files/libperl_rebuilder 10556 -MD5 44e1f1420947cc552c66fb434ba4c855 files/perl-5.8.4-NDBM-GDBM-compat.patch 428 -MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.2-reorder-INC.patch 2211 MD5 060e9f10466fdc1268c75a7cf4dcbc7c files/perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch 446 MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-5.8.2-perldoc-emptydirs.patch 489 +MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.2-picdl.patch 250 MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.2-prelink-lpthread.patch 476 +MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.2-reorder-INC.patch 2211 MD5 ce442db939c59218a16be167f793b817 files/perl-5.8.2-uclibc.patch 573 -MD5 01af75daf3d222a668059e90d78a1f9d files/perl-5.8.4-nonblock.patch 400 +MD5 44e1f1420947cc552c66fb434ba4c855 files/perl-5.8.4-NDBM-GDBM-compat.patch 428 MD5 076dcbef37263d6dd7af719b55cfc2de files/perl-5.8.4-noksh.patch 611 -MD5 2d45569592067cfa5303c569bf36efe3 files/perl-cleaner 8571 -MD5 803b7c028f59008ea1e6d577e5c0bab0 files/stat.t 8884 +MD5 01af75daf3d222a668059e90d78a1f9d files/perl-5.8.4-nonblock.patch 400 MD5 0a28eb41f5f12ed54f025004af45c83d files/perl-5.8.4-perldoc-emptydirs.patch 489 MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.4-picdl.patch 250 MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.4-prelink-lpthread.patch 476 @@ -50,15 +49,16 @@ MD5 319b56a7ce715fb7a494fe4d5cb9474c files/perl-5.8.6-picdl.patch 250 MD5 4e99f7529e149661372283c981cf17ff files/perl-5.8.6-prelink-lpthread.patch 476 MD5 d9412dab085f22309997c8f08ea1ac85 files/perl-5.8.6-reorder-INC.patch 2211 MD5 c5cc36940b2488a37c3dc2287f6e672c files/perl-5.8.6-tempfiles.patch 2115 -MD5 154013a841cbb251d7b63fb006b4006f files/file_path_rmtree.patch 1068 +MD5 803b7c028f59008ea1e6d577e5c0bab0 files/stat.t 8884 MD5 8381e239056a7895edf8f3c6c05c835c files/digest-perl-5.8.2-r2 64 MD5 93155b02a7e9d3cdc6d6934ce78d9f11 files/digest-perl-5.8.4-r2 64 MD5 c354e2fbf8141a769c20032e94f45fd3 files/digest-perl-5.8.5-r3 64 MD5 0a07934d74ccb1133cf0f3650cb94efc files/digest-perl-5.8.6-r2 64 +MD5 154013a841cbb251d7b63fb006b4006f files/file_path_rmtree.patch 1068 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) -iD8DBQFB9+HatG5z4I8BtQoRAquzAJ9K8fECc4XibXnPVvVahasIJvQf/gCcD1Dx -hau5+ZMqi1lrBbN5TVhovsY= -=0ko5 +iD8DBQFB+OXQtG5z4I8BtQoRAvVZAJ48FaWXh1wvyBaSamCW7/uBm3fKLQCeIVei +XZaoraK0xrytM5PCcJYipic= +=pdiq -----END PGP SIGNATURE----- diff --git a/dev-lang/perl/files/perl-cleaner b/dev-lang/perl/files/perl-cleaner index a87b871b9e68..013382ebfb07 100755 --- a/dev-lang/perl/files/perl-cleaner +++ b/dev-lang/perl/files/perl-cleaner @@ -1,82 +1,77 @@ #!/bin/bash # First and foremost - make sure we have a perl to work with... -PERL=`which perl` +PERL=$(which perl) if [ "${PERL}x" == "x" ]; then echo "NO PERL INSTALLED!! (at least not in your path)" exit fi -eval `perl '-V:version'` +eval $(perl '-V:version') PERL_VERSION=${version} - TMPDIR=${TMPDIR:-/tmp} -PKGDIR="/var/db/pkg" -DATESTAMP=`date +"%Y%m%d%H%M%S"` +PKGDIR=$(/usr/bin/portageq vdb_path) +DATESTAMP=$(date +"%Y%m%d%H%M%S") LOG="${TMPDIR}/perl-cleaner.log.$DATESTAMP" +PAGER=${PAGER:-more} ASK="" if [ ! -z $2 ]; then - ASK=Y + ASK="--ask" fi # Set up our temporary files function cleanrun() { -for FILE in modules.list ebuilds.preinstall ebuilds.ordered ebuilds.reinstall ; do + for FILE in modules.list ebuilds.preinstall ebuilds.ordered ebuilds.reinstall ; do -if [ -f $TMPDIR/$FILE ]; then - cp /dev/null $TMPDIR/$FILE -else - touch $TMPDIR/$FILE -fi + if [ -f ${TMPDIR}/$FILE ]; then + cp /dev/null ${TMPDIR}/$FILE + fi -done + done } function postclean { -for FILE in modules.list ebuilds.preinstall ebuilds.ordered ebuilds.reinstall; do + for FILE in modules.list ebuilds.preinstall ebuilds.ordered ebuilds.reinstall; do -if [ -f $TMPDIR/$FILE ]; then - rm -f $TMPDIR/$FILE -fi + if [ -f ${TMPDIR}/$FILE ]; then + rm -f ${TMPDIR}/$FILE + fi -done + done -echo "" -echo "For a complete log, please read ${TMPDIR}/perl-cleaner.log.DATESTAMP" -echo "" + echo + echo "For a complete log, please read ${TMPDIR}/perl-cleaner.log.DATESTAMP" + echo } # This is to clean out the old .ph files generated in our last perl install function ph_clean() { -echo "`date` : Beginning a clean up of .ph files" -echo "`date` : Beginning a clean up of .ph files">>$LOG - -INC=`perl -e 'foreach $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }'` - -echo "Locating ph files for removal" -for DIR in $INC; do - if [ -d $DIR ]; then - for file in `find $DIR -name "*.ph" -type f`; do - if [ ! `echo "$file"|grep $PERL_VERSION` ]; then - echo "`date` : Removing old ph file: $file" - echo "`date` : Removing old ph file: $file">>$LOG - rm $file - fi - done - fi -done + echo "$(date) : Beginning a clean up of .ph files" | tee -a $LOG + + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }') + + echo "Locating ph files for removal" + for DIR in $INC; do + if [ -d $DIR ]; then + for file in $(find $DIR -name "*.ph" -type f); do + if [ ! $(echo "$file"|grep $PERL_VERSION) ]; then + echo "$(date) : Removing old ph file: $file" | tee -a $LOG + rm $file + fi + done + fi + done } # Generate ph files; this is useful if we've upgraded packages with headers so that perl knows the new info function ph_update() { - echo "`date` : Updating ph files" - echo "`date` : Updating ph files">>$LOG - cd /usr/include; h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/*>>$LOG - cd /usr/include/linux; h2ph * >>$LOG + echo "$(date) : Updating ph files" | tee -a $LOG + cd /usr/include; h2ph * sys/* arpa/* netinet/* bits/* security/* asm/* gnu/* linux/*>>$LOG + cd /usr/include/linux; h2ph * >>$LOG } # Build a list of modules installed under older perls - only valid if the module was an ebuild :) @@ -84,17 +79,16 @@ function module_list() { # Reset INC - INC is dynamically generated, and if we removed any ph # files - and they were the only thing left in a dir - then there's # no sense in revisiting that dir -echo "`date` : Building list of modules for reinstall" -echo "`date` : Building list of modules for reinstall">>$LOG -INC=`perl -e 'foreach $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }'` -echo "Locating modules for reinstall" -for DIR in $INC; do - if [ -d $DIR ]; then - for file in `find $DIR -iname "*.pm" -type f|grep -v "${PERL_VERSION}"`; do - grep -l $file $PKGDIR/*/*/CONTENTS >>$TMPDIR/modules.list - done - fi -done + echo "$(date) : Building list of modules for reinstall" | tee -a $LOG + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }') + echo "Locating modules for reinstall" + for DIR in $INC; do + if [ -d $DIR ]; then + for file in $(find $DIR -iname "*.pm" -type f|grep -v "${PERL_VERSION}"); do + grep -l $file $PKGDIR/*/*/CONTENTS >>${TMPDIR}/modules.list + done + fi + done } # The meat of it - rebuilding the ebuilds @@ -104,103 +98,90 @@ done function ebuild_rebuild() { -echo "`date` : Rebuilding modules: Building list of ebuilds" -echo "`date` : Rebuilding modules: Building list of ebuilds">>$LOG -if [ -s $TMPDIR/modules.list ]; then - for line in `cat $TMPDIR/modules.list|sort -u`; do - echo "$line"|sed -e 's|.*pkg/||' | sed -e 's|/CONTENTS||'|grep -v "dev-lang/perl" >>$TMPDIR/ebuilds.preinstall - done -fi + echo "$(date) : Rebuilding modules: Building list of ebuilds" | tee -a $LOG + if [ -s ${TMPDIR}/modules.list ]; then + for line in $(sort -u ${TMPDIR}/modules.list); do + echo "$line"|sed -e 's|.*pkg/||' -e 's|/CONTENTS||'|grep -v "dev-lang/perl" >>${TMPDIR}/ebuilds.preinstall + done + fi # If they asked for interactive, let them see what will be reinstalled -if [ -s $TMPDIR/ebuild.preinstall ]; then - - if [ ! -z $ASK ]; then - echo "Press Enter to see the list of ebuilds we'll be avaluating" - read key - if [ ! -z $PAGER ]; then - $PAGER $TMPDIR/ebuilds.preinstall - else - more $TMPDIR/ebuilds.preinstall - fi - printf "Continue? (Y/N) " - read ANSWER - if [ `echo "${ANSWER}" | egrep -e "^n|N" ` ]; then - echo "`date` : USER ABORTED REBUILD">>$LOG - exit - fi - fi + if [ -s ${TMPDIR}/ebuilds.preinstall ]; then - for EBUILD in `cat $TMPDIR/ebuilds.preinstall`; do - if emerge --oneshot -p "=$EBUILD"|egrep -q ".*ebuilds.*satisfy"; then - if emerge --oneshot -p ">=$EBUILD"|egrep -q ".*ebuilds.*satisfy"; then - echo "`date` : There are no unmasked ebuilds to satisfy $EBUILD. Skipping" - echo "`date` : There are no unmasked ebuilds to satisfy $EBUILD. Skipping">>$LOG - sleep 2 - else - if [ ! -z $ASK ]; then - printf "${EBUILD} isn't available, but a new version is. Install? (Y/N) " + if [ ! -z $ASK ]; then + echo "Press Enter to see the list of ebuilds we'll be avaluating" + read key + $PAGER ${TMPDIR}/ebuilds.preinstall + printf "Continue? (Y/N) " read ANSWER - if [ `echo "${ANSWER}" | egrep -e "^y|Y" ` ]; then - echo ">=$EBUILD" >> $TMPDIR/ebuilds.ordered - echo "`date` : User chose to install >=${EBUILD}">>$LOG - fi - else - echo ">=$EBUILD" >>$TMPDIR/ebuilds.ordered + if [ $(echo "${ANSWER}" | egrep -e "^n|N" ) ]; then + echo "$(date) : USER ABORTED REBUILD">>$LOG + exit fi fi - else - echo "=$EBUILD">>$TMPDIR/ebuilds.ordered - - fi - done - - if [ -s $TMPDIR/ebuilds.ordered ]; then - if [ ! -z $ASK ]; then - echo "Press Enter to see the final list of ebuilds to install" - read key - if [ ! -z $PAGER ]; then - $PAGER $TMPDIR/ebuilds.ordered + + for EBUILD in $(cat ${TMPDIR}/ebuilds.preinstall); do + if emerge --oneshot -p "=$EBUILD"|egrep -q ".*ebuilds.*satisfy"; then + if emerge --oneshot -p ">=$EBUILD"|egrep -q ".*ebuilds.*satisfy"; then + echo "$(date) : There are no unmasked ebuilds to satisfy $EBUILD. Skipping" | tee -a $LOG + sleep 2 + else + if [ ! -z $ASK ]; then + printf "${EBUILD} isn't available, but a new version is. Install? (Y/N) " + read ANSWER + if [ $(echo "${ANSWER}" | egrep -e "^y|Y" ) ]; then + echo ">=$EBUILD" >> ${TMPDIR}/ebuilds.ordered + echo "$(date) : User chose to install >=${EBUILD}">>$LOG + fi + else + echo ">=$EBUILD" >>${TMPDIR}/ebuilds.ordered + fi + fi else - more $TMPDIR/ebuilds.ordered + echo "=$EBUILD">>${TMPDIR}/ebuilds.ordered fi - printf "Continue? (Y/N) " - read ANSWER - if [ `echo "${ANSWER}" | egrep -e "^n|N" ` ]; then - echo "`date` : USER ABORTED REBUILD">>$LOG - exit + done + + if [ -s ${TMPDIR}/ebuilds.ordered ]; then + if [ ! -z $ASK ]; then + echo "Press Enter to see the final list of ebuilds to install" + read key + $PAGER ${TMPDIR}/ebuilds.ordered + printf "Continue? (Y/N) " + read ANSWER + if [ $(echo "${ANSWER}" | egrep -e "^n|N" ) ]; then + echo "$(date) : USER ABORTED REBUILD">>$LOG + exit + fi fi - fi # Cut down to one line so portage can handle ordering these appropriately - emerge -p --oneshot `cat $TMPDIR/ebuilds.ordered` | grep ebuild | sed 's:\([^ ]\+\):=\1:g' | sed 's:.*\] \([^ ]*\) .*:\1:'>>$TMPDIR/ebuilds.reinstall + emerge -p --oneshot $(cat ${TMPDIR}/ebuilds.ordered) | grep ebuild | sed -e 's:\([^ ]\+\):=\1:g' -e 's:.*\] \([^ ]*\) .*:\1:'>>${TMPDIR}/ebuilds.reinstall - echo "Reinstalling ebuilds" - echo "`date` : Ebuilds to reinstall: ">>$LOG - cat $TMPDIR/ebuilds.reinstall>>$LOG - echo "" >>$LOG + echo "Reinstalling ebuilds" + echo "$(date) : Ebuilds to reinstall: ">>$LOG + cat ${TMPDIR}/ebuilds.reinstall>>$LOG + echo >>$LOG # Now that we have them in the right order, emerge them one at a time # This is to avoid problems if one doesn't emerge correctly - for EBUILD in `cat $TMPDIR/ebuilds.reinstall`; do - if [ ! -z $ASK ]; then - emerge --oneshot --ask "$EBUILD" + for EBUILD in $(cat ${TMPDIR}/ebuilds.reinstall); do + if [ ! -z $ASK ]; then + emerge --oneshot ${ASK} "$EBUILD" + fi + done else - emerge --oneshot "$EBUILD" + echo + echo "Nothing to reinstall!" + echo fi - done - else - echo "" - echo "Nothing to reinstall!" - echo "" - fi -else - echo "" - echo "Nothing to reinstall!" - echo "" -fi + else + echo + echo "Nothing to reinstall!" + echo + fi } @@ -209,39 +190,34 @@ fi # after our last install of libperl, which should cut out the false positives. function libperl_list() { -echo "`date` : Locating ebuilds linked against libperl" -echo "`date` : Locating ebuilds linked against libperl">>$LOG -for i in $(find $(egrep -v ^# /etc/ld.so.conf) -type f -name '*.so*' ! -newer /usr/lib/libperl.so ) \ - $(find $(echo $PATH | sed 's/:/ /g') -type f -perm +0111 ! -newer /usr/lib/libperl.so ) ; -do - if [ -f ${i} ]; then - ldd ${i} 2>&1 | grep "libperl" - >/dev/null && grep -l $i $PKGDIR/*/*/CONTENTS>>$TMPDIR/modules.list; - fi -done + echo "$(date) : Locating ebuilds linked against libperl" | tee -a $LOG + for i in $(find $(egrep -v ^# /etc/ld.so.conf) -type f -name '*.so*' ! -newer /usr/lib/libperl.so ) \ + $(find $(echo $PATH | sed 's/:/ /g') -type f -perm +0111 ! -newer /usr/lib/libperl.so ) ; + do + if [ -f ${i} ]; then + ldd ${i} 2>&1 | grep "libperl" - >/dev/null && grep -l $i $PKGDIR/*/*/CONTENTS>>${TMPDIR}/modules.list; + fi + done } # Assuming a successful module run, look to see whats left over function leftovers() { -echo "`date` : Finding left over modules" -echo "`date` : Finding left over modules">>$LOG - -echo "`date` : The following files remain. These were either installed by hand" -echo "`date` : or edited. This script cannot deal with them." -echo "" - -echo "`date` : The following files remain. These were either installed by hand">>$LOG -echo "`date` : or edited. This script cannot deal with them.">>$LOG -echo "">>$LOG - -INC=`perl -e 'foreach $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }'` -for DIR in $INC; do - if [ -d $DIR ]; then - for file in `find $DIR -type f |grep -v "${PERL_VERSION}" ` ; do - echo "`date` : ${file}">>$LOG - done - fi -done + echo "$(date) : Finding left over modules" | tee -a $LOG + + echo "$(date) : The following files remain. These were either installed by hand" | tee -a $LOG + echo "$(date) : or edited. This script cannot deal with them." | tee -a $LOG + echo | tee -a $LOG + + + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${PERL_VERSION}'/; print "$line\n" }') + for DIR in $INC; do + if [ -d $DIR ]; then + for file in $(find $DIR -type f |grep -v "${PERL_VERSION}" ) ; do + echo "$(date) : ${file}" | tee -a $LOG + done + fi + done } cleanrun |