Download List

Sponsored link

Project Description

Development of FreeBSD ports management utility designed to be suitable for reinstallation of all packages afrer major version upgrade of the system or very long absence of ports upgrade.

The current implementation pursues a replacement of portupgrade and portmaster to facilitate the perfect upgrade of the whole packages in heavly customized systems by configuration compatible with portupgrade. Most of the issues in /usr/ports/UPDATING are resolved automatically. Robust restarting functionality against manual/sudden termination is also pursued for facilitating package build in busy or low-performance machines. Utilities for building packages in a chroot environment are also developed for safe upgrade.

System Requirements

System requirement is not defined

Released at 2014-12-17 05:50
portsreinstall 3.1.1 (1 files Hide)

Release Notes

portsreinstall is a ports upgrading utility for massive forced reinstallation. This version includes an improvement in automatic conflict resolution and bug fixes on broken -q option emerged in version 3.1.0 and on a problem caused by a specification change of pkg.


3.1.1 (17 December 2014)

IMPROVED The automatic resolution of installation conflict is improved to detect actual conflict not described in CONFLICTS or CONFLICTS_INSTALL (for the sake of the staging mechanism).
FIX MOVED or REPLACED ports were sometimes incorrectly detected as duplicated ports.
FIX Command pkgsanity was confused by the specification change of pkg-check(8).
FIX Option -q did not work correctly in version 3.1.0.

3.1.0 (9 August 2014)

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.
IMPROVED A countermeasure operation is implemented for a bug of pkg-1.3.4 that pkg delete -q does not work.
IMPROVED Revisions are made so that packages whose ports are replaced or moved are deinstalled before installation of the alternative ports.
IMPROVED Reinstalltion of ports-mgmt/pkg becomes smarter in systems where Pkgng is the default.
FIX Command prepare was possibly aborted at a port any of whose requirements or dependents is obsolete.
FIX It silently failed to launch if the ports tree is missing or broken.
FIX The short help lacked descriptions on need command.
FIX Some message output failed with a warning "3: Bad file descriptor" in some environment (detected in 10.0-RELEASE).
FIX The error message for specifying option -L or -N for other than redo command was wrong (-L was missing).
FIX Control sequences in output of the long help by -H option was not correctly handled in some environment (detected in 10.0-RELEASE).
FIX Reload of configuration where replacement rule is changed possibly caused errors in the phase of "Inspection of necessity".
FIX Messages about failed ports were inappropriate when failed ports were changed to unneeded.
FIX Evaluation of glob was incorrect when the pattern is regular expression containing multiple slashes.
FIX Warning messages might have arise by attempting to restore nonexistent backed-up requirements.
FIX The error message for invalid operation on reselect command was wrong.
FIX Selection of leaf packages remained after all of them changed to non-leaves.
FIX Ports with periods or underscores in their package name, port name or origin were not be treated correctly.
FIX Changes in "REPLACE_*" in ${LOCALBASE}/etc/portsreinstall.conf were not correctly reflected in recursive reinstallation of dependents. The specification of the temporary database is changed for this fix.
FIX Execution of reset command unintentionally removed temporally deinstalled leaf ports out of scope of reinstallation.
FIX A wrong option was given to pkg-info(8) in a compatible command for pkg_info -qoX.
FIX Variables "NOPKG_*" in ${LOCALBASE}/etc/portsreinstall.conf were not parsed.

3.0.5 (14 December 2013)

NEW Command of rmconf is added.
IMPROVED Automatic resolution of duplicated registrations of multiple packages for the same port origin is implemented in pkgsanity command.
CHANGED Specification changes are made so that (re)installation processes are skipped for ports any of whose requirements is missing. This results in improvement to avoid attempt of unsuccessful builds due to unsuccessful installation of requirements and a fix of the following bug regarding unintentional reinstallation of escaped packages.
FIX Execution of reconf command confused the work of -G option.
FIX Escaped packages by escape command were unintentionally reinstalled in (re)installation of their dependents.

3.0.4 (16 November 2013)

