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)
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.
- 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.
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@
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.
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 the build platform and release level to the logs.
* Add support for listing total ports per Build in the www-exp frontend.
* Some other minor bugs have been fixed.
Plus 3 local (port) patches:
* in "Current and Latest Builds" (?action=latest_buildports) increase the number
of ports displayed from 20 to 30
* in ports built for a build view (?action=list_buildports&build=something)
when sorting is done by Last Build Attempt sort descending (latest build first).
* in build logs, add: [1]
- building for: (ie: "6.3-STABLE amd64")
- Makefile ident: (ie: "$FreeBSD: ports/ports-mgmt/tinderbox/Makefile,v 1.41 2008/05/19 20:00:16 itetcu Exp $")
- prefixes: (ie: "LOCALBASE=usr/local X11BASE=usr/local")
- NO* env vars: (ie: "NOPORTDOCS=yes NOPORTEXAMPLES=yes NOPORTDATA=yes")
This release would not have been possible without the contributions of
Alexander Loginov, miwi, Chess Griffin, itetcu, Dmitriy Kirhlarov,
Robert Gogolok, and ade.
- Fix a few typos in pkg-message. [2]
PR: ports/123957 [2]
Submited by: Wen heping <wenheping@gmail.com> [2],
idea from miwi@'s patch for HEAD [1]
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 :-)
- 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.
- fix deinstall when web interfaces are not installed
- don't install www[-exp] files and remove them afterwards, remove them after
build
- bump PORTREVISION
PR: 106556 [1]
Submitted by: Beat Gätzi [1]
- don't depend on php if neither web interface is intalled [1]
- bump PORTREVISON for plist changes.
PR: ports/106103 [1] (inspired by)
Submitted by: Nick Barkas [1]
2.3.4. This release is both a bug fix and a new feature release. The
changes include:
* A performance bug with tbcleanup that was introduced in 2.3.3 has been
fixed.
* The portbuild environment is now scrubbed to prevent pollution. This
greatly helps in producing the same packages as pointyhat.
* The HOME environment variable is initialized to /root to fix certain
false positive leftover problems.
* If a port fails to build, the Build is reinitialized before the next
port build is started (unless -noclean is passed to tinderbuild) to
prevent pollution.
* All the new failure patterns have been merged from pointyhat. This
will produce much more accurate failure analysis.
* A new feature has been added to support introducing custom OPTIONS
into port builds. Consult the README for more details.
* With the start of Xorg 7.x merge testing, port problems are being
found due to the move to LOCALBASE. Therefore, Tinderbox needs an easy
way to set non-standard LOCALBASE and X11BASE. This has been addressed
in 2.3.4. To make use of this feature you must either copy rawenv.dist
to rawenv, or add LOCALBASE and X11BASE variables to your rawenv file.
For example:
LOCALBASE=/usr/local
X11BASE=/usr/X11R6
When you want to run a build with non-standard LOCALBASE and/or X11BASE
paths, just change rawenv, then start your build.
Note: this release includes a micro dsversion bump, so you must run the
upgrade.sh to ensure your database static data is up-to-date.
- allow to depend on csup (default) or cvsup [2]
- default database is now mysql [2]
This port still needs a lot of work and it would be great if one of the wizards
that know tindy's insides would take maintainership (current maintainer seem
to be gone, no feedback rom him for > 1 month).
PR: ports/97433 [1]
Submitted by: Shaun Amott <shaun@inerd.com> [1]
itetrcu (me)
Approved by: lawrance (mentor)
* update from 2.2.1 to 2.3.0
* fix options parsing so `make' in a pristine directory works
as expected [1]
* sort the new plist
PR: ports/92881
Submitted by: Vasil Dimov <vd@FreeBSD.org>
here is the tinderbox port which should give you a tinderbox system
to test your ports before submitting it. It's unnmissable for
everybody making ports, and belongs to the range of tools like
portlint and porttools.