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
============
1. Switch to saving distfile info in /var/db/ports/$name/distfiles
ala PR http://www.freebsd.org/cgi/query-pr.cgi?pr=106483
2. Keep track of distfiles we've already examined so we won't have to
do them again (or print the "keeping" message for -v more than once).
This has more benefit the more distfiles a port has.
3. Add all distfiles for the new port to DI_FILES after install.
This only makes a difference in a few cases, but it's easy to do.
Bug Fixes
=========
1. Make sure that $distdir always has a trailing slash in case it
is a symlink. [1]
2. In delete_stale(), test whether or not a file is in the _current_
distfile list to make sure that it is not auto_deleted by mistake. [1]
3. When building DI_FILES, only use lines starting with MD5 to avoid
adding every file > 1 time.
4. Only run read_distinfos() when we really need it.
[1] Inspired by ...
PR: ports/116298
Submitted by: NIIMI Satoshi <sa2c@sa2c.net>
pkgsearch find packages in ports in any place from your
computer , and find also packages
installeds in your system, pkgsearch use c++, boost and
sqlite3 for search packages more
fast and is compiled with cmake
PR: ports/116404
Submitted by: "Diego Rocha" <diegorocha1987@gmail.com>
requires it. This is guaranteed to break quite a number of ports;
email linimon if you find one. This patch is currently being tested
on pointyhat to help identify them.
This patch adds support to allow multiple ports on a single line.
Instead of having to do:
port1: WITH_COOL_FEATURE
port2: WITH_COOL_FEATURE
you can do this:
port1 port2: WITH_COOL_FEATURE
PR: ports/115733
Submitted by: "Sean C. Farley" <scf@freebsd.org>
Approved by: maintainer timeout
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@
===========
1. Before calling pkg_create for the installed version of the port,
cd into the PKGREPOSITORY directory. This not only simplifies the code,
it helps handle the problems of ports trees mounted read-only. [1]
2. Factor out initialization of the $pkgrep directory into a function.
Bug fixes
=========
1. Before calling 'find ${pkgrep}/ ... -delete' assert that $pkgrep is
not empty.
2. Make sure that $pkgrep is initialized everywhere it's needed.
Suggested by: Hans Lambermont <hans@lambermont.dyndns.org> [1]
* Consolidate lines that end in a '\' followed by an empty line into one
newline prior to splitting the Makefile into sections. This will more
properly catch section-related errors [1]
* Properly check pkg-config files when they contain an embedded '.' [2]
* Allow pkg-plist directive @cwd by itself which means to change the working
directory back to the original PREFIX [3]
* Beef up the warnings around DOCSDIR, EXAMPLESDIR, and DATADIR so that
users don't just use these macros without knowing if they are safe [3]
* Check for use of --mandir and --infodir [4]
PR: 112332 [1]
115455 [4]
Submitted by: rafan [4]
sat [2]
Requested by: pav [3]
* Now tracks changes to OPTIONS settings, and the effect those
have on port dependencies.
* Cleanup of warning and error messages -- new 'Warnings'
configuration variable to turn them on/off
* New 'Strict' configuration option -- at the moment this just
enforces a check that all ports are referenced from the
category Makefile in the directory above. May be extended to
other items later.
* New 'CrunchWhitespace' configuration option -- emulate the way
that 'make index' collapses multiple whitespace into single in
port description lines.
* Internal changes to data structures, cache file locking
etc. which will be needed to support multithreaded cache
initialization / update (It is coming... eventually). One
consequence is that there is no longer a dependency on
Storable.pm
* Mk/bsd.commands.mk and Mk/bsd.destdir.mk added to the list of
Makefiles where changes are not expected to affect the INDEX.
* Bugfix -- correct programming error when picking out changes to
lists of SUBDIRs in category Makefiles.
Note: You will have to reinitialize the ports cache when updating.
Unfortunately, due to the changes in BerkeleyDB locking / concurrent
access, version 2.0 code cannot even open the version 1.9 data cache.
PR: 115222
Submitted by: Matthew Seaman <m.seaman@infracaninophile.co.uk> (maintainer)
the DESTDIR changes today.
2. Export pd, pdb, and distdir to avoid having to look them up each time
3. Streamline find_moved() by grepping for lines, and then recursing
4. Further streamline by using variable stripping instead of cut
<tom-freebsdorg@hukins.freeserve.co.uk>: host
mail-in.freeserve.com[193.252.22.141] said: 550 Error: Message content
rejected <565a4052e34b8ddc44ec45458da4b976> (in reply to end of DATA
command)
- Add significantly better support in bsd.python.mk for working with
Python Eggs and the easy_install system
Tested by: pointyhat runs
Approved by: pav (portmgr)
Most work by: perky
Thanks to: pav
=========
1. If we are doing --show-work, don't launch background processes
that are only useful for real builds.
2. Fix a rather obscure bug that can only happen:
IFF you are doing an install of a new port, and
IFF you have a dependency "early" in the list with an +IGNOREME file, and
IFF you have one or more dependencies "late" in the list that are not
installed. The bug is a false positive on the +IGNOREME for the uninstalled
ports. The solution is to reset the "port to test for +IGNOREME file"
variable each time through the loop. This will usually be a noop, but it
costs almost nothing in any case.
you have to reinstall portconf to get make.conf right.
As this does not affect most people, PORTREVISION is not bumped.
The patch in the PR does not work: we can not use variable in substitution.
So, the only way to do is to detect the real path of /usr/ports at
installation time.
PR: ports/104838
Submitted by: rafan
Approved by: maintainer timeout (8 months)
- 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.
* bsd.php.mk can now be included after bsd.port.pre.mk [1]
* Tighten the check on *_DEPENDS so that it only looks at BUILD, FETCH, PATCH,
LIB, and RUN DEPENDS [2]
PR: 110461 [1]
Submitted by: Alexander Logvinov <ports@logvinov.com> [1]
Reported by: Alexander Logvinov <ports@logvinov.com> [2]
============
1. Keep a temporary flag that indicates a port has already been upgraded
during a -r or -f update, and add a -R (retry) option to let the user
skip those ports on subsequent attempts if the first update is interrupted.
2. Change the default behavior to use 'make config-conditional' to
take advantage of the recent enhancements to the OPTIONS functionality.
3. Add a new --force-config flag to use the old behavior of doing
'make config' for every port.
4. Don't delete backup packages until the original (parent) portmaster
process has finished successfully. That way if an update fails, the user
can back out the whole thing.
5. Add -w option to save old shared libraries from an installed port.
6. Add -x option to avoid building ports that match the glob pattern.
7. Split tracking of build and run depends to before and after the
port build respectively.
Enhancements
============
1. If the user interrupts the update, search for errant dialog
processes as well as errant portmaster child processes.
2. Avoid invoking pkg_version in check_for_updates() if the installed
version is already up to date.
3. Call pkg_info for seemingly stale dependencies (-s) so user has
a better idea what he's being asked to delete.
4. Use -DBATCH when calling 'make checksum' in the background so that
ports that have pre-everything dialogs no longer cause runaway dialog
processes.
5. Add BEFOREPORTMK=yes where it can be used to speed things up.
Thanks to Stephen Montgomery-Smith <stephen@math.missouri.edu>
6. Be smarter about not starting read_distinfos in the background if
there is no need to, and be more aggressive in killing it off when
we're done.
7. Make read_distinfos quieter to avoid printing confusing messages
out of synch with the foreground process.
Changes
=======
1. Use the PKGREPOSITORY directory for all packages, create it if it
doesn't already exist.
2. If we fail(), call one of {trap|safe}_exit to do a better job of
cleaning up after ourselves.
3. Make failures of various commands silent when we provide our own
error message.
4. Make killing background processes generally much quieter.
Bug Fixes
=========
1. In check_for_updates(), when FORCE is on, don't skip an up to date
port.
2. Change MAKE_ARGS to PM_MAKE_ARGS to avoid collisions with ports that
use the former already.
3. Fix grammar in a usage() line, add details for --show-work, and
other various improvements.
4. Move the clean target to after (optional) 'make package' to avoid
having to rebuild the port.
5. Only try to update the +CONTENTS file if it exists.
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)
into a temporary directory, and then examining the directory tree. The
process is based on the instructions for plist generation in the
FreeBSD Porter's Handbook.
WWW: http://www.neuro.mcw.edu/~bacon/FreeBSD_MRI
PR: ports/111892
Submitted by: Jason Bacon bacon at smithers.neuro.mcw.edu
Sponsord by: addport
============
1. --show-work option which will recurse through all-depends-list
and show what dependencies are, and are not installed.
2. Dramatically reduce false positives for per-port distfile cleaning
by creating a list of valid distfiles for all ports. Use this new
method for the --clean-distfiles* options as well.
Bug Fix
=======
Honor DISTDIR if set for --clean-distfiles*
An unpleasant bug was fixed when pkgdb could accidently remove some
dependencies in +CONTENTS files. It's recomented to run pkgdb -L once
after upgrade to fix dependencies list. See UPDATING file.
Reported and tested by: Randy Pratt <bsd-unix_AT_earthlink.net>
============
If a user were to specify /var/db/pkg/foo-1.2/ on the command line,
the old code already failed, but by telling people that it's ok to
do that now, I exposed one more place this needed to be fixed. Take
the opportunity to fix this in a more thorough way.
===========
--clean-distfiles[-all] options to check /usr/ports/distfiles for
stale stuff, and either offer to delete them or delete them all
without prompting.
Bug Fix
=======
Fix brain-o that broke the -o option.
Usability Improvements
======================
1. If a port skeleton is missing, but the pkg db has an +IGNOREME
file, skip the update check, but issue a warning for it.
2. If there is no +IGNOREME file, and no version information is
present, fail with a helpful error message.
3. Clean up any trailing / character on directory names input
at the command line.
4. Allow user to specify just category/portname on the command
line without -p.
5. Work around a missing +REQUIRED_BY file for a -r port.
Minor cleanup
=============
Make case consistent for all usage() items
Changelog:
- portsopt now includes the output of make showconfig
- Fixed a bug with curly brackets. Reported by: bachi (AT) te-clan DOT ch
PR: 109138
Submitted by: Beat Gaetzi <beat@chruetertee.ch> (maintainer)
* Add a check to see if EXTRACT_SUFX is ".zip" and suggest USE_ZIP instead [1]
* Remove the now obsoleted DEPENDS macro
* Remove the obsoleted Java 1.0 check
* Add support for USE_CDRTOOLS
* Add a check for direct usage of gs (i.e. ghostscript) [2]
PR: 107265 [2]
Requested by: gabor [1]
DEPENDS is gone from the bsd.ports.mk: reflect this in the index
processing code.
PR: 108749
Submitted by: Matthew Seaman <m.seaman@infracaninophile.co.uk> (maintainer)
FreeBSD ports tree, and potentially other software repositories.
Various factors make this task a bit more difficult than it might
initially seem. In particular, the array of weird and wonderful
versioning schemes software vendors manage to come up with.
portscout spawns several child processes and does its version checking
in parallel, while attempting to best-guess strange-looking version
numbers, navigate around unhelpful sites and web servers, and contend
with the CPU-heavy rapidly-expanding FreeBSD ports system.
In addition to all this, it is possible to generate nice HTML reports
and send reminder mails to interested parties.
This should probably be considered beta until v1.0 is released.
============
1. Add -t mode to "thoroughly" recurse dependencies, using the
all-depends-list target instead of the combination of the
build-depends-list and run-depends-list targets. This is useful
when the dependencies of a dependency need to be updated, but
the dependency itself doesn't; and -a mode is impractical for
whatever reason.
2. If pkg_create fails, give the user the option of how to handle
it: fail, or ignore the error.
Improvements
============
1. If we are trying to delete distfiles, but a dist subdir has
gone missing, assume that the files are safely deleted (and
inform the user) rather than error'ing out.
2. Search for BROKEN state before FORBIDDEN state, since if
the former is set, the latter is implied, which made the error
message confusing. While I'm here, trim the error message by
removing some redundant information.
3. After successful install, before the dependencies are updated,
apply the same search pattern whether we're updating an existing
port, or installing from scratch using -p /usr/ports/foo/bar.
Otherwise, existing dependencies for a port that was forcibly
pkg_delete'd won't be updated, nor will the newly installed
port's +REQUIRED_BY file be up to date.
Fix
===
1. The file that contains the checksums is not always spelled
"distinfo," so use the MD5_FILE variable to find it
Cleanups
========
1. Further local'ize variables in functions, and factor in some
variables there were used only once. Add more comments that
describe usage of variables with global scope used in a function.
2. Twiddle white space a little more to help key messages stand
out better, and change wording on one message to (hopefully) make
it more clear.
3. Bump copyright
which first updates the ports tree and then runs an
update and a security checkup of all the installed packages.
Portcheck depends on portsnap, portaudit and pkg_version.
WWW: http://www.usebsd.com/pub/portcheck/
PR: ports/107418
Submitted by: Kim Naim Lesmer <naim at usebsd.com>
============
1. Attempt to avoid the problem of multiple background checksum
processes stepping on each other trying to download the same sets of
distfiles. The most pathological case for this is trying to portmaster
the xorg port on a clean box with no distfiles downloaded. (Brought to
my attention by George Hartzell <hartzell@alerce.com>.)
2. In cooperation with sem and skv, add three new environment
variables that can potentially be used by port authors, etc.
UPGRADE_TOOL contains the name of the tool being used, in this case
'portmaster'. UPGRADE_PORT is the full string for the port that we are
currently upgrading, and UPGRADE_PORT_VER is just the version string
part of that.
3. Collect a list of any pkg-message files that we "saw" while doing
the installs, and display them all at the end when everything is done
installing. (Old idea of mine, and others, most recently prompted by
kris.)
4. You can now do 'portmaster .' if you are in a port directory you
want to install.
5. If there is no DISTFILE information in the +CONTENTS file after
an installation, add it in the manner worked out on freebsd-ports@,
and documented in http://www.freebsd.org/cgi/query-pr.cgi?pr=106483.
If that information is present, use it to delete the last known set
of distfiles with certainty, but continue searching the "old" way
until the DISTFILE stuff has been around for a while.
Major Fixes
===========
1. Change the code that reads the MOVED file to recurse through the
whole file. This fixes the problem of getting an "answer" to a
find_moved_port() call only to find out that the "new" port has itself
been moved, or deleted. This is not a major problem, but when it
happens it's ugly. The fix slows down the function by about 1/2 second
on my (fairly fast) box, but that function isn't called often, and
it's better to be thorough. (Brought to my attention by erwin.)
2. Remove a change from the last version that caused way too many
false positives from the MOVED file when there was no installed
version of the port.
3. When running -e, warn the user if there are dependencies on the
port, and improve the error message both here and in the same code
for -s.
Minor Cleanups
==============
1. Assign TMPDIR early in the script, and export it to be safe. Change
occurrences of this variable to use the short form.
2. Factor some code that had been moved to a function back in line
since we're down to just one caller.
3. Only print the verbose message about keeping the current version
of a distfile if we're not in fact deleting all distfiles.
4. Make distfile listing more efficient by using the ALLFILES target
instead of the combination of DISTFILES and PATCHFILES.
allow removing either .tgz or .tbz temporary pkgs.
- Refactor the existing patches so that we have one patch per file to ease
maintenance.
- Pass maintainership to submitter.
- Bump PORTREVISION
PR: ports/106652
Submitted by: Robert C. Noland III <rnoland@2hip.net>
- 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.
* Replace a dead autotools link with a FreeBSD-based link instead [1]
* Replace USE_*_VER with USE_AUTOTOOLS instead [2]
* Check for a valid EXPIRATION_DATE [3]
PR: 104042 [3]
Requested by: piotr.smyrak@heron.pl [1]
Reported by: ahze [2]
Submitted by: vd [3]
Most visible changes are:
* Database files locking. Only one process can write to them
in the same time.
* pkgdb -F is more smart now and takes OPTIONS, make.conf and
pkgtools.conf settings into account.
Moreover:
* Many bugs fixed.
* Many code refactored.
o Added new output option: `rawfiles' to request outputting only matched
pfiles one by line
o Changed -b option to be the same as -f '(^|/)file$' instead of -f '/file$'
o Added new option -L to mimic -p path -f '.*' -o rawfiles i.e. show all
pfiles for (usually) one port. Inspired by pkg_info -L pkgname
o Ignore case by default and add -S option to force case sensitivity
* Remove my name from pkg-descr
* Raise an error when MOVED file has a wrong format instead of a weird
ruby error. (Reported by kris@FreeBSD.org).
* Fix a bug when -P always treated as -PP.
* Change PORT_UPGRADE environment variable with UPGRADE_PORT (contains
a package name for updating port) and UPGRADE_TOOL=portupgrade.
Discussed with skv@FreeBSD.org and DougB@FreeBSD.org.