OSDN Git Service

Version 3.0.5+toward_3.1.0_20140709012553
authorMamoru Sakaue / MwGhennndo <glmwghennndo@users.sourceforge.jp>
Tue, 8 Jul 2014 16:26:11 +0000 (01:26 +0900)
committerMamoru Sakaue / MwGhennndo <glmwghennndo@users.sourceforge.jp>
Tue, 8 Jul 2014 16:26:11 +0000 (01:26 +0900)
Further bug fix for the previous modification.

modified:   README
modified:   bin/portsreinstall
modified:   lib/libcommand.sh
modified:   man/portsreinstall.8

README
bin/portsreinstall
lib/libcommand.sh
man/portsreinstall.8

diff --git a/README b/README
index cb5eae6..c21c56b 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 ================================================================================
  portsreinstall - ports upgrading utility for massive forced reinstallation
-  Version 3.1.0, July 7, 2014
+  Version 3.1.0, July 9, 2014
  Copyright (C) 2010-2014 Mamoru Sakaue, MwGhennndo, All Rights Reserved.
 ================================================================================
 
index 1e1c1de..b1733f0 100755 (executable)
@@ -15,7 +15,7 @@ APPNAME=`basename "$0"`
 # MYVERSION=3.1.0
 # COMPATIBLE_VERSIONS='^(3\.1\.[0-9]+)$'
 # Template for development versions
-MYVERSION=3.0.5+toward_3.1.0_20140708112157
+MYVERSION=3.0.5+toward_3.1.0_20140709012553
 COMPATIBLE_VERSIONS='^(3\.0\.[0-9]+\+toward_3\.1\.[0-9]+_[0-9]+|3\.0\.[0-9]+\+toward_3\.0\.[0-9]+_[0-9]+|3\.1\.[0-9]+)$'
 MYPREFIX=`dirname "\`dirname \"$0\"\`" | sed 's|/bin$||'`
 MYPREFIX=${MYPREFIX:-/usr/local}
@@ -300,9 +300,28 @@ MYPORTORIGIN=`pkgsys_get_my_origin 2> /dev/null` || :
 PROGRAM_DEPENDS=''
 _program_exec_and_record_completion__operation ()
 {
+       local tmp_installed_ports tmp_installed_pkgs
        message_section_title "Collecting all installed packages"
-       pkg_info_qoa > ${DBDIR}/installed_ports
-       pkg_info_gen_pkg_origin_table
+       if [ -e "${DBDIR}/installed_ports.inspected" ]
+       then
+               if ! [ "${DBDIR}/installed_ports" -ot "${DBDIR}/initial" -a "${DBDIR}/installed_ports:pkg_vs_origin.tbl" -ot "${DBDIR}/initial" ]
+               then
+                       tmp_installed_ports=${TMPDIR}/COLLECT_ALL_INSTALLED_PACKAGES:installed_ports.tmp
+                       tmp_installed_pkgs=${TMPDIR}/COLLECT_ALL_INSTALLED_PACKAGES:installed_pkgs
+                       cp /dev/null "$tmp_installed_ports"
+                       cp /dev/null "$tmp_installed_pkgs"
+                       find "${DBDIR}/initial" -depth 2 -type d | while read dbpath
+                       do
+                               echo "$dbpath" >> $tmp_installed_ports
+                               cat "$dbpath/installed_version" >> $tmp_installed_pkgs >&2 || :
+                       done
+                       sed -E 's|.*/([^/]+/[^/]+)$|\1|' "$tmp_installed_ports" > ${DBDIR}/installed_ports
+                       paste "$tmp_installed_pkgs" "${DBDIR}/installed_ports" > ${DBDIR}/installed_ports:pkg_vs_origin.tbl
+               fi
+       else
+               pkg_info_qoa > ${DBDIR}/installed_ports
+               pkg_info_gen_pkg_origin_table
+       fi
        str_escape_regexp_filter < "${DBDIR}/installed_ports" \
                | sed 's/^/^/; s/$/$/' > ${DBDIR}/installed_ports.grep_pattern
        message_echo
index 9af02a6..e652366 100644 (file)
@@ -857,6 +857,7 @@ command_exec_before_tools_upgrade ()
        case $COMMAND_MODE in
        reset)
                message_echo "Starting to reset the temporary database by preserving the initial snapshot of installed packages..."
+               program_chk_stage_complete INSPECT_ALL_DEPENDENCIES && touch "${DBDIR}/installed_ports.inspected"
                find "${DBDIR}" -depth 1 \
                        -not \( -name saved_options.sh \
                                -or -name initial -or -name MYVERSION \
index 6822029..264ec9c 100644 (file)
@@ -912,7 +912,7 @@ Configuration file of \fBportupgrade\fR(1).
 .SH HISTORY
 \fBportsreinstall\fR has been developed as below.
 .TP
-3.1.0 (07 July 2014)
+3.1.0 (09 July 2014)
 .RS
 [BUG FIX] Command \fBprepare\fR was possibly aborted at a port any of whose requirements or dependents is obsolete.
 .PP