Download List

프로젝트 설명

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 2013-12-14 21:55
portsreinstall 3.0.5 (1 files Hide)

Release Notes

portsreinstall is a ports upgrading utility for massive forced reinstallation.
This version includes some minor improvements and bug fixes.


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.

[BUG FIX] Execution of reconf command confused the work of -G option.

[BUG 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.

[BUG 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.

[BUG FIX] The execution was terminated by error when /etc/make.conf does not exist.

[BUG FIX] The execution was terminated by error when there is no INDEX file for the current OS version is prepared.

[BUG FIX] Some meaningless warnings are suppressed.

[BUG FIX] Comments at termination during building the temporary database were inconsistent.
3.0.3 (2 August 2013)
[BUG 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.

[BUG FIX] Configuration changes in replacement were not completely reflected by redo with -L option and ended up with errors.

[BUG FIX] Deinstallation of obsolete or new leaf ports did not work in version 3.0.1.

[BUG FIX] Conflicts escape was not implemented for (re)installation by prebuilt packages.

[BUG 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.

[BUG FIX] Commands permitted for unprivileged users did not work for the users.

[BUG FIX] This manual page, comments and messages contained some wrong English words and incorrect descriptions.

[BUG FIX] Runs by unprivileged users could end up with errors in message output if /dev/stdin cannot provide information of the console size.

[BUG FIX] Meaningless warnings are suppressed.

[BUG 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.

[BUG FIX] Evaluation of glob patterns which have the form of port origin was inappropriately ambiguous.

[BUG FIX] Reinstallation processes were unintentionally terminated when the backup package creation was unsuccessful.

[BUG 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.

[BUG FIX] Meaningless warnings at the end of leaf ports are suppressed.

[BUG FIX] Inappropriate operations could have been attempted on the temporary database by non-superuser privilege.

[BUG FIX] Tarballs for ports which depend on other ports could have been lost in the step of cleaning distfiles.

[BUG FIX] Self-upgrade was carried out even for commands other than do or prepare.
2.2.2 (03 January 2013)
[BUG FIX] Commands ok add and ok del failed if no port has reinstalled in the latest do/redo process.

[BUG 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.

[BUG 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.

[BUG FIX] There was a problem in evaluating glob patterns expressing origins.

[BUG FIX] Minor inappropriate messages and actions emerged when the target and replacement of ports substitution become the same.

[BUG 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.

[BUG FIX] Restoration of backup packages after failed installation was not working correctly.

[BUG FIX] The transferring mechanism of option values to restarted run was broken.

[BUG FIX] Error end in case that no packages are installed is fixed.

[BUG 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.

[BUG FIX] Termination message is corrected (portsreinstall ok => portsreinstall ok add).

[BUG FIX] Values of BEFOREBUILD, BEFOREDEINSTALL and AFTERINSTALL were not correctly imported from pkgtools.conf(5).

[BUG 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.

[BUG FIX] Independence from portupgrade(1) was incomplete.

[BUG FIX] Error messages for show command when the temporary database does not exist are improved.

[BUG FIX] Ports with names contaning '+' were not correctly treated.

[BUG FIX] Save and load commands were broken.

[BUG 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.

[BUG FIX] Glob patterns for package/port names were not fully supported.

[BUG FIX] Values of MARG_* and MENV_* (MAKE_ARGS and MAKE_ENV in pkgtools.conf(5)) were not working.

[BUG 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.

[BUG FIX] Values of IGNORE_MOVED partially overwrote HOLD_PKGS in pkgtools.conf(5).

[BUG FIX] Typographic and grammatical errors in the main script and documents are revised.
0.13.1 (29 October 2011)
[BUG FIX] Inspection of missing ports was incomplete.

[BUG 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).

[BUG FIX] Old packages for ports whose package names was renamed were not deleted.

[BUG 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)
[BUG FIX] Fix at version 0.9.5 was incomplete.

[BUG FIX] The release date of 0.9.5 was wrong in the manpage.
0.9.5 (28 Feb 2011)
[BUG FIX] "install" target in Makefile installed non-executable files as executables.
0.9.4 (17 Jan 2011)
[BUG 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.

[BUG FIX] Recovery from distfile checksum error was broken.
0.9.1 (27 Dec 2010)
[BUG FIX] Wrong warning for -p/-P options in the first run.

[BUG FIX] Broken support of recursive chase of MOVED ports.

[BUG FIX] Option configuration menus were not accessable.

[BUG FIX] The mechanism of loading the configuration file was broken.

[BUG FIX] Optionally added taboo ports were not always effective in restart.
0.9.0 (21 Nov 2010)
First version.