CVE and update status of the FreeBSD ports tree3,296 unaddressed CVEs in 671 portsAll times are CET
Port details

ports-mgmt/portupgrade-devel 20180309_3,3

FreeBSD ports/packages management tool (devel version)

Port info

Maintainer
bdrewery@FreeBSD.org
Packages
latest: 20180309_3,3
Upstream
up to date
Last update
to 20180309_3,3 · 01341365d2
Quarterly
2026Q4: 20180309_3,3
Formerly
sysutils/portupgrade-devel until 2007-02-05
WWW
https://wiki.freebsd.org/portupgrade
Links
cgit · VuXML · Report wrong data

Install

Package
# pkg install portupgrade-devel
installs 20180309_3,3 from latest; from quarterly (2026Q4) 20180309_3,3
Port
# cd /usr/ports/ports-mgmt/portupgrade-devel && make install clean
# make -C /usr/ports/ports-mgmt/portupgrade-devel config  # change options first
Size
95 KiB download · 341 KiB installed
Depends on
databases/ruby-bdb 0.6.6_9, lang/ruby34 3.4.9_2,1
License
BSD3CLAUSE
Options
2 of 2 on in the package: DOCS EXAMPLES

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 1620180309_3,320180309_3,3–
FreeBSD 1520180309_3,320180309_3,3–
FreeBSD 1420180309_3,320180309_3,320180309_3,3

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 1520180309_3,320180309_3,3–
FreeBSD 1420180309_3,320180309_3,320180309_3,3

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 20180309_3,3.

Fixed (1)

Show 1 fixed
VuXML entries whose affected range the packaged version has left.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (375)

Akinori MUSHA (knu) · 20010827b
Update to 20010827b, with another minor bug fixed.

- Fix a bug where it causes an error when portsdb detects a DB_VERSION
  bump.

  Reported by: Ollivier Robert <roberto@eurocontrol.fr>

- Add a new option for portsdb(1): -f/--force, so you can force it to
  update database regardless of timestamps.
6cec7f4955
Akinori MUSHA (knu) · 20010827a
Update to 20010827a, with a couple of silly bugs fixed.

- Bump DB_VERSION, since PkgVersion was changed a bit.

Reported by:	fritz.heinrichmeyer@fernuni-hagen.de

- Add a missing argument for Dir::chdir_do().

Reported by:	"Li-lun Wang (Leland Wang)" <llwang@infor.org>
f6a53f0aca
Akinori MUSHA (knu) · 20010827_1
Fix a typo in pkgtools.rb to unbreak pkgdepfix.

Reported by:	"Li-lun Wang (Leland Wang)" <llwang@infor.org>
c71e1f41de
Akinori MUSHA (knu) · 20010827
Update to 20010827.

pkg_fetch:

- Yet another new utility, which downloads binary packages from a
  remote site.  Optionally it can also download the required packages
  recursively.

portupgrade:

- Do not regard "no package found" as an error when upgrading packages
  with -PP.

pkgdepfix, portsclean -L:

- Fix a problem where the ruby 1.6.4 release fails in error.

  Reported by:	David Wolfskill <david@catwhisker.org>

portcvsweb:

- Explicitly execute a browser via /bin/sh, as the specification says.

other stuff:

- Improve the manpage and the completion definitions.
44b1c1aa8d
Akinori MUSHA (knu) · 20010826a
Update to 20010826a.

- Fix a stupid bug in the last version when generating a pkgname as a
  string.
- Fix a stupid sorting bug in portsclean -L.

and some minor corrections that don't really matter.

Reported by:	Jimmy Olgeni <olgeni@uli.it>
ad57c46e5c
Akinori MUSHA (knu) · 20010826
Update to 20010826.

Overall:

- Support the cases where PORTREVISION == 0 and PORTEPOCH == 0.

portupgrade:

- Add a new option: -l/--log-results, which is used to save the
  results as a file. [new]

- Properly exit with a non-zero status when main() does not return a
  valid value. [fix]

portsclean:

