for INDEX builds [1]
* Remove the parallel target from Makefile; this is heavily tied to
the package build cluster and can be better done in the makeparallel
script (commit to follow) [2]
* Extend the format of INDEX to separately list the
EXTRACT/PATCH/FETCH_DEPENDS instead of lumping them all in together
with BUILD_DEPENDS. The three new fields are appended to the end of
the record in that order. [2]
* Change BROKEN to IGNORE in BROKEN_WITH_MYSQL failure code [3]
* Support non-default PREFIX for perl 5.00503 [5]
* Use pkg_info -I instead of ls when searching for conflicts [6]
* Allow local customization of the port subdirectories by including
${.CURDIR}/Makefile.local in bsd.subdir.mk if it exists [7]
* Fix 'make search' when ${PORTSDIR} is a symlink to a directory name
containing extended regexp metacharacters [8]
Submitted by: linimon [1] [3], kris [2], lth [4], sem [5], eik [5] [6],
Roman Neuhauser <neuhauser@chello.cz> [7]
PR: 68299 [1], 67705 [3], 67264 [4], 59696 [5], 66568 [6],
68072 [7]
* Don't assume root is using /bin/sh when switching credentials to
configure OPTIONS. [2]
* Support glob expressions in USE_GETTEXT to allow more flexibility
in the face of future gratuitous library version bumps by the gettext
developers [3]:
USE_GETTEXT=yEs # Works as before (case-insensitive)
USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions
# in the LIB_DEPENDS
* Correctly register dependencies when a non-system perl port is used
on 4.x [4]
* Extend 'make search' support to allow much more flexible searching.
Syntax will be documented in CHANGES for brevity. [5]
* Reorder the post-install-script target to before add-plist-info for
consistency [6]
* Various fixes to support port operations when a port directory
exists under /usr/obj [7]
* Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH
dependencies since many ports require perl in those stages [8]
* Move info file deregistration later in the deinstallation process so
it works properly. [9]
* Improve wording in EXPIRATION_DATE message. [10]
* Fix dependencies for XFREE86_VERSION==3 (obtain imake from
x11/XFree86 now that the former port is gone) [11]
* While building index, treat non-existent dependencies as fatal.
Previously the error was being hidden by the stderr redirection. [12]
* Don't always retry BROKEN ports when package building (it is taking
too much time to continually rebuild ports that are usually going to
really be broken). Set TRYBROKEN if you want to attempt a build of
a BROKEN port. [12]
* Revert incorrect change from 1.487 relating to ALL-DEPENDS-LIST [13]
PR: 24214 [1], 67529 [2], 63937 [3], 65554 [4], 40699 [5],
59162 [6], 63372 66567 [7], 63394 [8], 65304 [9],
65931 [10], 66565 [11], 66743 [13]
Submitted by: roam [1], will [1], hrs [2], mi [3], ade [4],
Roman Neuhauser <roman@bellavista.cz> [5],
Sergey Matveychuk <sem@ciam.ru> [6], gad [7],
adamw [8], kris [8][12], dinoex [9],
Alexey Dokuchaev <danfe@regency.nsu.ru> [10],
eik [11][13]
* Move the add-plist-info target after post-install, so that ports that
install their info files in the post-install phase will have them
correctly registered in the plist.
* all-depends-list was too aggressive: it should only include the
run-depends of the ports upon which it depends, plus the
non-runtime dependencies of the port itself. Previously it was also
including the non-runtime (e.g. BUILD, EXTRACT, FETCH) dependencies of
the ports upon which it depends, which are irrelevant.
This is essentially a null-commit, with the one exception that
the "patch-libtool" target is now called "patch-autotools" for
consistency with "run-autotools".
Many thanks to kris for testing on the 4-exp bento cluster
Approved by: portmgr (kris)
Verified by: bento 4-exp
INFO_PATH variable may be used to specify their location. It defaults
to 'share/info' for the standard PREFIX, and 'info' when PREFIX ==
/usr. [1]
- Remove the <category>/pkg/COMMENT files in favour of a COMMENT
variable in <category>/Makefile [2]
- Prevent patch breakage with VERSION_CONTROL=numbered [3]
- Fix some instances of incorrect WRKDIRPREFIX handling. [4]
- remove useless ${MKDIR} ${WRKSRC} in config target [5]
- remove reference to OpenBSD [6]
- Exempt devel/p5-Module-Build from the self-dependency in
PERL_MODBUILD so that this port may use the option without getting an
infinite dependency list [7]
- The default PERL_ARCH is currently determined as a function of
OSVERSION. It should however be a function of PERL_LEVEL since the
correct value depends on what Perl version one has installed (older
Perl versions use ${ARCH}-freebsd, newer versions use mach). [8]
- Fix PORTDOCS on older (4.7, 5.0) systems [9]
- Allow 'make parallel' to generate a working makefile when not all
categories are present (this does not mean you'll be able to build all
ports, unless you make sure they don't have external dependencies) [10]
- Don't report symlinks as world-writable in the security check [11]
- Fix a comment that was broken by a mismerged patch [12]
- Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13]
- Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is
empty and DIST_SUBDIR is set. [14]
- Fix comment for DISTDIR [15]
- Update the documentation of the USE_GL variable [16]
- Check to see if NONEXISTENT exists, and fail with an error if it does [17]
- Fix fetching of new distfiles in 'make makesum' when SIZE is set [18]
- Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19]
- Rework INDEX builds: [20]
* Fix the bsd.port.subdir.mk code that is supposed to report index
breakage (the fallback code wasn't actually being run because make
would halt immediately following the error). This should help with
INDEX error reports because it will immediately show the cause of
failure, so we won't have to pull teeth to extract it from the
submitter.
* Streamline the 'make describe' code a bit.
* Provide some basic instructions to the user when an index build
fails, on when and how to report index build failures (turn this off
with INDEX_QUIET=1)
* Removed INDEX_NOSORT, because I couldn't imagine it to be very
useful and it doesn't cost very much anyway.
* Don't prevent INDEX builds from seeing the local host environment.
Since a lot of users are using 'make index' thesedays they should get
an index that reflects their local settings and installed ports. If
you want to build a 'default' index that isn't influenced by local
settings (e.g. for release builds), set the INDEX_PRISTINE variable.
* Allows parallel INDEX builds (using make -j). The most obvious way
of doing this doesn't work, because I/O from child makes is broken up
into 2k chunks, and output lines from 'make describe' that exceed this
length (*cough* GNOME *cough*) will be intertwined with the output of
other makes, leading to a corrupted INDEX. The I/O interleaving
can be disabled using 'make -P', but this inserts extraneous output of
its own, and redirects stderr, making it useless for our purposes.
Instead, I collect the output from the child make processes in
temporary files and recombine them at the end.
* The number of concurrent make processes to spawn can be set using
INDEX_JOBS. By default this is set to 2, which seems to be a sweet
spot for both single and dual-processor systems. On my tests I do not
see any significant performance changes on UP, but on a dual 4.x
system the build time drops by 47% (6 minute index builds on one test
machine!). Depending on your disk and CPU hardware you might see
further gains with INDEX_JOBS=4 or higher, so you might like to
experiment to see what works best. On a dual 5.x system the
performance gains do not seem to be as great (20-30%), but this is
still a significant net win.
PR: 55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5],
62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10],
63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15],
64236 [16], 64519 [17], 62958 [18], 64237 [19]
Submitted by: lev [1],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [2],
Joel Ray Holveck <joelh@piquan.org> [3],
ade [4], Sergey Matveychuk <sem@ciam.ru> [5],
markus [6], mat [7], des [8], eik [9],
Dmitry Morozovsky <marck@rinet.ru> [10],
Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13],
edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
* Remove trailing whitespace from bsd.port.mk [2]
* Enhanced OPTIONS handling [3]
* Add a USE_ICONV macro [4]
* Add a USE_GETTEXT macro [5]
* Add support for p5-Module::Build [6]
* Enhance bsd.sdl.mk with WANT_SDL [7]
* Remove NetBSD and OpenBSD bits from bsd.port.mk [8]
* Correct a type in PKGDIR description in bsd.port.mk [9]
* Add new DIRNAME macro [10]
* Cleanup bsd.port.mk [11]
* The default Perl for -CURRENT has been updated to 5.8.2 [12]
* Optimize recursive operations on the ports tree [13]
* Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is
not defined [14]
* Remove sysutils/rc_subr dependency on -CURRENT [15]
* Add MySQL 5.X support to the ports system [16]
* Fix a comment typo related to MySQL [17]
* Change PTHREAD_{CFLAGS,LIBS} behavior [18]
* Do not check distfile size on FreeBSD < 4.8 [19]
* Do not install ports with security vulnerabilities [20]
* Use ${LOCALBASE}/sbin/pkg_* tools if found [21]
* A new net-mgmt physical category has been added [22]
* Stop relying on port.mkversion [23]
* Fix a regression in checksum processing [24]
* Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25]
* Switch to root to run config and rmconfig targets [26]
* Add SIZE attributes for distfiles by default [27]
PR: 61683 [3]
62131 [4]
61992 [5]
61621 [6]
61877 [7]
61401 [8]
61684 [10]
61684 61955 [11]
61857 [12]
61757 [14]
61454 [15]
60559 [16]
62039 [20]
62039 [21]
61856 [23]
61972 [27]
Submitted by: ale [1]
marcus [2]
eik [3]
trevor [4]
trevor [5]
skv [6]
edwin [7]
Markus Brueffer <brueffer@phoenix-systems.de> [8]
trevor [9]
eik [10]
eik des [11]
des [12]
kris [13]
marcus [14]
Sergey Matveychuk <sem@ciam.ru> [15]
ale [16]
linimon [17]
eischen netchild [18]
marcus netchild [20]
eik [21]
wollman [22]
des [23]
marcus eik [24]
marcus [25]
marcus [26]
trevor [27]
would fail make checksum. Note: this is the simplest fix, but there is a
more complete fix by eik and myself that works in the spirit of the original
distinfo cleanup patch. However, that patch needs to be tested on bento first.
PR: 61772
Submitted by: dinoex
${PORT_DBDIR} is /var/db/ports and ${UNIQUENAME} is
${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}. OPTIONSFILE, PORT_DBDIR,
and UNIQUENAME are all overrideable by the porter.
Note: a better solution may be forthcoming after it can be shaken out
on bento. This is a simple fix to workaround PORTNAME conflicts in the
tree.
Submitted by: eivind
* Make CONFIGURE_MAX_CMD_LEN default to sysctl -n kern.argmax which is more
accurate, and has been in FreeBSD since the beginning (NOTE:
CONFIGURE_MAX_CMD_LEN is still overrideable from a port's Makefile) [2]
Submitted by: eik [1]
Requested by: juli [2]
* Add ghostscript knobs [1]
* Add per-port persistent build options with a menu-driven front-end [2]
* Allow porters to override the message generated when do-configure fails [3]
* Add patch to obviate many pkg-plist files [4]
* Fix the PKG_DBDIR comment [5]
* Make ports framework more robust with regard to make index [6]
* Add new command macros to bsd.port.mk [7]
* Remove direct command use from bsd.port.mk [8]
* Make the ports system respect WITHOUT_CPU_CFLAGS [9]
* Break the SDL code out into bsd.sdl.mk [10]
* Add working support for USE_SIZE [11]
* Fix RANDOMIZE_MASTER_SITES on -CURRENT [12]
* Convert some spaces to tabs [13]
* Add new physcial categories accessibility and x11-themes [14]
* Speed up GNU configure scripts [15]
* Remove "//" from MLINKS items in PLISTs and fix make -s install and
make -s deinstall [16]
* Be more specific about looking for files in distinfo [17]
* Add new run-autotools target, and resort configure targets [18]
* Make CONFLICTS compare prefix for installed packages and PREFIX [19]
* Change directory to ${.CURDIR} before running certain make commands [20]
* When INSTALL_AS_USER is set, run ldconfig with failures ignored [21]
* Speed up the security check phase [22]
* Fix some corner cases in the PORTDOCS code [23]
* Add a new DEPRECATED macro [24]
* Make INDEX breakage more informative [25]
Look for a full write-up to follow on ports@ and ports-developers@.
PR: 36112 [1]
59909 [4]
61351 [6]
59058 [7]
59058 [8]
59493 [9]
55494 [10]
59058 [11]
59315 [12]
59058 [13]
59811 [15]
59058 [16]
59058 [17]
60882 [18]
58149 [19]
59058 [20]
61133 [21]
55331 [22]
59070 [23]
59362 [24]
59626 [25]
Submitted by: linimon [1]
eivind [2]
marcus [3]
trevor [4]
gerald [5]
linimon [6]
eik [7]
eik [8]
jeh [9]
edwin [10]
eik [11]
Sergey Matveychuk <sem@ciam.ru> [12]
eik [13]
trevor gnome [14]
adamw [15]
eik [16]
eik [17]
edwin [18]
clement [19]
eik [20]
edwin lev [21]
Eugene M. Kim <ab@astralblue.com> [22]
eik [23]
linimon [24]
eik [25]
* Include SITE_PERL earlier [2]
* Use the correct versions of autoconf and automake [3]
* Add a PORTDOCS macro for automating installation of documentation files [4]
* Define a default Fortran compiler for each version of USE_GCC [5]
* Fix package builds when WRKDIRPREFIX is set [6]
* Add more comment documentation on default targets [7]
* Fix plist generation in certain cases [8]
* Fix COMMENT/COMMENTFILE checking [9]
* Use SU_CMD for deinstall and deinstall-all targets (provided
INSTALL_AS_USER is not set) [10]
* Define a default WWWOWN and WWWGRP [11]
* Make INDEX builds work even when the port name is the same as a default
target [12]
* Fix the new share/nls/C links [13]
* Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14]
* Document package-recursive [15]
* Create a new virtual category, lisp [16]
* Create a new real category, arabic
* Add a new GCCVERSION macro for eaisly tracking compiler version changes [17]
* Abstract out some of the common Apache bits [18]
* Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19]
* Add a new virtual category, pear [20]
* Add support for randomizing MASTER_SITES [21]
* Don't accept PORTVERSIONS that pkg_version can't handle [22]
* Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and
pkg-req scripts [23]
* Don't redirect stderr when running pkg_info -O. This may help troubleshoot
mysterious "Error 1" messages.
* Fix up the order of the various PKGNAME related macros to be consistent with
portlint [24]
PR: 21885 [1]
51588 [2]
55325 [3]
57778 [4]
55674 [5]
56096 [6]
56355 [7]
56533 [8]
57272 [9]
57378 [10]
57403 [11]
57438 [12]
57488 [13]
57664 [14]
57928 [15]
58232 [16]
58317 [17]
32604 [18]
57529 [19]
56582 [20]
48377 [21]
56960 [22]
58885 [23]
54351 [24]
Submitted by: trevor [1]
eik@fillmore-labs.com [2]
rehsack@liwing.de, ade [3]
eikemeier@fillmore-labs.com [4]
thierry@pompo.net [5]
Palle Girgensohn <girgen@pingpong.net> [6]
edwin [7]
leeym [8]
edwin [9]
fjoe [10]
edwin [11]
eikemeier@fillmore-labs.com [12]
fuyuki@nigredo.org [13]
eikemeier@fillmore-labs.com [14]
freebsd@generalresources.com [15]
linimon [16]
linimon [17]
dinoex [18]
eikemeier@fillmore-labs.com [19]
edwin [20]
seanc [21]
eikemeier@fillmore-labs.com [22]
Reviewed by: eikemeier@fillmore-labs.com [23]
* Fix bug where make install would fail if PKG_DBDIR did not already exist [2]
* Add MySQL components [3]
* Add OpenLDAP components [4]
* Separate OpenSSL components into bsd.openssl.mk [5]
* Separate GNUStep components into bsd.gnustep.mk [6]
* Add RC_SUBR support [7]
* Add a WANT_LESSTIF knob to use LessTif rather than Motif when USE_MOTIF is
set [8]
PR: 55616, 55721, 55953 [1]
55190 [2]
55597 [3]
55680 [4]
39054 [5]
50479 [6]
54116 [7]
36079 [8]
Submitted by: Mats Dufberg <mats@dufberg.se>, marcus [1]
Lev A. Serbryakov <lev@freebsd.org> [2]
Clement Laforet <sheepkiller@cultdeadsheep.org> [3]
Oliver Eikemeier <eikemeier@fillmore-labs.com> [4]
dinoex [5] [6] [8]
will [7]
built by non-root. However, sometimes it is desirable to install the
port as a non-privileged user. Introduce the INSTALL_AS_USER variable
to specify this behaviour. [1]
* Change SU to SU_CMD to allow other su-like commands to be used to
perform the privilege escalation when installing as non-root
(e.g. sudo) [2]
* Add support for USE_GCC=3.3 and 3.4 [3]
* Add support for the dns [4] and polish [5] categories, and the xfce
virtual category [6]
* Use the pkg_install port on systems older than OSREVISION=460102, so
they have the benefits of the advanced install/deinstall logic. [7]
PR: ports/55091 [1], ports/55308 [3], ports/50444 [4],
ports/53797 [5]
Submitted by: dinoex [1], fjoe [2], Ulrich Spoerlein <q@uni.de> [3],
Kimura Fuyuki <fuyuki@hadaly.org> [4],
Aleksander Fafula <alex@fafula.com> [5], oliver [6],
marcus [7]
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
sets up SDL_CONFIG in the build environment. [1]
* Add the -o option to unzip when extracting files with USE_ZIP, to
overwrite files when extracting, for consistency with other
extraction targets. [2]
* Fix port installation/deinstallation on FreeBSD 4.6.2 and older
(which does not have pkg_info -O), by falling back to the old
installation/deinstallation logic on these systems [3]
* Correctly handle pkg-plist files that contain @cwd directives with
the new install/deinstall code [4]
* Set up POSIX and en_US.US-ASCII locale symlinks after running mtree
on BSD.local.dist. [5]
Submitted by: David Yeske <dyeske@yahoo.com> [1],
Alexey Dokuchaev <danfe@regency.nsu.ru> [2],
Sergey Matveychuk <sem@ciam.ru> [3],
Chris BeHanna <behanna@zbzoom.net> [3], marcus [4],
ache [5]
PR: ports/52309 [1], ports/52856 [2], ports/53189 [5]
and config.sub found under ${WRKDIR} with the master versions from
${PORTSDIR}/Template. This allows old ports (which contain old versions
of these scripts) to build on newer architectures like ia64 and amd64.
Submitted by: naddy (initial patch, reworked by me)
set to a different value to that with which it was configured and
built. This is achieved by recording the PREFIX in the build-stage
cookies [1]
* Add scheme [2], tcl84 and tk84 [5] as virtual categories
* Add the PERL_PORT variable and use it to register the dependency on
the correct perl port when PERL_LEVEL is set [3]
* Add support for USE_AUTOHEADER [4]
* Fix 'make maintainer' when MAINTAINER is set to a bogus value (not
in user@example.com format). [6]
* Add a 'package-recursive' target to create packages for a port and
all of its dependencies [7]
* Fix command-line overflow errors in 'make readmes' on certain ports,
with the bonus of providing a measurable speed-up to readme
generation [8]
* Fix inclusion of alternative makefiles such as Makefile.inc,
Makefile.local, etc. (broken since 1.403) [9]
* Reintroduce support for install/deinstall targets checking for older
versions of the port, and re-add the deinstall-all target that
removes all existing installations of a port (originally introduced
in 1.446 and backed out in 1.450). This patch has been reworked to
eliminate the corner cases in the previous code. Ports that
dynamically generate their ${PLIST} at install-time must now do so
before the do-install target is run, e.g. in pre-install. [10]
* When installing ports as non-root, use su(1) to execute the targets
that require root privilege. This is achieved by splitting up the
_INSTALL_SEQ target list into _INSTALL_SUSEQ [11].
PR: 23581 [1], 47238 [2], 48465 [3], 50165 [4], 51985 [6],
52388 [7], 51609 [11]
Submitted by: Matt Emmerton <matt@gsicomp.on.ca> [1],
Sergey Matveychuk <sem@ciam.ru> [1] [7] [10] [11],
Kimura Fuyuki <fuyuki@hadaly.org> [2],
"Scot W. Hetzel" <hetzels@westbend.net> [3],
Anton Berezin <tobez@FreeBSD.org> [3], nork [4],
hsu [5], Mark Linimon <linimon@lonesome.com> [6],
hoek [8], sobomax [9], marcus [10] [11], des [11]
* kill devel/libtool and move to devel/libtool13, upgrading to 1.3.5
* upgrade repo-copied devel/libtool14 to 1.4.3
* break out libltdl into its own separate port
* move to version-numbered binaries/scripts (ie: there is *no* 'libtool'
any more -- USE_LIBTOOL and USE_LIBTOOL_VER are your friends)
Approved by: portmgr (kris) - for the bsd.port.mk hooks
Tested by: bento 4-exp builds (repeatedly)
'make deinstall' behaviour and stricter checking for an installed package.
There were some edge-case problems with these patches that we were not
able to solve in time for 5.1-RELEASE. They'll probably reappear in
a modified form soon after release.
Discussed with: marcus, Sergey Matveychuk <sem@ciam.ru>
- Stage II of pkg-comment removal; do not write out the comment to a
temporary file, but process it inline [2].
- Add support for the CONFLICTS variable to register the fact that a
port conflicts with installed packages. This relies on the -C
argument to pkg_create which is not yet present in 4.x, so the
variable is currently a NOP on 4.x. [3]
- Fix pkg-plist support for html manpages. This was broken as
committed in r1.402.
Submitted by: trevor [1], lioux [2],
Sergey Matveychuk <sem@ciam.ru> [3]
PR: 24292 [1], 47146 [3]
avoid installing packages when the target is configure or extract
[1]
- If PYTHON_VERSION is set, do not automatically add a dependency on
python: USE_PYTHON must now be specified explicitly. This allows the
variable to be set in make.conf or the environment to specify a
preference for the python version to be used. [2]
- When checking for an existing installation of the port, check by
port origin instead of only looking for the current version of the
package. [3]
- Do not install perllocal.pod files; they are not used on FreeBSD. [4]
- Improve 'make deinstall' to deinstall any existing version of the
package (e.g. older versions) instead of only trying to deinstall the
version currently described by the port. [5]
- Check for world-writable files/directories in the security-check
target. [6]
- Improve the patching of libtool so it works with pathnames ending in
a slash. [7]
- Allow ports that use the INSTALL macros to install files when
running as non-root (i.e. don't try to chown/chgrp) [8].
- Add the USE_GETOPT_LONG variable, which adds a dependency on
libgnugetopt on systems older than 500041, and uses the system version
otherwise. [9]
- Improve the fetch-required target to correctly deal with fetching
dependencies that use the ':target' form. [10]
- Add support for re-fetching interrupted distfiles. The FETCH_REGET
variable specifies the number of times to try continuing the distfile
fetch if it fails the md5 checksum. [11]
PR: 36083 [1], 44875 [2], 48646 [3], 48960 [4], 49017 [5], 49969 [6],
50069 [7], 50159 [8], 50323 [9], 50669 [10], 12325 [11]
Submitted by: dinoex [1], Gerhard Schmidt <estartu@augusta.de> [2],
Sergey Matveychuk <sem@ciam.ru> [3] [5], tobez [4],
Erwin Lansing <erwin@lansing.dk> [4],
Arjan de Vet <devet@devet.org> [6],
Hartmut Brandt <brandt@fokus.fraunhofer.de> [7], gerald [8],
Sergei Kolobov <sergei@kolobov.com> [9],
Erwin Lansing <erwin@lansing.dk> [10], alex [11]
so they appear after the *_depends targets. This fixes builds on systems
that don't yet have libtool installed (prior to this commit the
patch-libtool target would be called before the libtool port was
installed by the dependency targets, and it would therefore fail).
Submitted by: Claude Buisson <cbuisson@nerim.net>
* Fix 'make package-depends' so it doesn't overflow on large ports [2]
* Fix logic in 'USE_PACKAGE_DEPENDS' [3]
Submitted by: dinoex [1][3], marcus [2]
PR: ports/48860 [1], ports/36083 [3]
meaning and default settings [1]
* Add PATCH_DEPENDS and EXTRACT_DEPENDS, and convert various
internal bsd.port.mk dependencies to use them [2]
* Set the default MAN3PREFIX to ${PREFIX}/lib/perl5/${PERL_VERSION}
for perl ports, removing the need to define this locally in every
port [3]
* Replace perllocal.pod with perllocal.pod-${PORTNAME} so that perl
ports can be made to clean up after themselves properly [4]
* Properly quote filenames in the security-check target. This
unbreaks package registration for ports that install filenames
containing metacharacters [5]
* Use "cat /dev/null >" instead of "rm -f" in the makesum target so
that the file retains the correct ownership and permissions [6]
* Add a USE_PACKAGE_DEPENDS knob that may be set in the environment or
make.conf, and which attempts to use existing local packages to
satisfy port dependencies, instead of building them from ports [7]
* Add a first attempt at fetch-required and fetch-required-list
targets which fetch or print all the distfiles that are required to
build the port. Dependencies that are already installed need not
have their distfiles listed, and will not be reported [8].
This needs more work, because ports that do things like:
BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/foo/bar:blee
will not have their distfiles listed and will therefore fail to fetch
completely. The target needs to be changed to include distfiles for
ports that have a target listed
Submitted by: Mark Linimon <linimon@lonesome.com> [1],
Jim Trigg <jtrigg@spamcop.net> [2], skv [3],
kuriyama [4], marcus [5], sheldonh [6], dinoex [7],
Erwin Lansing <erwin@lansing.dk>
PR: 44841 [1], 29856 [2], 39662 [3], 48439 [5], 48450 [6],
36083 [7], 48473 [8]
(RESTRICTED, NO_PACKAGE, NO_CDROM, BROKEN) to match current reality. Add
documentation of the FORBIDDEN and IGNORE variables.
Garbage collect the commented-out FORBIDDEN string for the openssl ports
since we no longer need to forbid crypto software.
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
later, and INDEX on earlier systems. Use this in the 'make index' and
associated targets. This is necessary to deal with the substantially
different dependencies of ports between 4.x and 5.0 (e.g. ports that
depend on perl).
but do not cause the program to be executed prior to configure step. This is
done to accomodate a couple of rather odd ports.
Basically, this amounts to redefining USE_*_VER in terms of USE_*, WANT_*_VER.
It's pretty gross, but it works.
Approved by: implicitly by kris
Completely rewrote the automake/autoconf support. The comments at the top of the file have been greatly expanded in order to explain just what you are allowed to do and what will get you a visit from Mr. Hose. Please read this information.
Added DOCSDIR, EXAMPLESDIR to PLIST_SUB.
Added a PERL_LEVEL variable (documented up top) that gives an integer
value that can be used for comparisons to determine whether the user's
perl is new enough or not, or to enable or disable certain dependencies
(AHEM FILE::SPEC) based on the perl version.
Added a SITE_PERL variable, which points to the correct "site-packages"
directory. This is also added to PLIST_SUB.
No gerbils were harmed (seriously, anyway) in the making of this patch,
however some of them may be a bit sore for a few days.
Submitted by: billg
Reviewed by: kris
Approved by: kris
Obtained from: you really don't want to know this one
* Add USE_PERL_RUN and USE_PERL_BUILD to add {RUN,BUILD}_DEPENDS on the
perl5 port if required (i.e. on 5.0 or later) (USE_PERL adds both,
which is not always appropriate) [1]
* On 5.0 systems without perl, depend on the full path to the perl port
binaries to not pick up the system perl wrapper
* If PERL_CONFIGURE is defined, move the USE_PERL setting earlier in
the makefile so it actually adds a dependency. [2]
Noticed by: dougb [1]
Submitted by: sobomax [2]
Tested on: bento
extensively tested on the bento cluster, but the committed version
introduces significant new breakage at a very inopportune time. This
will be revisited later.
totally rewrote the autoconf/automake support section, with
provisions for autoconf 2.54 and automake 1.7.x when they are
ready.
Minor change:
Added DOCSDIR, EXAMPLESDIR, and DATADIR to PLIST_SUB.
PR: 42351
Reviewed by: kris
Approved by: kris
* If the ${COMMENT} file does not exist, use the value of the
${PORTCOMMENT} variable instead. This will allow us to incrementally
phase out pkg-comment [1]
* Miscellaneous fixes to the MASTER_SITES_N code [2]
* Correct fmt(1) invocation so it works on older systems [3]
* Improve the security-check target: [4]
- Look for setuid/setgid binaries, and binaries that include
calls to accept()/recvfrom() (which are likely to be network
servers or have network server capability)
- Check these binaries for insecure functions (if PORTS_AUDIT is
set in the environment, check for a larger set of functions
such as strcat/strcpy/sprintf)
- Report network servers that are started by default.
Submitted by: eric [1], lioux [2], fenner [3], kris [4]
PR: ports/36078 [2], ports/36709 [2]
* Fix some problems in previous revision relating to writability test of
${DISTDIR}, by moving the check a) after we have made the directory if
it doesn't exist, and b) inside the loop that actually fetches files,
so the check isn't performed with every port make operation that depends
on the fetch target (this breaks non-fetch targets as a different user)
[2]
Submitted by: bmah [1]
Reported by: ijliao [2]
Tested on: bento
* Replace some bare uses of cat with ${CAT}
* [ports/19112] Ignore RCS files (*,v) when applying patches
* [ports/19270] Check whether ${DISTDIR} is writable and fail with a
better error message if not (mostly caused by trying to fetch as the
wrong user)
* [ports/23560] Force patch backup files to be created with .orig suffix
* [ports/34717] Don't enclose PTHREAD_LIBS in quotes, because it will
cause problems if used in an already-quoted string.
* [ports/34987] Fix an awk warning in MASTER_SORT/MASTER_SORT_REGEX code
* [misc/38724] Change some uses of the deprecated test -h to test -L
* [1] Registering real dependencies: dependency registration looks at the
currently-installed version of the dependency and registers that version,
instead of registering the version in ports which may be newer than
what is installed.
* [2] Further 100% speed-up of dependency registration process by eliminating
second call to package-depends (using information from the first call
stored in +CONTENTS file of package being installed). Very useful
for developing GNOME or similar packages with zillion dependencies,
when package-depends target could take few minutes to complete;
* [2] Proper set-up of ${SHELL} variable in build environment, so that user's
interactive shell isn't picked instead. This has various implications,
ranging from build process speed-up due to using /bin/sh to invoke
libtool instead of bash or any other much more bloated user's shell
(configure scripts often pick it up from the ${SHELL} environment),
to fixing problems some users have when building random ports.
Submitted by: sobomax [1] [2],
Aleksandr A. Babaylov <.@babolo.ru> [ports/19112],
Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> [ports/19270],
Alan Bawden <Alan@LCS.MIT.EDU> [ports/23560],
Christian Weisgerber <naddy@mips.inka.de> [ports/34717],
knu [ports/34987], april <april@oublinet.net> [ports/38724]
PR: ports/19112, ports/19270, ports/23560, ports/34717,
ports/34987, ports/36237, ports/38724
Tested on: bento 4-exp build
bsd.gnomeng.mk. Also increase OSVERSION `sed -i'check to be 500036 on
-current, as users report that 500034 isn't sufficient to catch new sed(1)
functionality.
Approved by: portmgr (silently)
where sed(1) can't do in-place editing add a new USE_REINPLACE knob, which
if turned on defines REINPLACE_CMD and adds textproc/sed_inplace port into
BUILD_DEPENDS if necessary.
Not objected by: portmgr@
1. Make PY_DISTUTILS recently added into <bsd.python.mk> actually working.
PR: 36537
Submitted by: tg
2. Propagate error code from failed `make depends', when one of the ports
we depend upon is marked BROKEN/FORBIDDEN.
PR: 25522
Submitted by: alex
3. By default, when bsd.port.mk configurating Makefile.PL only pass
PREFIX as argument, but some Perl module (eg. Test-Harness) needed
INSTALLPRIVLIB and/or INSTALLARCHLIB in order to install, otherwise
default installation will goes to /usr/lib and not ${PREFIX}/lib,
in some case, adding these tag to CONFIGURE_ARGS is not bad.
PR: 29681
Submitted by: Shell Hung <shell@shellhung.org>
4. Update patch-libtool target, so that it doesn't break ports with
autoconf 2.13-generated configure script. USE_LIBTOOL is still not
very useful for such cases, but at least it doesn't break them badly
anymore.
PR: 31142
Submitted by: wjv
5. Make `make search' working even when /usr/obj/usr/ports exists.
PR: 31862
Submitted by: gad
6. When configure script fails unexpectedly don't dump thousands lines of
config.log to the user's screen, because it usually doesn't contain
information useful for tracking the problem anyway. Instead display a
message asking a user to report the failure to the proper entity
(maintainer) and what to include into the problem report.
PR: 34459, 35488
Submitted by: Thomas Hurst <freaky@aagh.net>
Alan Eldridge <ports@geeksrus.net>
sobomax
other countless hackers whose names are lost in the noise
Text of message suggested by: asmodai
7. Make PREFIX=/usr situation more sane. When PREFIX is set to /usr,
bsd.port.mk uses MANPREFIX=${PREFIX} and BSD.local.dist for mtree as
always, however those defaults are not appropriate for /usr, and better
options are available.
PR: 36030
Submitted by: DougB
8. Use ${ECHO_CMD} instead of ${ECHO} everywhere in the bsd.port.mk to
avoid clashing with system .mk settings (${ECHO} has a different meaning
there). Actually the patch is imcomplete, because large portion of those
${ECHO_CMD}s should be ${ECHO_MSG}, but this one will at least make Bruce
happy, which shouldn't be underestimated.
PR: 34988
Submitted by: knu
All of the above tested by: bento
Special thanks goes to: kris (for his help with getting this tested)
-------------------------- THE END (to be continued) ------------------------
the bug resulted in "sh: Argument list too long" message during dependency
registration process.
Reported by: *many*
Submitted by: Joe Marcus Clarke <marcus@marcuscom.com>
working as advertised. This should fix mod_phpX and probably some other 30
ports that use USE_SUBMAKE. Default behaviour remains exactly the same.
Prompted by: dirk
macro, which was invoking separate make(1) process for each of the main
targets, with explicit make(1) targets and specifying the dependencies on
those targets in normal Makefile way. This gives up to 4x speedup. For the
ports relying on the old functionality (i.e. each main target in a separate
make(1) process) provide a USE_SUBMAKE knob, which provides old behaviour;
- speed-up dependency registration process by the factor of two, which
could be a great win especially for things like GNOME and KDE with very long
dependency chains;
- clean-up internal structure of the file, so that it is easier to understand
and extend it when necessary.
Inspired by: NetBSD
Reviewed by: freebsd-ports@
Tested by: bento
[1] Handle HTML-ified manpages in plists.
[2] Add --x-[libraries,includes]=${X11BASE}/[lib,include] if we are
using GNU_CONFIGURE in this port. This is required if the port
adds a bunch of other libraries by default to CPPFLAGS and
configure gets a false positive.
Submitted by: [1] sf
[2] many people
4.5 release.
1) Add support for MASTER_SITE_N. This is by far the largest part of
this patch; many thanks to Mario for his hard work on this!
Submitted by: lioux
2) Allow multiple CD mountpoints to be specified.
PR: 8063
Submitted by: MOROHOSHI Akihiko <moro@race.u-tokyo.ac.jp>
Rewritten by: will (with suggestions from steve)
3) Fix MLINKS description.
PR: 29876
Submitted by: dirk
4) Add imake dependency for XFree86 3.x when USE_IMAKE is defined
because it's possible the port may not need X itself, but just imake.
Submitted by: max
5) Fix installing as non-root with ${INSTALL*} macros.
PR: 25531
Submitted by: Martin Kammerhofer <mkamm@gmx.net>
Thanks to Kris Kennaway <kris> and Steve Price <steve> for helping make the
experimental tree on bento a reality.
by will
1) Make selection of AUTO{CONF,MAKE} flexible depending on *_VER
variables.
2) This is backward compatible with previous behavior. For example,
{ACLOCAL,AUTO{CONF,HEADER,MAKE,RECONF,SCAN,UPDATE,IFNAMES}} are
set with default values even if USE_AUTO* are not set.
3) Have the defaults be devel/autoconf213 and devel/automake14 ports
(just set the USE_*VER?= to the latest values, or a bogus value).
If the user sets a bogus value, we use the default values.
4) Furthermore, add variables in the same sense of the
PTHREAD_* vars. We must be able to automagically patch the ports
based on the correct
{ACLOCAL,AUTO{CONF,HEADER,MAKE,RECONF,SCAN,UPDATE,IFNAMES}}
values.
5) Moreover, add {ACLOCAL,AUTO{MAKE,CONF}}_DIR variables pointing
to the right locations based on the *_VER variables, this is
useful if a port needs to grab files from those. This might seem
too much but if we want automagical, we should go this extra
mile.
Requested by: too many
Reviewed by: portmgr, ports
Approved by: portmgr (will), ports (silence)
automatically added if there is a .bz2 patch in PATCHFILES.
PR: ports/16252 and ports/30862
Seven months have passed since the PR was assigned to: portmgr
BZCAT, BZIP2_CMD, CHGRP, CUT, DC, ECHO_CMD, EGREP, FILE, FIND,
HEAD, ID, IDENT, STRIP_CMD, SU, TAIL, TEST, XARGS
And use shell (ash or ksh) builtins where available for efficiency:
ECHO_CMD, FALSE, TEST, TRUE
Grepping the ports tree, a few dozen ports already have FIND,
STRIP_CMD and XARGS variables on their own and numerous ports use
these commands without using macros. Some ports use FILE as a .for
loop variable, but it doesn't matter anyway.
Obtained from: NetBSD
Remove the definition of ECHO because it is already defined in
/usr/share/mk/sys.mk and leaving the useless definition may mislead
developers. Add the following comment that would help:
# ECHO is defined in /usr/share/mk/sys.mk and its value can either be
# "echo", or "true" if the make flag -s is given. Use ECHO_CMD where
# you mean the echo command.
No response yet from: portmgr
Clued by: Cyrille Lefevre <clefevre@citeweb.net> (on ${ECHO})