Tinderbox is a package building system for FreeBSD ports, based on
official Portbuild scripts used on pointyhat building cluster.
Tinderbox was written by Joe Marcus Clarke.
You can define multiple jails (base system versions) and multiple
portstrees. The combination of jail and portstree is called a build.
A Tinderbox jail is not what is understood as a jail in FreeBSD,
it is in fact a given world in a chroot. Tinderbox supports automatic
tracking of dependencies and only rebuilds packages that changed
since last run. Tinderbox has support for email notification of
failed builds. Tinderbox also integrates well with ccache.
Tinderbox is designed to easily provide package sets of ports you
need, for platforms and architectures you need. Tinderbox is also
excellent tool for testing new ports and port upgrades, especially
for testing dependencies and packing lists. It's also useful for
testing ports on various releases of FreeBSD, since you can run
FreeBSD 6.X world as a jail on FreeBSD 7.X/8.X host.
WWW: http://tinderbox.marcuscom.com/

===> The following configuration options are available for tinderbox-4.2.0:
CHECK_ROOT=on: Check if ./tc is run by uid 0
EMAILS=on: Support for build failure/completion emails
HIDE_MARKUP=off: Hide display_markup_log action
HIDE_PHP=off: Hide index.php in webui templates
LOG_COMPRESS=on: Support bzip log compression
LSOF=on: For killMountProcesses() when using nullfs
====> Options available for the multi DB: you have to choose at least one of them
PGSQL=off: PostgreSQL database support
MYSQL=on: MySQL database support
SQLITE=off: SQLite database support
====> Options available for the radio WEB: you can only select none or one of them
APACHE=on: Apache server support
HIAWATHA=off: Hiawatha server
LIGHTTPD=off: Lighttpd server support
NGINX=off: Nginx server
===> Use 'make config' to modify these settings

Reason:
This only affects people who are _building_ binary packages for pkgng. If you
are building from ports please ignore this. This step is optional.
It is recommended to rebuild all packages and then have your users run 'pkg
check -Ba' and 'pkg upgrade' on their servers once. This will allow the new
shlib tracking to reinstall packages that have changed shlib requirements.

Reason: The above mentioned ports were converted to depend on
databases/p5-DBD-mysql. That will cause messages like
===> p5-DBD-mysql-4.021 conflicts with installed package(s):
p5-DBD-mysql55-4.021
To prevent this run one of the following commands to fix the
dependencies.
# portmaster -o databases/p5-DBD-mysql databases/p5-DBD-mysql55
or
# portupgrade -fo databases/p5-DBD-mysql databases/p5-DBD-mysql55
or
# pkg set -o databases/p5-DBD-mysql55:databases/p5-DBD-mysql

Number of commits found: 76

Commit History - (may be incomplete: see SVNWeb link above for full details)

- update to 4.1.0
Changes in this release include:
- Major rework of dependency calculations for initial Makefile building.
Dependencies are now built inside of Build jails to prevent any
cross-contamination. OPTIONS are handled properly via a new static d4p
port (needs to be installed on the host).
- Fix enterbuild so that the sleepme file can be properly deleted
- Add support for protocol flag in createJail command when using LFTP
update method.
- Add some more variable exceptions that are used by bmake
- Fix ports fetching on IPv6 hosts
- Correct some clang issues, typos and style problems in pnohang
- Add support for 11.X
- Force CC and CXX to be the GNU versions for FreeBSD < 9
PR: 184391
Submitted by: ohauer
Approved by: maintainer timeout (14 days)

Convert the remaining ports that depend on databases/p5-DBD-mysql${MYSQL_VER}
to just depend on databases/p5-DBD-mysql as that will handle the MYSQL_VER
magic.
This is required as only databases/p5-DBD-mysql supports mariadb-client and
the upcomming perconaXX-client.
Approved by: portmgr (bapt)
Initial patches by: pgollucci

Revert previous change which was committed by mistake along with some
other ports.
Noticed by: swills
It also happened to be incorrect! The path should have been
PREFIX/tinderbox/scripts.
Noticed by: sunpoet

The vast majority of pkg-descr files had the following format when they
had both lines:
Author: ...
WWW: ....
So standardize on that, and move them to the end of the file when necessary.
Also fix some more whitespace, and remove more "signature tags" of varying
forms, like -- name, etc.
s/AUTHOR/Author/
A few other various formatting issues

- Update to Tinderbox 3.3 Release
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

- Add .bak to the list of files to be deleted in post-patch (the CHECK_FOR_ROOT
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

MFD: Latest stable tinderbox release from ports-mgmt/tinderbox-devel and
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
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

Bring in new features and bugfixes from CVS:
- 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.

Update to 3.1.2 with the following fixes and minor changes:
* 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)