- Finally implement portsclean -L/--libclean, which cleans the old
  shared libraries that are not recorded in the package database.  It
  moves old and orphan shared libraries to ${PREFIX}/lib/compat/pkg.
  [new]

- In concert with this feature, the portupgrade port now digs the
  directory and installs a startup script which runs `ldconfig -m
  ${PREFIX}/lib/compat/pkg'. [new]

- Implement portsclean -DD, which cleans all the distfiles which are
  not referenced from any port that is currently installed, which
  portsclean -D only cleans the distfiles which are not referenced
  from any port in the ports tree. [new]

  Note that -DD runs very fast but removes more, whereas -D runs so
  slow but removes less.

  Idea provided by:	Kris Kennaway <kris@obsecurity.org>

portsdb:

- Do not fail in the case when INDEX.db and INDEX.rbo are not in sync
  somehow. [fix]

- Implement -r/--recursive. (a bit slow, though) [new]

Completions:

- Improve and update zsh compdefs.

- Add completion definitions for bash. [new]

..and several minor improvements.  Enjoy!
3ebd3062f3
Akinori MUSHA (knu) · 20010823b
Seems there was a mirroring trouble. (probably my fault)

Just include a typo fix and call it 20010823b.
c887316e83
Akinori MUSHA (knu) · 20010823_1
- Fix a typo.

Reported by:	David M. Heller <dheller1@rochester.rr.com>

- Replace another occurrence of /usr/local with ${LOCALBASE}.

- Bump PORTREVISION.
7265c072b3
Akinori MUSHA (knu) · 20010823
Add a missing entry ("ChangeLog") to pkg-plist.

Submitted by:	Jimmy Olgeni <olgeni@uli.it>
d9659b79f5
Akinori MUSHA (knu) · 20010823
Update to 20010823.  I feel it's getting as stable as before... :)

Overall:
- Fix commands and libraries to run on a statically linked ruby.

- If a command fails to load dynamic modules with dynamically linked ruby,
  restart itself with statically linked ruby.

This is to cope with the 4.3 -> 4.4 upgrade, since ruby's dynamic modules
are under a directory with a name including a FreeBSD version.  Now
portupgrade can upgrade itself and ruby even after a major FreeBSD upgrade.

portupgrade:
- Fix a bug where portupgrade -sS 'su root -c %s' did not properly work.
  [Submitted by: KOMATSU Shinichiro <koma2@jiro.c.u-tokyo.ac.jp>]

portcvsweb:
- Accept a port path as well.

portsdb:

- Adopt better error handling and a better PORTS_DBDIR selection algorithm.

- Check database errors a bit harder.
937fd69693
Akinori MUSHA (knu) · 20010822
Update to 20010822, which fixes some annoying bugs.

Overall:

* Fix a bug where when -R is set the specified package in the first
  place is not included somehow.
  [Reported by: Jose M. Alcaide <jose@we.lc.ehu.es>]

* Improve the path regularization routines.

portsdb:

* Update the INDEX first, and then the database even if the options
  are specified in reversed order. (-uU)

portupgrade:

* Fix a misfeature where "skip" was regarded as failure, when checking
  for dependent ports' build/install failure.
  [Pointed out by: Jimmy Olgeni <olgeni@uli.it>, Jose M. Alcaide
  <jose@we.lc.ehu.es>]

* Do not move a backup package under PKG_DBDIR, but just keep it under
  TMPDIR.  It should not require a large amount of free space in
  PKG_DBDIR.
  [Pointed out by: John Merryweather Cooper <jmcoopr@webmail.bmi.net>]
bf6d6214f0
Akinori MUSHA (knu) · 20010821
Update to 20010821, with many improvements.

Overall:
	- Disregard -r and -R when -a is also specified; there is no
	  need to recurse when you do with everything.
	- Fix a bug in -r and -R routines where it might fail in error
	  if dependencies of a package were all wrong.
	  [Caught by: Mamoru Iwaki <iwaki@bsp.bc.niigata-u.ac.jp>]
	- Fix the support for the case where PORTSDIR is a symlink.
	- Squeeze //'s.
	- Run `stty sane' before building each port, on interrupt, and
	  before exit.
	- Accept portorigin_glob and pkgname_glob with paths, except
	  for -x/--exclude.

