[IMPROVED] Command reset is now available to work with an updated ports tree by preserving information of the initially installed packages.
The manual page is updated by adding "Workaround for failed ports: update of ports tree" subsection to explain an example to utilize this improved specification.
modified: README
modified: bin/portsreinstall
modified: lib/libcommand.sh
modified: lib/libtemp.sh
modified: man/portsreinstall.8
================================================================================
portsreinstall - ports upgrading utility for massive forced reinstallation
- Version 3.1.0, July 9, 2014
+ Version 3.1.0, July 10, 2014
Copyright (C) 2010-2014 Mamoru Sakaue, MwGhennndo, All Rights Reserved.
================================================================================
# MYVERSION=3.1.0
# COMPATIBLE_VERSIONS='^(3\.1\.[0-9]+)$'
# Template for development versions
-MYVERSION=3.0.5+toward_3.1.0_20140709042438
+MYVERSION=3.0.5+toward_3.1.0_20140710050655
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}
-or -name initial -or -name MYVERSION \
-or -name backup_failure -or -name installed_ports\* \) \
-exec rm -rf {} \; 2> /dev/null || :
+ touch "${DBDIR}/MYVERSION"
case $COMMAND_OPERATION in
all)
command_exec_without_pkgtools__notify_reset_options
[ "x${DATABASE_IS_OBSOLETE}" = xyes ] || return 0
message_echo "WARNING: The Ports tree was updated after construction of the temporary database for ${APPNAME}." >&2
message_echo "You should consider executing " >&2
- message_echo " ${APPNAME} clean" >&2
+ message_echo " ${APPNAME} reset" >&2
message_echo "to reset the temporary database unless you have special purposes." >&2
}
for automatic evaluation and deinstallation of new leaf ports redefined by the new unnecessary ports.
If the registered ports are required by any non-leaf or non-unnecessary ports, this process will end up with no practical progress.
.SS Workaround for failed ports: reconfiguration of port options
-.PP
If the problems may be resolved by reconfiguration of the port options, execute
.B portsreinstall reconf
.I glob
(Recover options reset by \fB\-L\fR if any by checking with the aid of \fBportsreinstall options\fR.)
.RE
for (re)installation of the concerned port by reflecting the configuration changes.
+.SS Workaround for failed ports: update of ports tree
+If the ports are fundamentally broken, updating the ports tree may fix the problems.
+In this case, execute
+.B portsnap fetch update
+and, in case of pkgng, followed by
+.B pkg update
+and then
+.B portsreinstall reset keepopts
+to clean everything but the option settings and information of the initially installed packages.
+Then execute
+.B portsreinstall
+and see whether the problems are resolved.
.SH "ENVIRONMENT VARIABLES"
The following environment variables can be used to change the behavior of \fBportsreinstall\fR.
Some of them are the same as defined in \fBports\fR(7).
.SH HISTORY
\fBportsreinstall\fR has been developed as below.
.TP
-3.1.0 (09 July 2014)
+3.1.0 (10 July 2014)
.RS
+[IMPROVED] Command \fBreset\fR is now available to work with an updated ports tree by preserving information of the initially installed packages.
+The manual page is updated by adding "Workaround for failed ports: update of ports tree" subsection to explain an example to utilize this improved specification.
+.PP
[BUG FIX] Command \fBprepare\fR was possibly aborted at a port any of whose requirements or dependents is obsolete.
.PP
[BUG FIX] It silently failed to launch if the ports tree is missing or broken.