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>