IMPROVED Support for systems in which pkgng is the default or legacy package tools are abandoned is improved.
IMPROVED Changes are made so that MAKE_JOBS_UNSAFE=yes is set in retrials of build and installation.
MISC The manual page is updated regarding -G option by reflecting the official service start of pkgng packages and abandonment of the legacy packages.
FIX Commands of forget and reconf and option -L could have caused error ends in following show failure command and the part showing the failure list at the end of execution of do and redo commands.
FIX The execution was terminated by error when /etc/make.conf does not exist.
FIX The execution was terminated by error when there is no INDEX file for the current OS version is prepared.
FIX Some meaningless warnings are suppressed.
FIX Comments at termination during building the temporary database were inconsistent.

3.0.3 (2 August 2013)

FIX Cleaning of distfiles before retrial of failed fetch was forgotten.

3.0.2 (10 July 2013)

NOTE Version 3.0.1 has a serious defect that newly installed files can be spoiled by restoration of conflicting old packages. When the current version is to executed only for limited ports (with -q, -t, -T or -O) after this previous version was used, in advance to that, it is strongly encouraged to execute

portsreinstall pkgsanity

and select "y" in the queries for spoiled packages.
NEW Commands of pkgsanity and show status are added.
IMPROVED Changes are made so as to deinstall conflicts before the first trials in build and installation.
IMPROVED Changes are made so as to prevent restoration of backed-up packages deinstalled due to matching CONFLICTS_INSTALL of installed packages.
IMPROVED Changes are made so as to retry build by deinstalling the current package and packages matching CONFLICTS_INSTALL even if not in CONFLICTS_BUILD nor CONFLICTS.
IMPROVED Command show conflict is changed to append a column of opponent ports of each conflict.
CHANGED Changes are made so that FORCE_PKG_REGISTER is disabled in the all operations. This had become obsolete and even harmful after the implementation of the automatic workaround function for conflicts.
MISC Minor changes are made on HISTORY section of the manual page in the level of coding and terminology.
FIX Configuration changes in replacement were not completely reflected by redo with -L option and ended up with errors.
FIX Deinstallation of obsolete or new leaf ports did not work in version 3.0.1.
FIX Conflicts escape was not implemented for (re)installation by prebuilt packages.
FIX The message format in enumerating port origins or so on was broken.

3.0.1 (11 June 2013)

NEW Commands escape and restore are added.
IMPROVED The behavior of -C option is changed in case of dialog4ports(1) so that the port options are unchanged and unsaved throughout the all stages from the temporary database build to (re)installation. This allows the all stages to run on script(1) and nohup(1).
IMPROVED Changes are made so that installation by packages is split into fetch and installation stages and backup/deletion of old packages are skipped if the fetch is unsuccessful.
IMPROVED Changes are made so that uninspected ports are skipped in reconf command.
IMPROVED A measure to cases of duplicated packages for the same port is implemented.
FIX Commands permitted for unprivileged users did not work for the users.
FIX This manual page, comments and messages contained some wrong English words and incorrect descriptions.
FIX Runs by unprivileged users could end up with errors in message output if /dev/stdin cannot provide information of the console size.
FIX Meaningless warnings are suppressed.
FIX Leaf ports replaced by REPLACE_* were recognized to be new leaf ports to delete even if they are targets of -O, -T or -t or in the needed list.
FIX Evaluation of glob patterns which have the form of port origin was inappropriately ambiguous.
FIX Reinstallation processes were unintentionally terminated when the backup package creation was unsuccessful.
FIX Options -O, -T and -t did not work for once-succeeded ports.

3.0.0 (01 June 2013)

