aboutsummaryrefslogtreecommitdiffstats
path: root/math/metis
Commit message (Expand)AuthorAgeFilesLines
* Add -fPIC for amd64, this will help CalculiX build on amd64 when thethierry2006-02-231-3/+12
* - Add SHA256pav2005-11-251-0/+1
* SIZEify.trevor2004-01-301-0/+1
* cosmetic cleanup, no functional changesoliver2003-08-054-28/+22
* mark both conflicting each other (they are installing both a same named binary)oliver2003-07-251-0/+2
* De-pkg-comment.knu2003-02-212-1/+1
* o Rollback PORTCOMMENT modifications while this feature's implementationlioux2002-11-112-2/+1
* Use PORTCOMMENT in the Makefile, and whack the pkg-comment.adamw2002-11-072-1/+2
* - PORTDOCS policepat2001-12-241-2/+2
* Completely remove directories left from the installationjedgar2000-05-021-0/+1
* Convert to PORTNAME/PORTVERSION.asami2000-04-141-2/+2
* Change Id->FreeBSD.obrien1999-08-251-1/+1
* #4/4 enforcing Caps, no periodhoek1999-06-271-1/+1
* Add more headers necessary to use the library.asami1999-05-082-1/+14
* "site and tarball have changed and the first patch required minimaljseger1999-04-134-48/+8
* Update to version 4.0.steve1998-10-106-74/+125
* Remove empty directories on deinstall.steve1998-09-281-0/+1
* Import of METIS, a package for unstructured graph partitioning.mph1998-04-269-0/+122
| time ago, but decided to not expose it in the man-page, since portmaster will not necessarily install the latest version if installing from local Jpackages is requested and there exist multiple package files that only differ in archive format. But since a non-standard package format allows to choose between an optimization for speed or for disk space, this is a useful option that shall be described in the man page. Approved by: antoine (implicit) * Fix recursive building of ports (-r option). The match_flavor function wasse2018-05-202-26/+46 | | | | | | | | | | called before being defined. The issue and cause has been reported by Herbert J. Skuhra. (Thanks!) PR: 227882 Reported by: Herbert J. Skuhra <herbert@gojira.at> Approved by: antoine (implicit) * Fix previous attempt to cache some parameters in environment variables.se2018-05-192-28/+26 | | | | | | | | | The quoting was messed up by use of "eval" and the cached values did not match what the ports system expected. Submitted by: tijl Reported by: tijl Approved by: antoine (implicit) * Cache some build parameters in the environment that were recalculated overse2018-05-182-24/+83 | | | | | | | | | | | | | and over for individual ports. This significantly reduces the time to scan for updates if many ports with USES=compiler are present. Based on a suggestion and code fragment provided by Tijl Coosemans. While here commit a few changes present in my local version that should not cause any functional change. Submitted by: tijl Approved by: antoine (implicit) * Make the -n option work better for non-root users.se2018-04-292-18/+159 | | | | Approved by: antoine (implicit) * Fix problem with debug output from export-flavor garbling the gen_dep_listse2018-02-123-21/+37 | | | | | | | | | | | | | | | result. The solution is different from the patch suggested in the PR, since the debug message was only meant to be used during early development of flavors support. In my local development version of portmaster, all output from pm_v is redirected to STDERR, but that change seemed to disruptive to apply to the "published" version. Unrelated changes: make pm_isdir_pd more robust and fix variable name of BACKUP_FORMAT option in sample file. PR: 225843 Reported by: John Hein Approved by: antoine (implicit) * Fix typo (missing dash in find argument list).se2018-02-062-2/+2 | | | | | Reported by: Martin Birgmeier Approved by: antoine (implicit) * Fix build for ports that have a LICENSE if DISABLE_LICENSES is defined.se2018-02-062-14/+11 | | | | | | | | | | | | The behavior of the ask-license target should be to silently succeed instead of returning an error, IMHO, but I can test for this condition and skip the ask-license phase in portmaster, too. While here, I'm slightly simplifying the fix implemented in r460294. PR: 225699 Submitted by: dewayne@heuristicsystems.com.au Approved by: antoine (implicit) * Fix a problem that could result in de-installation of a port that sharesse2018-01-292-4/+20 | | | | | | | | | | | | | a prefix of the package name with a new port to be installed. The cause of this bug was that a pattern was applied without anchor at the end. Testing revealed that "pkg info -x" ignores an anchor at the end of the pattern (which might be a bug in pkg), therefore the output of the query is now additionally filtered with egrep to obtain the desired result. PR: 225496 Reported by: Martin Birgmeier Approved by: antoine (implicit) * Print different action list text for packages that are not going to bese2018-01-293-12/+76 | | | | | | | | | | installed (e.g. for make targets "extract", "patch" or "stage" in build dependencies). Limit depth of search for empty directories to reduce the scan time if there are non-empty work directory sub-trees. Add package format parameters to rc.sample file. Approved by: antoine (implicit) * Fix previous commit (r459202) which introduced dependencies that specifyse2018-01-182-11/+30 | | | | | | | | | | | | an optional make target. The patch file contained 2 typoes ("{$" instead of "${"). Add clean phase for dependencies that are not installed but required when the dependent port is built (e.g. because of references to source files of that port, or because of static linking against libraries in the stage area of such a dependency). Approved by: antoine (implicit) * Add support for dependencies specified with a non-standard make target.se2018-01-172-4/+145 | | | | | | | | | | | | | | This is required for e.g. net/openntpd, which links against static libressl libraries in that port's staging area. In case of a port that is not fully installed, there is no clean phase for the dependency's port directory. The dependency tracking does not maintain the necessary state to perform this cleanup when the depending port is finished. PR: 213887 Reported by: blackmore@pichove.org (Simeon Simeonov) Approved by: antoine (implicit) * Test privileges early and complain if privileges are insufficient.se2018-01-171-0/+21 | | | | | | | | | | The patch is based on ideas presented in the PR, but implemented differently. Re-open the PR, if this solution has unexpected side-effects or proves insufficient. PR: 174729 Reported by: ngie Approved by: antoine (implicit) * Update to version 3.19, which is identical to 3.18_12 with all port patchesse2018-01-154-392/+5 | | | | | | applied. Approved by: antoine (implicit) * Fix display of license acceptance menu if build logs are hidden with -H.se2018-01-132-4/+14 | | | | | | PR: 206738 Reported by: torsten.eichstaedt@web.de Approved by: antoine (implicit) * Fix problem with ports being converted from a non-flavored to a flavoredse2018-01-112-19/+53 | | | | | | | | | version, if PYTHON3_DEFAULT is set to anything but 3.6. Since the MOVED file sets the new origin and flavor such that a Python-3.6 compatible package is built, the original Python version for this port is ignored. Reported by: lev Approved by: antoine (implicit) * Small fix for directory accesses in find_dl_distfiles, which did not takese2018-01-112-15/+26 | | | | | | the optional flavor part of the passed argument into consideration. Approved by: antoine (implicit) * Generally path FLAVOR via the environment, not the "make" command line, tose2018-01-092-17/+92 | | | | | | | | circumvent a check for an empty FLAVOR parameter being passed to certain ports. Reported by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at> Approved by: antoine (implicit) * Fix version number ... I have to remember to manually fix-up this stringse2018-01-072-12/+1 | | | | | | | | before each commit and I'll whether I can create a pre-commit script that checks this for me. Reported by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at> Approved by: antoine (implicit) * Remove spurious trace output left over from debugging.se2018-01-062-13/+27 | | | | | Reported by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at> Approved by: antoine (implicit) * Fix pm_islocked function, which could lead to a spurious error message ifse2018-01-032-13/+25 | | | | | | | used for a port that is not found in the package database. Reported by: Tatsuki Makino <tatsuki_makino@hotmail.com> Approved by: antoine (implicit) * Add undocumented option --package-format=<fmt>. I'm not sure, that this isse2018-01-032-14/+45 | | | | | | | | a useful feature, and the txz-format is currently hard-wired in a lot of places in portmaster, but there has been a request to allow creation of packages in a non-standard archive format. Approved by: antoine (implicit) * Fix package name: the pattern that gets replaced with the actual versionse2018-01-021-9/+0 | | | | | | | | string at build time had been replaced by a version string from a test version. Reported by: herbert@gojira.at (Herbert J. Skuhra) Approved by: antoine (implicit) * Increment PORTREVISION, forgotten in previous commit.se2018-01-021-1/+1 | | | | Approved by: antoine (implicit) * Add --backup-format=<fmt> option to allow faster creation of packagese2018-01-022-8/+80 | | | | | | | | | | backups with no or less compression than the default of "txz" provides. Support for different archive format for packages in general could be provided, but not added at this time, since I'm not convinced that this would be a useful feature (please let me know, if you disagree ...). Approved by: antoine (implicit) * ----------------------------------------------------------------------------se2017-12-312-2/+11 | | | | | | Fix spelling of OPTIONS_FILE. Approved by: antoine (implicit) * Bump PORT_REVISION, forgotten in previous commit.se2017-12-301-1/+1 | | | | Approved by: antoine (implicit) * Fix regression in kill_bad_children: add missing $ before progcmd ...se2017-12-301-1/+17 | | | | Approved by: antoine (implicit) * Fix installation from local or remote package including the --packages-buildse2017-12-242-2/+102 | | | | | | | case. Partially based on patches supplied by Alexander Leidinger. Reported by: phk, netchild Approved by: antoine (implicit) * Add PKG_DEPENDS, EXTRACT_DEPENDS, PATCH_DEPENDS and FETCH_DEPENDS to these2017-12-222-0/+23 | | | | | | | | make_dep_list function when called with parameter build-depends-list or all-depends-list. Reported by: phk Approved by: antoine (implicit) * Remove useless MASTER_SITES entriesbapt2017-12-211-3/+0 | * Update to version 3.18, which already contains all patches required for these2017-12-213-354/+4 | | | | | | previous version. Approved by: antoine (implicit) * Patch package version into the port and install man-page with patched pathse2017-12-212-31/+41 | | | | | | | for non-standard LOCALBASE. The port used to patch the man-page, but then installed the unpatched version. Approved by: antoine (implicit) * Fix execution of portmaster in a port directory without any port or packagese2017-12-212-1/+10 | | | | | | | parameters. Reported by: lenzi.sergio@gmail.com Approved by: antoine (implicit) * Add flavor support to routines that convert port origins to shell variablese2017-12-202-18/+64 | | | | | | | | | | names. The character '@' is illegal in such names and must be converted to a legal character same as [-+./]. remobve post processing of "pkg check -dn" output, which was a left-over from pre-PKG_NG times. Reported by: koobs (invalid @), tatsuki_makino@hotmail.com (pkg check) Approved by: antoine (implicit) * Add back local package installation support, which was disabled for PKG_NG.se2017-12-192-10/+143 | | | | | | | | | | | | | The patch attached to PR 181450 did no longer apply cleanly, therefore I edited portmaster to follow the intent and in part the letter of the patch. This patch should not affect port building in any way. I have no use for the feature (and I'm still considering to completely remove support for the installation of packages in portmaster), and therefore did not test that it performs as expected by the submitter. PR: 181450 Submitted by: rozhuk.im@gmail.com Approved by: antoine (implicit) * Add all-depends-list case required for portmaster -t.se2017-12-192-8/+22 | | | | Approved by: antoine (implicit) * Remove stray double-quote character left from an incomplete edit of thatse2017-12-172-2/+2 | | | | | | line (result of directly editing the patch for a trivial change ...) Approved by: antoine (implicit) * Add LIB_DEPENDS to dependencies relevant for installation of a package.se2017-12-172-2/+3 | | | | Approved by: antoine (implicit) * Add support for ports that have been upgraded with a change of bothse2017-12-171-11/+41 | | | | | | | | origin and package name (sans version), as was the case for e.g. the lang/cython3 port, which was moved to lang/cython@py36 with a package name change from cython3-$version to py36-cython-$version. Approved by: antoine (implicit) * Fix query for package to be replaced: This could lead to a wrong packagese2017-12-162-2/+11 | | | | | | | | | being identified and replaced when the new package is installed. Add library dependencies to the list of build dependencies to consider. Reported by: Robert Huff Approved by: antoine (implicit) * USe correct origin in multiport case (several packages specified on these2017-12-162-6/+34 | | | | | | | command line, which is different from passing "-a"). Reported by: Robert Huff Approved by: antoine (implicit) * Add another check for a flavor passed attached to the port directory.se2017-12-162-2/+10 | | | | | | Without this fix, the default flavor was built in specific situations. Approved by: antoine (implicit) * Fix patch: The patch had been created from the version used to debug these2017-12-162-7/+1 | | | | | | | | previous version's problem and I forgot to Fix shbang: Remove the -x that had been added for debugging. Reported by: (Walter Schwarzenfeld) w.schwarzenfeld@utanet.at Approved by: antoine (implicit) * Fix regression: The find_new_port function is now invoked from an earlierse2017-12-162-0/+68 | | | | | | | | | | | place than before flavor support was added. Move its definition to an appropriate place. Silence one pkq query command that may be called for a non-existing package name. Approved by: antoine (implicit) Reported by: Milan Obuch, Paul Beard * Add flavor support to portmaster. This version has been lightly tested andse2017-12-153-73/+4 | | | | | | | | | | | | | | | supports upgrades from non-flavored port versions based on the information in the MOVED file. For initial installations of flavored ports, the flavor must be specified as part of the port origin, e.g. "devel/py-py@py36" for the Python-3.6 version of that port. Dependent ports will automatically be installed with the correct flavor passed via the dependency mechanism. It is planned to add a --flavor option to ease flavor selection for ports that are initially installed with portmaster. Approved by: antoine (implicit) * ports-mgmt/portmaster: Pass maintainer-ship to se@tz2017-12-081-1/+1 | | | | Stefan will continue to maintain portmaster. * - Update to 3.17.10bdrewery2017-02-042-4/+4 | | | | | | | | | | Fixes --clean-distfiles trying to read in base/ [1] Saves port failures to TMPDIR/portmasterfail.txt [2] PR: 212376 [1] Reported by: wblock [1] Tested by: wblock [1] Submitted by: Torsten Zühlsdorff <t.zuehlsdorff@anymotion.de> [2] * Fix "portmaster --check-port-dbdir" broken by the previous commit. Whilese2016-07-242-4/+6 | | | | | | | | the variable $unique_list was created with identical content, its value was only set within the implicit sub-shell (2nd command in a pipe) and lost on exit from the while loop. Reported by: Jakub Laach * Bump PORTREVISION to have portmaster be re-installed with the fix commitedse2016-07-161-1/+1 | | | | | | as SVN rev. 418619. Reported by: Herbert J. Skuhra (herbert at mailbox.org) * A read lock on the sqlite file used by pkg can lock out writers forse2016-07-161-0/+67 | | | | | | | | | | | | | | indefinite amounts of time, preventing installation or upgrade of ports with portmaster. Instead of using a pipe to read pkg query input to be consumed by a shell loop, buffer the query result in a shell variable and let the loop iterate over the contents of this variable. While here, use a call to all_pkgs_by_origin() instead of an inline versin of equivalent code. Reviewed by: tz Approved by: tz * Change MAINTAINER from ports@toco-domains.de to tz@FreeBSD.orgtz2016-06-101-1/+1 | | | | Approved by: junovitch (mentor) * Enable BASH and ZSH options (install their completions) by default.adamw2016-03-051-1/+4 | | | | | | | Also, add NO_ARCH. PORTREVISION bump for pkg change. PR: 207075 Submitted by: maintainer * Remove unneeded dependencies on bash and zsh.mat2016-02-121-3/+1 | | | | | With hat: portmgr Sponsored by: Absolight * ports-mgmt/portmaster: Assign maintainership to Torsten Z.marino2016-02-111-3/+5 | | | | | | | | Torsten has accepted the challenge of whipping portmaster back into shape. In addition to changing MAINTAINER, he's starting with fixing both non-default options by providing their necessary RUN_DEPENDS. PR: 207075 * Update to 3.17.9bdrewery2016-02-062-4/+4 | | | | | | | | Changes: - Update manpage for rebuilding ports with pkg. PR: 191166 Submitted by: wblock * Under strong objection and mandate by portmgr, remove DEPRECATIONmarino2016-01-271-10/+0 | | | | | | | | | | | | | | I've been ordered by portmgr to remove DEPRECATION designation because others have indicated they believe people should not be so directly informed of its poor state. Despite the fact that there was no expiration date set and that functionality was not affected in any way (leaving now informed people free to use this unmaintained port), it was considered a disruptive change. Let the record show that I strongly object to this decision and that I firmly believe that portmaster is a port that *must* have a competent maintainer that can *develop* it. It should *not* be allowed to be unmaintained and still maintain a presence in FreeBSD documentation. * ports-mgmt/portmaster: DEPRECATE without expiration datemarino2016-01-261-0/+10 | | | | | | | | | | | | | | | | | | | | The portmaster script hasn't had an official maintainer in 9 months and 2 years before that it was only patched in reaction to changes in the ports framework. There are many unclaimed PRs in the bugzilla database, many known bugs, and several areas where portmaster no longer aligns with how ports work today. The problem isn't simply getting a maintainer; that person has to be a ports framework expert and it appears that the people with these qualifications don't want anything to do with this port. Moreover, there are better options available. All FreeBSD platforms support ports-mgmt/poudriere (although some many struggle under the load) and the most common amd64 and i386 platform users have the additional option of ports-mgmt/synth which is user-friendly, lightweight, and aimed at users of portmaster, portupgrade, and even poudriere. Unless something drastic regarding portmaster occurs, it's nearing its natural EOL, so it's users should evaluate alternatives and try to migrate off of it. * Remove obsolete pkg-messagebapt2015-10-112-10/+1 | * Update to 3.17.8.bdrewery2015-09-042-4/+3 | | | | | | | | Changes: - Fixes handling of PORTSDIR when /usr/ports is a symlink after head r272363 and stable/10 r287334. Reported by: dhw * Use OPTIONS helpers, add a newline to quiet a half dozen portlintadamw2015-08-211-15/+8 | | | | fatal messages, and make the installation commands more consistent. * I'm really not working on this. Please direct questions to ports@FreeBSD.org.bdrewery2015-04-091-1/+1 | | | | | If someone else would like to maintain this please discuss with me and I will get you access to the github account where the code lives. * For the new USE_GITHUB with only GH_TAGNAME set default DISTNAME tobdrewery2015-03-211-2/+2 | | | | | | | | | | include GH_PROJECT/GH_ACCOUNT/GH_TAGNAME. This prevents the distfile having the same name despite changing one of these values and causing a bad checksum. Differential Revision: https://reviews.freebsd.org/D2103 Reviewed by: mat With hat: bdrewery * Convert my ports to the new USE_GITHUBbdrewery2015-03-202-4/+4 | * Update USE_GITHUB so it does not require GH_COMMIT.bdrewery2015-03-201-1/+1 | | | | | | | | | | | | | | | | | Using this new scheme allows only setting the _tag_ or _commit hash_ in GH_TAGNAME and not having to know the hash for a tag. This scheme will download a tarball that has a different checksum than before due to a changed directory name for extraction. The following MASTER_SITES are provided to retain the old checksum and directory structure (that require GH_COMMIT): GH -> GHL GITHUB -> GITHUB_LEGACY Differential Revision: https://reviews.freebsd.org/D748 Submitted by: amdmi3 Reviewed by: mat, swills, antoine, bdrewery With hat: portmgr * cleanup plistbapt2014-12-211-2/+0 | * - Update to 3.17.7bdrewery2014-08-282-4/+4 | | | | | Changes: * Use PM_SU_CMD for pkg set -o * - Update to 3.17.6bdrewery2014-06-192-5/+5 | | | | | | | | | | | Changes: * Speedup --list-origins with pkg * Use proper /usr/local/etc/portmaster.rc path in portmaster.8 * Fix running from deleted dirs. * Fix losing control of building run-depends of staged ports (thus breaking -g and counts). [1] PR: 189398 [1] * - Update to 3.17.5bdrewery2014-05-252-4/+4 | | | | | | Changes: * Fix some issues with killing child processes * Use builtin kill(1) * - Update to 3.17.4bdrewery2014-03-162-8/+5 | | | | | | | | | Changes: - Fix --check-depends with pkg [1] - Allow installing DEPRECATED ports PR: ports/186915 [1] Submitted by: kaltheat <kaltheat@gmail.com> [1] (based on) * - Update to 3.17.3bdrewery2013-11-192-4/+4 | | | | | Changes: * Fix with pkg-devel which has broken pkg-info -O compatibility * - Support STAGEDIRbdrewery2013-09-231-12/+13 | * - Add NO_STAGE until validated to be safe for upcoming staging supportbdrewery2013-09-201-0/+1 | * - Update to 3.17.2bdrewery2013-09-142-4/+4 | | | | | | | | Changes: - Fix detection of pkg-devel PR: ports/181813 [1] Reported by: Takanori Saneto <sanewo@ba2.so-net.ne.jp> [1], eadler * - Update to 3.17.1bdrewery2013-07-222-5/+5 | | | | | | | | | Changes: * Fix --check-port-dbdir support after ports r321785 changed to /var/db/ports/category_port (OPTIONS_NAME) instead of UNIQUENAME [1] Reported by: many * - Update to 3.17bdrewery2013-06-232-4/+4 | | | | | | | | Changes: - Fix completion scripts when ports are not checked out. PR: ports/179098 Reported by: Doug Barton <dougb@dougbarton.us> * - Remove temporary WRKSRC hackbdrewery2013-06-082-8/+6 | | | | | | | | - Rename distfile and fix checksum errors. These errors were due to renaming the upstream account, which changed which directory the distfile untarred in. - Shuffle MASTER_SITES so that FreeBSD.org and other more reliable mirrors come before github * - Fix build with temporary fixbdrewery2013-06-041-0/+2 | | | | Reported by: John Ko <john@johnko.ca> * Update MASTER_SITE to github.com/freebsdbdrewery2013-06-032-3/+3 | * - Update to 3.16bdrewery2013-03-302-6/+4 | | | | | | | | | | | | This fixes a regression with non-pkgng usage that would invoke the bootstrapper when upgrading ports. My testing did not cover systems with the bootstrapper that did not use pkgng, so this was missed. The impact of this was just a hung build during deinstall. Reported by: mandree Pointyhat to: bdrewery * Mark BROKEN as I fix a reported regressionbdrewery2013-03-301-0/+2 | * - Update to 3.15bdrewery2013-03-307-131/+7 | | | | | | | | | | | | | | | | | | - Add extra mirror - Remove PKGNGPATCH option Changes: - The pkgng patch has been fully integrated upstream with its history copied from the pkgng repo over to portmaster's repo - Add extra messages before/after killing background processes so that 'Terminated' messages look less unexpected - Fix running from / trying to build the entire tree - pkgng: Fix -s not respecting the automatic flag - Fix "Argument list too long" errors - Add PM_SU_CMD documentation to the sample config file [1] - Fix -o not showing the specified origin [pkgng patch bug] Submitted by: Oleg Pudeyev <oleg@bsdpower.com> [1] * Remove standard descriptions for BASH/ZSHbdrewery2013-03-231-2/+0 | | | | Suggested by: danfe * - Enable pkgng support by default. This is safe forbdrewery2013-03-231-2/+0 | | | | non-pkgng users as well. * - Remove use of bsd.port.pre.mkbdrewery2013-03-152-8/+8 | | | | - Reword pkg-message to try to be more clear * Make it clear that pkgng is optionaleadler2013-02-061-5/+5 | | | | | Submitted by: wblock Approved by: bdrewery (maintainer) * - Fix all cases of 'No newline at end of file' in ports treeak2013-02-011-1/+1 | | | | Approved by: portmgr (bapt) * - Don't force pkg as a RUN_DEPENDS. The patch should bebdrewery2013-01-261-4/+1 | | | | | | safe for non-pkgng usage. I am in the process of testing this and will be fully integrating the patch upstream soon. * - Add upstream patch for fixing bash completions with PKGNGbdrewery2012-12-072-1/+47 | | | | | | and to respect env PORTSDIR/PKG_DBDIR Feature safe: yes * - Fix PKGNG patch trying to call pkg(8) when notbdrewery2012-10-302-1/+21 | | | | | | | | actually using pkgng due to improper short-circuit logic Submitted by: John Hein <jhein@symmetricom.com> Feature safe: yes * - Update ZSH completions to work on CURRENT with pkgng [1]bdrewery2012-10-212-5/+7 | | | | | | | - Don't depend on ports-mgmt/pkg on 7.x with PKGNGPATCH option Submitted by: ume [1] Feature safe: yes * - Fix WITH_PKGNG detection on CURRENT, as it maybdrewery2012-10-193-2/+16 | | | | | | | not be defined in /etc/make.conf. Submitted by: dim Feature safe: yes * - Update ZSH completions with pkgng support [1]bdrewery2012-10-162-1/+37 | | | | | | | | - Enable the PKGNG patch by default if WITH_PKGNG is defined. Submitted by: ume [1] Feature safe: yes * - Add ports-mgmt/pkg as a RUN_DEPENDS if enabling pkgng supportbdrewery2012-10-162-1/+15 | | | | | | - Add UPDATING entry and pkg-message to assist in converting Feature safe: yes * - Rename PKGNG option to PKGNGPATCH to fixbdrewery2012-10-151-4/+4 | | | | | | | | | this port confusing bsd.pkgng.mk into thinking that WITH_PKGNG is defined and pkg(8) shoul be used to register. Pointyhat to: bdrewery Feature safe: yes * - Add backup non-https mirrorbdrewery2012-10-152-1/+12 | | | | | | | | | | | | - Add PKGNG option to apply pkgng support patch. This will be fully integrated upstream in the next version. This functionality is only enabled when WITH_PKGNG is defined in make.conf (or a recent CURRENT by default, see UPDATING 20121010). Due to the compat OPTION handling, defining WITH_PKGNG will also apply the patch by default. The pkgng patch is contributed by avilla@ Feature safe: yes * - Move to new home, http://github.com/portmasterbdrewery2012-10-103-24/+29 | | | | | | | | | | - Take maintainership - Convert to new options framework - Use USE_GITHUB for fetching - Add DISTNAME to avoid conflict with existing distfile as the checksum of the distfile has changed now that it is no longer modified for release. - Remove use of bsd.port.pre.mk * Add a temporary mirrorcs2012-10-081-1/+1 | * Throw my ports back in the pool, and make my intentions clear for thedougb2012-10-082-4/+2 | | | | | | | | various ports that I've created. I bid fond fare well A chapter closes for me What opens for you? * Fix the problem of background fetches hanging forever when the backgrounddougb2012-10-012-10/+6 | | | | process to read the distinfo files encounters a fatal error. * Update to 3.13.13:dougb2012-07-252-5/+5 | | | | | | | | | | | | | | | | | | | | Minor improvements: =================== * Improve messages for processing of dependent ports when -r * If there is an installed version, always print that message, not just when we're in the parent * Optimize determination of $new_port: - When first set, let it be global - Use a function to incorporate/optimize the various tests from the 2 different places that it was being set * Use a more robust method of determining portdir from $PWD. This also works for bare 'portmaster' with no arguments now, if you're in a port directory. * Various additional code cleanups Bug fix: ======== Do read_distinfos() in the background for multiport() too, oops * Update to version 3.13.1dougb2012-07-172-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor fixes/improvements ======================== * Turns out there are a non-zero number of distinfo files that have SIZE listed first, so in the code that parses them for the data to put into /var/db/pkg/$port/distfiles, handle this situation gracefully. * If we trap while working on a child port do not remove that child from the PM_NEEDS_UPDATE list so that when it gets printed in the parent that child is still on the list. * Use the count of total ports as $num_of_deps for -Faf * For -av, add num_{roots|trunks|branches|leaves} values to the headers * In multiport(), decrement the number of ports to work on and print a -v message if we have already seen a port in the worklist as a dependency of another port in the list. * Many other minor code cleanups Performance enhancement ======================= * In read_distinfos*() use while read instead of grep. Avoids the fork and reduces the total time for building the list(s) of distfiles by 25% * Upgrade to version 3.13dougb2012-07-072-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major updates/fixes to the distfile handling code ================================================= * Make all parts of the code SUBDIR-safe (most were already) - Fix a few places where the relativity of the cwd was not respected, most often resulting in files not being deleted that should be * Move the storage of the distfile info back to /var/db/pkg where it should have been all along. Mostly for correctness, but also to deal with the problem of non-UNIQUENAMEs causing the wrong files to be deleted with -d. * Clean up the old /var/db/ports/*/distfiles files after reading them, and delete the directory if it's empty. Since we are doing this unconditionally now, there is no longer a need for delete_dist_list(). The new ones will live and die with the rest of the package directory. * Update some of the messages printed out for distfile-related things to make it more clear what's going on. * Check DI_FILES to see if the distfile could be valid for another port in more places, so add a function to deal with the common ones. * When checking DI_FILES, anchor the grep pattern with a ^ to avoid false positives Other code changes ================== * Make the whitespace more consistent * Various minor improvements, mostly to avoid unnecessary forking UI Change ========= * When using -i and there is an +IGNOREME file, the default should be no * Minor improvementsdougb2012-06-262-5/+5 | | | | | | | | | | | | | | | ================== * Restore the line from -av that prints each port as we work on it. * Print more useful information about ports that don't have distfiles, or distfiles we're skipping due to duplicates when -F (especially with -a). Bug fixes ========= * Consolidate all writing to the IPC_SAVE file into safe_exit() so that it always gets called. Also, zero out the file after reading it so that a parent process doesn't inadvertently read stale data during a trap (unlikely, but not impossible). * Upgrade to 3.12.1, removes pgrep since it's not safe to use on olderdougb2012-06-152-5/+5 | | | | versions of FreeBSD * New Featuresdougb2012-06-132-6/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ============ Print the same progress update that goes to the term title in-line, and apply various improvements to that code. Move 'make clean' to the background. There is no point waiting around for it to finish. In the case of very large work directories this may cause some I/O contention during the unpacking of the next port to build, but in most cases this should be lost in the noise. Other Improvements ================== Speed up the determination of WRKDIRPREFIX, and do not bother looking for empty directories if we exited abnormally. Add code to detect dependency loops created by moving part of a port into another port, and CONFLICT'ing on previous versions of that port (ala textproc/p5-XML-SAX -> p5-XML-SAX-Base). When a loop is detected suggest that the user try pkg_updating. Bug Fixes ========= Improve error handling for mktemp Improve handling of abnormal exits (such as ^C, failed port, etc.), especially when the first exit happens in a child process. If the second argument to -o is something that is completely non-existent, report in the error message what the user typed on the command line. Reported by: avilla In clean_build_only_list() remove ports that are already installed when using --delete-build-only to prevent them from being spuriously removed. Reported by: avilla * Fix plist for bash completion file. Bump PORTREVISION for it as well.dougb2012-01-241-2/+2 | | | | Submitted by: sunpoet * Move the Bash completion file to ${PREFIX}/etc/bash_completion.ddougb2012-01-202-8/+6 | | | | | | Bump PORTREVISION for the WITH_BASH case While here, remove the license info * New Featuresdougb2011-12-132-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ============ 1. Add a feature to allow users to list files that should be preserved across upgrades. Various Improvements ==================== 1. Add a verbose message for cleaning WRKDIRPREFIX 2. Improve the handling of the -F option with packages, especially with --packages-only: * In update_port() do better at saying what we're launching a child to do * In post_first_pass() make clear that we are fetch'ing, not building, installing, etc. * In multiport() call check_fetch_only when we're done * In the main body add fetch'ed ports to the CUR_DEPS list so that they are only fetched once. 3. Various typo fixes for the man page. Bug Fixes ========= 1. If an update fails in a child port the parent needs to source the $IPC_SAVE file before it bails out to make sure that various lists are updated in the parent. This is particularly important for the list(s) of work already completed, and especially to update PM_NEEDS_UPDATE for the message of how to resume from the point of failure. 2. For multiple -r, don't add a port to the list of dependents to rebuild if it was itself specified as a -r port. 3. In parent_exit() run the code to kill background processes if we're called with a non-zero exit code. That will trigger it (for example) where the user answers no to the confirmation prompt and is either using -D, or the generation of the list of valid distfiles did not complete. 4. Until I can revamp the way dependencies are tracked, include all 3 forms of CONFLICTS to make sure we catch alternates. * Remove no-longer relevant commentdougb2011-10-021-3/+0 | * New Featuresdougb2011-09-122-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ============ 1. Add the ability to retry package creation. This is mostly useful for PM_SU_CMD after a build that took so long that your sudo ticket has expired. 2. Add support for multiple -r options on the same command line. [1] Various Internal Cleanups and Improvements ========================================== 1. s/printf/echo -e/ for consistency, and use it to full advantage 2. In the code that derives the proper value of PACKAGESITE remove 6.x and add 9.x. Also add a 10-current entry. 3. Add a more-or-less painless test to deal with the issue of the current working directory no longer existing. This problem usually manifests as a "The value of DISTDIR cannot be empty" error because 'make -f' does not handle this condition gracefully. 4. In find_and_delete_distfiles() (run after a successful install) change the default pattern to be foo-[0-9]* instead of foo* [2] When the new pattern doesn't match any existing distfiles, fall back to the old one. 5. Also in find_and_delete_distfiles(), cache matches to $DI_FILES so that we don't have to re-test that same file again. 6. Change the method used to print the prompt in get_answer_g() to echo -e so that I can be more flexible in formatting prompt messages. 7. For --clean-packages if a package is up to date but not installed it should still be deleted if -y is in use. 8. Avoid duplicate word in a composite sentence [3] 9. If a user has non-standard FETCH_ARGS it could circumvent the intent of --always-fetch, so forcibly unlink the file before proceeding to the fetch routine. Sponsored by: Henk van Oers [1] Suggested by: Lapo Luchini <lapo@lapo.it> [2] Submitted by: Dan Allen <danallen46@airwired.net> [3] * Update to 3.9.1, a minor bugfix version:dougb2011-06-082-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In shuffling around the updating of +REQUIRED_BY I forgot to delete empty grep_deps files. [1] While I'm looking at unlink'ing files, bring some sanity to the various places that it's done which haven't been reviewed in a while: * Fix the pm_unlink* functions to use the builtin test * Only/always call the function when we're not sure if the file exists * Just use /bin/unlink when we're sure it does * In parent_exit the glob pattern in the for loop will return 'pattern-*' if there are no matches, so test for that specifically rather than returning to the conditional version. The mere presence of IS_INTERACTIVE in the Makefile is not enough, the condition needs to be verified in case it is conditional [2] We want to make sure that $TMPDIR exists before trying to use it. The cheapest way to do this is to just call mkdir -p. Move the umask call before this to be safe. Split the test for the existence of /usr/X11R6 and whether or not it's a link for one more micro-optimization. Submitted by: olgeni [1] PR: ports/157481 [2] Submitted by: Carl <k0802647@telus.net> [2] * New Features:dougb2011-05-022-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ============= * The -F option now works with --packages and --packages-only o If -F --packages-only and there is no package to fetch, give the user a menu of options o If -F and --packages lack of a package is a soft fail * Revamp the code in check_fetch_only() and where we wait for b/g distfile fetching to complete to be a lot smarter: o In check_fetch_only() simplify the code to count fetch processes which both makes it faster by avoiding ps, and also makes it smarter because it will find fewer false positives. o In both, poll every 2 seconds, but only output to the console every 6. This way we'll be able to exit a lot sooner, but still avoid spamming the user with lots of messages. * In the event that an invalid combination of configuration options causes a port to be BROKEN, etc. allow the user to run --force-config and try again * Add the ability to specify the -t option to -L and --index-only to check every installed port instead of using the shortcut. This is slow, but useful on an old system where there is no ports tree and one or more of the ports is so old that it no longer exists in INDEX. Bug Fixes: ========== Fix an unfortunately long-standing bug in the --package code, we need to update the +REQUIRED_BY files for ports that the installed port depends on. When I tested pkg_add originally I confirmed that it did this, but I neglected to re-test when adding the --no-deps option, which suppresses this behavior. Mea culpa. So take this opportunity to fix the bug, and improve some other things in the process: * Add code to the section that updates dependencies for the newly installed package to walk the +CONTENTS file and runs the +REQUIRED_BY update for every port that the newly installed depends on. * Various non-user-visible optimizations to the dependency udpating code * When called from gen_dep_list, which also uses temp_list as a local variable, uniquify_list() needs its own set of local variables otherwise temp_list ends up being duplicated by uniquify_list Minor Optimizations: ==================== * Micro-optimize a few more cases where we can avoid going out to disk to test stuff by separating the test for a variable first. * Continue the campaign to unset things to keep the environment small * Various other micro-optimizations * Clean up zsh-related directories if the zsh completions are includeddougb2011-04-261-0/+1 | | | | | PR: ports/156651 Submitted by: ohauer * Release version 3.8:dougb2011-04-162-5/+5 | | | | | | | | | | | * Fix a long-standing bug with EUID detection. If the UID was > 4 digits the code would fail. Fix this by using a more efficient ps command. While I'm at it, use the same more efficient method for determining the process group id for the trap cleanup routine. * Fix a buglet in the new --update-if-newer code, exit if all listed ports are actually up to date. * New Features:dougb2011-04-112-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add --update-if-newer which will operate on a list of ports given on the command line. If a port list is already up to date, it will be skipped. * Tweak the way INDEX files are downloaded and installed to only require root privileges for the minimum possible number of actions, and do things in a more secure way: 1. If necessary to download the new INDEX.bz2, as a non-root user, do it in a temporary directory created with mktemp 2. If necessary to update the actual INDEX file unzip it in that same temporary directory 3. Only use $PM_SU_CMD to install the file if necessary 4. Unlink both INDEX and INDEX.bz2 in their real locations before installing the new versions * Add the ability to store the portmaster.rc file in the same directory as the script itself. Many improvements to the --index-only/--packages-only code, particularly in the absence of a ports tree. * Make the --index* options more friendly to being duplicated in the rc file and command line. Mixing different options will still trigger an error, however having the same option both places will not. * Don't do the work of handling the INDEX file if we won't need it (-l, --list-origins, -e, -s) * Reorganize the final check of $pd (PORTSDIR) to properly handle the various combinations * For multiple ports and -o, only test for the origin directory if we are not using the INDEX. If we are, check it there instead. * Add some code to --check-depends to explicitly handle --index-only. It worked before by ignoring the origin test if there was no ports directory, but failed if --index-only was also used. This is better both because it doesn't fail with --index-only, but also because it now uses the index to validate $origin. * Since --check-depends now works with --index-only, update usage() Also: * Add some whitespace to the "Installing new +CONTENTS" message * In --clean-packages show the path in the delete prompt for stale packages that are not installed like we do for ones that are * Various internal cleanups and micro-optimizations * Remove FreeBSD 6.x specific commentdougb2011-04-111-2/+0 | * Update to version 3.6.1, a bugfix to the formatting for user inputdougb2011-01-162-5/+5 | | | | | | messages covered by the -[y|n] support added in the last version. Feature safe: yes * Update to verion 3.6dougb2011-01-032-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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] * Fix a minor bug:dougb2010-12-082-5/+5 | | | | | | | | | | | 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." * Bug Fixesdougb2010-11-102-5/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | ========= 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 * Use PM_NEEDS_UPDATE to fix the problem introduced in 3.1 of ports being builtdougb2010-11-032-5/+5 | | | | | | | | 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. * Upgrade to version 3.2dougb2010-11-012-5/+5 | | | | | | | | | | | | | | | | | | | | 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> * Update to version 3.1. In addition to the features listed below there aredougb2010-10-302-7/+5 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. * Update to version 3.0dougb2010-08-082-10/+23 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. * Remove portmaster from the ports treedougb2010-08-084-4594/+0 | * Update for version 2.32dougb2010-06-181-1/+1 | * build_l also needs to be unset in pm_make_s()dougb2010-06-181-1/+1 | * Unset build_l in pm_make()dougb2010-06-181-1/+1 | * Update for version 2.30dougb2010-06-181-1/+1 | * If the user specified --no-confirm don't build the list. With a lot ofdougb2010-06-181-1/+6 | | | | | | | | | | | 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. * Add LICENSE information to my ports where the right answer is obviousdougb2010-06-142-0/+4 | * Update for version 2.29dougb2010-06-131-1/+1 | * There is no reason for uniquify_list() to reverse the entries,dougb2010-06-131-2/+11 | | | | | | | | | | | | 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. * Update for version 2.28dougb2010-06-111-1/+1 | * In delete_all_distfiles() when there is no $origin (such as when a portdougb2010-06-111-4/+11 | | | | | | | | | | 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. * Update for version 2.27dougb2010-05-181-1/+1 | * Minor Fixes And Optimizationsdougb2010-05-181-6/+19 | | | | | | | | | | | | | ============================= 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. * Update for version 2.26dougb2010-05-111-1/+1 | * Document the --packages-local option for version 2.26dougb2010-05-112-1/+3 | * Document the --packages-local option for version 2.26dougb2010-05-111-4/+15 | | | | | Fix spelling of /usr/local/lib/compat/pkg ENVIRONMENT is not just for make * New Featuredougb2010-05-111-64/+98 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | =========== Add a --packages-local option for those who wish to use only local packages, and never attempt to fetch from a remote site. Bug Fix ======= Fix a braino for --index-first and --index-only: The cross-checking of the command line options needs to happen before the environment variables are set. Cleanups And Optimizations ========================== 1. LOCALBASE_COMPAT is only ever used in combination with /pkg at the end, so fold that into the variable to start with. 2. Indicate to the user that -p is deprecated 3. Allow setting of DISTDIR directly in .portmasterrc like the other widely used vars. This entails the following: a. Capitalize distdir every place that it's used. b. Add to the list of --options to check which mean we don't even have to try to set it. This saves us a call to make(1). c. Don't set it to / if DISTDIR is empty, which makes error checking later on easier. d. Mark DISTDIR (and related vars) global in a few more functions to make it consistent. 4. Move the test for version > 6.4 first in the list, no point in processing a bunch of stuff only to bail out later. 5. Unset the test_command_line function when we're done using it 6. Be smarter about whether or not to use $PM_SU_CMD to fetch the INDEX.bz2 7. Improve cross-option error checking for the --packages* options * Update for version 2.25dougb2010-05-041-1/+1 | * Document the --no-index-fetch option for 2.25dougb2010-05-043-2/+10 | * New Featuredougb2010-05-041-53/+58 | | | | | | | | | | | | | | | | | | | | | | | | | | ============ Add a --no-index-fetch option for people who want to use the --index* options but do not want portmaster to do the fetching. Cleanup and Fixes ================= 1. Remove no longer necessary local variable in version() 2. Rework how some initial variables are set. Deriving the values via make works, but is very slow. So try to be more intelligent about recognizing the standard values for the ones we always need to have. * For PORTSDIR and PKG_DBDIR if those variables are not in the environment and the standard directories exist, use them. * Move the setting of pd (PORTSDIR) up to before the INDEX-related items so that we can use ${INDEXDIR:-$pd} * The derivation of the INDEX-related stuff wasn't working (since we didn't know $pd) and no one has complained, so just use the default values from bsd.port.mk unless the user specifies others. * If /var/db/ports exists, use it for port_dbdir 3. Indicate that the -[lL] options are not compatible with -FRaefnors, updates, or installs 4. In the test to see if we downloaded a new INDEX.bz2 file supply a default value for index_time so that if the file did not exist previously the test will not fail. * Update for version 2.24dougb2010-05-031-1/+1 | * Minor Bug Fixes and Adjustments:dougb2010-05-031-11/+11 | | | | | | | | | | | | | | ================================ 1. Adjust whitespace at the end of the run 2. In a couple places where default value setting is overly complex (including a couple of the places related to the recent ro_upg_port changes) simplify the code. 3. When checking stat(1) for the INDEX updates we really want to check the time when the file was last modified for pedantic value, although in this scenario the practical effect was the same. 4. In --check-port-dbdir we now need to check if the values in the loop are directories, since origin_from_pdb() now emits an error if it can't find ORIGIN. * Update for version 2.23dougb2010-05-011-1/+1 | * Document --index-first for version 2.23dougb2010-05-013-6/+13 | * New Featuresdougb2010-05-011-166/+206 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ============ Expand on an idea provided by mandree@ to use 'pkg_version -I' to quickly check what ports are out of date, and incorporate that check into the --index option. Feedback from users seems to indicate that this is what they expected the option to do anyway, so the minor change to the feature does not seem to be a POLA violation, especially since INDEX support is still relatively new. Add the --index-first option to do what --index used to do in case anyone cares. Bug Fixes ========= 1. Add more error checking for incompatible command line options. Add a new cross_idx() to handle checking the 3 --index* options, and consolidate some of the old tests that were all relative to -G. 2. We want to test the .bz2 version of INDEX to see if it's newer, and unzip it if it is. 3. For -o mode: Going back a long ways upg_port was (ab)used to indicate the currently installed version of the old port for -o. Originally this was safe since it's very rare to have the new port installed already, and it saved a little bit of code complexity. However, as more and more features were added that utilized the value of upg_port it became increasingly unsafe. Particularly, at this time there are 2 related bugs manifest. First the wrong information appears in the confirm list (upgrade of the old port vs. install of the new) and parsing the old port directory. The latter was (mostly) harmless, although in the case of an old port directory being DEPRECATED this resulted in a fatal error when trying to upgrade. So, make the following changes: a. Make upg_port an installed version of the new port, if it exists. b. Introduce ro_upg_port for the existing version of the old port. c. Factor out some code that was related to how to handle lack of an installed version of the old port (since now that's done higher up). d. In the stage after the build of the new port and before pkg_delete of the old port test for upg_port OR ro_upg_port and run the various features (lib backup for -w, pkg_delete, etc.) as needed for both. e. In install_failed() notify the user about the backup port for the old version. f. I discovered in regression testing that invoking -o for MOVED ports that we get to as dependencies was working, but the code to automatically invoke -o for a parent port was broken. The problem is that we can't just exec a new version if we're the parent, we have to cleanly shut down background fetches and other processes, delete temp files, etc. So split the parts of safe_exit() that relate to these elements into their own function, parent_exit(), and call it both from safe_exit() and when exec'ing a new version for -o in this case. 4. Add error checking to pm_mktemp, and the stray mktemp call. According to a private report from a user it can actually fail. 5. Add error-checking to parse_index() so that if we don't find a line for the port we return an error code; check for the error in the callers. 6. Improve the handling of various situations where there is no ORIGIN recorded in the +CONTENTS file. This is almost always an error in the package building process, and therefore usually needs to be flagged and handled as an error. There are (at least) 2 situations where it may not be an error; bsdpan ports, and when the user has added an +IGNOREME file (usually for 3rd party packages). a. Add code to origin_from_pdb() that tests to see that grep returned something, echos the result as before, then also returns successfully * If the port is a bsdpan port, return with an error code but let the caller handle the reporting as appropriate. * If there is no ORIGIN but there is an +IGNOREME file don't report the error unless we're using -v, then also report that the +IGNOREME file is there. Either way, return with an error code. * If there is no ORIGIN, and no +IGNOREME file, report the error and return with an error code. b. In several places this allows several lines of code where the function is called to be collapsed into: origin=`origin_from_pdb $iport` || continue c. In the main body where we parse the command line for what to work on convert the code that was individually testing the various conditions that are now handled in origin_from_pdb() to simply parse the return codes with a case statement. In the common case (there is an ORIGIN in +CONTENTS) this is almost certainly a minor optimization since the error handling code in origin_from_pdb() is never reached, and several places where things like "is it a bsdpan port?" and other error handling have been removed. 7. In check_for move some local variables down into the block where they are used. * Update for version 2.22dougb2010-04-121-1/+1 | * When NOT using --index-only the rundep list still needs to be parsed thedougb2010-04-121-2/+4 | | | | | | | old way. So only add spaces to the list if we're generating it from the INDEX, and let the case statement match with or without spaces. Reported by: avilla * Update for version 2.21 part 2: Document necessary environment variablesdougb2010-04-101-0/+17 | * Update for version 2.21dougb2010-04-101-1/+1 | * Update for version 2.21:dougb2010-04-102-1/+3 | | | | Document --index and --index-only * Update for version 2.21:dougb2010-04-101-6/+33 | | | | | | | | | | Improve markup slightly for --packages options Document --index and --index-only Reflect that -e now takes a glob Add a note about the nature of glob patterns * New Featuresdougb2010-04-101-192/+405 | | | | | | | | | | | | | | | | | | | | | | ============ 1. Introducing the new options --index and --index-only. The first will use the INDEX file to check if a port is up to date. The second allows the use of portmaster with no /usr/ports directory. 2. The second argument to -o and the port name for -e can now be globs 3. For the -d|-D and -b|-B options allow the command line to override any values that might be set in .portmasterrc Internals ========= 1. Add a pm_sv() function to handle verbose messages for PM_SU_CMD 2. Add a find_glob_dirs() function, and use it instead of custom versions each place this is needed. 3. For -o, add -DDISABLE_CONFLICTS Bug Fixes ========= 1. If running as root, unset PM_SU_VERBOSE 2. Minor tweaks to improve usage() * Update for version 2.20dougb2010-03-291-1/+1 | * Document the --delete-packages option for version 2.20dougb2010-03-293-3/+13 | * New Featuredougb2010-03-291-48/+98 | | | | | | | | | | | | | | | | | | | | | | | | | | | | =========== Add a --delete-packages option so that after a package is installed it will be deleted. User-Visible Change =================== Warn the user if they have an /etc/portmaster.rc file. This location is deprecated in favor of PREFIX/etc. Minor Updates ============= 1. Add -m1 to grep lines that can only have one match 2. Additional debugging help and error checking 3. Introduce init_packages_var() to initialize the PACKAGES variable, and use it in some places where init_packages() was being overloaded. 4. Improve the logic of when, and when not to initialize the packages directories. 5. Bring in some internal changes from the latest svn version for diff reduction. 6. Add $PM_SU_CMD to a few places where it's needed Bug Fixes ========= 1. In pm_cd_pd() the error message should reference $1, not $origin 2. The -r option should take a glob as input * Help out users of cons* terminals other than cons25 by making thedougb2010-02-092-2/+2 | | | | | | test for not doing the terminal title bar escapes more general. Submitted by: Zahemszky Gábor <Gabor@Zahemszky.HU> * Update for version 2.18dougb2010-02-081-1/+1 | * Update for version 2.18 by documenting the --no-term-title optiondougb2010-02-082-1/+8 | * Update through version 2.17 [1]dougb2010-02-081-12/+19 | | | | | | | Update for version 2.18 by adding the --no-term-title option PR: ports/143395 [1] Submitted by: IWAZAKI Shota <iwazaki8@yahoo.co.jp> [1] * New Featuresdougb2010-02-081-18/+50 | | | | | | | | | | | | | | | | | | | | | | | ============ 1. Add a --no-term-title option to avoid updating the xterm title bar Bug Fixes ========= 1. Add code to prevent duplicate entries in the list of things to be done for the user to confirm after config is done. 2. Add code so that if a user has an +IGNOREME file for a port that is a dependency and chooses not to update it we will not falsely claim that it will be udpated in post_config(). 3. If we are running on a cons25 terminal let term_printf() return instead of trying to printf the escapes which won't work and will annoy users. 4. Fix 2 places where sudo privileges might be needed but the non-sudo version of the command was called. [1] 5. If a user chose -G don't print the (${dep_of_deps}/${num_of_deps}) in the xterm title since the latter will not be incremented. This has the pleasant side effect of allowing better indenting of the code. Submitted by: N.J. Mann <njm@njm.me.uk> [1] (for pkg_delete) * Update for version 2.17dougb2010-01-241-1/+1 | * Update copyright datedougb2010-01-241-22/+32 | | | | | | | | | Update for version 2.17 Document the --no-confirm option Attempt to improve readability by re-sorting and rewording a few of the paragraphs. * Update for version 2.17, add the --no-confirm optiondougb2010-01-241-1/+1 | * Update the copyright datedougb2010-01-241-68/+227 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New Features: ============= 1. When running through the config phase a list of things to be installed and/or upgraded will be generated. This list will then be presented to the user for confirmation before proceeding. 2. Add a --no-confirm option to suppress this new feature. 3. When using portmaster in an X terminal window that supports updating the title you will now see a status update for what port is being built, and as appropriate what dependency of that port and an (N/M) counter. Thanks to ehaupt for the push on this, as well as some testing and sample code. 4. Make the "yes or no" prompts (hopefully) more clear by adding "y/n" to the text of the message, e.g., "===>>> Do you want to live? y/n [y] " Feature expansion: ================== Do a more thorough job of tracking things that should fall into the --packages-build/--delete-build-only category. I.e., if something is a run dependency of a port or ports that themselves are only build dependencies, add it to the build_only_dl_g anyway. New internals: ============= 1. Add a uniquify_list function so that internal lists of variables can be made unique. Start using it for some of the new stuff, and in clean_build_only_list(). 2. Add a pm_cd_pd() which will cd into the port directory or error out with an appropriate message. 3. Start using pm_cd_pd() where appropriate, including in a couple of new places where we have to go back to the port directory after cd'ing around elsewhere due to the new update_build_l(). 4. Make some other cd/pm_cd invocations consistent Cleanups: ========= 1. Instead of saving some of the new variables unconditionally in safe_exit() move the things that are only done in the config phase to that section, and move build_deps_il to the !config section. 2. Since $new_port may be set as a side effect of the new "Terminal title" feature, conditionalize it for the "main" process. 3. Remove the old RCS Id stuff since I'm not using it Bug fix: ======== In safe_exit() when doing multiports and we interrupt the process the attempt to print the INSTALLED_LIST was not successful. So move all of the related code into a test for INSTALLED_LIST's existence, and just print the whole list (even if it has only one item) in both the -a (as it was already) and multiport cases. * Update for version 2.16dougb2009-12-311-1/+1 | * Update for version 2.16:dougb2009-12-311-5/+5 | | | | | | | | | | 1. Versions of pkg_add in FreeBSD older than 6.4-RELEASE will not have the proper options available, so warn the user if they try to use package-related code.[1] 2. Highlight some different features Reported by: Miroslav Lachman <000.fbsd@quip.cz>[1] * Two minor bug fixes:dougb2009-12-311-3/+9 | | | | | | | | | | | | ==================== 1. We only want to set PM_BUILD_ONLY_LIST=pm_bol in the command line parser if we are the parent port. Otherwise proper build dep detection will not occur. 2. Versions of pkg_add in FreeBSD older than 6.4-RELEASE will not have the proper options available, so warn the user if they try to use package-related code.[1] Reported by: Miroslav Lachman <000.fbsd@quip.cz>[1] * Update for version 2.15dougb2009-12-191-1/+1 | * Update for version 2.15:dougb2009-12-191-3/+1 | | | | It's no longer necessary to supply PM_BUILD_ONLY_LIST in an rc file * This is svn version r200709dougb2009-12-191-72/+86 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feature Update ============== 1. Further update the --packages-build and --delete-build-only options to work with -a: a. Create a new function clean_build_only_list() from code that was already in dependency_check() and use it both there and at the end of the config mode in -a. b. Properly initialize the variables related to these two features in the same spot as all the other global vars are initialized rather than doing it in different locations. Major Cleanups ============== 1. 9-CURRENT has its own package repo now, hurray! 2. Instead of having a pca() to describe the post-config action collect the stuff that always runs after config is done into a function, and use the pca() logic to determine what to print. This also restores the whitespace to consistency between the modes (one port, multiport, -a). 3. Instead of fetching the directory listing for each port category (devel, ports-mgmt, etc.) every time we need to check a port, fetch it once and save it to a temporary file. This lets us do several cool things: a. Save a lot of time not having to re-fetch each iteration b. Run the sed code to fix %2c -> , up front c. Add a sed pattern to fix %2b -> + d. Run a variety of different patterns to try and find the latest_pv 4. We only want to run the logic tree on whether $latest_pv is up to date or not if that variable has a value, so add appropriate tests. Minor Cleanups ============== 1. Make it easier to include the --packages-build and --delete-build-only options in a portmaster rc file by setting the PM_BUILD_ONLY_LIST variable (which is used by both options) in the script if either of the two options is detected. 2. More robust error-handling for package directory creation in pm_pkg_create(). 3. Move the error message for "no package in -PP mode" to a variable for both reuse and code readability. Bug Fixes ========= 1. Not finding a package (or even a package repo) should only fail() if we are using -PP, not if we're just using -P. * Update for version 2.14dougb2009-12-111-1/+1 | * Bug Fixesdougb2009-12-111-37/+75 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ========= 1. In the test for -PP being alone on the command line I forgot the -dash at the beginning of the second test so it was falsely picking up ports with names like p5-Devel-PPPort. 2. If you are building more than one port on the command line, and you use --packages-build and/or --delete-build-only, and one of the ports on the command line would otherwise qualfiy as a build-only dep, it was falsely being treated as such. Solve this problem by adding all ports on the command line to the run_dl_g list in multiport(). 3. With the new parser if you use -v with --check-port-dbdir it's going to be $1, not $2. 4. Don't unset the packages_init function till we're actually done using it 5. If you are using -g plus one of the --packages* options then creation of the new package will fail since there is nothing for 'make package' to work with. So change backup_package() to a more generic form called pm_pkg_create and use that for both making backup packages and making a new local package from an installed package. 6. In order to facilitate 5, update the dependency information in an installed package's +CONTENTS file before creating the new package. Minor Tweaks ============ 1. Include the [-v] in the detailed usage() for --check-port-dbdir too 2. Make the output of --version more clear to everyone who isn't me :) 3. If DISTDIR is its own zfs filesystem then the code to delete empty DIST_SUBDIRs can cause problems, so special case it in its own function. 4. Remove some white space * 1. Show that -v can be used with --check-port-dbdirdougb2009-12-111-3/+5 | | | | | | | 2. In the procedure for using portmaster to re-install after a major version upgrade, list "re-install portmaster" as an actual step. [1] Submitted by: Kevin Oberman <oberman@es.net> [1] * Update for version 2.13dougb2009-12-073-5/+8 | * This is svn version r200201dougb2009-12-071-17/+152 | | | | | | | | | | | | | 1. Document the new package-related features for version 2.13 2. Remove the requirement that --options be first on the command line 3. Deprecate the -p option 4. Improve the prose in a few sections, mostly removing commas and simplifying sentences. 5. Small markup tweaks 6. Clearly indicate that +IGNOREME files only work on installed ports 7. Document that -x will work on the origin directory if there is no installed version. 8. In the example .portmasterrc file the verbose variable needed a value * Introducing portmaster with package support!dougb2009-12-071-86/+510 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is svn version r200206. New Features ============ 1. Support for the following new options: a. --packages|-P and --packages-only|-PP b. --packages-build c. --packages-if-newer d. --delete-build-only e. --always-fetch f. --local-packagedir In addition to the new code this also involved making some existing messages more generic, and customizing some others to be aware of whether packages are in use or not. 2. New command line parser allows placement of --long-options anywhere in the command line Minor Tweaks and Fixes ====================== 1. Make fail() less finicky about how the message is input 2. Start the process of deprecating -p since it isn't useful any longer 3. Fix parsing of PKG_DBDIR so that we don't depend on it having exactly 3 components. This also saves 2 external calls to cut. 4. For the --clean-distfiles[-all] options sort the list before printing to make it easier to see when files are related. 5. Instead of repeating the tests on when to run read_distinfos() do them once in the initialization phase then rely on whether or not DI_FILES is set. 6. Improve some messages to make their meaning more clear Excellent beta testing and feedback by: Christer Solskogen Major funding for the package code, including the --packages-build and --packages-if-newer options was provided by Modirum MDpay. Additional funding provided by (in no particular order): Jan Hornyak Christer Solskogen R Koole Michael Proto Bard Skaflestad Paul Lambert Societe ToDoo Andrew Belashov Yoriyuki Sakai Flemming Jacobsen Julian Stecklina Douglas Berry Beat Gatzi Christopher Dawkins Mark Boolootian Soeren Schroeder Christoph Sold More information on sponsorship is available at: http://dougbarton.us/portmaster-proposal.html My deepest appreciation to the FreeBSD community for the outpouring of support that allowed me to complete this portion of the project. * Update for version 2.12dougb2009-09-153-2/+116 | | | | | | | | | Add OPTIONS to install programmable completion files for Bash and zsh. The Bash file is mine, the zsh file and installation suggestions are from the PR. Additional testing for the zsh completions from garga. PR: ports/127319 Submitted by: Shota Iwazaki <iwazaki8@yahoo.co.jp> * Update for version 2.12:dougb2009-09-151-10/+18 | | | | | | 1. Document new --list-origins feature 2. Indicate that -x can be used more than once 3. EXAMPLES for both * New Featuresdougb2009-09-151-96/+132 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ============ 1. The -x option can now be specified more than once. 2. The --list-origins option will list origins from root and leaf ports for use in rebuilding all ports (for example after a major version upgrade). This requires moving ports_by_category() up into the --features section Improvements ============ 1. Error checking for -f and -i now fails instead of silently unsetting -i 2. In dependency_check(): a. Switch to $origin instead of $d_port in several places to make the messages to the user more clear and consistent b. $origin is also better for check_interactive() c. Move check_exclude down to after CONFLICTS check, and use $iport if it exists. This is more consistent with how check_exclude() usually works 3. Prefix DEPTH, PARENT_PID and EXCL environment variables with PM_ 4. Tighten up multiport by saving confirmed directories into a temporary list, then running check_exclude() and check_interactive() against each item of the temporary list, then adding to the final list 5. Execute make in a subshell and unset some of the more unwieldy environment variables in that shell. (Suggestions and testing by avg) Details for -x: =============== 1. Since there may be multiple arguments for PM_EXCL, use export not $ARGS 2. Move the error checking into getopts 3. In check_exclude() go through each pattern in turn * Update for version 2.11dougb2009-08-251-1/+1 | * 1. Add a "quick start" note to the top of the man page that directsdougb2009-08-251-6/+25 | | | | | | | | | users to the EXAMPLES section. 2. Expand the EXAMPLES with some more commonly used features. 3. Minor tweaks to other texts. This version will go out with portmaster version 2.11 but the changes are not specific to that version. * In the previous update I did s/$globlist/$glob_dirs/ in multiport()dougb2009-08-251-2/+2 | | | | | | | | | to make the code match the equivalent code in the main command line parser, but I missed one which meant that if you specified multiple glob patterns on the command line it no longer matched anything. "Hey this doesn't work anymore" by: Florian Smeets <flo@smeets.im> "I will do global searches for even small variable changes" x 1000: me