o Added new output option: `rawfiles' to request outputting only matched
pfiles one by line
o Changed -b option to be the same as -f '(^|/)file$' instead of -f '/file$'
o Added new option -L to mimic -p path -f '.*' -o rawfiles i.e. show all
pfiles for (usually) one port. Inspired by pkg_info -L pkgname
o Ignore case by default and add -S option to force case sensitivity
* Remove my name from pkg-descr
* Raise an error when MOVED file has a wrong format instead of a weird
ruby error. (Reported by kris@FreeBSD.org).
* Fix a bug when -P always treated as -PP.
* Change PORT_UPGRADE environment variable with UPGRADE_PORT (contains
a package name for updating port) and UPGRADE_TOOL=portupgrade.
Discussed with skv@FreeBSD.org and DougB@FreeBSD.org.
* Respect INDEXDIR after fetching INDEX (Andrew Pantyukhin <sat@FreeBSD.org>)
* Add --batch opition.
* Add --without-env-upgrade option.
* Remove -DPACKAGE_BUILDING (it was in fetch-only mode) because it's only
for build cluster, not users. (Pointed out by kris@FreeBSD.org)
* Add detection of stale lock files. They can stay if one of tools suddenly
terminated.
* Improve pkgdb -F - respect OPTIONS and pkgtools.conf settings.
It is compatible with portupgrade and can be used as
an alternative to portupgrade and portmaster.
WWW: http://portutil.sourceforge.jp
Securedog <securedog@users.sourceforge.jp>
PR: ports/104971
Submitted by: Securedog <securedog at users.sourceforge.jp>
=============
1. You can now specify multiple ports to upgrade on the command line,
such as 'portmaster foo-1.23 bar-4.56 baz-7.98'. [1] Pass -n argument
to child processes (as needed) to handle this case.
2. Handle an alternate port that can satisfy a build requirement by
reading the CONFLICTS for the "standard" port, and seeing if we have
one of those installed. [1]
3. Unless the user specifies the new -B option, always build a backup
package when updating an existing port. Unless the user has specified
the -b option, delete the package on successful installation of the
new port, or print a helpful message telling the user where they can
find the package if install fails.
4. Don't only test a port for IGNORE, also test FORBIDDEN and BROKEN
to avoid doing a lot of work on dependencies for a port that we aren't
going to install.
Big Improvements:
=================
1. Significantly enhance the -r option by tracking what ports should
be rebuilt as a result of it, and rebuilding them "in line" if they
are dependencies of other ports that should also be rebuilt. Thus,
make sure that these ports get rebuilt once, and only once. Also,
don't rely on just the installed port's +REQUIRED_BY file to get the
list of dependencies, since it may be out of date. Search the pkg tree
for that port's DEPORIGIN to make sure that we get them all.
2. Track answers to ports that have +IGNOREME files, so the user is
not asked twice.
3. Rather than use all-depends-list to handle dependencies, use a
combination of build-depends and run-depends. This seems to get
everything we actually need, without sucking in a lot of stuff we don't.
4. Stop abusing the config_only mode, and make a clear separation
between first run (if any) and build run that does not depend on it.
This makes -G mode work as intended, with no bad side effects. [1]
Small Improvements:
===================
1. Add PREFIX/sbin to the PATH [1]
2. Cache "no" answers when using -i ("yes" was already cached).
3. If pkg_version thinks that two versions are the same even though
they have different pkg names, don't warn the user.
4. Clean up package code a little.
5. Twiddle the "waiting on" message for fetch & checksum.
6. If a user has a stale +REQUIRED_BY file in a pkg directory, print a
helpful message that suggests how to fix it. [2]
7. Don't tell a user about a -r port to rebuild if we're not going to
rebuild it for whatever reason.
Bug Fixes:
==========
1. Clean up trailing white space.
2. If the pkg data is corrupt, a search for installed port by ORIGIN
could return more than one answer. So, use only the first answer.
3. In dependency_check(), if a port has moved, check the new location
to see if it needs updating.
4. If there are no valid ports to build based on the command line
args, don't try to build /usr/ports/ [3]
[1] Suggested, debugged, and generally helped greatly by mezz
[2] Wondered about by yar
[3] Reminded by Bill Blue
- make sure we don't overwrite user's configuration file in case of [1]
upgrade;
- bump PORTREVISION.
PR: 103858 [1]
Submitted by: Sulev-Madis Silber <madis555 at hot.ee> (maintainer) [1]
structure (i.e. include/SDL for includes and sdl-config for configuration
binary)
- Update graphics/sdl_ttf to version 2.0.8
- Update graphics/sdl_image to version 1.2.5
- Update audio/sdl_mixer to version 1.2.7
- Update net/sdl_net to version 1.2.6
- Update Mk/bsd.sdl.mk accordingly
- Fix dependent ports to fit the new directory structure and avoid several
API breakages
- Bump up portrevisions for all dependent ports to allow them to be upgraded
by portupgrade/portmaster etc tools
Approved by: kris (portmgr), sem (mentor)
from RUN_DEPENDS and add files/patch-setup.sh to patch the distribution [1]
- allow creation of a Build that is a substring of an existing one
( files/patch-create) [2]
- bump PORTREVISION
Submitted by: oliver [1], bsam and marcus [2]
Requested by: marcus [1]
IGNORE= "foo now contained in the base system"
into
IGNORE= "is now contained in the base system"
since the code which prints this string prefices it with the package
name.
Suggested by: kris
- Addition of -W option and minor bug fixed where whitespace at begin/end of
portglob argument was not properly rejected.
PR: ports/102695
Submitted by: maintainer (Martin Kammerhofer)
===========
If a port is marked IGNORE, don't do all the dependency/checksum work,
instead bomb out with a helpful message
Minor Fixes
===========
1. Add some whitespace to make the "dependency check complete" message
stand out better
2. Tell the user when we start pkg_delete in -s mode, just like in -e
Bug Fixes
=========
1. Export MAKE_ARGS so that the child checksum processes can see them
2. Move the "just in case" cd back to $portdir up one line so it's
before 'make clean', just in case
Use bash rather than /bin/sh to add -I option (case insensitive globbing).
PR: ports/102020
Submitted by: Martin Kammerhofer <dada at pluto.tugraz.at>
Approved by: Martin Kammerhofer <mkamm at gmx.net> (maintainer)
============
1. -e mode to expunge a port via pkg_delete, and optionally
remove its distfiles
2. -s and -e modes now respect -b (backup) and -d|D options
regarding always deleting (or not deleting) distfiles
General
=======
1. Re-factor more code out into functions, and move them earlier in the
script so that they are available to the new features.
2. Clean up the code in a few places to make it slightly more efficient,
and a lot more readable.
Bug Fixes
=========
1. Fix exit status of various code paths to be more in keeping
with Unix tradition [1]
2. Be a lot more thorough about killing off errant children when
the user hits ^C [1]
3. If the directory referred to by PKGREPOSITORY exists, use it
to store packages built for -b and -g instead of HOME [2]
My thanks to both Darren and James for their patience and testing
of several development versions to nail down bugs 2 and 3.
Brought to my attention by: Darren Pilgrim <darren.pilgrim@bitfreak.org> [1]
Brought to my attention by: James O'Gorman <james@netinertia.co.uk> [2]
============
1. -L mode to list all installed ports, and search for updates.
2. Trap SIGINT, and use the opportunity to reap all the child processes
we can find.
3. Warn the user during config mode if a port sets IS_INTERACTIVE
4. Support +IGNOREME files in /var/db/pkg/<portname>, ala portupgrade
5. Store the results of the user's choices for -i during config, so they
don't have to enter it again during build
6. When deleting stale distfiles, recurse through successively shorter
versions of file-name-* till we find something to delete, or run out
of dashes. This means a lot fewer false positives, although the
algorithm is still aggressive.
Performance Optimizations
=========================
1. Skip dependency check prior to build if the 'make config' recursion
does not find any ports that need updating.
2. Cache the dependency list for the parent port.
3. -s mode is now recursive, so if a removed port has dependencies,
they are checked too. Remember what ports the user does not want to
delete so they don't have to keep saying "no."
4. Much better support for failed downloads in the background, and the
'make checksum' process is only run once for each port.
5. Switch to using variables and case rather then grep to maintain state
for current dependencies, answers for -i, etc.
6. Re-order some tests to micro-optimize do_update, etc.
7. Handle regular files in /var/db/pkg more efficiently
8. Track the pid of the parent process, and use that to manage state
more efficiently. Also makes for more readable code.
9. Don't clean dependencies, since we don't recurse through them using
the ports tree, we'll let each portmaster process handle it.
10. Cache information about dependencies that are already up to date
to avoid having to do this check when not necessary. This dramatically
improves performance for building/updating large ports (especially
meta-ports like gnome or kde) with a lot of dependencies.
Bug Fixes
=========
1. Add -f to pkg_delete in -s case
2. Reverse the "is required by" statements to make more sense for -r
3. Add PATCHFILES to the list of distfiles to delete when looking for
stale distfiles
4. Minor cleanups, and better code consistency
5. usage() already exits, so clean up h) getopt
6. Add a catchall getopt so user will get usage() for an invalid option
7. Update some messages to make them more meaningful and simplify code
8. Fix specifying second option to -o in <category/portname> format
9. Properly handle the case where the second argument to -o is a port
that is already installed
10. Don't mention the 'make config' step if -G
Security Enhancement
====================
1. Be more careful to only delete temp files if they haven't already been
deleted or moved
* Add a check for direct use of sysctl(8). [1]
* Add a check for use of the deprecated macro INSTALLS_SHLIB, and point people
to USE_LDCONFIG instead. [2]
* Add a check for plists with less than 6 items, and point people to
PLIST_FILES instead. [3]
PR: 100472 [1]
91933 [2]
100190 [3]
Submitted by: Babak Farrokhi <babak@farrokhi.net> [1]
This commit should largele be a NOOP as it only adds support
for DESTDIR undefined. This does allow us to start testing
ports with DESTDIR set, but this is as of yet not supported.
Although this has been extensively tested on pointyhat, this
is a very intrusive change and some cases may have been
overlooked. Please contact Gabor and me if you find any.
PR: 100555
Submitted by: gabor
Sponsored by: Google Summer of Code 2006