NEW Options of -a, -A, -b, -B, -C, -D, -g, -G, -i, -I, -l, -L, -M, -n, -o, -O, -X and -Y are added (-X is redefined as a different function).
NEW Long options are supported.
NEW Commands need, noneed, reset, forget, reselect, glob, reconf, options, show need, show noneed, show restored and show conflict are added.
NEW (Re)installation by prebuilt packages for ports with default configurations is implemented.
NEW Controlling the dependency scope for show command becomes available.
NEW Commands of do, prepare and redo are rearranged with do and redo with an optional mode either of prepare or all so that the default and synonyms are compatible with the earlier versions.
CHANGED The function of show redo is replaced with that of former show pending, and show pending is abandoned in exchange.
CHANGED Deinstallation of obsolete packages becomes selectable by run-time dialog.
CHANGED Deinstallation and ignorance of leaf ports becomes available via selection by run-time dialog.
CHANGED The directory for saving packages of obsolete or removed leaf ports are changed to $PACKAGES/All whose default is /usr/ports/packages/All.
CHANGED The deinstallation process for unused packages which have been done before reinstallation is changed to be done after it.
CHANGED Compact forms of options is made to be accepted, e.g., -b -t -o as -bto.
CHANGED The behaviors of -q, -t and -T options are changed to ignore build-time-only dependencies. The former function is reproduced with -b option. The document for -t and -T options are revised so as to correct wrong descriptions that they could newly install the specified ports.
CHANGED Syntax of -t and -T options are changed so as to give all port globs by a single argument value as concatenation with colons as delimiters. Along this change, -r and -R options are abandoned.
CHANGED Old options of -x and -X are abandoned due to duplication with taboo add command.
CHANGED Rules for transferring option settings to restarted runs are changed so as to let the all options renewable.
CHANGED The evaluation algorithm of glob patterns is improved and changed to be fully original.
CHANGED The long help is unified with this manual page.
IMPROVED A change is made so as to carry out upgrade of ports-mgmt/pkg in advanced to everything in case of pkgng and as to ignore dependencies on ports-mgmt/pkg.
IMPROVED The treatment of backup packages is modified to be safer by considering possible format fluctuation in case of pkgng.
IMPROVED Automatic solution to conflicts in (re)installation is implemented.
MISC Line feeds of the help and information messages are improved.
FIX Meaningless warnings at the end of leaf ports are suppressed.
FIX Inappropriate operations could have been attempted on the temporary database by non-superuser privilege.
FIX Tarballs for ports which depend on other ports could have been lost in the step of cleaning distfiles.
FIX Self-upgrade was carried out even for commands other than do or prepare.

2.2.2 (03 January 2013)

FIX Commands ok add and ok del failed if no port has reinstalled in the latest do/redo process.
FIX Makefile was problematic if ${LOCALBASE}/etc/portsreinstall.conf does not exist before installation.

2.2.1 (25 December 2012)

CHANGED Command show todo_next is renamed to show pending.
IMPROVED Changes are made so as to avoid retrying for dependents of failed ports when no problem has resolved.
FIX Removed a remained debugging code in the action for save command.

2.2.0 (17 December 2012)

NEW Command of show todo_next is added.
CHANGED Changes are made so as to skip wasteful reinstallation where the target port is already reinstalled once (with -q option, when its version is up-to-date) and no change has been made for either of its requirements afterwards.
CHANGED The default settings in portsreinstall.conf was changed so as to include a HOLD pattern for bsdpan.
FIX There was a problem in evaluating glob patterns expressing origins.
FIX Minor inappropriate messages and actions emerged when the target and replacement of ports substitution become the same.
FIX The help messages and this manual page lacked the descriptions about show redo command.

2.1.0 (10 December 2012)

NEW New generation package (pkgng) is supported.
IMPROVED A countermeasure for a build failure in a restarted build from a terminated build is implemented.
FIX Restoration of backup packages after failed installation was not working correctly.
FIX The transferring mechanism of option values to restarted run was broken.
FIX Error end in case that no packages are installed is fixed.
FIX A glob evaluation routine used when ports_glob(1) is not installed was broken.

2.0.0 (12 August 2012)

NEW Options -X, -r and -R are added so as to compensate a fact that -x, -t and -T cannot specify package names with commas.
NEW Commands of show requirements and show dependents are added.
NEW A functionality of self-upgrade is added so as to be carried out first if the port of portsreinstall is new.
NEW Option -k is added for cases that upgrade of portsreinstall should be avoided.
IMPROVED Messages are extended to output configuration parameter values.
CHANGED Functionalities of options -t and -T are changed so as to prevent deinstallation of irrelevant packages and detect obsolete installed dependencies.
CHANGED Use of commas as delimiters in ok and taboo commands is abolished.
CHANGED The specification of show command is changed to exclude irrelevant packages/ports and output messages about the matching targets when options -r, -R, -t and -T are enabled.
CHANGED The default behavior in case that the temporary database is older than the ports tree is changed from warnings to automatic reconstruction; the old behavior is recovered by option -c.
FIX Termination message is corrected (portsreinstall ok => portsreinstall ok add).
FIX Values of BEFOREBUILD, BEFOREDEINSTALL and AFTERINSTALL were not correctly imported from pkgtools.conf(5).
FIX The file name given by save command was with a wrong time stamp.

