- remove CSUP option, since csup port is gone because csup is in base on all
supported OSVERSIONs
- assure the needed dependencies are installed for sending emails and log
compression via two OPTIONS: EMAILS and LOG_COMPRESS
- flip ON by default the patches for tmpfs and parallel tindy instances
- update plist for hooks/compress_wrkdir and webui's BuildGroups support
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)
- 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.
- 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
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
- 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.
* 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@
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 :-)
* 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)
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
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@
- 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.
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)