While here, turn on the conditional inclusion of bsd.perl.mk. I have
had this in my own tree for some time, and sometimes check it in and
sometimes don't. This settles it.
New Features:
=============
1. When running through the config phase a list of things to be installed
and/or upgraded will be generated. This list will then be presented to
the user for confirmation before proceeding.
2. Add a --no-confirm option to suppress this new feature.
3. When using portmaster in an X terminal window that supports updating
the title you will now see a status update for what port is being
built, and as appropriate what dependency of that port and an (N/M)
counter. Thanks to ehaupt for the push on this, as well as some testing
and sample code.
4. Make the "yes or no" prompts (hopefully) more clear by adding "y/n"
to the text of the message, e.g., "===>>> Do you want to live? y/n [y] "
Feature expansion:
==================
Do a more thorough job of tracking things that should fall into the
--packages-build/--delete-build-only category. I.e., if something is
a run dependency of a port or ports that themselves are only build
dependencies, add it to the build_only_dl_g anyway.
New internals:
=============
1. Add a uniquify_list function so that internal lists of variables
can be made unique. Start using it for some of the new stuff, and
in clean_build_only_list().
2. Add a pm_cd_pd() which will cd into the port directory or error out
with an appropriate message.
3. Start using pm_cd_pd() where appropriate, including in a couple of
new places where we have to go back to the port directory after cd'ing
around elsewhere due to the new update_build_l().
4. Make some other cd/pm_cd invocations consistent
Cleanups:
=========
1. Instead of saving some of the new variables unconditionally in
safe_exit() move the things that are only done in the config phase
to that section, and move build_deps_il to the !config section.
2. Since $new_port may be set as a side effect of the new "Terminal
title" feature, conditionalize it for the "main" process.
3. Remove the old RCS Id stuff since I'm not using it
Bug fix:
========
In safe_exit() when doing multiports and we interrupt the process
the attempt to print the INSTALLED_LIST was not successful. So move
all of the related code into a test for INSTALLED_LIST's existence,
and just print the whole list (even if it has only one item) in both
the -a (as it was already) and multiport cases.
Changes:
Fixes from upstream:
- Remove X11BASE support it is now obsolete. (already in ports-mgmt/tinderbox)
- Expand the glob to check for Perl so that it actually
captures lang/perl5.10. (already in ports-mgmt/tinderbox)
- Restore some of the leftover exceptions but use LOCALBASE instead of X11BASE.
- Expand the MySQL glob to match on MySQL 5.4 and 5.5.
- Adjust the SQL query to remove all entries from a BuildPortsQueue. This
makes things more compatible.
Two Experimental patches from Tim Bishop and beat@.
- Tim has added support for multiple tinderd instances at the same
time.
The parallel patch allows to run multiple tinderd instances at the
same time. You can enable multiple tinderd instances via /etc/rc.conf
with tinderd_instances="X"
- beat@ as added support for tmpfs to enable the usage of FreeBSD's
tmpfs implementation.
Both patches are experimental and are not official supported by the Tinderbox
distribution.
Reviewed by: itetcu, beat (thx!)
Approved by: itetcu (maintainer implicit)
Obtained from: tinderbox cvs (snapshot)
1. Versions of pkg_add in FreeBSD older than 6.4-RELEASE will not have
the proper options available, so warn the user if they try to use
package-related code.[1]
2. Highlight some different features
Reported by: Miroslav Lachman <000.fbsd@quip.cz>[1]
====================
1. We only want to set PM_BUILD_ONLY_LIST=pm_bol in the command line
parser if we are the parent port. Otherwise proper build dep detection
will not occur.
2. Versions of pkg_add in FreeBSD older than 6.4-RELEASE will not have
the proper options available, so warn the user if they try to use
package-related code.[1]
Reported by: Miroslav Lachman <000.fbsd@quip.cz>[1]
PR: ports/136065 ports/127469
Submitted by: N.J. Mann <njm@njm.me.uk> and Aldis Berjoza <killasmurf86@gmail.com>
- Early identify port CONFLICTS
PR: 137855
Submitted by: Piotr Smyrak <smyru@heron.pl>
- Add --no-same-permissions to the EXTRACT_AFTER_ARGS command.
Tijl Coosemans has been reported an issue that when root is extracting from the
tarball, and the tarball contains world writable files
(sysutils/policykit as an example), there is a chance that the files
gets changed by malicious third parties right after the extraction,
which makes it possible to inject code into the package thus compromise
the system.
Submitted by: Tijl Coosemans <tijl@coosemans.org> Xin LI (delphij@)
- Fix some whitespaces
Tested with: exp-run
e-mail addresses from the pkg-descr file that could reasonably
be mistaken for maintainer contact information in order to avoid
confusion on the part of users looking for support. As a pleasant
side effect this also avoids confusion and/or frustration for people
who are no longer maintaining those ports.
* Add support for whitelisting certain MASTER_SITES which make up a "cloud"
of sites. [1]
* Escape a '.' in a regular expression to prevent matching strings like
"about" with the regular expression "a.out". [2]
* Try to detect when the value of CONFIGURE_TARGET is used directly in a
plist. [3]
PR: 140048 [1]
141460 [2]
Submitted by: skreuzer [1]
gahr [2]
Suggested by: brooks [3]
Feature Update
==============
1. Further update the --packages-build and --delete-build-only options
to work with -a:
a. Create a new function clean_build_only_list() from code that
was already in dependency_check() and use it both there and at
the end of the config mode in -a.
b. Properly initialize the variables related to these two features
in the same spot as all the other global vars are initialized rather
than doing it in different locations.
Major Cleanups
==============
1. 9-CURRENT has its own package repo now, hurray!
2. Instead of having a pca() to describe the post-config action
collect the stuff that always runs after config is done into a
function, and use the pca() logic to determine what to print. This
also restores the whitespace to consistency between the modes
(one port, multiport, -a).
3. Instead of fetching the directory listing for each port category
(devel, ports-mgmt, etc.) every time we need to check a port, fetch
it once and save it to a temporary file. This lets us do several
cool things:
a. Save a lot of time not having to re-fetch each iteration
b. Run the sed code to fix %2c -> , up front
c. Add a sed pattern to fix %2b -> +
d. Run a variety of different patterns to try and find the
latest_pv
4. We only want to run the logic tree on whether $latest_pv is up to
date or not if that variable has a value, so add appropriate tests.
Minor Cleanups
==============
1. Make it easier to include the --packages-build and --delete-build-only
options in a portmaster rc file by setting the PM_BUILD_ONLY_LIST variable
(which is used by both options) in the script if either of the two
options is detected.
2. More robust error-handling for package directory creation in
pm_pkg_create().
3. Move the error message for "no package in -PP mode" to a variable
for both reuse and code readability.
Bug Fixes
=========
1. Not finding a package (or even a package repo) should only fail()
if we are using -PP, not if we're just using -P.
=========
1. In the test for -PP being alone on the command line I forgot the
-dash at the beginning of the second test so it was falsely picking
up ports with names like p5-Devel-PPPort.
2. If you are building more than one port on the command line, and you
use --packages-build and/or --delete-build-only, and one of the ports
on the command line would otherwise qualfiy as a build-only dep, it was
falsely being treated as such. Solve this problem by adding all ports
on the command line to the run_dl_g list in multiport().
3. With the new parser if you use -v with --check-port-dbdir it's going
to be $1, not $2.
4. Don't unset the packages_init function till we're actually done using it
5. If you are using -g plus one of the --packages* options then creation
of the new package will fail since there is nothing for 'make package'
to work with. So change backup_package() to a more generic form called
pm_pkg_create and use that for both making backup packages and making
a new local package from an installed package.
6. In order to facilitate 5, update the dependency information in an
installed package's +CONTENTS file before creating the new package.
Minor Tweaks
============
1. Include the [-v] in the detailed usage() for --check-port-dbdir too
2. Make the output of --version more clear to everyone who isn't me :)
3. If DISTDIR is its own zfs filesystem then the code to delete empty
DIST_SUBDIRs can cause problems, so special case it in its own function.
4. Remove some white space
2. In the procedure for using portmaster to re-install after a major
version upgrade, list "re-install portmaster" as an actual step. [1]
Submitted by: Kevin Oberman <oberman@es.net> [1]
1. Document the new package-related features for version 2.13
2. Remove the requirement that --options be first on the command line
3. Deprecate the -p option
4. Improve the prose in a few sections, mostly removing commas and
simplifying sentences.
5. Small markup tweaks
6. Clearly indicate that +IGNOREME files only work on installed ports
7. Document that -x will work on the origin directory if there is
no installed version.
8. In the example .portmasterrc file the verbose variable needed a value
This is svn version r200206.
New Features
============
1. Support for the following new options:
a. --packages|-P and --packages-only|-PP
b. --packages-build
c. --packages-if-newer
d. --delete-build-only
e. --always-fetch
f. --local-packagedir
In addition to the new code this also involved making some existing
messages more generic, and customizing some others to be aware of
whether packages are in use or not.
2. New command line parser allows placement of --long-options
anywhere in the command line
Minor Tweaks and Fixes
======================
1. Make fail() less finicky about how the message is input
2. Start the process of deprecating -p since it isn't useful
any longer
3. Fix parsing of PKG_DBDIR so that we don't depend on it having
exactly 3 components. This also saves 2 external calls to cut.
4. For the --clean-distfiles[-all] options sort the list before
printing to make it easier to see when files are related.
5. Instead of repeating the tests on when to run read_distinfos()
do them once in the initialization phase then rely on whether or
not DI_FILES is set.
6. Improve some messages to make their meaning more clear
Excellent beta testing and feedback by: Christer Solskogen
Major funding for the package code, including the --packages-build
and --packages-if-newer options was provided by Modirum MDpay.
Additional funding provided by (in no particular order):
Jan Hornyak
Christer Solskogen
R Koole
Michael Proto
Bard Skaflestad
Paul Lambert
Societe ToDoo
Andrew Belashov
Yoriyuki Sakai
Flemming Jacobsen
Julian Stecklina
Douglas Berry
Beat Gatzi
Christopher Dawkins
Mark Boolootian
Soeren Schroeder
Christoph Sold
More information on sponsorship is available at:
http://dougbarton.us/portmaster-proposal.html
My deepest appreciation to the FreeBSD community for the outpouring
of support that allowed me to complete this portion of the project.
The Tinderbox team is proud to announce the release of Tinderbox 3.3.
This release brings numerous bug fixes and some feature enhancements.
The changes include:
**HEADS UP** A static data change is included this release, so be sure
to run ``tc Upgrade''.
* A new unified logging system has been added so that all log files can
be centralized in one location. See the README for more details on
enabling this feature.
* A collection of user-contributed Hooks has been added. So far only
two Hooks are included. See the contrib/hooks subdirectory for more
details. Also, feel free to submit your Hook ideas.
* The /proc directory is now ignored when checking for leftovers. This
fixes some false-positives when running multiple builds in parallel.
* MySQL 6.0 is now supported.
... A full changelog is available here:
http://marcuscom.com/pipermail/tinderbox-list/2009-November/001769.html
Approved by: itetcu (maintainer implicit)
option being off would result in tc.bak being installed.
- Move the deletion out of the conditional and remove (now) redundant RM
commands.
Approved by: itetcu (maintainer)
Feature safe: yes
Add OPTIONS to install programmable completion files for Bash and zsh.
The Bash file is mine, the zsh file and installation suggestions are
from the PR. Additional testing for the zsh completions from garga.
PR: ports/127319
Submitted by: Shota Iwazaki <iwazaki8@yahoo.co.jp>