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})
does not clobber the existing definitions because of the `?='
assignment.
Grepping the whole ports tree, a few dozen ports already define this
variable on their own and most of them have the same value as this
(${PREFIX}/share/examples/${PORTNAME}).
Approved but not committed by: portmgr
As I didn't see why the full package name is needed there, I changed
it to a simple regexp that matches any later version of the XFree86
3.x port.
No response from: portmgr
- Do not shrink series of spaces.
- Do not expand shell wildcards in pkg-comment.
I made the code cleaner and (3-4%) faster while I was at it.
Tested by: diff(1) and its option -b
(Maintainer timeout)
This is the fastest way to move forward. A better way would be to
set USE_AUTOCONF and USE_AUTOMAKE to the version desired. We can do that
later, I don't want to hold up the update of the autoconf and automake
ports the latest versions.
less ports have to use NO_LATEST_LINK, and we won't have to keep artificially
setting the PORTNAME to get the Latest link logic to do something reasonable.
Approved by: will