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>
============
1. The -x option can now be specified more than once.
2. The --list-origins option will list origins from root and leaf ports
for use in rebuilding all ports (for example after a major version upgrade).
This requires moving ports_by_category() up into the --features section
Improvements
============
1. Error checking for -f and -i now fails instead of silently unsetting -i
2. In dependency_check():
a. Switch to $origin instead of $d_port in several places to make the
messages to the user more clear and consistent
b. $origin is also better for check_interactive()
c. Move check_exclude down to after CONFLICTS check, and use $iport
if it exists. This is more consistent with how check_exclude() usually
works
3. Prefix DEPTH, PARENT_PID and EXCL environment variables with PM_
4. Tighten up multiport by saving confirmed directories into a temporary
list, then running check_exclude() and check_interactive() against
each item of the temporary list, then adding to the final list
5. Execute make in a subshell and unset some of the more unwieldy
environment variables in that shell. (Suggestions and testing by avg)
Details for -x:
===============
1. Since there may be multiple arguments for PM_EXCL, use export not $ARGS
2. Move the error checking into getopts
3. In check_exclude() go through each pattern in turn
It's based on Qt4 and it integrates with the system tray.
portrac shows a simple list of the available updates to
the installed ports on the local machine i.e. shows the
ports that have updates.
WWW: http://portrac.e-soul.org/
PR: 138780
Submitted by: Mario Pavlov <mgp@e-soul.org>
- While here, also mark MAKE_JOBS_UNSAFE (fails to build sometimes with forced jobs)
PR: 137766
Submitted by: Wei-Yu Chen <weiyu.csie+pver@gmail.com> (maintainer)