be used inside Makefiles for testing.
Submitted by: sobomax
(2) Use newly added /etc/mtree/BSD.x11-4.dist when XFREE86_VERSION=4.
Requested by: taguchi@tohoku.iij.ad.jp
(3) Re-enable MASTER_SITE_OVERRIDE and MASTER_SITE_BACKUP
functionalities by making MASTER_SORT ignore them (i.e., leave
*_OVERRIDE at the beginning and *_BACKUP at the end). As a side
effect, there are new targets "master-sites" and "patch-sites"
that will print out the correctly sorted versions of said lists.
Reviewed by: the ports list
(3') Sort patch sites too, not only master sites.
Reviewed by: the ports list
(4) New target "deinstall-depends" which will do a "make deinstall" in
all ports this one depends on.
(4') Only run pkg_delete from the deinstall target when package
exists, to avoid "no such package installed" errors.
REQUIRES_MOTIF case, so it won't picking up unneeded xpm
dependencies when XFree86-4 is being used.
(2) New variable MOTIF_OPEN which depends to x11-toolkits/open-motif
instead of commercial variants. This is for testing only -- I
intend to replace the whole Motif hackery with a normal dependency
to open-motif when it is proved sufficient.
(3) Fix typo in XAWVER, I had the XFree86-3 and 4 cases backwards.
Submitted by: steve
(4) Add BUILD_DEPENDS to devel/imake-4 when USE_IMAKE is set and
XFREE86_VERSION=4. Otherwise ports won't be able to find imake.
Reported by: alex, among others
(5) Make USE_XPM, USE_DGS, USE_MESA and USE_FREETYPE imply USE_XLIB
when XFREE86_VERSION=4. Otherwise some ports can't find them.
(6) Add new target "pre-everything" that is called before fetch. Use
this (instead of pre-fetch or .BEGIN) if you want something to be
done before one of the normal targets are run. Switch perl
version check to use pre-everything, otherwise you can't even
build a 5-current index on a 4-stable machine (for instance).
(7) Add "ruby" to list of valid categories.
Requested by: knu
XFree86 (3 or 4) to depend to when USE_XLIB is set.
XFREE86_VERSION defaults to 3 for now, but adventurous users can
override it in /etc/make.conf. When XFREE86_VERSION=3, USE_XLIB
will add a dependency to x11/XFree86; when it is set to 4, the
dependency will be to x11/XFree86-4-libraries. When
XFREE86_VERSION=4, the PKG_IGNORE_DEPENDS and ALWAYS_BUILD_DEPENDS
hacks to avoid messing with XFree86 are turned off.
Since XFree86 version 4 includes some software that used to be
separate ports, when XFREE86_VERSION=3 the following variables are
provided:
USE_DGS LIB_DEPENDS on x11/dgs
USE_FREETYPE LIB_DEPENDS on print/freetype
USE_MESA LIB_DEPENDS on graphics/Mesa3
USE_XPM LIB_DEPENDS on graphics/xpm
When XFREE86_VERSION=4, these variables have no effect. The
LIB_DEPENDS in the tree for the above four ports have all been
converted to the USE_* counterparts. For your information, this
is the count of the number of ports:
USE_DGS 0
USE_FREETYPE 16
USE_MESA 36
USE_XPM 236
There is a new variable, XAWVER, which is set to 6 when
XFREE86_VERSION=3 and 7 when XFREE86_VERSION=4. This is also
passed to PLIST_SUB so ports that build Xaw based shared libraries
can use this variable to substitute the shlib version number.
There is also a provision of using a separate mtree file for
XFREE86_VERSION=4, but that part is not enabled yet.
Reviewed by: the ports list
Tested by: make index (XFREE86_VERSION=3 only)
(2) Add hebrew to list of valid categories.
Submitted by: nbm
MASTER_SORT="foo.bar.co.jp bar.co.jp .jp" bsd.port.mk will try the
machine foo.bar.co.jp, then any machine in the domain bar.co.jp,
then any machine in the domain .jp. It might be useful for people
in an island (network-topologically speaking).
Submitted by: knu
Obtained from: NetBSD
(2) Deal with mtree's changing flags by looking at ${OSVERSION}
Submitted by: ache
(3) Don't generate code to try to erase an empty info/dir file if
NO_MTREE is set -- although it will probably never happen that
/usr/share/info/dir will be empty, it's still wasted code.
EMACS_NO_BUILD_DEPENDS, if set "YES" to this variable, port does not
build-depend on EMACS_PORT_NAME's emacsen.
EMACS_NO_RUN_DEPENDS, if set "YES" to this variable, port does not
run-depend on EMACS_PORT_NAME's emacsen.
Submitted by: markm (and many others)
(2) Move one PLIST_SUB line from the pre.mk section to post.mk section
so it won't cause unwanted side effects.
Spotted by: sobomax
especially XCONTRIB, SUNSITE, GNOME, CPAN, CTAN, COMP_SOURCES, and others.
The vast majority of the site hunting was my own work. However, KATO-san
submitted a number of Afterstep/Windowmaker sites I missed.
PR: 19378
Submitted by: KATO Tsuguru <tkato@prontomail.ne.jp>
previous commit message to bsd.port.mk, which said INSTALL_SHLIBS. Boo.)
Line up the rhs of variable assignments nicely. Remove a couple of extra
whitespaces while I'm here.
Suggested by: sobomax
INSTALL_SHLIBS is set, ldconfig is automatically called from
post-install and necessary @exec and @unexec lines are added to
PLIST.
Requested by: lioux@uol.com.br
Reviewed by: the ports list, in particular sobomax
(1a) Add
PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
to PLIST_SUB. These are needed by INSTALL_SHLIBS, but also could
be useful in general.
(2) Move master/mirror site definitions to bsd.sites.mk and include it
from bsd.port.mk. Open bsd.sites.mk to other committers.
Submitted by: reg
(2a) Add MASTER_SITE_SOURCEFORGE.
Submitted by: sobomax (who wrote SORCEFORGE, but I assume that's a typo :)
(2b) Move MASTER_SITE_LOCAL from ".../ports/distfiles/LOCAL_PORTS/" to
".../ports/local-distfiles/%SUBDIR%/" which will be mirrored from
peoples' ~user/public_distfiles on freefall. Add two mirrors
(Japan and Germany).
Requested by: obrien (moving)
Submitted by: will (German mirror)
(3) Simplify definition of PKGBASE since it can now be defined as
simply ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}, instead of
sed'ing out the version number from ${PKGNAME}.
Submitted by: hoek
(4) Remove unnecessary targets prefix and mtree-file, which can be
implemented as "make -V PREFIX" and "make -V MTREE_FILE",
respectively. Don't define MTREE_FILE when NO_MTREE is set so
"make -V MTREE_FILE" won't print out anything.
(5) Various minor typo and grammar fixes.
(6) Define NONEXISTENT?=/nonexistent. This will help quiet portlint
warnings, among other things.
support. Implies USE_AUTOCONF.
Submitted by: kiri@pis.toba-cmt.ac.jp
Reviewed by: ports
(2) New variable CONFIGURE_WRKSRC (default: ${WRKSRC}) to be set when
${CONFIGURE_SCRIPT} needs to be run in some place other than
${WRKSRC}.
Submitted by: Mario Ferreira <lioux@uol.com.br>
Reviewed by: ports
(3) Slight change in message about the port being too old for
bsd.port.mk due to missing PORTNAME/PORTVERSION. Explicitly say
that the user needs to update the port (although I'm not sure how
anyone can interpret the old message otherwise ;).
(4) Use NO_CHECKSUM instead of the undocumented FORCE_FETCH to
override the "distfile missing from files/md5" check. Also change
the NO_CHECKSUM message a bit more forceful ("If you are
absolutely sure...").
Submitted by: mharo
(5) Refer to the OpenSSL section in handbook by name, not number.
Approved by: Kris
PR: 17524
(6) New file bsd.emacs.mk that will be automatically be included if
EMACS_PORT_NAME is defined. bsd.emacs.mk sets various variables
to make maintenance of emacs ports easy.
Submitted by: shige
Reviewed (in spirit) by: ports, ports-jp
(7) Remove the automatic creation of ${PREFIX}/info/dir from
/usr/share/info/dir (install-info from 3.1R onwards automatically
creates the dir file if none exists). Delete ${PREFIX}/info/dir
upon deinstallation if it doesn't have any menu entries.
Reviewed by: ports
(8) Two new targets mtree-file and prefix. They print ${MTREE_FILE}
(empty if NO_MTREE is set) and ${PREFIX}, respectively. They are
used by package building scripts.
(9) Don't register package dependency in +REQUIRED_BY for
PKG_IGNORE_DEPENDS ports. Otherwise you'll end up with bogus
entries since "pkg_delete oneko" won't delete oneko from
XFree86/+REQUIRED_BY, etc.
Found by: bento
Submitted by: imura
(2) Don't complain about distfiles not listed in files/md5 if we are doing
"make makesum".
Reported by: mharo, cpiazza
Reviewed by: mharo
now required.
(2) Check whether a distfile is in files/md5 before fetching instead
of after. Also print out a distinct message so we can easily catch
someone screwing up the distfile list (usually via DISTNAME).
if ${.CURDIR} != ${MASTERDIR} (i.e., this is a slave port).
Suggested by: knu
(2) Move PKGNAME/DISTNAME definition into the pre.mk section so it can
be used in ports' Makefiles.
package name includes "language specifics" or "compilation options" as
specified in the handbook. PKGNAME is now defined as
${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}.
Suggested by: mharo (prefix), reg (suffix)
Reviewed by: the ports list
New variables:
PORTNAME - Base name of port
PORTVERSION - Version of port
Modified variables:
PKGNAME - Always ${PORTNAME}-${PORTVERSION}; error to override this
DISTNAME - Defaults to ${PKGNAME}
Right now old style is still accepted (unless REQUIRE_PORTNAME is
defined) but all port Makefiles will be converted this weekend and
bsd.port.mk will be changed again to have the new style be mandatory.
Reviewed by: the ports list, mharo in particular
(2) Change "clean" to be more generic -- it now has
pre-clean/post-clean helpers (it only had pre-clean before) and
the actual work is in do-clean so porters can redefine it if
necessary.
Requested by: "Matthew N. Dodd" <winter@jurai.net>
Reviewed by: dirk
after post-patch to before pre-patch.
Submitted by: reg (libtool maintainer)
(2) Misc. cleanup, pass MAKE_ENV to ${XMKMF}, etc.
Submitted by: reg
(3) Document ALL_TARGET and INSTALL_TARGET.
PR: 17334
Submitted by: Patrick Seal <patseal@hyperhost.net>
* You can now 'make search' from a ports subdirectory. This will
will restrict the search to ports within this subdirectory.
* Added an additional search option to search just the port names,
e.g. 'make search name=foo' will only return ports that have 'foo' in their
name.
Approved by: asami
Seconded by: a whole bunch of people, including Marcel, our linux-czar
(2) Fix typo in openssl messages.
Submitted by: Will Andrews <andrews@technologist.com>
4-current post bison-removal and to a no-op otherwise. Note this
should only be used when the software in question uses a feature
in bison that is not in byacc -- otherwise it should be patched to
use byacc (or detect the absense of bison correctly). [bsd.port.mk]
(2) Do not assume all category names are lowercase. In particular,
remove package links by removing them one by one, instead of doing
a "rm [a-z]*/${PKGNAME}.tgz". [bsd.port.mk]
(3) Do not assume the category name doesn't include a path separator
(/). Make links accordingly. [bsd.port.mk,README.category,README.port]
(4) Do not assume all category makefiles are directly under
${PORTSDIR}. [bsd.port.mk,README.category]
(5) Add new "package-name" target which prints out the directory name
to be used in the parent README.html. [bsd.port.subdir.mk]
(2) through (5) are in preparation for going to multi-level
categories. They shouldn't make any difference yet, but are committed
first so people can start testing.
(2) Add ipv6 and tcl/tk83 to list of valid categories.
Requested by: sumikawa, jseger
(2) Change OSVERSION for NEWGCC check to a more appropriate time for the
actual cutover.
(3) Change XFree86 version in PKG_IGNORE_DEPENDS from 3.3.5 to 3.3.6.
(4) Change some ${ECHO_MSG}'s in fatal errors to ${ECHO}, no need to be quiet
if there's something terribly wrong.
with directory names.
Submitted by: jdp
(2) Preserve +REQUIRED_BY file when FORCE_PKG_REGISTER is defined.
Reviewed by: steve
(3) Add new variable EXTRA_PATCHES, which can be set to some files
outside of ${PATCHDIR} (which usually means ${WRKDIR}). These
will be applied after distribution patches but before the normal
${PATCHDIR} patches.
Useful when you have dynamic patches.
(4) Move USE_QT2 earlier, the USE_NEWGCC dependency wasn't working
because it came after the USE_NEWGCC check. Move USE_QT alongside
new location of USE_QT2.
Submitted by: imura
(5) Substitute ftp.cdrom.com for ftp.funet.fi in MASTER_SITE_SUNSITE,
which no longer seems to be a full mirror anymore.
Submitted by: Ade Lovett <ade@lovett.com>
PR: 14221
(6) Fix typo in MASTER_SITE_FREEBSD case -- it used ${MASTER_SITES}
(instead of ${PATCH_SITES}) to fetch distribution patches. That
obviously would fail if the user attempted to build a port before
the distribution patches showed up at ftp.FreeBSD.org.
(7) Remove tcl75, tk41 and tk81 from the list of valid categories.
(tcl81 is still used.)
Submitted by: jseger
(8) Make delete-package-list a little more verbose by making it check
the existence of a package file and print out what it's doing.
Silence bogus warnings from delete-distfiles-list by redirecting
stderr from rmdir to /dev/null.
(9) Remove OpenBSD_MAINTAINER=imp, he hasn't been doing any work with
this file on the OpenBSD repository for a long time.
Submitted by: imp
Submitted by: many people
(2) Surround the perl describe target with an echo ``. We'll see if
it will help with the index corruption problems.
(3) Manpage handling fix to avoid command line too long errors for
ports with a lot of manpages.
Submitted by: hoek
Submitted by: cpiazza
Approved by: imura (qt2 maintainer)
(2) Add CC and CXX to MAKE_ENV if USE_NEWGCC is defined.
Suggested by: cpiazza
(3) Update XFree version PKG_IGNORE_DEPENDS.
(4) Add ${WHICH}=/usr/bin/which and use it.
Submitted by: Yoshiaki Sakae <sakae@is.titech.ac.jp>
(5) Update afterstep and windowmaker master sites.
Submitted by: KATO Tsuguru <tkato@prontomail.ne.jp>
(6) Add tcl82 and tk82 to list of valid categories.
Submitted by: A whole bunch of people
(7) Use .MAKEFLAGS, not DEPENDS_ARGS to pass FORCE_PKG_REGISTER to
submake when DEPENDS is defined -- the latter is too late.
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
latest gcc. This is currently the system compiler in 4-current and
ports/lang/egcs in 3-stable.
Setting USE_NEWGCC is a no-op if the compiler required is in the
system. If it is to be provided by a port, it will cause the
variables "CC" and "CXX" to be set to the names of executables for
the C and C++ compiler, and adds a BUILD_DEPENDS on the
appropriate port.
Reviewed by: Chris Piazza <cpiazza@home.net> and Ade Lovett <ade@lovett.com>
(2) Add new variables CHMOD and CHOWN, set to full pathnames of those
commands. (Used in 3)
(3) When run as root, change owner:group of all files under ${WRKDIR}
to 0:0 after extraction. Set EXTRACT_PRESERVE_OWNERSHIP to turn
off this feature.
Problem reported by: Slawek Zak <zaks@prioris.im.pw.edu.pl>
Reviewed by: the ports list
(4) Update MASTER_SITE_XCONTRIB.
PR: 12879
Submitted by: Will Andrews <andrews@technologist.com>
(5) Update MASTER_SITE_GNU.
Submitted by: Ralf "pth update of the day" Engelschall <rse@engelschall.com>
(6) Add check for valid categories. If the port is not in a
pre-approved list of categories, install will fail. If you need a
local addition, put it in variable VALID_CATEGORIES.
Reviewed by: the ports list
(7) Experimental feature: DEPENDS_CLEAN. Define this variable and
bsd.port.mk will attempt to run "make install clean" instead of
"make install" when building dependencies. Might be useful if you
are building a port with a large number of dependencies without
the benefit of a large disk.
(1) Sort INDEX lines since with the new parallel patch, the lines can
come in out of order. (see 2)
Mk/bsd.port.subdir.mk:
(2) Make the targets parallelizable.
Submitted by: hoek
Reviewed by: steve, among others
Mk/bsd.port.mk:
(3) Serious speedup of bsd.port.mk startup. In particular, this helps
cut down "make index" time from an hour and a half to 8 minutes on
our system with a parallel make describe (see 2). Try to pass
unchanged variables down from parent makes instead of rerunning
commands to define them, etc.
Submitted by: hoek
Reviewed by: steve, among others
(4) Change a bunch of "FreeBSD.ORG"s and "freebsd.org"s to "FreeBSD.org".
(5) XFree86 is now at version 3.3.4.
(6) Update for gnome master sites.
Submitted by: mharo
(7) Remove old system tcl check, I don't think people with systems
from way back are still submitting ports.
(8) Fix comment on "make describe" line description (www site was missing).
${CONFIGURE_SCRIPT} fails, in an attempt to help debugging. It
could be a little verbose, but as my grandmother always used to
say, "you gotta be verbose in error logs".
(2) Roll back PERL_VERSION to 5.00502 in the 2.2 branch to give users
of that side a fighting chance.
(3) Don't check for ${_DISTDIR} in delete-distfiles-list; it's only
printing out commands anyway.
(4) Bump BSDPORTMKVERSION to accomodate perl version change (I know
it's late, but better late than never!)
port.
Submitted by: Jeremy Lea <reg@shale.csir.co.za>
(2) Automatically create ${PREFIX}/info/dir if it doesn't exist. Attempt to
do the same in PLIST.
Submitted by: Jeremy Lea <reg@shale.csir.co.za>
(3) Update perl version to 5.00503 to match system.
(4) Typo fix in MASTER_SITE_WINDOWMAKER.
Submitted by: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
(5) Reword the REQUIRES_MOTIF message to suggest the user to look at lesstif.
Submitted by: Steve Kargl <sgk@troutmask.apl.washington.edu>
(2) New variable USE_ZIP -- will change EXTRACT_SUFX to ".zip" and
extract commands/arguments accordingly.
Submitted by: jseger
(3) Use ${GREP} in some places where grep was used.
(4) A little update to the MASTER_SITES_GNU list.
Submitted by: cpiazza@home.net
(5) New target clean-for-cdrom-list and clean-restricted-list -- will
print out commands to delete un-cdromable or unredistributable
files. Save them into a shell script for later use.
(6) Add CXXFLAGS="${CXXFLAGS}" to configure's environment.
Submitted by: reg@shale.csir.co.za
PR: 11353 (part 3/3)
(7) Print out a warning if you try to install without being root.
Abort if ${PREFIX} is not writable.
(8) Add web site to INDEX as tenth field.
Reviewed by: wosch, steve, scrappy
commit a change to actually move the file in a couple of days.
(Right now this file looks at both /var/db and /var/db/pkg.)
Requested by: jkh
(2) Skip version test for 2.2.x, I don't intend to rebuild update kits
anymore.
(3) sunsite.unc.edu -> metalab.unc.edu
Submitted by: steve
(4) New variable ALWAYS_BUILD_DEPENDS, it will make your build go and
rebuild all dependencies (except XFree86) regardless of
executable/file/shlib test results. It could be useful if you
suspect that some of the dependencies are out of date but won't be
flagged by the normal checks.
Reviewed by: the ports list
old location caused some variables (most notably CONFIGURE_TARGET)
to be undefined.
PR: 10724
(2) Fix comment about CONFIGURE_TARGET.
Submitted by: OKAZAKI Tetsurou <okazaki@be.to>
(3) Add comment to FETCH_CMD test indicating that it *is* intentional
that all 3.x versions use "fetch -A" -- people using the upgrade
kit won't have their ${OSVERSION} updated.
(4) Add MASTER_SITE_TCLTK which is, well, Tcl/Tk master sites.
Submitted by: Bill "the typo picker" Fumerola <billf@jade.chc-chimes.com>
(5) Add new variable FORBIDDEN indicating that the port shouldn't be
built -- this is different from BROKEN, which now means we think
it's broken but the user should be more than happy if it actually
works.
(6) Add support for system/upgrade kit version check. The file
/var/db/pkg/.mkversion is compared to the BSDPORTMKVERSION
variable (basically the date a bsd.port.mk with an incompatible
change is committed). If the system is too old, bsd.port.mk will
urge the user to install an upgrade kit.
Submitted by: billf (some parts)
Reviewed by: the ports list
(7) Remove "ac_cv_path_CC=${CC}" from configure's envirenment, it's
supposed to find this stuff by itself (and if it doesn't then it's
an individual port's responsibility to add it).
Reported by: Archie Cobbs <archie@whistle.com>
BSDPORTMKVERSION is bumped (actually initialized) to 19990327, by the way.
MASTER_SITES_PORTS_JP for storing stuff that people on the
ports-jp mailing list created.
Suggested by: KIRIYAMA Kazuhiko <kiri@pis.toba-cmt.ac.jp>
(2) Conditionalize use of "-A" flag to fetch so the entire ports tree
won't break on 2.2.X machines.
Suggested by: Brian Tiemann <btman@ugcs.caltech.edu>
"not_found.html" stuff.
(2) Add "MACHINE_ARCH?=i386" so those with a 2.x system have a
fighting chance of getting ports-current to work.
(3) Add new variable CONFIGURE_TARGET, defaulting to
${MACHINE_ARCH}--freebsd${OSREL}, which is tucked to the end of
CONFIGURE_ARGS if GNU_CONFIGURE is defined.
Reviewed by: various
(4) Change MASTER_SITE_GNOME to match reality.
Submitted by: Jeremy Lea <reg@shale.csir.co.za> and nectar
(5) Change MASTER_SITE_SUBDIR handling so we won't be generating
double slashes.
Submitted by: The lord of distfiles himself
(6) Add new variable FETCH_ENV which is the environment passed to
FETCH, so people can define HTTP_PROXY or whatever the want
without screwing up the case when FETCH_CMD is not fetch.
PR: 2949
Submitted by: same
and mirror sites of two popular window manager suites.
Submitted by: Brian Handy <handy@lambic.physics.montana.edu>
(2) Upgrade for Motif-2.1.10. It requires libXpm and libXp now.
(3) PARALLEL_PACKAGE_BUILD will now ignore BROKEN.
(4) Add new variable PKG_IGNORE_DEPENDS to not register some ports as
dependencies. Useful for stuff like XFree86 and Motif.
Reviewed by: jkh
will be expanded multiple times if ${MASTER_SITE_SUBDIR} contains
more than one item.
Reviewed by: Bill "Mr. distfiles" Fenner
(2) Replace stale site with a good one in MASTER_SITE_GNU.
Submitted by: Bill "Mr. mastersites" Fenner
(3) Add new variable USE_BZIP2, which, like USE_GMAKE, will change the
default decompression method of distfiles from gzip to bzip2.
Since tar doesn't have a simple flag to turn on bzip2
decompression, I changed the way EXTRACT_CMD and
EXTRACT_{BEFORE,AFTER}_ARGS work. These are the new defaults:
EXTRACT_CMD: gzip or bzip2
EXTRACT_BEFORE_ARGS: -dc
EXTRACT_AFTER_ARGS: | tar -xf -
(They used to be "tar", "-xzf", and "", respectively, before.)
Also, EXTRACT_SUFX will default to ".tar.bz2" if USE_BZIP2 is set.
There are a few things porters should be careful about:
(a) If you are using bsd.port.{pre,post}.mk, USE_BZIP2 should be set
before the .include of pre.mk.
(b) Do not use ${EXTRACT_SUFX} as an alias of tar. There is a new
variable ${TAR} for that purpose.
(c) If you are calling ${EXTRACT_CMD} directly, you need both
${EXTRACT_BEFORE_ARGS} and ${EXTRACT_AFTER_ARGS} in the command
line. (The latter was previously empty so could be omitted --
that is no longer the case.)
(d) If you need to set any of EXTRACT_CMD, EXTRACT_BEFORE_ARGS or
EXTRACT_AFTER_ARGS, define all three, even if they are the
default. The values of these variables may very well change in
the future (but the calling syntax probably will not) so it will
save the port from breakage when that happens.
Tested by: recompiling the entire ports tree
crowded and I don't want to confuse cvsup about what's in
ports-base and what is not. (I.e., all uppercase
files/directories are, all lowercase ones are not.) While I'm
here, move the make_index script from templates to Tools.
(2) Adjust the MASTER_SITE_OVERRIDE logic a bit. Formerly, it was not
possible to specify both MASTER_SITE_OVERRIDE while still using
MASTER_SITE_BACKUP as a backup, as they were tied in the
implementation of MASTER_SITE_FREEBSD. You can now specify them
independently if MASTER_SITE_FREEBSD is not set (in which case
MASTER_SITE_BACKUP will be moved to the beginning of the list,
like before).
(as given by "uname -m") by which you can specify which
architectures the port is appropriate for.
Idea borrowed from: NetBSD, OpenBSD
Reviewed by: simokawa
(2) New variable PERL_ARCH (value: ${ARCH}-freebsd) that is also
passed to ${PLIST_SUB}. Use it to simplify PLISTs.
Submitted by: simokawa
(3) Check OSVERSION as well as existence of /usr/bin/perl5 before
assuming USE_PERL5 is to be a no-op. Basically to allow building
of 2.2-INDEX on a 3.0 machine.
(4) Change USE_QT definition to use new shlib version (2) and
directory (qt142).
(5) Uncomment temporary Motif dependency for parallel package
building. We still need to figure out a way to install the pkg
database files, but it's a start.
(6) Move EXTRACT_SUFX up into the pre.mk area so it can be used in
exists() tests.
(7) Add MASTER_SITE_COMP_SOURCES. Note that this is defined like
"/pub/usenet/comp.sources.%SUBDIR%/" so you can specify something
like "SUBDIR=x/volume18" to select the newsgroup as well as
subdirectory name.
Submitted by: "distfiles" fenner
(8) Other misc. master site cleanup.
Submitted by: "distfiles" fenner
(9) New target "maintainer". I intend to use it to auto-mail failure
build failure notices to the maintainer.
don't recurse in "make describe". The new INDEX target in
ports/Makefile invokes a perl script to recurse and convert them
into package names.
While I'm here, change the name of targets and move them around a
little bit for the sake of consistency.
It is also probably worth noting here that the meaning of the
"build dependency" list in INDEX has been changed slightly
changed. The old list was "build depends and its build depends"
-- not particularly useful if you had things like autoconf, which
run-depend on gm4 (you install all the things listed here and
you'll get an autoconf that won't run).
It is now "build depends and its run depends" -- you install
everything listed here, and you'll be able to build the port.
Submitted by: steve
(0') Fast README.html generation. It uses ports/INDEX to find
dependencies instead of embarking on to a recursive loop.
Submitted by: steve
(1) Remove NO_WRKDIR and NO_EXTRACT. Their functionality are easily
replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right
side), and they get in the way of read-only port trees.
(2) Surround first few variable definitions with ".if !defined()".
This will make cross-compilation easier and also speed up make
processes.
(3) Call sysctl with absolute path. Prefer the one in /sbin over the
one in /usr/sbin.
(4) Add four new variables
PKGINSTALL?= ${PKGDIR}/INSTALL
PKGDEINSTALL?= ${PKGDIR}/DEINSTALL
PKGREQ?= ${PKGDIR}/REQ
PKGMESSAGE?= ${PKGDIR}/MESSAGE
and use them in PKG_ARGS. Frobbing with PKG_ARGS directly is
strongly discouraged.
(5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is
defined. This is intended only for our own use.
(6) Add more sites to MASTER_SITE_GNU.
Submitted by: billf
(7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is
defined. This is intended only for our own use.
(8) Add new target "ignorelist" which will print out the package name
if the port is not going to be built on this machine. This is
intended only for our own use.
(9) Make mtree a little quieter.
break one way or another. With it goes the package-loop and the
describe loop.
(2) Add new variable MASTERDIR to make it easier to share files between ports.
bsd.port.mk will find things like ${PKGDIR} underneath
${MASTERDIR} (which defaults to ${.CURDIR}).
(3) Do not allow MD5_FILE to be renamed. Funny things can happen if
you do that.
(4) Use a few more absolute paths in the bsd.port.pre.mk part. I
can't use absolute paths for sysctl because it moved recently.
a few variables that could be used in the port Makefile for ".if exists()"
tests. bsd.port.post.mk defines the rest.
Note: if you define USE_X_PREFIX or USE_IMAKE, put it before including
bsd.port.pre.mk. These are the only two variables used in the first part.
In reality, bsd.port.pre.mk and bsd.port.post.mk just include bsd.port.mk
with special variables to turn part of it off.
list. The old MAKE_FLAGS was a little hard to use since it had a weird
default ("-f").
Suggested by: Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>
(2) Add new targets clean-restricted and clean-for-cdrom, which will
delete RESTRICTED and NO_CDROM packages and distfiles from the top.
Reviewed by: jkh
(3) Add depends to list of things to recurse on. It will help people
who are trying to fetch some ports plus their dependencies.
Requested by: Chris Dillon <cdillon@wolves.k12.mo.us>
packages from a single port. LOOP_VAR is the name of the variable
and LOOP_OPTIONS is a space-separated list of values it should
take. When these are set, the target "package-loop" will go
through a clean and package loop for all the options. The
"package-loop" target is defined as "package" when LOOP_VAR is not
defined, so if you are in the business for building packages, you
should use "package-loop" all the time. (This target is added to
bsd.port.subdir.mk too.)
Also, the "describe" target prints out multiple lines so that all
options will go into the INDEX. (In other words, if you define
these variables, INDEX is going to look real silly if you don't
put ${${LOOP_VAR}} in PKGNAME.)
Seconded by: obrien ("ANYTHING")
(2) Turn off regexp support for LIB_DEPENDS. It is a fixed string of
the form <NAME>.<VER> now.
Tested by: several rounds of complete package builds
(3) Check checksum even if NO_EXTRACT is defined.
(4) Cosmetic fix for message in MANUAL_PACKAGE_BUILD case.
name conversion. Use it for binary ports that come with its own private
shlib dirs, ports that install linux compatibility libraries (thus following
their naming conventions and not ours), etc.
Reviewed by: Martin Cracauer <cracauer@FreeBSD.ORG>
version number part (i.e., "<directory>/perl"). Use this to
substitute #! lines in your perl5 scripts.
Requested and reviewed by: ache
(2) Add new variable WRKDIRPREFIX (defaults to ""). The "work"
directories are now in ${WRKDIRPREFIX}${.CURDIR}/work by default.
You can have a read-only ports tree (modulo any broken ports that
write something to places other than ${WRKDIR}) by setting this to
a writable location.
Ports that set WRKDIR explicitly should append this to front so
they will work when the user has WRKDIRPREFIX set.
Reviewed by: Toshihiko Kodama <kodama@ayame.mfd.cs.fujitsu.co.jp>
since ports are not supposed to be broken during the process of
conversion to ELF -- please proceed with caution.)
(2) Support for checking file size before fetching. The essential
parts are commented out for now, so I won't lose the submission
while we discuss how to do it.
Submitted by: se (mostly)
(3) Don't run "fetch" twice. It was due to the change in checksum
target chaining. It used to be fetch -> checksum -> extract,
after 1.285 it was fetch -> checksum and checksum was also
explicitly called from extract. Fix it by not calling fetch from
checksum when it's invoked by extract.
Noticed by: pre-fetch target of lesstif being run twice
(4) Don't try to remove non-existent distfiles and patchfiles in
distclean.
Submitted by: anto@netscape.net
PR: 7988
Submitted by: "Eugene M. Kim" <gene@nttlabs.com>
(2) Check for exact version of perl5 in /usr/bin and exit with error
message if USE_PERL5 is defined and version does not match
${PERL_VERSION}.
(3) Note LIB_DEPENDS should not have any regular expressions. Remove
those in USE_XLIB and USE_QT.
Submitted by: hoek
(2) ELF support.
2a. Variable PORTOBJFORMAT specifies the object format of the system.
It is passed down to configure/make via CONFIGURE_ENV/MAKE_ENV,
and is given to generate-plist via PLIST_SUB.
2b. In PLIST, substitute lines that end with "/libFOO.so.X" with
"/libFOO.so.X.0". (This means PLISTs should only list ELF
libraries.)
Reviewed by: jb, jdp, hoek, jseger, steve
(3) Perl5-in-system support. Basically turns USE_PERL5 into a no-op
if there exists a "/usr/bin/perl5". Also fix prior breakage by
dima (${PREFIX} => ${LOCALBASE} in perl5 path).
Reviewed by: markm (sort of)
(4) Install requirement file as "+REQUIRE" so it will be executed
correctly by pkg_delete.
Reported by: Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>
(5) Do not disable checksum and makesum when NO_EXTRACT is set.
Pointed out by: hoek and kiri, among other people
the way, most of the things below are "Reviewed by: hoek" as well.)
The changes are (roughly in order of appearance):
(1) Revamp comments at beginning of file. Major rewrites. Reorder
them into more relevant sections. Make clear which ones are user
variables and not to be set in ports' Makefiles.
Reviewed by: hoek (well, he's the only one who sent any comments)
(2) Include ${.CURDIR}/Makefile.local if it exists. This is a local
configuration file (ala rc.conf.local and make.conf.local) so
please do not commit a file with this name to the repository.
Suggested by: dillon
(3) MANCOMPRESSED now takes three possible values: "yes", "no" and
"maybe". (It used to be a binary variable -- the old behavior is
now accomplished by "MANCOMPRESSED=yes". Ports that defined this
variable to other values have been corrected.)
"yes" means the manpages are installed compressed, "no" means they
are not, and "maybe" means the port already respects the value of
NOMANCOMPRESS. The default is "yes" for USE_IMAKE ports without
NO_INSTALL_MANPAGES, and "no" otherwise.
Add "compress-man" target and move manpage {,de}compression there.
Reviewed by: hoek etc. and a full build of the ports tree
(4) Add LIBDIR="${LIBDIR}" to MAKE_ENV. Makes easier to "fix" ports
for /usr/lib/aout mess.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(5) Change ${TMPPLIST} from ${WRKDIR}/PLIST.mktmp to
${WRKDIR}/.PLIST.mktmp.
Suggested by: hoek
Strongly seconded by: steve
(6) Change a couple more relative pathnames to absolute ones.
Submitted by: hoek
(7) Move checksum into real-extract.
(8) Change way rules are chained. Instead of:
build: configure ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
we now have
build: ${BUILD_COOKIE}
${BUILD_COOKIE}:
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} configure
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} real-build
Other than being more PC (pmake clean), this really speeds up
skipping ports already built. For instance, "make package" on a
fully packaged games subtree used to take 269 seconds on average,
now it's 45 seconds on average.
The flip side of this is that it will create more processes when
the targets actually chain, but when you're actually compiling
things, your make is creating half a bazzilion processes anyway so
I don't think it matters.
(9) ${TMPPLIST} is now a real dependency. Create "generate-plist"
target to generate ${TMPPLIST}. Make sure it's called when needed
(usually between do-install and post-install), and that the
required files exist.
(10) Change some messages so we can tell where "make index" failed.
(11) Check if LIB_DEPENDS really generated the required shared lib or
not.
Seconded by: "Brent J. Nordquist" <bjn@visi.com>
means (change PREFIX to ${X11BASE}) and add a new variable USE_X11
which means "this port requires the X window system (actually the
library)". USE_X_PREFIX implies USE_X11. USE_X11 adds a
LIB_DEPENDS to libX11 with the x11/XFree86 port.
Reviewed by: the ports list, hoek in particular
(2) Remove NO_CONFIGURE and NO_PATCH, which never meant anything.
Yell if they are defined.
Reviewed by: the ports list
(3) Add new variable OSREL, which is automatically set to the
numeric OS version (e.g., 2.2.1, 3.0). It can be used to refer to
files in gcc installations, for instance.
(4) Finally remove EXEC_DEPENDS hack after all these years.
Submitted by: hoek
(5) Put quotes around some echo ${*_DEPENDS} statements so they won't
blow up when the variables include regular expressions like
"qt\\.1\\.\\\(33\\\|40\\\):${PORTSDIR}/x11/qt140".