============
1. You can now specify multiple globs for directories in /var/db/pkg on the
command line (along with full names of directories/paths from /usr/ports
and/or /var/db/pkg, as before)
2. When calling check_interactive or update_port from check_for_updates
tell the user what updated version is available. [1]
Bug Fixes
=========
1. Don't set show_list to "all" for -a unless there is somthing to show
2. Add K (don't postclean) to getopts [2]
Other Improvements
==================
1. In check_dependency_files() don't let ro_opd be empty for the purpose
of the egrep expression. It works now, but it apparently violates the
spec and could case problems down the road (e.g., for bsdgrep).
2. Since the BSDPAN pseudo-ports do not exist in the ports tree there
is nothing for portmaster to do with them. Therefore ignore them when
appropriate, notifying the user when necessary. [3]
Submitted by: Geraint Edwards <gedge@yadn.org> [1]
PR: ports/126006 [2]
Submitted by: ahze [2]
Pointy hat: moi [2]
Problem pointed out by: Bapt <baptiste.daroussin@gmail.com> [3]
PR: ports/125428 [3]
The example in the description of pkg_tree shows old package
names (imake-4, XFree86-libraries).
PR: ports/125990
Submitted by: Carlos Santos <unixmania@gmail.com>
recently, parsing the files /usr/ports/MOVED and /usr/ports/UPDATING. MOVED had
an extra blank line on the end for awhile, and the case of some of the UPDATING
lines have changed (e.g., Author: instead of AUTHOR:). This patch allows
portupdate-scan to tolerate these variances.
PR: ports/125840
Submitted by: Alex Stangl <alex@stangl.us> (maintainer)
* Add some USE_GCC checks [1]
* Check to make sure pkg-descr lines do not end with CRLF [2]
* Warn against using != in assignments [2]
* Check for a valid WWW syntax in pkg-descr [2]
Requested by: gerald [1]
kris [2]
=========
1. Fix -a mode by moving the update of CONFIG_SEEN_LIST to after the port
has been checked for available updates. The old way worked as a side
effect to one of the things I fixed in version 2.4. This is probably
how it should have been done all along, but since the old way worked
I was hesitant to change it.
2. Now that we are using a different format for the INSTALLED_LIST,
fix the bit that always displays the list if we are using -a.
=================
Print a list of ports that will be worked on when doing multiple
ports, either from a glob or listed on the command line.
Bug Fixes
=========
1. When working multiple ports, if a port that is specified on the
command line is reached as a dependency for another port that is on
the command line (either specifically or from a glob) that port
should be rebuilt the first time through, even if it is up to date.
2. By the same token, only rebuild that dependent port once if it
was not up to date. Implement these features by keeping lists of
what needs to be, and has been built specific to the multiport
context.
3. In multiport() declare local variables to be local
4. When reading a glob pattern from the command line do not run
the multiport feature if there is only one match, just pass it on.
Minor Enhancements
==================
1. Save the list of work done using \t and \n and print with echo -e
2. Now that we are properly updating CONFIG_SEEN_LIST at the end of
the config run remove the old update to that list from
dependency_check()
The affected ports are the ones with gettext as a run-dependency
according to ports/INDEX-7 (5007 of them) and the ones with USE_GETTEXT
in Makefile (29 of them).
PR: ports/124340
Submitted by: edwin@
Approved by: portmgr (pav)
1. A glob pattern on the command line now updates all ports that match
2. Clarify that we rebuild the port(s) on the command line by default
3. Document -K option
4. Note the move of /etc/portmaster.rc -> /usr/local/etc/portmaster.rc
5. Document that you need to look in the script to find values to place
in the *rc files. TODO: List potentially useful variables
5. Fix the Xr for sudo
===========
1. By popular demand, change the command line behavior of 'portmaster blah*'
to update all ports in /var/db/pkg which match the glob.
2. Add the -K flag to avoid cleaning the work directory after the build.[1]
Bug Fixes
=========
1. Instead of /etc/portmaster.rc we should be reading
/usr/local/etc/portmaster.rc.[2] Begin introducing support for that.
2. If using the -n option, don't try to fetch the distfiles.[3]
3. When I added the optimization to only run 'make -V CONFLICTS' if
it existed in the Makefile I neglected to unset the value of $conflicts
in the script between ports.[4]
4. I ran into a port which set VERBOSE to a value that it needed to use
in its build process, and since I was using the -v option for portmaster
(which sets VERBOSE=yes) the build failed. To work around this, prefix
the variable names for common English words (VERBOSE, FORCE, BUILDING)
with PM_.
5. To aid future debugging (as in 4. above) change the values of flag
variables to something meaningful instead of just "yes."
6. Automatically handle the case where the parent port has MOVED instead
of asking the user to re-run portmaster with the right options.
Submitted by: pav [1]
Submitted by: Miroslav Lachman 000.fbsd@quip.cz [2]
Submitted by: Jiawei Ye <leafy7382@gmail.com> [3]
PR: ports/124271 [4]
Submitted by: James Kelly <jjk@tilted.net> [4]
PR: ports/124226 (based on the patch)
Submitted by: Yi-Huan Chan <yhchan AT csie.nctu.edu.tw>
Approved by: Benjamin Lutz <mail AT maxlor.com> (maintainer)
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]
- Remove USE_XLIB/USE_X_PREFIX/USE_XPM in favor of USE_XORG
- Remove X11BASE support in favor of LOCALBASE or PREFIX
- Use USE_LDCONFIG instead of INSTALLS_SHLIB
- Remove unneeded USE_GCC 3.4+
Thanks to all Helpers:
Dmitry Marakasov, Chess Griffin, beech@, dinoex, rafan, gahr,
ehaupt, nox, itetcu, flz, pav
PR: 116263
Tested on: pointyhat
Approved by: portmgr (pav)
- This is a routine bug fix release.
- New features: can now process the output from portsnap as part of
maintaining a local INDEX file. See
http://www.infracaninophile.co.uk/portindex/index.xhtml for more
information.
PR: ports/122546
Submitted by: maintainer
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 :-)
Implement a "visual" mode, where the user is given the complete list of leaf
packages inside his editor. He can then remove packages by removing the lines in
the file, save and exit. The now missing packages will then be removed.
PR: 121910
Submitted by: Ulrich Spoerlein <uspoerlein@gmail.com>
* Use the actual Makefile when checking for pre-defined sites. This allows
us to catch things that rely on port variables. [1]
* USE_GETOPT_LONG is now obsolete, and should not be suggested. [2]
* Check for cases where X_DEPENDS = ${Y_DEPENDS} which can result in adding
unwanted dependencies.
PR: 121664 [1]
Suggested by: pav [2]
==================
The previous code tried to handle moved ports in much the same way
as it handled replacing a port with the -o option, but this would
sometimes create problems if we are deep in a dependency graph.
So rather than re-implement only a portion of the -o code, use the
whole thing instead.
We accomplish this by either exec'ing ourselves with the proper -o
options if we are in the dependency tree, or by asking the user to
restart with the proper -o options if they specified the moved port
on the command line. The latter is necessary to avoid having to
duplicate all the "initialize the parent process" code. This allows
me to simplify the code in a few places since -o is now the only
special case.
Bug Fixes
=========
1. Don't try to derive $portdir from $upg_port if using -o
2. Don't try to build a port with an +IGNOREME file if we are doing
the dependent ports in -r mode
Minor tweak: Add some whitespace after a warning message
your ports, I had:
pkg_delete *
which works for me because of a local bash completion, but doesn't
work for most users. So, correct that to be:
pkg_delete '*'
instead.
* Change a legacy part of code for gathering dependecies. It fixes
situation when some depends ports could be updated even when it
was up-to-date. As a result I added another check for -R option.
* Fix a wrong condition in portsclean. Now -L option works again.
* Change a semantic for -q option. Now it means 'quiet'. Don't
show a message when -N specified and there is an already installed
package. (Made for DesktopBSD).
Reported by: pav, Peter Hofer (DesktopBSD)
- Just ignore a package if there is no port directory exists. A correct way
for users is to place the ports in HOLD_PKGS in pkgtools,conf, but
they did not. So it makes my life a little easy.
* Many bugs fixed (thanks to all reporters).
* Semantic for -c and -C has changed. -c runs 'make config-conditional'
and -C 'make config' (forced config).
* All ports now runs under portupgrade/portinstall control.
a. If you specify a glob pattern in /var/db/pkg, there will always
be a prompt, even with the -u flag.
b. Try to discourage people from using -u, it doesn't seem to do what
people expect it to do.
c. You cannot upgrade sudo with PM_SU_CMD if sudo is your PM_SU_CMD
2. s/Dq/Qq/
3. Add .Ev tags to environment variables
- When in task list is a port with IGNORE, portupgrade fails. Just ignore it now.
Reported by: Gerard <gerard@seibercom.net>,
Matthew Seaman <m.seaman@infracaninophile.co.uk>
* many bug fixes
* now all dependencies run under portupgrade control
* run 'make config-conditional' and 'make config' with -c and -C options
PR: ports/116830, ports/115249
Reported by: clemens fischer <ino-news@spotteswoode.dnsalias.org>,
KOMATSU Shinichiro <koma2@lovepeers.org>,
and other
ports knobs and options by listing them together with their
status (either enabled or not). It uses portconf for knobs.
PR: ports/116127
Submitted by: Gabriel Linder <linder.gabriel at gmail.com>
in several cases totally rewritten. I am also glad to say that
all of the advertised features now work as advertised. :)
The most exciting new feature is the completely new dependency
updater. I finally took the time to write the line-oriented version
of update_contents() that I wanted to write in the first place, so
no more sed, and no more warnings sent to $PAGER. This version relies
entirely on exact matches to DEPORIGIN to do its work, so it's 100%
reliable.
So what else is new? A lot of micro-optimizations have been done to
eliminate duplicated work, avoid using external commands when not
necessary, etc. There are also some not-so-micro optimizations, which
means that this version is noticably faster.
Totally new features:
1. --check-depends, which as described above calls the new functions
to parse existing +CONTENTS files for dependency data, uses that data
to update +REQUIRED_BY, and updates the +CONTENTS files. These same
routines are also used for updating ports.
2. A "fetch only" feature (-F) that will go get distfiles for new
versions of installed ports by default, and can also be used to get
the files for all of your installed ports, or certain branches by
using the -aft options.
3. An option to hide the build and install process by saving it to a
log (-H). These logs are deleted on successful install, and saved if
the update process aborts.
4. We now keep track of all the ports that get updated or installed in
a given invocation, and print the list at the very end of the process.
5. There is now a little "map" to show you where you are in the
process of the form "parent >> child >> grandchild >> etc."
6. Support for running as an unprivileged user (via sudo) has been
added. See the man page for details on how to configure this.
Improved features:
1. When showing the pkg-message/+DISPLAY files at the end of the
process, all files are grouped together and spit out to $PAGER (or
just cat if -u). If there is an error, there is a pause first
(unless -u).
2. There is now much more sanity checking on user input so that we can
bail out early if there is a problem.
3. The error messages have been completely re-done to be more
informative, and many of them include helpful suggestions on how to
fix the problems.
4. In the expunge (-e) feature, if there is dependency data for the
port you want to delete we now offer you the chance to delete that
instead of just aborting. (Use at your own risk!)
5. The "save old shared libs" feature (-w) is now a lot more
efficient, only runs ldconfig when it has to, and uses
/etc/rc.d/ldconfig.
6. The /var/db/pkg/*/+IGNOREME file now has more functions associated
with it. See the man page for details.
7. When using the -L feature, there is a warning printed if the port
has been set to FORBIDDEN, DEPRECATED, BROKEN, or IGNORE.
8. If you have a real /usr/X11R6 directory (not a symlink) this is
added to the PATH. Otherwise it's assumed that LOCALBASE == X11BASE.
9. Backup packages of existing ports are now saved to
/usr/ports/packages/portmaster-backup, and left there if -b is used.
This way you can create backup packages of a port without disturbing
existing packages with the same version.
There are numerous other things that are not user-visible which have
been cleaned, polished, made more efficient, etc.
with system ones. portsclean -Li ask to remove them. No removes by
default, but we don't want an user remove system libraries just press 'y'
in portscleanup -Li.
PR: ports/116830
Reported by: clemens fischer <ino-news at spotteswoode.dnsalias.org>
package and lets you decide for each one if you want to keep it or delete it.
It also allows viewing the pacakge comment and description.
This program is essentially a clone of pkg_rmleaves except that it shows
the comment and description of packages and does not support GUI dialog(1)
implementations.
PR: ports/117782
Submitted by: Stephen Hurd <shurd@sasktel.net>
* 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)
- Remove support for FreeBSD older than 4.11 and 5.3.
- Remove conditional dependency on bzip2 which I can't really see how
could be activated automatically.
Reported by: "J. Martin Petersen" <jmp@alvorlig.dk> [1]
PR: ports/117845 [1]
With hat: maintainer / secteam
* Allow the @stopdaemon plist directive. [1]
* Fix a typo when checking for proper use of DOCSDIR. [2]
* USE_JAVA is okay to use after including bsd.port.pre.mk. [3]
* Properly check for extra items in the PATCH_SITES section. [4]
* Replace all instances of "IFF" with "If and only if" to be clearer for
non-English speaking, non-math geeks. [5]
PR: 116907 [3]
116698 [4]
116218 [5]
Reported by: rafan [1]
Submitted by: lwhsu [2]
many ports installed that it is difficult to know which sections are relevant.
It reads /usr/ports/UPDATING, attempting for each block to determine whether
the affected ports are installed. It omits blocks that do not apply.
It handles wildcards and other special cases, however it cannot handle
all variants of phrases used on the APPLIES: line.
In uncertain cases, it errs on the side of reporting.
PR: ports/117991
Submitted by: Alex Stangl <alex at stangl.us>
===========+
1. If an +IGNOREME file is present for a package that has a new
version, let the user know.
2. Use printf to display BROKEN/FORBIDDEN/IGNORE messages so that
multi-line messages with embedded newlines will display properly.
Typo Fix
========
Fix two typos in the "it's interactive" message
... on the same line
... in two consecutive words. A new personal record.
I did run through the rest of the script with aspell and didn't
notice anything else, but who knows?
===============
1. In delete_all_distfiles(), $distdir already contains a trailing slash
2. Only print the "no new versions" message for -L, not -l
Big bug fix
===========
1. cd back to the port directory before trying to run 'make install'
pointy_hat_supply++
Approved by: portmgr (marcus)
to bottom read through prompted by a user reporting bug #1 below.
Fortunately I only found that one additional instance of forgetting
to virtualize a value we derive from bsd.port.mk, but I did find and
fix a few more things as well.
Bug Fixes
=========
1. Virtualize an occurrence of $distdir instead of using $pd/distfiles
2. Make all variables in read_distinfos() local
3. When specifying multiple ports on the command line, the test for
PARENT_PID to start read_distinfos() would always fail, so start it
in the initial PARENT_PID block instead. This also implies pulling the
DI_FILES creation up into that same block.
Non-Functional Changes
======================
1. Adjust whitespace in the code, and the script output in a few places
2. Use a shell expansion instead of sed to trim multiple results
3. Remove one redundant error check
4. Replace the name find_contents_distfiles() with find_dl_distfiles()
since the info is not in +CONTENTS anymore
5. Add/update comments to the existing code
Small changes to actual behavior
================================
1. When dealing with unrecorded dependencies pipe the results to
'less -F'
2. Minor optimization: In read_distinfos(), check to see if we're
upgrading an existing port, and if so do that port first so we're
sure the right distfiles will be in DI_FILES even if the function
doesn't complete before the port is done building/installling
3. Add a message to -L to indicate when there are no new versions
4. Move the checks for run-depends after installation of the parent
port so that if a run-depends port has a build-depends on the parent,
it will work. This is a supported, but apparently not recommended
configuration. To make this work do the install with -DNO_DEPENDS so
that we can take charge of the run-depends installs.
- Update to the latest version. The only change is accepting 'yes' as valid
input where previously only a 'y' was accepted.
(Patch by Feargal Reilly <feargal@fbi.ie>)
===================
1. When I changed how the MOVED file was treated in version 1.19
I accidentally typed a literal /usr/ports/. Change that to the
variable for PORTSDIR as it should be. [1]
2. When using the --show-work feature and the port has no dependencies,
exit immediately instead of recursing.
Submitted by: Jason C. Wells <jcw@highperformance.net> [1]
=========
1. For all values derived from bsd.port.mk, assert that they are not empty.
This helps prevent problems when running 'find $value ...'
2. Don't try to append to the master list of distfiles if we're using -D
Refinements for /var/db/ports/$name/distfiles
=============================================
1. Only create a distfiles file if the port has distfiles
2. Delete the distfiles list and try to delete PORT_DBDIR when we pkg_delete.
(The latter will fail if there is an options file present.)
3. Define the distfiles list even if we are using -D
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>