New Features
============
1. Add an option to log actions after the run is complete. To enable
it define PM_LOG in your rc file as the path of the file you want
to log to. If using PM_SU_CMD make sure that the directory or file
is writable by the unprivileged user.
2. Add the --clean-packages[-all] feature
This works similarly to --clean-distfiles[-all] in that it searches
the $PACKAGES directory for out of date packages, and either offers
to delete them, or with -all deletes them without prompting. It
also cleans out stale symlinks and empty directories.
This necessitates moving init_packages_var() and parse_index() so
they can be used by the new feature.
The idea for grabbing the ORIGIN from the package's +CONTENTS file
and checking to see if it is up to date came from:
Alexey Markov <a.markov@complitex.ru>
3. Add an option to --clean-distfiles[-all] to allow a distfile to be
valid if it matches ANY port in the tree, not just those installed.
This requires building a distinfo list from all ports, so duplicate
the relevant bits of read_distinfos() into read_distinfos_all(). The
common elements are split into during the loop and after the loop, so
making 4 functions total doesn't seem worth it.
Add logic to --clean-distfiles to handle the -t option and call the
right read_distinfos* function accordingly.
4. Add the ability to ignore failed backup package creation by setting
PM_IGNORE_FAILED_BACKUP_PACKAGE in the environment (rc file, etc.)
5. Add the ability to skip the rebuild of the -r port by adding -R
Cleanups and Tweaks
===================
1. Finalize the deprecations of /etc/portmaster.rc, -u and -p
2. If --local-packagedir and ${LOCAL_PACKAGEDIR}/All/${new_port}.tbz
exists just use it, don't bother dereferencing $LATEST_LINK. This
is faster, but it also solves the problem of (for example)
packages/Latest/perl links to perl-5.10.x, even with 5.12.x
installed and the 5.12.x package in packages/All
3. Change the behavior of the -G option.
In the original version of portmaster the concept of 2 distinct
passes through the dependency tree, the first to do all the
'make config's and the second to build everything was intrinsic to
the design. When released publicly there were a non-trivial number
of users who objected to the idea of 'make config' being mandatory,
so I added the -G option to disable the whole first pass. However
as time went on, more and more features were added that depended on
the first pass, so it was necessary to rethink how -G works.
In this version, the 2-pass design is now universal, and the only
thing -G does is suppress the actual OPTIONS dialog. This has
several benefits:
a. Now all features are available to -G users
b. The new method of suppressing the OPTIONS dialog is 100%
effective (thus it's no longer necessary to use BATCH to truly
suppress them)
c. The --force-config option now overrides -G so users who really
hate OPTIONS can have -G in their rc file, but still have it
available by using --force-config on the command line
Lots of variables, functions, and text have been modified to
substitute out references to "config" in favor of "first pass"
4. Use nice for the make commands that actually build stuff
5. Improve the messages for fetching and updating INDEX
6. Add some whitespace in checkdepends() after removing stale data
7. If we're doing -F don't bother to initialize $PACKAGES
8. Clean up whitespace in the code
9. Use a better, more generic method of signaling an abnormal exit
and call safe_exit with a status of 1 from more places.
This is likely the cause of some of the vague problem reports I have
received in the past that include complaints of, "I used -r/f and -R
but portmaster still rebuilt certain ports a whole bunch of times."
10. In parent_exit() if INSTALLED_LIST has content but ilist does not,
move it over so we can display the right information about work done
11. Make parse_index() more forgiving of PORTSDIR != /usr/ports
12. If PORTSDIR exists, but isn't a ports tree, warn the user, and when
setting PACKAGES run tests against $pd, not literal /usr/ports.
Thanks to bf@ for these 2.
ports to update it can get quite large.
If there are a very large number of ports installed the grep in
iport_from_origin() can fail with "Argument list too long." It's also
theoretically possible that the grep would fail for other reasons. So
if it does, fall back to 'pkg_info -O'. My method is faster which is
why I'm still trying it first, but this is a sort of "belt and
suspenders" situation.
ports you specifically want to have installed. The normal dependency
checking in programs like pkg_delete(1) will prevent easy deletion of
ports that other ports depend on. Keeps egg off face. Protects feet
from being shot.
PR: ports/147808
Submitted by: Matthew Seaman <m.seaman at infracaninophile.co.uk>
Approved by: tabthorpe (mentor)
and doing so can make debugging more difficult.
Add code to post_config() to make sure that things in the
build-only dependency list are not listed as run dependencies for
something already installed.
Apparently, in some circumstances it's necessary to run ldconfig -R
when one moves shared libs from /usr/local/lib to
/usr/local/lib/compat/pkg. So add that to the -w code.
has moved) but there IS a /var/db/ports/<portname>/distfiles, we do not
want to prompt the user if they are using -d, we just want to delete
the files.
In the code to strip the port from $build_l if the user chose not to
update a port that has an +IGNOREME file, the backslash in "\t" needs
to be escaped.
and maintain a portshaker configuration throught the ports system.
It is designed to ease using portshaker for users who want to merge portshaker
powered ports overlays in their FreeBSD ports tree.
everything Gnome PackageKit does except:
- install catalog;
- service pack;
- a D-Bus session interface.
These items are not mandatory since they are more features of the GUI
itself than a feature in PackageKit.
WWW: http://kde-apps.org/content/show.php/KPackageKit?content=84745
Approved by: tabthorpe, miwi (mentors)
I notice it looks for a perl executable in /usr/bin/perl. However, a
perl executable may not exist here, so this small patch changes the
port to use the PERL5 variable to determine the correct location of
perl as determined by the ports system.
This represents a milestone release over the previous version, and
includes significant improvements to the version detection and
comparison algorithms, support for the new SourceForge mirror layout
(and an easy way to add future workarounds), theoretical support for
NetBSD's pkgsrc and OpenBSD ports, support for providing a list of
software in an XML file in place of ports, and support for SQLite.
Of course, there are also many optimisations and general bug fixes.
=============================
1. In iport_from_origin() if we don't find a match (which is normal for
ports that are not yet installed) then return immediately.
2. A little more white space after the user input for --check-port-dbdir
3. In check_for_updates() if a port has moved we should also check for
an +IGNOREME file before forcing the update.
4. For distfile fetching:
a. Limit the scope of some of the variables
b. If a distfile has a / in the file name creation of the flag file
for background fetching will fail, so swap that for a _ instead.
ports which makes possible the direct translation of Cabal package
descriptions to FreeBSD ports. It promises both easier addition and
maintenance for Cabal-based ports.
===========
Add a --packages-local option for those who wish to use only local
packages, and never attempt to fetch from a remote site.
Bug Fix
=======
Fix a braino for --index-first and --index-only:
The cross-checking of the command line options needs to happen before
the environment variables are set.
Cleanups And Optimizations
==========================
1. LOCALBASE_COMPAT is only ever used in combination with /pkg at the
end, so fold that into the variable to start with.
2. Indicate to the user that -p is deprecated
3. Allow setting of DISTDIR directly in .portmasterrc like the other
widely used vars. This entails the following:
a. Capitalize distdir every place that it's used.
b. Add to the list of --options to check which mean we don't even
have to try to set it. This saves us a call to make(1).
c. Don't set it to / if DISTDIR is empty, which makes error checking
later on easier.
d. Mark DISTDIR (and related vars) global in a few more functions
to make it consistent.
4. Move the test for version > 6.4 first in the list, no point in
processing a bunch of stuff only to bail out later.
5. Unset the test_command_line function when we're done using it
6. Be smarter about whether or not to use $PM_SU_CMD to fetch the
INDEX.bz2
7. Improve cross-option error checking for the --packages* options
release can be found at http://library.gnome.org/misc/release-notes/2.30/ .
This release brings initial PackageKit support, Upower (replaces power
management part of hal), cuse4bsd integration with HAL and cheese, and a
faster Evolution.
Sadly GNOME 2.30.x will be the last release with FreeBSD 6.X support. This
will also be the last of the 2.x releases. The next release will be the
highly-anticipated GNOME 3.0 which will bring with it a new UI experience.
Currently, there are a few bugs with GNOME 2.30 that may be of note for our
users. Be sure to consult the UPGRADING note or the 2.30 upgrade FAQ at
http://www.freebsd.org/gnome/docs/faq230.html for specific upgrading
instructions, and the up-to-date list of known issues.
This release features commits by avl, ahze, bland, marcus, mezz, and myself.
The FreeBSD GNOME Team would like to thank Anders F Bjorklund for doing the
initual packagekit porting.
And the following contributors & testers for there help with this release:
Eric L. Chen
Vladimir Grebenschikov
Sergio de Almeida Lenzi
DomiX
walder
crsd
Kevin Oberman
Michal Varga
Pavel Plesov
Bapt
kevin
and ITetcu for two exp-run
PR: ports/143852
ports/145347
ports/144980
ports/145830
ports/145511
============
Add a --no-index-fetch option for people who want to use the
--index* options but do not want portmaster to do the fetching.
Cleanup and Fixes
=================
1. Remove no longer necessary local variable in version()
2. Rework how some initial variables are set. Deriving the values via
make works, but is very slow. So try to be more intelligent about
recognizing the standard values for the ones we always need to have.
* For PORTSDIR and PKG_DBDIR if those variables are not in the
environment and the standard directories exist, use them.
* Move the setting of pd (PORTSDIR) up to before the INDEX-related
items so that we can use ${INDEXDIR:-$pd}
* The derivation of the INDEX-related stuff wasn't working (since
we didn't know $pd) and no one has complained, so just use the
default values from bsd.port.mk unless the user specifies others.
* If /var/db/ports exists, use it for port_dbdir
3. Indicate that the -[lL] options are not compatible with -FRaefnors,
updates, or installs
4. In the test to see if we downloaded a new INDEX.bz2 file supply a
default value for index_time so that if the file did not exist
previously the test will not fail.
================================
1. Adjust whitespace at the end of the run
2. In a couple places where default value setting is overly complex
(including a couple of the places related to the recent ro_upg_port
changes) simplify the code.
3. When checking stat(1) for the INDEX updates we really want to check
the time when the file was last modified for pedantic value, although
in this scenario the practical effect was the same.
4. In --check-port-dbdir we now need to check if the values in the loop
are directories, since origin_from_pdb() now emits an error if it can't
find ORIGIN.
============
Expand on an idea provided by mandree@ to use 'pkg_version -I' to quickly
check what ports are out of date, and incorporate that check into the
--index option. Feedback from users seems to indicate that this is what
they expected the option to do anyway, so the minor change to the feature
does not seem to be a POLA violation, especially since INDEX support is
still relatively new. Add the --index-first option to do what --index used
to do in case anyone cares.
Bug Fixes
=========
1. Add more error checking for incompatible command line options.
Add a new cross_idx() to handle checking the 3 --index* options, and
consolidate some of the old tests that were all relative to -G.
2. We want to test the .bz2 version of INDEX to see if it's newer, and
unzip it if it is.
3. For -o mode:
Going back a long ways upg_port was (ab)used to indicate the currently
installed version of the old port for -o. Originally this was safe since
it's very rare to have the new port installed already, and it saved a
little bit of code complexity. However, as more and more features were
added that utilized the value of upg_port it became increasingly
unsafe. Particularly, at this time there are 2 related bugs manifest.
First the wrong information appears in the confirm list (upgrade of
the old port vs. install of the new) and parsing the old port
directory. The latter was (mostly) harmless, although in the case of
an old port directory being DEPRECATED this resulted in a fatal error
when trying to upgrade.
So, make the following changes:
a. Make upg_port an installed version of the new port, if it exists.
b. Introduce ro_upg_port for the existing version of the old port.
c. Factor out some code that was related to how to handle lack of an
installed version of the old port (since now that's done higher up).
d. In the stage after the build of the new port and before pkg_delete
of the old port test for upg_port OR ro_upg_port and run the various
features (lib backup for -w, pkg_delete, etc.) as needed for both.
e. In install_failed() notify the user about the backup port for the old
version.
f. I discovered in regression testing that invoking -o for MOVED
ports that we get to as dependencies was working, but the code to
automatically invoke -o for a parent port was broken. The problem is
that we can't just exec a new version if we're the parent, we have to
cleanly shut down background fetches and other processes, delete temp
files, etc. So split the parts of safe_exit() that relate to these
elements into their own function, parent_exit(), and call it both
from safe_exit() and when exec'ing a new version for -o in this case.
4. Add error checking to pm_mktemp, and the stray mktemp call. According
to a private report from a user it can actually fail.
5. Add error-checking to parse_index() so that if we don't find a line for
the port we return an error code; check for the error in the callers.
6. Improve the handling of various situations where there is no ORIGIN
recorded in the +CONTENTS file. This is almost always an error in the
package building process, and therefore usually needs to be flagged and
handled as an error. There are (at least) 2 situations where it may not
be an error; bsdpan ports, and when the user has added an +IGNOREME file
(usually for 3rd party packages).
a. Add code to origin_from_pdb() that tests to see that grep returned
something, echos the result as before, then also returns successfully
* If the port is a bsdpan port, return with an error code but let the
caller handle the reporting as appropriate.
* If there is no ORIGIN but there is an +IGNOREME file don't report
the error unless we're using -v, then also report that the
+IGNOREME file is there. Either way, return with an error code.
* If there is no ORIGIN, and no +IGNOREME file, report the error and
return with an error code.
b. In several places this allows several lines of code where the
function is called to be collapsed into:
origin=`origin_from_pdb $iport` || continue
c. In the main body where we parse the command line for what to work on
convert the code that was individually testing the various conditions
that are now handled in origin_from_pdb() to simply parse the return
codes with a case statement.
In the common case (there is an ORIGIN in +CONTENTS) this is almost
certainly a minor optimization since the error handling code in
origin_from_pdb() is never reached, and several places where things
like "is it a bsdpan port?" and other error handling have been removed.
7. In check_for move some local variables down into the block where they
are used.
old way. So only add spaces to the list if we're generating it from the
INDEX, and let the case statement match with or without spaces.
Reported by: avilla
Improve markup slightly for --packages options
Document --index and --index-only
Reflect that -e now takes a glob
Add a note about the nature of glob patterns
============
1. Introducing the new options --index and --index-only. The first
will use the INDEX file to check if a port is up to date. The
second allows the use of portmaster with no /usr/ports directory.
2. The second argument to -o and the port name for -e can now be globs
3. For the -d|-D and -b|-B options allow the command line to override
any values that might be set in .portmasterrc
Internals
=========
1. Add a pm_sv() function to handle verbose messages for PM_SU_CMD
2. Add a find_glob_dirs() function, and use it instead of custom
versions each place this is needed.
3. For -o, add -DDISABLE_CONFLICTS
Bug Fixes
=========
1. If running as root, unset PM_SU_VERBOSE
2. Minor tweaks to improve usage()
* Only make checks for PORTVERSION/DISTVERSION, MAINTAINER, COMMENT, and
CATEGORIES fatal if they are not set elsewhere. Instead, print a warning
for non-slave ports. [1]
* Make the check for an Apache dependency case-sensitive to fix an issue
with false positives. [2]
* Add support for checking for the need for USE_DOS2UNIX, and for ports which
may need MASTER_SITE*CPAN. [3]
* Add a new -m flag which enables checks for MOVED, UIDs, and GIDs. This flag
is disabled by default, but can be enabled with -c, -C, or -A. [4]
PR: 142381 [2]
Submitted by: wen [2]
hrs [4]
Requested by: chukharev@mail.ru [1] [3]
===========
Add a --delete-packages option so that after a package is installed
it will be deleted.
User-Visible Change
===================
Warn the user if they have an /etc/portmaster.rc file. This location
is deprecated in favor of PREFIX/etc.
Minor Updates
=============
1. Add -m1 to grep lines that can only have one match
2. Additional debugging help and error checking
3. Introduce init_packages_var() to initialize the PACKAGES variable,
and use it in some places where init_packages() was being overloaded.
4. Improve the logic of when, and when not to initialize the
packages directories.
5. Bring in some internal changes from the latest svn version for
diff reduction.
6. Add $PM_SU_CMD to a few places where it's needed
Bug Fixes
=========
1. In pm_cd_pd() the error message should reference $1, not $origin
2. The -r option should take a glob as input
The build system does the update of the ports tree,
moving old packages out of the way, fetch and rebuild
the packages you need. Its ports tree with packages
is served to the production systems and desktops.
On a system you can update installed ports with
the clean build packages from the build system.
WWW: http://people.freebsd.org/~dinoex/batch/README
============
1. Add a --no-term-title option to avoid updating the xterm title bar
Bug Fixes
=========
1. Add code to prevent duplicate entries in the list of things to be
done for the user to confirm after config is done.
2. Add code so that if a user has an +IGNOREME file for a port that
is a dependency and chooses not to update it we will not falsely claim
that it will be udpated in post_config().
3. If we are running on a cons25 terminal let term_printf() return
instead of trying to printf the escapes which won't work and will
annoy users.
4. Fix 2 places where sudo privileges might be needed but the non-sudo
version of the command was called. [1]
5. If a user chose -G don't print the (${dep_of_deps}/${num_of_deps})
in the xterm title since the latter will not be incremented. This has
the pleasant side effect of allowing better indenting of the code.
Submitted by: N.J. Mann <njm@njm.me.uk> [1] (for pkg_delete)
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>
============
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)
users to the EXAMPLES section.
2. Expand the EXAMPLES with some more commonly used features.
3. Minor tweaks to other texts.
This version will go out with portmaster version 2.11 but the changes
are not specific to that version.
to make the code match the equivalent code in the main command line
parser, but I missed one which meant that if you specified multiple
glob patterns on the command line it no longer matched anything.
"Hey this doesn't work anymore" by: Florian Smeets <flo@smeets.im>
"I will do global searches for even small variable changes" x 1000: me
=========
1. Rework the NO_DEP_UPDATES feature which is an optimization when you
are updating or installing a port whose dependencies are all up to date.
a. Stop using a temporary file for this feature, and instead utilize the
existing IPC_SAVE mechanism
b. Focus the toggling of this flag in update_port() so that it will always
be unset when it needs to be (and not when it doesn't)
[This is the actual bug fix]
c. Add a flag that is global but not exported in dependency_check() so
that the toggle in update_port() will know when (and when not) to fire
2. Set PM_BUILDING when it needs to be set in multiport()
Enhancements
============
1. Use globstrip() in multiport(), change the variable to match the parser,
and add notes in the parser and multiport() to keep the code in synch
(it's _just_ different enough so that a function doesn't make sense atm)
2. Replace globstrip sed kludge with more effcient shell pattern
3. Make the PM_BUILDING values more explicit to aid in debugging
when using the -i option. This is a minor inconvenience for those users
that give a list of specific ports on the command line, but a huge
benefit for users who use a glob pattern that can easily match things
that don't need to be rebuilt.
-Update libtool and libltdl to 2.2.6a.
-Remove devel/libtool15 and devel/libltdl15.
-Fix ports build with libtool22/libltdl22.
-Bump ports that depend on libltdl22 due to shared library version change.
-Explain what to do update in the UPDATING.
It has been tested with GNOME2, XFCE4, KDE3, KDE4 and other many wm/desktop
and applications in the runtime.
With help: marcus and kwm
Pointyhat-exp: a few times by pav
Tested by: pgollucci, "Romain Tartière" <romain@blogreen.org>, and
a few MarcusCom CVS users. Also, I might have missed a few.
Repocopy by: marcus
Approved by: portmgr
===============
1. For the -[rf] and -R options:
a. Do not delete the flag files that indicate a port has been updated
until the -[rf] process is successful.
b. Update the wording in usage() to be more clear about what -R does
c. If a user starts -[rf] without -R, and there are flag files present,
ask if they would like to delete them, or enable -R mode.
2. Add a globstrip() function and use it to clean up inputs to -x
(and in the input parser where the idea originated)
3. Improve the wording of the message in -s mode about what to do if
they choose not to remove a port with an empty +REQUIRED_BY file
4. Tell the user how many fetches we are waiting for in -F
Removed Feature
===============
Remove the -u option. It did very little, and not what users expected.
* Do not compare a string with undef. [1]
* Remove the CONFIGURE_ARGS check for --prefix. This is not part of
_LATE_CONFIGURE_ARGS, and thus will be set of all ports. [2]
PR: 136657 [1]
136691 [2]
Submitted by: glewis [1]
* Add support for bsd.port.options.mk. [1]
* Add a check for ports that install a.out. [2]
* Tweak the check for arguments passed to configure when using
GNU_CONFIGURE, and add a check for HAS_CONFIGURE and GNU_CONFIGURE. [3]
* Fix some false positives that occur when using certain combinations of
%%XXXDIR%%. [4]
PR: 135095 [2]
135858 [3]
136465 [4]
Requested by: pav [1]
Submitted by: Vladimir Chukharev <chukharev@mail.ru> [2]
Sahil Tandon <sahil@tandon.net> [3]
Eygene Ryabinkin <rea-fbsd@codelabs.ru> [4]
of http://www.FreeBSD.org/ports/portaudit/.
This is primarily done to work around bug in lighttpd on www.FreeBSD.org
where If-Modified-Since isn't handled correctly possibly resulting in
users behind web proxies getting an outdated version of the portaudit
database.
Bump portaudit version number.
Big thanks to the reporter for the detailed PR with good information
about reproducing the issue.
PR: www/134505
Reported by: Christian Ullrich <chris@chrullrich.net>
Prodding by: remko, Christian Ullrich
whose port version is different from it.
The utility uses /usr/ports/INDEX-{__FreeBSD__}.db
The file can be generated by using bundled pver_dbgen
WWW: http://www.csie.nctu.edu.tw/~weiyu/#msgbox=page/program.html
PR: ports/135669
Submitted by: Wei-Yu Chen <weiyu.csie@gmail.com>
* Fix a warning when PKGINSTALLVER is not defined. [1]
* Fix a false positive which can occur when install-info is used in sed
expressions. [2]
* Add depcrecation checks for Apache macros. [3]
PR: 134000 [1]
134614 [2]
134610 [3]
Submitted by: Eygene Ryabinkin <rea-fbsd@codelabs.ru> [1]
Lapo Luchini <lapo@lapo.it> [2]
pgollucci [3]
- Add a disclaimer to the addJail usage line so that users know to use
createJail instead.
- Trim leading and trailing spaces from the descriptions for Jails,
Builds, and PortsTrees.
- Add /proc to the list of ignored paths. This fixes a race condition
which can occur when multiple builds are run in parallel.
- Run the postPortsTreeUpdate and postJailUpdate Hooks while the file
systems are still mounted. This has the side effect of running the
hooks when an update fails.
- Die if the postPortsTreeUpdate Hook fails.
- Die if a port could not be added to the BuildPortsQueue.
Webui:
- Save some screen space by reducing space between top menu and content.
- Add link to RSS feed to the latest_buildports view.
- Generate RSS feeds per maintainer and add drop down menu for feeds to
homepage.
- Make headers of columns on buildport pages clickable to sort the table.
- Rename All really Build Failures to All Failures.
- Add link to All Build Failures and All Failures on latest_buildports
page.
- To limit the number of shown ports per page a new variable
list_limit_nr could be set in inc_tinderbox.php. This limitation is
disabled by default.
* Fix some Perl warnings. [1]
* Fix an improper invocation of perror(). [2]
* Add some more allowed full paths. [3]
* Add a check for MAKE_JOBS_[UN]SAFE used in conjunction with NO_BUILD.
If this is found, throw a warning. [4]
PR: 133207 [4]
Submitted by: gerald [3]
Reported by: pav [1]
Vladimir Chukharev <Vladimir.Chukharev@tut.fi> [2]
- Bump build_name from 72 characters to 255 characters.
- Sync latest port fail reasons and patterns with pointyhat.
- Switch to cvsup17 as default csup server
- Fix a problem where port directories where not canonicalized, and could end
up looking like dir/../otherdir.
- Save some screen space by reducing space between top menu and content in
queue view in webui.
Note that if upgrading you have to apply the canges to your database by hand.
- Properly check the result of getDbInfo to make sure we don't try to configure
the database when we don't have access.
- Correct a typo which broken copyBuild for packages.
Bump PORTREVISION.
- webui: Fix misuse of TRIM function with PostgreSQL (maintianer address wron
with PG)
- Correct a corner case where cleaning up mounts may kill off processes it
shouldn't. This occurs when you are mounting the ports tree mount via nullfs.
This fix requires that sysutils/lsof be installed on the Tinderbox host (new
OPTION).
- bump PORTREVISION
* Fix regexp compatibility with Perl 5.10 [1]
* Add "use warnings" to find more warnings [1]
* Use more modern Perl features as we no longer need to maintain such
ancient backward compatibility [1]
* Add support for a list of patterns to exclude from absolute path
checking. [2]
* Check MAINTAINER field for master/slave relationship as is done for
COMMENT. [3]
* Add support for checking plists for files ending in .core. These files
may be periodically deleted during core file sweeps. [4]
NOTE: This release has more Perl warnings enabled. If you encounter a Perl
warning, please report it.
PR: 132289 [1]
131228 [2]
131235 [3]
131790 [4]
Submitted by: skv [1]
gerald [3]
add conflict with ports-mgmt/tinderbox-devel
itetcu 2009-02-26 02:11:43 UTC
FreeBSD ports repository
Modified files:
ports-mgmt/tinderbox-devel Makefile distinfo
Log:
Update to 3.2 release. This release offers no changes over Release Candidate 3.
Here is a summary of changes from Tinderbox 3.1.2 to 3.2:
* A new tc function, ``tbversion'' has been added to print the version
of Tinderbox. This command relies on a ${pb}/.version file which is
generated when the Tinderbox release distribution is created. Be sure
to copy this file if you copy the contents of the Tinderbox release to
another location.
* Log file markup support has been added. Log files can be viewed with
certain patterns colorized to make them easier to spot (e.g. GCC
warnings). Currently, the list of patterns is not easily changeable,
but a facility to add new patterns is forthcoming.
* A new tc function, ``copyBuild'' has been added which allows one to
copy attributes (e.g. env files, ports, packages, etc.) from one Build
to another.
* Quiet tinderd if a port in the queue does not exist.
* The log file header lines in port build logs have been reordered for
easier (human) reading. If this changes causes too much consternation
for existing scripts, it can be reverted.
* Fix a bug with Postgres in that psql wants to output space-delimited
results by default, and this can mess up upgrades.
* A -u argument has been added to ``addBuildPortsQueueEntry'' so that a
username can be set for a queue entry.
* The ``addBuildPortsQueueEntry'' command now looks up users by both
name and ID. This fixes a bug where tinderd doesn't send Build
completion mail.
* The error spit out by ``listBuildPortsQueue'' when the queue is empty
has been removed.
* Two new inc_tinderbox config variables have been added:
reload_interval_latest and reload_interval_current which allow one to
set the reload interval for the ``Current and Latest Builds'' page while
no port is building and while a port is building respectively.
* Some additional error checking has been added to the webui.
* A search interface has been added for searching for ports in the
webui.
* Canonical PHP tags are now used instead of short tags. This makes it
easier to deploy Tinderbox in various configurations.
* The tinderd queue view has been changed. The field for adding new
ports is now first.
* A favicon.ico file is now shipped for the webui.
* Some other bugs have been fixed in the webui.
* The ``tbversion'' command usage has been added.
* An bug in the log file parsing code which could result in fetch
failure false positives has been fixed.
* The search interface has been added to the top of the homepage.
* The Delete buttons have been moved to the top of the page.
* Some migration issues have been fixed.
The contributors to Tinderbox 3.2's development and testing are Beat
G_tzi, Martin Wilke, Matt, Ion-Mihai Tetcu, Frank Wall, Boris
Samorodov, Cory R. King, and Aron Schlesinger.
Here is a summary of changes from Tinderbox 3.1.2 to 3.2:
* A new tc function, ``tbversion'' has been added to print the version
of Tinderbox. This command relies on a ${pb}/.version file which is
generated when the Tinderbox release distribution is created. Be sure
to copy this file if you copy the contents of the Tinderbox release to
another location.
* Log file markup support has been added. Log files can be viewed with
certain patterns colorized to make them easier to spot (e.g. GCC
warnings). Currently, the list of patterns is not easily changeable,
but a facility to add new patterns is forthcoming.
* A new tc function, ``copyBuild'' has been added which allows one to
copy attributes (e.g. env files, ports, packages, etc.) from one Build
to another.
* Quiet tinderd if a port in the queue does not exist.
* The log file header lines in port build logs have been reordered for
easier (human) reading. If this changes causes too much consternation
for existing scripts, it can be reverted.
* Fix a bug with Postgres in that psql wants to output space-delimited
results by default, and this can mess up upgrades.
* A -u argument has been added to ``addBuildPortsQueueEntry'' so that a
username can be set for a queue entry.
* The ``addBuildPortsQueueEntry'' command now looks up users by both
name and ID. This fixes a bug where tinderd doesn't send Build
completion mail.
* The error spit out by ``listBuildPortsQueue'' when the queue is empty
has been removed.
* Two new inc_tinderbox config variables have been added:
reload_interval_latest and reload_interval_current which allow one to
set the reload interval for the ``Current and Latest Builds'' page while
no port is building and while a port is building respectively.
* Some additional error checking has been added to the webui.
* A search interface has been added for searching for ports in the
webui.
* Canonical PHP tags are now used instead of short tags. This makes it
easier to deploy Tinderbox in various configurations.
* The tinderd queue view has been changed. The field for adding new
ports is now first.
* A favicon.ico file is now shipped for the webui.
* Some other bugs have been fixed in the webui.
* The ``tbversion'' command usage has been added.
* An bug in the log file parsing code which could result in fetch
failure false positives has been fixed.
* The search interface has been added to the top of the homepage.
* The Delete buttons have been moved to the top of the page.
* Some migration issues have been fixed.
The contributors to Tinderbox 3.2's development and testing are Beat
Gätzi, Martin Wilke, Matt, Ion-Mihai Tetcu, Frank Wall, Boris
Samorodov, Cory R. King, and Aron Schlesinger.
Add conflicts with ports-mgmt/tinderbox.
MFC after: 3 days
1. Document the --check-port-dbdir
2. Add a paragraph about why it's not possible for portmaster to continue
when there is an error.
3. Update the suggested alias for portmaster -L
4. Update the process of deleting and reinstalling ports to include the
new --check-port-dbdir option, and to check /var/db/pkg
===========
1. Add --check-port-dbdir to clean stale entries from /var/db/ports [1]
Since the definition of PORT_DBDIR is now used in more than one place,
add it to the initialization routine at the top.
General Improvements
====================
1. Add a 'nonfatal' option to find_moved_port() so that when it's
called in a context where we don't care about a port that has been
deleted (such as distfile listing) it doesn't exit. Add some code to
that function to tell -L that the port has been deleted.
2. Deal with ports that require user interaction to fetch by checking
first whether MASTER_SITES is empty before running 'make checksum'.
This should solve the problem of portmaster unintentionally deleting
the distfiles for java ports, inter alia. [2]
3. Improve kill_bad_children() by using process group id [3]
4. Don't call kill_bad_children() in safe_exit() without reason.
a. Implement this for the distinfo child process by flagging the first
line of the file and checking for a file with -s instead of just -e.
b. Implement this for -F mode by flagging when all the background
processes have finished.
This should result in less of those annoying 'Terminated' messages
5. Move the start of read_distinfos() until after we are sure that we
are going to try building the port.
Small Fixups
============
1. When update_contents() finds something odd when updating a port
suggest using --check-depends to clean it up.
2. In check_for_update() avoid having variables that differ only by case
3. In update_port() recurse with just the port to update [3]
4. In dependency_check() run check_interactive() for installed
versions that need updating.
5. Update copyright
Concept by: RW <fbsd06@mlists.homeunix.com> [1]
Fix Suggested by: ale [2]
Suggested by: Geraint Edwards <gedge@yadn.org> [3]
Add optional dependency on kdesu (from KDE-3 or 4) or sysutils/gksu.
PR: ports/130086
Submitted by: Hannes Hauswedell <freebsd at soulrebel.in-berlin.de> (maintainer)
Approved by: miwi (implicit)
* Loosen the error around USE_ANT and do-build [1]
* Add a check for CFLAGS and CXXFLAGS in CONFIGURE_ENV [2]
* Add a check for Fortran flags in CONFIGURE_ENV [3]
PR: 128482 [2]
Requested by: Dominic Fandrey <kamikaze@bsdforen.de> [1]
gerlad [3]
Submitted by: amdmi3 [2]
- Remove the listBuildPortsQueue error when there are no ports in the queue.
- Teach sendBuildCompletionMail how to lookup a user by both name and ID.
This will fix the problem where tinderd doesn't send build completion
mail.
- Add a -u argument to addBuildPortsQueueEntry to set a user name of a
queue entry.
- Introduce 2 inc_tinderbox config vars, reload_interval_latest and
reload_interval_current which allow to set the reload interval for
"Current And Latest Builds" page while no port is building and while
a port is building respectively.
- Use the canonical PHP tag instead of short tags to make Tinderbox more
flexible in where it can be deployed.
- Introduce logfile markup support. The data base stores regular
expressions for things you like to flag in build logs (e.g. GCC
warnings indicating missing prototypes). The frontend parse the
logs and colorize matching lines. If a port failed to build the
port_fail_pattern is automatically highlighted. The frontend
allow you to toggle the display of line numbers and toggle which
patterns are highlighted.
To enable the logfile markup create the logfile_patterns table (see
the last table in scripts/sql/schema.[mysql|pgsql].pre) and load the default
patterns from scripts/sql/values.lp into the newly created table.
Bump PORTREVISION.
INDEX file and shows the ports that match the given criteria.
WWW: http://www.crucible.gr:5555/
PR: 129420
Submitted by: Antonios Anastasiadis <antonakis@gmail.com>
Potential Buffer Overruns in Samba) which is duplicated from
vuln.xml. I don't know why this entry is duplicated here, but I
suspect it's related to portaudit.txt.
By removing the entry from here, the entry in vuln.xml should
just be used instead.
PR: ports/129240
Reported by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
* Don't cleanup WRKDIR until after the postPortBuild Hook has run.
* Fix resetBuild in a nullfs environment.
* Fix a regression in the version path.
* Correct a tinderd typo which masked a diagnostic message.
* Show last 30 ports per page in "Current and Latest Builds" page.
(webui)
* When sorting by "Last Build Attempt" in list build page sort
descending -- latest built first. (webui)
The main contributor and tester of this release was Ion-Mihai Tetcu.
(Remove local patches incorporated upstream)
This release brings many bug fixes and some new features, particularly with the
webui frontend:
* The tinderd.sh rc.d script has been renamed tinderd, and modernized.
See the README for more details.
* A tinderd_debug option has been added to the tinderd rc.d script to
control whether or not to write output to /dev/null.
* Add a new tinderd config option, TINDERD_LOGFILE. When this is set, all
tinderbuild output from a tinderd cycle will be appended to this
logfile. By default, the logfile is /dev/null.
* Reintroduce user permissions functionality in the webui from 2.x.
* Add RSS support for the latest_buildports view (webui).
* Add buttons to tinderd queue view to remove all or all built entries from
the queue (webui).
* Automatically set rootdir and wwwrooturi variable (webui).
* Show target port of current build (webui).
* Fix a slew of Postgres upgrade and install bugs. Note: not all upgrade
bugs have been fixed. The schema changes in 3.1 may need to be applied
manually to Postgres databases.
* Fix a case where a failed build could lead to false-positive leftovers.
* Fix a regression where the wrong module name was used. This broke tinderd
configuration.
* Prevent dereferencing a null value in the Build Ports Queue code when a
port is no longer associated to a Build.
* Fix rescanPorts' command line arguments, and allow it to be invoked as a
shell command.
* Use the installed Jail's /usr/share/mk directory when doing a make
distribution. This fixes a Jail build of 7.X on recent -CURRENT.
* Add -k to the conig-recursive command so that it doesn't die if one
chooses to skip a port.
* Don't make it fatal if the rm of the directory fails in cleanDir. This
may very well fail if the target is a mount point.
* Some setup steps in the README have been clarified.
!!!NOTE!!!This release includes a schema change, so be sure to run the
following before using 3.1:
./tc Upgrade
The contributors to this release are Beat Gätzi, Ion-Mihai Tetcu, Aron
Schlesinger, Alexander Logvinov, Wesley Shields, Martin Wilke, and Boris
Samorodov.
Local patches:
- install a favicon for the webui
- show last 30 ports per page in "Current and Latest Builds" page (webui)
- when sorting by "Last Build Attempt" in list build page sort descending --
latest built first (webui)
PR: ports/128785 (based on)
Submitted by: bsam@
FreeBSD ports index fields. It also has a simple statistics mode which
allows collecting frequency statistics for these fields.
WWW: http://www.kerneled.org/
Submitted by: sbahra on EFnet #bsdports
* Allow WWW URLs which start with "https://" [1]
* Warn on possible improper use of @dirrm[try] [2]
PR: 127128 [1]
127081 [2]
Submitted by: Tomoyuki Sakurai <cherry@trombik.org> [2]
Changes in 3.0 include:
* The www-exp module has been renamed webui, and a new web frontend has
been added called paefchen.
* All Tinderbox commands with the exception of tinderd are now performed
using the tc utility.
* The Hosts system has been removed as it was not really used, and not
really suited to the purpose of distributed builds. The ground work has
been laid to support distributed builds, but that is not present in 3.0.
* A DISTFILE_URI config directive has been introduced to allow for
distributed distfile caches.
* The latest port fail reasons and patterns have been synced from
pointyhat.
* The total size taken by a port build (in KB) is now tracked in the
database. This can be obtained using the command ``tc getPortTotalSize
-d DIRECTORY -b BUILD''.
* Port build logs now contain OPTIONS and environment details.
* The ``tc addPort'' command assumes a recursive add by default. This
can be disabled by passing the -R argument.
* Port dependencies are now recorded in the database when ``tc addPort''
is called without -R. The dependency list can be retrieved with ``tc
getDependenciesForPort -d DIRECTORY -b BUILD''.
* The ``tc tbcleanup'' command now supports pruning stale distfiles,
stale packages, and not pruning old error logs. See the README for
command line details.
* The default update type and update host are configurable at Setup and
Upgrade time. The default update type has been changed from CVSUP to
CSUP.
* The last_fail_reason is now exported to the postPortBuild Hook.
* Fix the build time display if a tinderbuild takes longer than 24 hours.
* Add a new command, ``tc rescanPorts'' which updates the properties of
all ports in the datastore (including dependencies).
* Display the remake count in the webui frontends.
* Hack around a potential perl-related leftover false positive.
* A new -O option has been added to addPort/rescanPorts which enables
OPTIONS, but does not run rmconfig before calling config. This way,
existing OPTIONS can be preserved. The default behavior is to call
rmconfig to maintain POLA.
* The webui index page has been enhanced to make it more readable, and
more powerful.
* The number of ports not built due to dependency failures has been
added to the webui's main page.
* tc processLog -v now prints the matching text to aid with false
positive identification.
PLUS:
* In webui:
- Change tinderd queue view. Field for adding new ports is the first now.
- Show target port of current build.
- miwi's RSS module
- an other patch from miwi for inc_tinderbox.php.dist which should make
setting-up the webui easier on non-standard configurations.
* Bug-fix: Add o and O to the list of valid options for addPort.