portupgrade:
	- Fix `portupgrade -Ni' (portinstall -i).
	- Skip ports and packages that once failed, and do not try to
	  upgrade multiple packages of an origin.
	- If a port or a package failed to build or install, skip its
	  dependents.  This behavior can be overridden by the new
	  option, -g/--go-on.

pkgdepfix:
	- Backup +CONTENTS files before removing duplicates.

portsclean:
	- Start implementing -L/--libclean.

misc/tcsh/complete.sample:
	- Add a simple example of tcsh completion definitions.
	  [Contributed by: kuwa@flab.fujitsu.co.jp]
3c299339fe
Akinori MUSHA (knu) · 20010820
Update to 20010820.

portupgrade:
	Fix -A and -B which were broken when I introduced -L.
	[Submitted by: Ollivier Robert <roberto@keltia.freenix.fr>]

portsdb:
	Implement -M/--master-recursive, -R/--upward-recursive and
	-x/--exclude, and sort the result in dependency order.
1d9fa666db
Akinori MUSHA (knu) · 20010819
Update to 20010819, with small improvements.

portsdb:
	Do not clobber the INDEX file until the new one is ready,
	so you don't have a zero-sized INDEX while updating it.

pkgdepfix:
	Implement an origin duplicates fixer (only invoked when -o is
	specified), and when it fixes one, redo the whole session.

        Make the cyclic dependencies fixer a bit more intelligent.

portcvsweb:
	Conform to the Secure BROWSER (SB) Specification proposed by
	David A. Wheeler.

	cf. http://www.dwheeler.com/browse/secure_browser.html
	    http://www.tuxedo.org/~esr/BROWSER/
0e40d5d606
Akinori MUSHA (knu) · 20010818b
Update to 20010818b.

- Introduce a new environment variable "PORTS_INDEX", to specify an
  alternate ports INDEX file location.  You can set this to something
  like `/usr/ports/INDEX.txt" not to overwrite the one under the
  control of CVSup/CVS/CTM.

- Fix portinstall (portupgrade -N) which I broke recently by mistake.

- Change the report format.  It shouldn't be too verbose unless you
  specify -v.
6ace020ffa
Akinori MUSHA (knu) · 20010818
Oops, the distfile was named wrong.  Bump to 20010818.

Submitted by:	many people
35eb2ad7c0
Akinori MUSHA (knu) · 20010817b
Update to 20010817b.

- Include the hotfix.
- Unbreak `portversion -t'.
cd8fb9d41a
Akinori MUSHA (knu) · 20010817_1
Fix the shebang lines of commands to specify the absolute path of ruby, instead of "/usr/bin/env ruby".

Requested by:	OOTOMO Hiroyuki <wbhacker@tky3.3web.ne.jp>
4a164369fa
Akinori MUSHA (knu) · 20010817_1
Apply a hotfix against a bug introduced in the latest version where it fails in error when one specifies -r and has an empty +REQUIRED_BY.
3f01e5bc4c
Akinori MUSHA (knu) · 20010817
Update to 20010817, with many improvements and some new features.

pkg_deinstall/pkg_glob, portupgrade:
  - Fix the glob expander to exclude not installed packages recorded
    in +CONTENTS and +REQUIRED_BY files.

pkg_deinstall/pkg_glob, portupgrade, portversion:
  - Properly handle regular expression errors.

pkg_glob:
  - Properly define a signal handler.
  - Show a better report.

portsdb: (overall)
   - Try doing make INDEX when no INDEX file is present, and if it
     fails raise an exception.

portupgrade:
  - Add a new option: -L/--log-prefix, with which a user can save a
    build & installation log file for each port/package.
  - Show a concise and helpful message for each upgrading error.  It
    now autoatically guesses the reason of each failure using the same
    algorithm that Ports Wraith's processlogs script uses.
  - Fix a bug where 'portupgrade -aE' raised an error.

portversion:
  - Support -r/-R/-x as other tools do.
  - Fix a bug where `portversion -E' raises an error.
