This patch changes the order in which the conf file is read vs.
when the default variable assignments are made in order to provide
the ability to override them in the conf file. It also adds the
ability to include a conf file in the same directory as the script.
The patch also changes some of the = assignments to := where
having a null setting by mistake would be fatal.
The use case for these changes is the ability to "package" all
of the elements together in one place for use on multiple systems
that can all mount the same central location.
PR: 154518
Submitted by: dougb
Hat: secteam
Feature safe: yes
* Do not warn when the "work" directory is not in CVS. [1]
* Improve Ruby docs and examples handling. [2]
PR: 152053 [1]
153596 [2]
Submitted by: Eitan Adler <lists@eitanadler.com> [1]
tota [2]
New Features
============
1. The PT_NO_INSTALL_PACKAGE make variable will cause a port to always
be compiled, instead of being installed from a package. It cannot
be used in combination with the -PP/--packages-only option. [1]
2. All user input is now wrapped in a verification routine to make
sure that yes means yes, etc.
3. The -e, -s, --clean-distfiles, --clean-packages, --check-depends
and --check-port-dbdir features can now take -y and -n options to
answer "yes" or "no" respectively to all user dialogs. This also
allows me to deprecate the horribly hacky --clean-distfiles-all and
--clean-packages-all in favor of -y.
4. If using a separate WRKDIRPREFIX, when the run is over use find to
clean out the empty directories that are left behind by the ports
infrastructure.
5. If PM_PACKAGES is set, don't bother with build depends [2]
Small Fixes And Improvements
============================
1. Update usage() in the script and the man page for the new features,
and improve the consistency between the two.
2. When we enter -PRERELEASE phase the package-finding code should
still be looking at -stable. [3]
3. Fix some bugs with -r:
* In certain situations dependent ports that were otherwise
up to date would be missed.
* For the purpose of not rebuilding the parent port when -R
is used we only care about the dependencies of the parent
port being up to date.
4. Error handling for INDEX fetch
5. The -e, -s, -l, -L, --list-origins, and --check-depends features
all work fine without a ports tree
* In -e and -s, delete_dist_list() requires the ports tree, so
if the user didn't use -D imply it when the ports tree is
missing, and hide delete_dist_list() behind that test
6. pdb and port_dbdir need default values for usage()
Inspired by: Marco van Lienen <marco+freebsd-ports@lordsith.net> [1]
Matthew Seaman <m.seaman@infracaninophile.co.uk> [1]
Reminded by: ale [2]
Reported by: Jakub Lach <jakub_lach@mailplus.pl> [3]
- 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
- RIP MD5 in distinfo while I'm here.
*** I'm not sure about this patch, so you can argue about it with me.
Also you can look ports/152102.
PR: ports/152156
Submitted by: az
Approved by: sergei (timeout)
When specifying 'portmaster port-1.23 dependency-of-port-2.34'
the dependency would be built twice because the PM_NEEDS_UPDATE
list is kept by ORIGIN. So use the same technique to validate
the port in the build phase that we are using in the first pass.
Also, update the documentation on full version upgrades to encourage
users to back up any vital file in /usr/local before "making sure that
it is empty."
release can be found at http://library.gnome.org/misc/release-notes/2.32/
This will be the last release of the GNOME 2.x series, mainly a bugfix and
bridge release to the first release of the GNOME 3.x series.
This release features commits by avl, marcus, mezz and myself.
The FreeBSD GNOME Team would like to thank the following contributors and
testers for there help with this release:
Zane C.B. <vvelox@vvelox.net>
romain@
Olaf Seibert <O.Seibert@cs.ru.nl>
DomiX
Bapt <baptiste.daroussin@gmail.com>
jsa@
miwi@
Sergio de Almeida Lenzi <lenzi.sergio@gmail.com>
Maxim Samsonov <xors@mne.ru>
Kris Moore
And pav@ for 2 exp-runs
PR: ports/152255
ports/143260
ports/141033
ports/149629
ports/150350
ports/151523
With hat: gnome@
=========
1. Since $build_l is no longer being incremented prior to the user's
+IGNOREME decision it's no longer necessary to decrement it if the
user chooses not to update that port.
2. While I was reading the trace to find this bug I noticed that we are
running update_build_l() (which in turn updates PM_NEEDS_UPDATE) prior
to running check_state() (FORBIDDEN|DEPRECATED|BROKEN|IGNORE), so move
that check up; and move the "currently installed" and "port directory"
messages up as well to give context to any messages from check_state().
3. Only print the fast-resume message if we're building. Otherwise we
might not know all the ports that need updating.
4. Fix the zsh completion file for --clean-packages[-all]
Minor Fixes
===========
1. In read_distinfos_all() a missing DISTINFO_FILE doesn't need to be fatal
like it does in read_distinfos() since it could be caused by something
uninteresting like a MASTERDIR that exists in part of the tree that has
not been downloaded (e.g., a c[v]sup refuse file). Add some whitespace
around the message in case make also emits an error.
2. For --clean-distfiles* add a line after the "Checking" message to
make the spacing consistent
3. In usage() fill in $pd if it's empty (which it will be for -h|--help)
4. Give a more helpful error message for -o when the port to be replaced
isn't installed or listed as a dependency
* Correct the UIDs passwd file format.
* Parse out comments when checking dependency format. [1]
* Added check for the case when LICENSE contains multiple tokens but
LICENSE_COMB do not set or equal to 'single' (instead of correct 'multi' or
'dual'). [2]
* Add support for @rmtry. [3]
PR: 150997 [1]
151966 [2]
151301 [3]
Submitted by: skv [2]
2010-11-01 ftp/kwebget: Development has ceased.
2010-11-01 multimedia/clive-utils: development has ceased; use multimedia/umph instead
2010-11-01 ports-mgmt/barry: Development has ceased.
2010-11-01 www/wb0: Development has ceased.
in -a as dependencies, then built again because they were pre-scheduled for
update.
Use the same method to handle the same problem in multiport(), which allows
me to remove one more list.
Bug Fixes
=========
1. Properly handle +IGNOREME files again
2. In safe_exit() only print the restart hint if -n PM_NEEDS_UPDATE
Enhancements
============
1. For -F, a better message for spawned children, and continue the campaign
to do less irrelevant stuff.
2. Add some whitespace to the "All ports are up to date" message for -a
3. Make it clear in the docs that -e only handles single ports, and
use the enhanced features of find_glob_dirs() to return better error
messages if a glob doesn't match one and only one port. (Problem
mentioned in PR.)
PR: ports/151824
Submitted by: Ben Grimm <freebsd-pr@bengrimm.net>
numerous internal reorganizations of various sections of code; and several
informative messages have been updated to be more informative. :)
If you're interested in all the details you can review the svn logs at
http://svn.freebsd.org/viewvc/base/user/dougb/portmaster/
Catch Up With Ports Infrastructure
==================================
1. Switch to using DISTINFO_FILE instead of MD5_FILE
2. Use the SHA256 line from distinfo instead of MD5
3. The BEFOREPORTMK trick no longer works to list MASTER_SITES for all ports
so switch to the slightly slower but more reliable pm_make without it. This
will solve the problem of portmaster not fetching all distfiles in the
background.
4. In the case statement to select the appropriate release for package
fetching glob 9.0-CURRENT to handle snapshots as well.
Various Improvements
====================
1. If we fail, offer a suggestion for a shortcut to restart
2. In messages that refer to the INDEX file, use the variable to make it
clear what we're working with.
3. In dependency_check() be clear when we're using the INDEX
4. Dramatic (9-10 times) speedup in iport_from_origin() by making an
intelligent guess about what director{y|ies] to search in based on
the origin directory name which means we're almost always
looking in either exactly the right directory the first time, or
at worst (such as the py-* ports) a dramatically smaller subset.
5. If using --index-only and neither INDEXDIR nor PORTSDIR are set, set
INDEXDIR to $TMPDIR so that we can proceed. That makes PACKAGES the
only variable the user has to set to use --index-only and --packages-only
with no $PORTSDIR and no ports directory.
Bug Fixes
=========
1. For the determination of LOCALBASE:
a. Don't try to use INDEX if PM_INDEX is not set
b. Give a more meaningful error message
2. Be more careful to check that there is a line for the port in the INDEX
when working --index-only.
3. In the package fetch routine use a better string match to see if we have
already downloaded the directory listing. The previous one worked but would
match too many files for net* and x11*, especially when installing a lot of
ports. So add a '.' to differentiate these.
4. The --clean-packages and --clean-packages-all features were added just
a little too hastily, so overhaul them.
be generated or checked, and will be silently ignored for now. Also,
generalize the MD5_FILE macro to DISTINFO_FILO.
PR: 149657
Submitted by: rene
Approved by: portmgr
Tested on: pointyhat i386 7-exp
* major new release
* most functions has been rewritten for speed and efficiency
* -S deprecated
* -I switched with -i
* search improvements (using INDEX)
* overall code clean-up
PR: ports/150324
Submitted by: Andy Kosela <akosela _at_ andykosela.com> (maintainer)
- small fix if prefix is given with trailing /
PR: 150273
Submitted by: Rob Farmer <rfarmer _at_ predatorlabs.net>
Approved by: maintainer, glakin (mentor, implicit)
New Features
============
1. Add an option to log actions after the run is complete. To enable
it define PM_LOG in your rc file as the path of the file you want
to log to. If using PM_SU_CMD make sure that the directory or file
is writable by the unprivileged user.
2. Add the --clean-packages[-all] feature
This works similarly to --clean-distfiles[-all] in that it searches
the $PACKAGES directory for out of date packages, and either offers
to delete them, or with -all deletes them without prompting. It
also cleans out stale symlinks and empty directories.
This necessitates moving init_packages_var() and parse_index() so
they can be used by the new feature.
The idea for grabbing the ORIGIN from the package's +CONTENTS file
and checking to see if it is up to date came from:
Alexey Markov <a.markov@complitex.ru>
3. Add an option to --clean-distfiles[-all] to allow a distfile to be
valid if it matches ANY port in the tree, not just those installed.
This requires building a distinfo list from all ports, so duplicate
the relevant bits of read_distinfos() into read_distinfos_all(). The
common elements are split into during the loop and after the loop, so
making 4 functions total doesn't seem worth it.
Add logic to --clean-distfiles to handle the -t option and call the
right read_distinfos* function accordingly.
4. Add the ability to ignore failed backup package creation by setting
PM_IGNORE_FAILED_BACKUP_PACKAGE in the environment (rc file, etc.)
5. Add the ability to skip the rebuild of the -r port by adding -R
Cleanups and Tweaks
===================
1. Finalize the deprecations of /etc/portmaster.rc, -u and -p
2. If --local-packagedir and ${LOCAL_PACKAGEDIR}/All/${new_port}.tbz
exists just use it, don't bother dereferencing $LATEST_LINK. This
is faster, but it also solves the problem of (for example)
packages/Latest/perl links to perl-5.10.x, even with 5.12.x
installed and the 5.12.x package in packages/All
3. Change the behavior of the -G option.
In the original version of portmaster the concept of 2 distinct
passes through the dependency tree, the first to do all the
'make config's and the second to build everything was intrinsic to
the design. When released publicly there were a non-trivial number
of users who objected to the idea of 'make config' being mandatory,
so I added the -G option to disable the whole first pass. However
as time went on, more and more features were added that depended on
the first pass, so it was necessary to rethink how -G works.
In this version, the 2-pass design is now universal, and the only
thing -G does is suppress the actual OPTIONS dialog. This has
several benefits:
a. Now all features are available to -G users
b. The new method of suppressing the OPTIONS dialog is 100%
effective (thus it's no longer necessary to use BATCH to truly
suppress them)
c. The --force-config option now overrides -G so users who really
hate OPTIONS can have -G in their rc file, but still have it
available by using --force-config on the command line
Lots of variables, functions, and text have been modified to
substitute out references to "config" in favor of "first pass"
4. Use nice for the make commands that actually build stuff
5. Improve the messages for fetching and updating INDEX
6. Add some whitespace in checkdepends() after removing stale data
7. If we're doing -F don't bother to initialize $PACKAGES
8. Clean up whitespace in the code
9. Use a better, more generic method of signaling an abnormal exit
and call safe_exit with a status of 1 from more places.
This is likely the cause of some of the vague problem reports I have
received in the past that include complaints of, "I used -r/f and -R
but portmaster still rebuilt certain ports a whole bunch of times."
10. In parent_exit() if INSTALLED_LIST has content but ilist does not,
move it over so we can display the right information about work done
11. Make parse_index() more forgiving of PORTSDIR != /usr/ports
12. If PORTSDIR exists, but isn't a ports tree, warn the user, and when
setting PACKAGES run tests against $pd, not literal /usr/ports.
Thanks to bf@ for these 2.
ports to update it can get quite large.
If there are a very large number of ports installed the grep in
iport_from_origin() can fail with "Argument list too long." It's also
theoretically possible that the grep would fail for other reasons. So
if it does, fall back to 'pkg_info -O'. My method is faster which is
why I'm still trying it first, but this is a sort of "belt and
suspenders" situation.
ports you specifically want to have installed. The normal dependency
checking in programs like pkg_delete(1) will prevent easy deletion of
ports that other ports depend on. Keeps egg off face. Protects feet
from being shot.
PR: ports/147808
Submitted by: Matthew Seaman <m.seaman at infracaninophile.co.uk>
Approved by: tabthorpe (mentor)
and doing so can make debugging more difficult.
Add code to post_config() to make sure that things in the
build-only dependency list are not listed as run dependencies for
something already installed.
Apparently, in some circumstances it's necessary to run ldconfig -R
when one moves shared libs from /usr/local/lib to
/usr/local/lib/compat/pkg. So add that to the -w code.
has moved) but there IS a /var/db/ports/<portname>/distfiles, we do not
want to prompt the user if they are using -d, we just want to delete
the files.
In the code to strip the port from $build_l if the user chose not to
update a port that has an +IGNOREME file, the backslash in "\t" needs
to be escaped.
and maintain a portshaker configuration throught the ports system.
It is designed to ease using portshaker for users who want to merge portshaker
powered ports overlays in their FreeBSD ports tree.
everything Gnome PackageKit does except:
- install catalog;
- service pack;
- a D-Bus session interface.
These items are not mandatory since they are more features of the GUI
itself than a feature in PackageKit.
WWW: http://kde-apps.org/content/show.php/KPackageKit?content=84745
Approved by: tabthorpe, miwi (mentors)
I notice it looks for a perl executable in /usr/bin/perl. However, a
perl executable may not exist here, so this small patch changes the
port to use the PERL5 variable to determine the correct location of
perl as determined by the ports system.
This represents a milestone release over the previous version, and
includes significant improvements to the version detection and
comparison algorithms, support for the new SourceForge mirror layout
(and an easy way to add future workarounds), theoretical support for
NetBSD's pkgsrc and OpenBSD ports, support for providing a list of
software in an XML file in place of ports, and support for SQLite.
Of course, there are also many optimisations and general bug fixes.
=============================
1. In iport_from_origin() if we don't find a match (which is normal for
ports that are not yet installed) then return immediately.
2. A little more white space after the user input for --check-port-dbdir
3. In check_for_updates() if a port has moved we should also check for
an +IGNOREME file before forcing the update.
4. For distfile fetching:
a. Limit the scope of some of the variables
b. If a distfile has a / in the file name creation of the flag file
for background fetching will fail, so swap that for a _ instead.
ports which makes possible the direct translation of Cabal package
descriptions to FreeBSD ports. It promises both easier addition and
maintenance for Cabal-based ports.