1.1.0 (28 April 2012)

NEW Command of show deleted is newly added.
CHANGED Origin names in messages and results of show command are changed to be accompanied with package names.
CHANGED The default option for treating pkgtools.conf(5) is changed to -p and -Q is newly added.
IMPROVED Custom make environment variables and arguments are changed to be reflected in the stage of inspection of dependencies.
IMPROVED Command of show todo is now available before starting reinstallation.
FIX Independence from portupgrade(1) was incomplete.
FIX Error messages for show command when the temporary database does not exist are improved.
FIX Ports with names contaning '+' were not correctly treated.
FIX Save and load commands were broken.
FIX Deletion of MOVED-back packages is now prevented.

1.0.0 (14 March 2012)

MISC Explanations for -p and -P are revised because the previous ones were somewhat confusing.
MISC The output device of helps is changed from stderr to stdout.
MISC Messages for termination during deinstallation and reinstallation are improved by showing the target port/package names at that time.
FIX Glob patterns for package/port names were not fully supported.
FIX Values of MARG_* and MENV_* (MAKE_ARGS and MAKE_ENV in pkgtools.conf(5)) were not working.
FIX Globs of obsolete packages were not detected, so especially HOLD_PKGS and IGNORE_MOVED in pkgtools.conf(5) and portsreinstall.conf had lost their functionalities.
FIX Values of IGNORE_MOVED partially overwrote HOLD_PKGS in pkgtools.conf(5).
FIX Typographic and grammatical errors in the main script and documents are revised.

0.13.1 (29 October 2011)

FIX Inspection of missing ports was incomplete.
FIX Origin names with '+' were not correctly treated.
IMPROVED Inspection of dependencies of installed packages gets faster.

0.13.0 (28 August 2011)

IMPROVED Phase of "Order the ports considering dependencies" is accelerated.

0.12.0 (22 June 2011)

NEW -q, -d and -N options are added.
CHANGED Settings for -x and -s options becomes to be transferred to restarted runs.

0.11.0 (17 May 2011)

NEW Causes of errors are added to the report of failed ports.
CHANGED Functionality of -t option is changed and partly splitted into -T.
IMPROVED Refetch after fetch failure becomes smarter so as not to clean up distfiles.
MISC Terminology 'abort' is corrected to be 'terminate'.

0.10.0 (11 Mar 2011)

NEW Version check for temporary database and portupgrade is added (as a template).
FIX Old packages for ports whose package names was renamed were not deleted.
FIX Duplicated cleans were executed after successful installation.

0.9.8 (02 Mar 2011)

MISC Installation methods of non-executable files in Makefile are improved again.

0.9.7 (02 Mar 2011)

MISC Installation methods of non-executable files in Makefile are improved.

0.9.6 (01 Mar 2011)

FIX Fix at version 0.9.5 was incomplete.
FIX The release date of 0.9.5 was wrong in the manpage.

0.9.5 (28 Feb 2011)

FIX "install" target in Makefile installed non-executable files as executables.

0.9.4 (17 Jan 2011)

FIX "all" target in Makefile was missing.

0.9.3 (16 Jan 2011)

MISC Makefile is modified to compress manpage in the build process.

0.9.2 (10 Jan 2011)

MISC The 2-Clause BSD License is applied from this version.
NEW Manpage is created.
NEW Makefile for installation/uninstallation is added.
FIX Recovery from distfile checksum error was broken.

0.9.1 (27 Dec 2010)

FIX Wrong warning for -p/-P options in the first run.
FIX Broken support of recursive chase of MOVED ports.
FIX Option configuration menus were not accessable.
FIX The mechanism of loading the configuration file was broken.
FIX Optionally added taboo ports were not always effective in restart.

0.9.0 (21 Nov 2010)

First version.