aeb1f34225
Akinori MUSHA (knu) · 20010816b
Update to 20010816b.

Fix a trivial but annoying behavior.  Print progress messages during
(automatically) updating the ports database to stderr instead of
stdout, so the output of `portversion -c > script' won't contain any
unexpected progress messages.
8342bdd6ad
Akinori MUSHA (knu) · 20010816
Sorry.  Just repacked.  I had something I forgot to change. ;)
9309946588
Akinori MUSHA (knu) · 20010816
Update to 20010816 with some enhancements and an important change. (No bugs have been found in the previous version)

portupgrade, portversion, pkg_deinstall, pkg_glob, portsdb:

  - Add a new option -E/--regex, which allows you to use the extended
    regular expression instead of the shell glob pattern to specify
    packages or ports.

portupgrade:

  - [IMPORTANT] Turn -c/--clean and -C/--cleanup on by default.
    [Suggested by: Ian Dowse <iedowse@maths.tcd.ie>}

  - Now that -c/--clean is on by default, -Fc no longer means
    "fetch-only + do distclean before each fetch".  Instead, a new
    option -D/--distclean is added which can be used with or without
    -F/--fetch.

  - Add new options -w/--noclean and -W/--nocleanup.

  - Always do `make clean-depends' before building dependent ports.

  - Add a new option -E/--regex, which allows you to use the extended
    regular expression to specify packages.

  - Add a long option --use-packages-only for -PP.

  - Rewrite the WARNING section of the manpage and mention
  pkgdepfix(1) in it.
    [Suggested by: Ian Dowse <iedowse@maths.tcd.ie>]

pkg_glob, pkg_deinstall:

  - Add back long options.
abe0b6818c
Akinori MUSHA (knu) · 20010814
Update to 20010814, with some enhanced support for coping with cyclic dependencies.

- Fix a bug in the cyclic dependencies handler where it couldn't
  always cope with a cycle properly.
  [Problem found by: Fritz Heinrichmeyer <jfh@jfh00.fernuni-hagen.de>]
- Don't emit a confusing error message "Cannot update the ports DB!"
  on a recoverable error.
- Implement a cyclic dependencies fixer in pkgdepfix(1).

(Cyclic dependencies could never be generated if ports are made
properly..)
767ba54af5
Akinori MUSHA (knu) · 20010812
Reword more.
70c675f6dc
Akinori MUSHA (knu) · 20010812
Update to 20010812, just a minor update.

- Reword and fix documents.
- Make portsdb -U not imply -u.
60adc2eea9
Akinori MUSHA (knu) · 20010811_1
Update pkg-comment and pkg-descr.
d62ad1dfb1
Akinori MUSHA (knu) · 20010811_1
Add a hotfix to support the "MD5 (file) = IGNORE" case.
68b126ec35
Akinori MUSHA (knu) · 20010811
Update to 20010811.

portsclean:
  - Rewrite in Ruby and implement the distfiles cleaner. [new]

portsdb:
  - Show a progress message while updating INDEX.*.
  - Record version information into INDEX.rdo.
  - Record category information into INDEX.rdo and enhance the API
    accordingly.
  - Introduce the automatic PORTS_DBDIR selector.  Now it will use
    whichever writable directory in the following ones: $PORTS_DBDIR,
    $PORTS_DIR, /usr/ports, $PKG_DBDIR, /var/db/pkg, $TMPDIR, /var/tmp,
    /tmp (checked in the order named)

portcvsweb:
  - New tool: a tool to open CVSweb to view a CVS log. [new]
6bb28a13bd
Akinori MUSHA (knu) · 20010809
Update to 20010809.