Update to 3.1.1 - Bug fix and feature release.
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).

This is tinderbox 3.0.0 release with patches (see bellow).
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

Update to 2.4.3.
If all goes well, this will be the last 2.x release before a 3.0 major release.
The 2.4.3 release is primarily aimed at fixing bugs, but a few small features
have been added:
* Treat the -u argument to sendBuildCompletionMail as a username rather than an
arbitrary database ID. Also, do better error checking in case a user has not
been defined in the datastore.
* Add -b <build name> support to the listBuildPortsQueue command.
* Add a new tc command, getPortLastBuiltStatus to get a port's last status.
* Properly quote the UPDATE_CMD argument in the *PortsTreeUpdate hooks.
* Add a new tbkill.sh tool to terminate a running tinderbuild.
* Add a new tinderbuild option, -norebuild, which will prevent tinderbuild from
forcing a rebuild of any packages specified on the command line.

- add Aron Schlesinger www-exp layout and make it the default since: it looks
better, it works better in opera, it provides a slightly better usability and
it's more FreeBSDish
- fetch all DISTFILES from my server for simplicity
- bump PORTREVISION for plist changes
Prompted by: miwi@'s tindy :-)

- Update to 2.4.2
* Add support for FreeBSD 8.X.
* Fix a database query bug.
* Ensure the .env files are properly read and export when building the
Makefile and database entries.
* Use the C locale when calculating build times.
* Do not die if a Build's log directory is missing when running tbcleanup.
This release comes with a rawenv change, so make sure you copy rawenv.dist to
rawenv to get the latest variables.
PR: 118854
Submitted by: miwi
Approved by: itetcu (maintainer timeout)

Set USE_PERL5/WANT_PERL as appropriate, for ports that either depend on
perl unconditonally, or conditionally. To be able to conditionalize the
inclusion of bsd.perl.mk, they now need to be defined before the inclusion
of bsd.port.pre.mk.
Hat: portmgr

The Tinderbox team is pleased to announce the release of Tinderbox
2.4.1. This is a primarily a bug-fix release for 2.4.0, and all users
are encouraged to upgrade. The changes in 2.4.1 are as follows:
* Sync with the latest applicable pointyhat changes. This includes
extraneous UID and GID checking.
* Support for creating per-Jail make.conf and src.conf files is
supported. These files should live in ${tb}/jails/JAIL, and are used
for the Jail builds. You will still need to use Hooks to populate
custom make.conf files in your Builds.
* Sorting now works properly in the www-exp frontend.
* Hooks that contain arguments with spaces can now be properly executed.
* Various other bug fixes have gone in as well.
This release would not have been possible without the contributions by
Dmitriy Kirhlarov and Alexander Logvinov (and, of course, pointyhat and
Kris).
Tested by: miwi@

Tinderbox 2.4.0 - New feature release:
- Hooks : A hook is a "callout" which gives Tinderbox the ability to run custom
code at pre-determined times. For example, you can establish a Hook to run just
before a Port is built, after a Build is extracted, before a PortsTree is
updated, etc. Pre-condition hooks can even cause an operation to terminate if
so desired. The new commands to manipulate Hooks are tc listHooks and
tc updateHookCmd.
- OPTIONS processing : If you enable OPTIONS support in Tinderbox, you can have
tc addPort automatically prompt you to configure OPTIONS. Just run tc addPort
with the new -o argument, and you will be prompted with the usual dialog(1)
screen to configure OPTIONS. OPTIONS configuration will happen recursively if
the -r argument is specified, and non-recursively otherwise.
- Failed dependents tracking : If a port fails to build, it will update the
datastore for all of its dependents so that they will be reported as
pseudo-failed. That is, they will have a unique appearance in the www-exp
frontend to indicate that they were not built because a dependency failed.
- Port build duration is tracked and an estimated time to completion is now
shown in the www-exp frontend.
- The /usr/X11R6 symlink is now ignored and not treated as a leftover.
Note: This release comes with a pretty hefty schema change, so one must run
upgrade.sh to add the new schema elements.

- Update to 2.3.6
From the Announce:
Tinderbox 2.3.6 has been released to address the change of X11BASE
from /usr/X11R6 to /usr/local. A few other bugfixes are also included.
All users are encouraged to upgrade. When you do, you will have to
manually copy rawenv.dist to rawenv to get the X11BASE change to take
effect.
Approved by: portmgr (pav) itetcu@ (maintainer)