pkg_deinstall:
	- Bring in most of the options of pkg_delete(1).
	- Add a new option `-P', which preserves shared libraries.
	- List failed packages if any.
	- Obsolete GNU style long options, which take space and would
	  only rarely be used.

portupgrade:
	- Make portupgrade use pkg_deinstall instead of pkg_delete, to
	  utilize its -P option.

	- Now portupgrade always uninstalls old packages, but
	  preserves shared libraries by default.  The -u option has
	  been changed to mean "Do not preserve old shared libraries".
	  Note, however, that its behavior is the same as before, it
	  is just the default behavior that has been changed.

	  With this change, portupgrade no longer leaves extra garbage
	  even if you don't specify -u, but only old versions of
	  shared libraries for safety. :)

	- Utilize $tmpdir properly for pkg_tarup. (previously
	  PKGREPOSITORY was used prior to PKG_TMPDIR or TMPDIR)

	- Add a notice regarding the disk space for backup files.

Since it's my birthday today, I just wish this update doesn't contain
terrible bugs.. ;)
cff77daeb5
Akinori MUSHA (knu) · 20010802
Update to 20010802, only a minor update.

overall:
- Fix commands not to quit when user answers ^D to a yes/no question.
- Call pkg_* commands in fullpaths.

portupgrade:
- When -s is specified, run sudo to build & install dependent ports
  when some are missing, too.

portsclean:
- This is a new command which cleans ports' working directories.
032137d53e
Akinori MUSHA (knu) · 20010730
Update to 20010730 with some enhancements.

portupgrade:
- Make portupgrade a little bit more fail-safe by restoring modified
dependency info on installation failure.

portversion:
- Make portversion refer to the ports database and run several times
faster. (!)

portsdb:
- Do not immediately fail in error when it finds an error in the INDEX
  file, but skip the line and continue.
9bcd672114
Akinori MUSHA (knu) · 20010727
Update to 20010727 with a couple of new commands added. (No changes have been made to the existing utilities)

pkg_deinstall:	This is a package deinstaller with wildcards and
		dependency recursion support.

pkg_glob:	This is a package glob expander with wildcards and
		dependency recursion support.
2ee75b5cf1
Akinori MUSHA (knu) · 20010714
Update to 20010714, a maintenance release.

2001-07-14 17:05  knu

	* misc/zsh/: _pkgdepfix, _portupgrade, _portversion: Improve zsh
	compdefs.

2001-07-14 16:40  knu

	* portupgrade.1: Fix manpage.
	[Submitted by: Sean Chittenden <sean@chittenden.org>]

2001-07-03 14:26  knu

	* pkgdepfix.1, portsdb, portsdb.1, portsdb.rb, portupgrade.1:
	Introduce a new environment variable PORTS_DBDIR, which specifies
	an alternative ports database directory.  This is useful when
	/usr/ports is on a readonly filesystem.
	[Requested by: Makoto MATSUSHITA <matusita@jp.freebsd.org>]

	Warn and abort the update if PORTS_DBDIR is not writable,
	instead of just failing in error.
62f0245b8c
Akinori MUSHA (knu) · 20010627
Update to 20010627.  Enhance the behaviors of some flags:

-B CMD
    --beforebuild CMD	Run the sapecified command before each build.  If the
			command exits in failure, the port/package will be
			skipped.  Here is some typical uses:

			portupgrade -B 'cvs update' 'gnome*'

			portupgrade -aB 'test ! `make -V IS_INTERACTIVE`'

    -x GLOB
    --exclude GLOB	Exclude packages matching the specified glob pattern.
			Exclusion is performed after recursing dependency in
			response to -r and/or -R, which means, for example,
			the following command will upgrade all the packages
			depending on XFree86 but leave XFree86 as it is:

			portupgrade -rx XFree86 XFree86
9caf58e05d
Akinori MUSHA (knu) · 20010622
Update to 20010622, a maintenance release with better diagnostic messages.
c74e098113
Akinori MUSHA (knu) · 20010617b
Whoops, 20010617 had an installation problem.
a86edf2a86
Akinori MUSHA (knu) · 20010617
Revise pkg-descr.
3eab80a70e
Akinori MUSHA (knu) · 20010617
Update to 20010617.

portupgrade:
  Add a new option: -N/--new.  If it is specified, portupgrade
  installs a new one when a specified package is not installed.

portinstall:
  New command equivalent to `portupgrade -N'.  You can specify a port
  origin to name the one you want to install, too:
    e.g. `portinstall shells/zsh'
396b2f3afd
Akinori MUSHA (knu) · 20010615
Update to 20010615.

This is a maintenance release.

  - Manpages provided.
  - Ports DB got faster.
  - Wording fixed.
  - New feature added to portsdb(1): you can use it to expand
    port/pkgname globs. (archivers/p5-*, zsh, gnome*, etc.)
a3b2597105
Akinori MUSHA (knu) · 20010611
Oops, wrong checksum.
aa878d3f24
Akinori MUSHA (knu) · 20010611
Update to 20010611, with many changes and enhancements. Beware of bugs, just in case. ;)

portupgrade:
  - Sort packages by default and remove -s/--sort.
  - Rename -y/--yield/-Y/--yield-command to -s/--sudo/-S/--sudo-command.
  - Implement -a/--all.
  - Implement -x/--exclude=GLOB.
  - Exit on OptionParser::ParseError immediately.
  - Do not call "make fetch-recursive" but just "make fetch", now that
    portupgrade does recursion itself.
  - In fetch mode, specify -DPACKAGE_BUILDING for ports that define
    IS_INTERACTIVE. [Submitted by: Jimmy Olgeni <olgeni@uli.it>]]

portversion:
  - Exit on OptionParser::ParseError immediately.

portsdb:
  - New tool: which updates INDEX and INDEX.db in the ports directory.

pkgdepfix:
  - Implement origin fixer with intelligent guessing, finally!
    (-o/--fix-origin)
  - Make pkgdep guessing more intelligent.
da51098583
Akinori MUSHA (knu) · 20010607b
Clarify that portupgrade can do upgrade by means of both the port and the package.
c2e939e56c
Akinori MUSHA (knu) · 20010607b
Change pkg_tarup to ${LOCALBASE}/sbin/pkg_tarup in RUN_DEPENDS.

Found by:	bento
b718988ce7
Akinori MUSHA (knu) · 20010607b
Update to 20010607b.

portupgrade:
  - Change the meaning of -P/--use-packages.  If specified once, it
    uses packages whenever available or uses ports.  If specified
    twice, it never try to use ports but only uses packages.

  - The package directory is now specified via the environment
    variable, by PKGREPOSITORY and PKGREPOSITORYSUBDIR.

Print the usages to stdout instead of stderr.
322fde13d1
Akinori MUSHA (knu) · 20010607
Update to 20010607.

portupgrade:
  - Implement -P/--use-packages, which everyone bugged me with. :>

pkgdepfix:
  - Add "delete" to the choices as to how to deal with a stale
    dependency.
  - Alter the prompt message.
  - Add zsh compdef.
ea9d950857
Akinori MUSHA (knu) · 20010606b
Update to 20010606b.

pkgdepfix:
  - Implement automatic guessing.
  - Add yes-to-all to the choices of yes/no prompt.
  - Do "stty sane" on interrupt.

portupgrade:
  - Backing up +REQUIRED_BY must have been done before pkg_delete.
    [Submitted by: SASAKI Katuhiro <sahiro@vanilla.freemail.ne.jp>]

Because of the portupgrade bug, portupgrade -u would have broken some
of your +REQUIRED_BY files.  Please fix them up with pkgdepfix.
d10d546f44
Akinori MUSHA (knu) · 20010606
From now on I use release dates for this port's version numbers, and this is version 20010606.

A new tool pkgdepfix is added.  It allows you to interactively fix
/var/db/pkg's @pkgdep / +REQUIRED_BY discrepancies.  Run this
periodically to let portupgrade properly trace dependencies.
3f909a39ff
Akinori MUSHA (knu) · 1.42
Update portupgrade to 1.42.

I think I have finally fixed the problem some people have seen that it
deletes a package registry in some cases!  At the same time, -m and -p
now works properly again.

Those problems were all due to Shellwords::shellwords' destroying its
given string.  Thanks to Tadayuki OKADA <tadayuki@mediaone.net> for
sending me a report that made me realize what the problem was.
551a15f1e3
Akinori MUSHA (knu) · 1.40
De-typo (s/priviledge/privilege/g) with no PORTREVISION bump.
e9a5e89b99