mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
710 lines
27 KiB
Plaintext
710 lines
27 KiB
Plaintext
Updating Information for FreeBSD ports developers
|
|
|
|
This file is maintained by Erwin Lansing <erwin@FreeBSD.org> and
|
|
copyrighted by the FreeBSD Foundation.
|
|
|
|
This file contains major changes to ports and the ports infrastructure.
|
|
Intended audience are ports committers, maintainers and other
|
|
developers. User oriented changes should be submitted for inclusion
|
|
in the release notes.
|
|
|
|
All ports committers are allowed to commit to this file.
|
|
|
|
20041119:
|
|
AUTHOR: portmgr@FreeBSD.org
|
|
The following changes were committed:
|
|
|
|
* Fix INDEX build if MAINTAINER is not defined.
|
|
|
|
* Remove USE_QT2 option, since qt2 is obsolete.
|
|
|
|
* Better define and explain ARCH option.
|
|
|
|
* Add new script Tools/make_readmes, to speedup 'readmes'
|
|
target. Avoid recursing into individual port directories and run
|
|
it at top level, after the category README.html files have been
|
|
created.
|
|
|
|
* Fix 'search' target and enable a case-insensetive search on 5-x.
|
|
|
|
* Extend 'seach' target and enable search by categories.
|
|
|
|
* Remove tk42 and tcl76 categories since they're obsolete.
|
|
|
|
* Introduce DISTVERSION variable, that can be set instead of
|
|
PORTVERSION and is automatically converted in a conforming PORTVERSION.
|
|
|
|
Example:
|
|
|
|
DISTVERSION= 10Alpha3
|
|
|
|
extends 10Alpha3 to 10.a3
|
|
|
|
DISTVERSION= 3Beta7-pre2
|
|
|
|
extends 3Beta7-pre2 to 3.b7.p2
|
|
|
|
* Use --suffix option instead of -b for patch(1), to make it
|
|
compatible with BSD patch(1).
|
|
|
|
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
|
|
versions.
|
|
|
|
20041116:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
The way OMF files are handled has been changed to use the new INSTALLS_OMF
|
|
macro (similar to INSTALLS_SHLIB). Details about the new macro can be found
|
|
at http://www.FreeBSD.org/gnome/docs/porting.html and bsd.gnome.mk.
|
|
|
|
20041113:
|
|
AUTHOR: portmgr@FreeBSD.org
|
|
Since INDEX version in CVS is always too old, portmgr decided to
|
|
remove it. You will still be able to build your own INDEX or use
|
|
'fetchindex' target in /usr/ports/.
|
|
|
|
20041109:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
The way GConf schema files are handled has been changed to use the new
|
|
GCONF_SCHEMAS macro (similar to MAN). Details about the new macro can be
|
|
found at http://www.FreeBSD.org/gnome/docs/porting.html and bsd.gnome.mk.
|
|
|
|
20040803:
|
|
AUTHOR: ade@FreeBSD.org
|
|
As part of the ongoing autotools cleanup, devel/autoconf has been
|
|
replaced with devel/autoconf253, and devel/automake with devel/automake15.
|
|
Consumers of the various autotools knobs from bsd.autotools.mk should not
|
|
notice any differences. This update completes the transition of autotools
|
|
to true versioned packages (cf: tcl/tk)
|
|
|
|
20040723:
|
|
AUTHOR: anholt@FreeBSD.org
|
|
The XFREE86_VERSION variable is replaced by the X_WINDOW_SYSTEM variable.
|
|
XFREE86_VERSION may no longer be used by ports Makefiles. X_WINDOW_SYSTEM may
|
|
currently be set to xorg, xfree86-4, and xfree86-3 (please use :L in checking
|
|
it). Several X_*_PORT variables are provided by bsd.port.mk which map to the
|
|
appropriate port for the X_WINDOW_SYSTEM chosen.
|
|
|
|
20040719:
|
|
AUTHOR: ale@FreeBSD.org
|
|
There has been a big update to PHP ports and bsd.php.mk to add more
|
|
flexibility and new features.
|
|
Now a port may depend on a specific set of PHP extensions. To do so,
|
|
simply replace:
|
|
|
|
USE_PHP= yes
|
|
|
|
with:
|
|
|
|
USE_PHP= ext1 ext2 ext3 ...
|
|
|
|
in the port Makefile. A list of all PHP extensions is included in bsd.php.mk.
|
|
If the requirement is a build dependency too, the port should also define:
|
|
|
|
USE_PHP_BUILD=yes
|
|
|
|
Moreover, the new knob WANT_PHP_SCR has been added to indicate that the port
|
|
requires the 'php' binary to run.
|
|
Last but not least, many common operations to build/install/register a
|
|
PHP extension can now be omitted from the port Makefile if it defines:
|
|
|
|
USE_PHPEXT= yes
|
|
|
|
For more information on this point and on additional variables, see
|
|
bsd.php.mk.
|
|
|
|
20040717:
|
|
AUTHOR: eik@FreeBSD.org
|
|
OpenLDAP version 2.2 is now the default.
|
|
When your port links against the openldap client libraries use
|
|
USE_OPENLDAP= yes
|
|
and do not depend on a particular version. A user (or package
|
|
building cluster) can select the desired flavour with
|
|
WANT_OPENLDAP_VER and WANT_OPENLDAP_SASL, but these must not
|
|
be used in ports Makefiles.
|
|
|
|
20040709:
|
|
AUTHOR: portmgr@FreeBSD.org
|
|
USE_LIBTOOL_VER now configures a port to use the ports version of libtool
|
|
instead of its included version. This was put in place to reduce the
|
|
number of ad hoc patches to individual ports' libtools to prevent .la
|
|
file installation as well as fix various threading problems.
|
|
|
|
To restore the previous libtool behavior, use the new macro,
|
|
USE_INC_LIBTOOL_VER. It works the exact same way as USE_LIBTOOL_VER
|
|
in that it takes a libtool version as its argument.
|
|
|
|
For example, to use the included version of libtool with extra hacks
|
|
provided by libtool-1.5, add the following to your Makefile:
|
|
|
|
USE_INC_LIBTOOL_VER= 15
|
|
|
|
To use the ports version of libtool-1.5, add the following to
|
|
your Makefile:
|
|
|
|
USE_LIBTOOL_VER= 15
|
|
|
|
Note: these macros are mutually exclusive. Your port should only include
|
|
one or the other if it needs to make use of libtool.
|
|
|
|
20040707:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
The way GConf schema files are installed has changed to support the upcoming
|
|
GNOME 2.8 GConf. Details about the change can be found at
|
|
http://www.FreeBSD.org/gnome/docs/porting.html. All existing ports have
|
|
been converted to the new style, and portlint has been updated to flag
|
|
old-style GConf schema installation.
|
|
|
|
20040610:
|
|
AUTHOR: portmgr@FreeBSD.org
|
|
The following behavioural or feature changes were committed:
|
|
|
|
* Support verbose index builds with INDEX_VERBOSE
|
|
|
|
* Support glob expressions in USE_GETTEXT to allow more flexibility
|
|
in the face of future gratuitous library version bumps by the gettext
|
|
developers:
|
|
|
|
USE_GETTEXT=yEs # Works as before (case-insensitive)
|
|
USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions
|
|
# in the LIB_DEPENDS
|
|
|
|
* Extend 'make search' support to allow much more flexible searching
|
|
From the PR:
|
|
|
|
Besides the good old key and name variables, this patch adds
|
|
support for path, info, maint, cat, bdeps, and rdeps, which match
|
|
on the appropriate fields, plus their exclusion counterparts: xkey,
|
|
xname, etc.
|
|
|
|
Examples:
|
|
|
|
Find all ports whose names contain "pear-" but not "html" or "http":
|
|
|
|
make search name=pear- xname='ht(tp|ml)'
|
|
|
|
Find ports whose names contain "pear-" and which don't have apache
|
|
listed in build-time dependencies:
|
|
|
|
make search name=pear- xbdeps=apache
|
|
|
|
The positive variables (name, key, maint, etc) are AND-ed, their
|
|
negative versions are OR-ed; in other words, matching any x-
|
|
variable will cause the port to be skipped, mismatch on any non-x-
|
|
variable will cause it to be skipped.
|
|
|
|
Examples:
|
|
|
|
Find ports that are both in the www category and maintained by
|
|
Thierry Thomas:
|
|
|
|
make search maint=thierry@ path=/www/
|
|
|
|
Find ports in the archivers category that are either not orphaned
|
|
or don't have "zip" in their names (contrived):
|
|
|
|
make search cat=archivers xmaint=ports@freebsd xname=zip
|
|
|
|
It is possible to select fields to display.
|
|
|
|
Example:
|
|
|
|
Find PEAR ports that don't build-depend on apache, displaying only
|
|
Port:, Path:, and Info: lines:
|
|
|
|
make search name=pear- xbdeps=apache display=name,path,info
|
|
|
|
Case-sensitivity can now be turned of with icase=1.
|
|
|
|
Example:
|
|
|
|
Find ports with @freebsd.org maintainer addresses without the
|
|
"proper" capitalization (@FreeBSD.org), display their paths and
|
|
maintainer addresses:
|
|
|
|
make search maint=@freebsd\\.org icase=0 display=maint,path
|
|
|
|
The key and xkey variables can be limited in scope to displayed fields
|
|
by setting keylim to 1.
|
|
|
|
Example:
|
|
|
|
Find ports that contain "apache" in either of the name, path, info
|
|
fields, ignore the rest of the record (dependencies, maintainer
|
|
address, etc):
|
|
|
|
make search key=apache display=name,path,info keylim=1
|
|
|
|
The following variables can be set e.g. in /etc/make.conf to
|
|
control default search behaviour:
|
|
|
|
PORTSEARCH_DISPLAY_FIELDS?=name,path,info,maint,index,bdeps,rdeps
|
|
PORTSEARCH_KEYLIM?=0
|
|
PORTSEARCH_XKEYLIM?=0
|
|
PORTSEARCH_IGNORECASE?=1
|
|
|
|
* Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH
|
|
dependencies
|
|
|
|
* While building index, treat non-existent dependencies as fatal.
|
|
Previously the error was being hidden by the stderr
|
|
redirection.
|
|
|
|
* 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.
|
|
|
|
20040604:
|
|
AUTHOR: ade@FreeBSD.org
|
|
Over the past few weeks, we have been testing the next
|
|
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
|
|
at least some semblance of sanity back to this corner of the
|
|
ports collection.
|
|
|
|
By far and away the easiest way to see the changes will be to
|
|
view the new file once committed, but here is a summary of the
|
|
changes:
|
|
|
|
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
|
|
been fully deprecated. Ports attempting to use these variables
|
|
after the commit will error out, and most obviously break INDEX
|
|
generation, with a helpful error message. Instead, ports must
|
|
now specifically choose the version of any of these tools that
|
|
they need with the corresponding USE_*_VER variables. Note that
|
|
these variables understand any and all versions of autotools ports
|
|
in the tree, there is no longer a need to have specific version
|
|
numbers hardcoded in the infrastructure of bsd.autotools.mk
|
|
(as there is now). In particular, this will immediately open up
|
|
automake18 and autoconf259 for general use and beating.
|
|
|
|
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
|
|
Again, these have been fully deprecated, and the equivalent
|
|
WANT_*_VER versions should be used.
|
|
|
|
In order to preserve existing behavior for these variables, please
|
|
note the 20040314 entry in ports/CHANGES for the appropriate
|
|
version numbers to use for any ports in the GNATS queue.
|
|
|
|
Both WANT_* and USE_* bring in the relevant tool as a build
|
|
dependency, and set up a reasonably large number of variables
|
|
pointing to the right programs to be using in the port. The
|
|
only difference at the moment, is that USE_* will run an extra
|
|
autotools-related configuration step, whereas WANT_* merely
|
|
requests the environment.
|
|
|
|
3. The helper knob USE_LIBLTDL has been added which currently
|
|
simply adds a LIB dependency on the libltdl port.
|
|
|
|
4. Three new variables have been introduced,
|
|
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
|
|
do nothing by themselves (a Work-In-Progress), but if the
|
|
appropriate autotool version is defined (either through
|
|
WANT_*_VER or USE_*_VER), this will add the relevant dependency
|
|
to RUN_DEPENDS.
|
|
|
|
Steps 3 and 4 now essentially negate the need for any kind of
|
|
direct dependency within a non-autotools port Makefile on
|
|
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
|
|
|
|
20040416:
|
|
AUTHOR: java@FreeBSD.org
|
|
There has been a couple of bsd.java.mk tweaks and fixes.
|
|
|
|
. Features from Stage 2 has been removed. A port can no
|
|
longer use the JDK dependency features by setting JAVA_HOME.
|
|
Use JAVA_PREFERRED_PORT instead (see below).
|
|
|
|
. The default JDK port now depends on OS version:
|
|
java/diablo-jdk13 for 4.x, and java/jdk14 for 5.x
|
|
|
|
. It is now possible for the user (and the porters) to
|
|
define a list of preferred JDK ports to build and run ports.
|
|
The port will use the first JDK port from the list that
|
|
matches the requirements specified in the Makefile.
|
|
JAVA_PREFERRED_PORT contains a list of suitable JDK ports
|
|
(sorted by preference). Names for JDKs may be found in
|
|
bsd.java.mk, listed in ${_JAVA_PORTS_ALL} (e.g.
|
|
"JAVA_PORT_NATIVE_BSDJAVA_1_4").
|
|
|
|
. JAVA_PORT_VERSION is now set to the full version number
|
|
of the chosen JDK (e.g. "1.4.2"). Porters will find hints
|
|
regarding how to obtain the same behavior as before in the
|
|
header of bsd.java.mk.
|
|
|
|
20040414:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
When writing a port that uses GTK+ 2.X, you can now list the dependency
|
|
with "USE_GNOME=gtk20" which is preferable to LIB_DEPENDS because the
|
|
GTK+ library version only needs to be changed in bsd.gnome.mk.
|
|
|
|
Please see http://www.FreeBSD.org/gnome/docs/porting.html for all
|
|
the available GNOME components as well as detailed instructions on
|
|
creating ports that use the GNOME infrastructure.
|
|
|
|
20040404:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
The glib20 and gtk20 ports were updated to 2.4.0. This new version
|
|
is completely source and binary compatible with the previous 2.2.x
|
|
series. However, certain API calls have been deprecated. If your
|
|
port defines the following macros, they may refuse to build with
|
|
the new versions of glib20 and gtk20:
|
|
|
|
GTK_DISABLE_DEPRECATED
|
|
GDK_DISABLE_DEPRECATED
|
|
G_DISABLE_DEPRECATED
|
|
|
|
The temporary solution is to either patch your port's Makefiles to,
|
|
or use an in-place regular expression to remove these macros. The
|
|
more permanent solution is to wait until the port's authors update
|
|
their code to use current API calls.
|
|
|
|
20040402:
|
|
AUTHOR: java@FreeBSD.org
|
|
There has been a big update to bsd.java.mk. However, this update
|
|
is mostly backwards compatible, so it shouldn't affect most java
|
|
port maintainers. There is some new functionality and minor
|
|
changes worth documenting here though.
|
|
|
|
bsd.java.mk now provides a new set of macros to be used by ports that
|
|
require a JDK. When USE_JAVA is set, the following variables may be set
|
|
in order to give to precision regarding the requirements of the port:
|
|
|
|
. JAVA_VERSION
|
|
A list of space-separated suitable java versions for the
|
|
port. An optional "+" allows you to specify a range of versions.
|
|
(allowed values: 1.1[+] 1.2[+] 1.3[+] 1.4[+])
|
|
(NOTE: Used to be set by bsd.java.mk)
|
|
. JAVA_OS
|
|
A list of space-separated suitable JDK port operating systems
|
|
for the port. (allowed values: native linux)
|
|
(NOTE: Used to be set by bsd.java.mk)
|
|
. JAVA_VENDOR
|
|
A list of space-separated suitable JDK port vendors for
|
|
the port. (allowed values: freebsd bsdjava sun ibm blackdown)
|
|
(NOTE: Used to be set by bsd.java.mk)
|
|
. JAVA_BUILD
|
|
When set, it means that the selected JDK port should be
|
|
added to build dependencies for the port.
|
|
. JAVA_RUN
|
|
This variable works exactly the same as JAVA_BUILD but
|
|
regarding run dependencies.
|
|
|
|
Here are some of the macros defined after setting USE_JAVA:
|
|
|
|
. JAVA_PORT
|
|
The name of the JDK port (e.g. java/jdk14)
|
|
. JAVA_HOME
|
|
The home of the JDK port in the local base
|
|
. JAVA_PORT_VERSION
|
|
The version of the JDK port.
|
|
(NOTE: Used to be JAVA_VERSION, see above)
|
|
. JAVA_PORT_OS
|
|
The operating system used by the JDK port.
|
|
(NOTE: Used to be JAVA_OS, see above)
|
|
. JAVA_PORT_VENDOR
|
|
The vendor of the JDK port.
|
|
(NOTE: Used to be JAVA_VENDOR, see above)
|
|
|
|
Plus many macros for the commonly used java executables:
|
|
|
|
APPLETVIEWER, JAR, JAVA, JAVAC, JAVADOC, JAVAH,
|
|
JAVAP, JAVA_KEYTOOL, JAVA_N2A, JAVA_POLICYTOOL,
|
|
JAVA_SERIALVER, RMIC, RMID and RMIREGISTRY.
|
|
|
|
bsd.java.mk 2.0 is mostly backward compatible with the previous
|
|
version, save for the notes above and changed internal variables.
|
|
Using the new features is strongly encouraged, since the old
|
|
bsd.java.mk 1.0 features will be deprecated and may be removed in
|
|
the future.
|
|
|
|
You will find more detailed info (as well as a quick tutorial) at:
|
|
http://www.esil.univ-mrs.fr/~hquiroz/freebsd/bsd.java.mk-2.0.html
|
|
|
|
20040316:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
The print/freetype2 port has been updated to 2.1.7. This update
|
|
changes some of the internal FreeType API. Applications may need
|
|
to be patched to support this new API. If a source files includes
|
|
freetype/freetype.h, make sure ft2build.h is included before
|
|
freetype/freetype.h. The proper way to do this is:
|
|
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
|
|
However, the following will work as well, but is deprecated:
|
|
|
|
#include <ft2build.h>
|
|
#include <freetype/freetype.h>
|
|
|
|
20040314:
|
|
AUTHOR: ade@FreeBSD.org
|
|
USE_LIBTOOL, USE_AUTOCONF, and USE_AUTOMAKE are now considered
|
|
deprecated, and will be removed on or around June 1st 2004.
|
|
All ports should now choose the specific version of the tool,
|
|
using USE_LIBTOOL_VER, USE_AUTOCONF_VER, and USE_AUTOMAKE_VER.
|
|
The old "system default" behavior can be written as follows:
|
|
|
|
Old New
|
|
USE_LIBTOOL=yes USE_LIBTOOL_VER=13
|
|
USE_AUTOCONF=yes USE_AUTOCONF_VER=213
|
|
USE_AUTOMAKE=yes USE_AUTOMAKE_VER=14
|
|
|
|
20040304:
|
|
AUTHOR: eik@FreeBSD.org
|
|
New variable MASTER_SITE_SOURCEFORGE_EXTENDED. It has the
|
|
ten official sourceforge.net download mirrors, whereas
|
|
MASTER_SITE_SOURCEFORGE only has five. To check if your
|
|
port is mirrored there, go to
|
|
<http://prdownloads.sourceforge.net/${MASTER_SITE_SUBDIR}/>
|
|
click on ${DISTFILES} and you'll see five or ten mirrors,
|
|
corresponding to the variables above.
|
|
|
|
20040226:
|
|
AUTHOR: knu@FreeBSD.org
|
|
The default version of Ruby is now 1.8 on all platforms
|
|
including the i386.
|
|
|
|
Users on the i386 platform need to follow the instructions
|
|
described in the UPDATING file to cope with this upgrade.
|
|
|
|
Next time ruby is major upgraded, you won't need to do this
|
|
kind of messy work because some subtle changes have been made
|
|
to the ruby port infrastructure to make it easier to handle
|
|
multiple versions of ruby.
|
|
|
|
20040217:
|
|
AUTHOR: gnome@FreeBSD.org
|
|
Mozilla will now default to using GTK2, and will only compile
|
|
against Gtk+-1.2 if explicitly requested. This is in exact
|
|
opposite to the old behaviour.
|
|
|
|
The valid values of WITH_MOZILLA are now:
|
|
mozilla (www/mozilla, GTK2)
|
|
mozilla-devel (www/mozilla-devel, GTK2)
|
|
mozilla-gtk1 (www/mozilla-gtk1, GTK1)
|
|
mozilla-devel-gtk1 (www/mozilla-devel-gtk1, GTK1)
|
|
|
|
As before, WITH_MOZILLA can be set in /etc/make.conf, but doing
|
|
so is not advised unless you desire the development versions.
|
|
GTK2 browsers will automatically compile against GTK2 mozilla,
|
|
and GTK1 browsers (galeon1, galeon1, and galeon1) will
|
|
automatically compile against GTK1.
|
|
|
|
Again, the only people who will need to take action are those
|
|
who desire development versions (which are inactive at this time
|
|
anyway). Those who want GTK1 mozilla-devel must set
|
|
WITH_MOZILLA=mozilla-devel-gtk1 or they will be pleasantly
|
|
surprised with their very own GTK2 installation on the next
|
|
update.
|
|
|
|
WITH_MOZILLA=mozilla-gtk2 and WITH_MOZILLA=mozilla-devel-gtk2
|
|
are still honoured for the time being, but their use is
|
|
now deprecated. Any new ports are not required to consider
|
|
their values, and so eventually WITH_MOZILLA _will_ have to
|
|
be changed.
|
|
|
|
Hopefully galeon2 can catch up to peoples' expectations from
|
|
galeon1 soon, and we can remove the GTK1 ports altogether.
|
|
|
|
|
|
20040204:
|
|
AUTHOR: portmgr@FreeBSD.org
|
|
The bsd.php.mk file has been moved out of the lang/php4 port
|
|
into the Mk directory. This will make it much easier to include
|
|
PHP support in PHP-dependent ports. Instead of including
|
|
bsd.php.mk directly, a port can simply set USE_PHP=yes, and the
|
|
ports system with Do the Right Thing.
|
|
|
|
All trailing whitespace has been removed from bsd.port.mk.
|
|
|
|
Enhance the new OPTIONS code by only including saved options if
|
|
the port defines OPTIONS, attempt to use LATEST_LINK as the
|
|
unique name for a port (fall back to ${PKGNAMEPREFIX}${PORTNAME}
|
|
otherwise), bring the ===> messages in line with the existing
|
|
ones by using PKGNAME instead of PORTNAME, use PKGNAME in the
|
|
dialog, use ECHO_CMD instead of ECHO_MSG to write the
|
|
OPTIONSFILE, display a message during compilation indicating
|
|
that user-specified options have been found, and make the output
|
|
of the showconfig target a little more user-friendly.
|
|
|
|
A new USE_ICONV macro has been added that takes the place of an
|
|
explicit LIB_DEPENDS on converters/libiconv. This will help
|
|
with future shared lib version bumps.
|
|
|
|
A new USE_GETTEXT macro has been added that takes the place of
|
|
an explicit LIB_DEPENDS on devel/gettext. This will help with
|
|
future shared lib version bumps.
|
|
|
|
Module::Build is a system for building, testing, and installing
|
|
Perl modules. It will eventually replace the obsoleted
|
|
ExtUtils::MakeMaker. Many new Perl modules have already
|
|
switched to using Build.PL instead of Makefile.PL. To
|
|
facilitate building those modules, a new PERL_MODBUILD macro has
|
|
been added. Use that in place of PERL_CONFIGURE when porting
|
|
Perl modules that make use of the Module::Build framework.
|
|
|
|
Certain ports want to check for the availability of SDL
|
|
libraries before including them. This change adds a new
|
|
WANT_SDL macro similar to WANT_GNOME. By setting this, the
|
|
porter indicates that her port can optional use SDL if present
|
|
on the system. WANT_SDL should be defined _before_
|
|
bsd.port.pre.mk is included. After including bsd.port.pre.mk,
|
|
the list of available SDL components will be returned in the
|
|
HAVE_SDL macro. For details on how to process this component
|
|
list, refer to bsd.sdl.mk.
|
|
|
|
The OpenBSD and NetBSD projects diverged from the FreeBSD ports
|
|
tree years ago, and it no longer make sense to include obsolete
|
|
references to incorrect paths in the FreeBSD ports system. This
|
|
change removes the NetBSD and OpenBSD PORTSDIR compatibility
|
|
bits from bsd.port.mk.
|
|
|
|
The comment for PKGDIR read, ``A direction containing any
|
|
package creating file.'' The word ``direction'' should be
|
|
``directory.'' This has been fixed.
|
|
|
|
A new DIRNAME macro has been added that points to
|
|
/usr/bin/dirname. All direct use of dirname in ports can be
|
|
switched to this macro.
|
|
|
|
Direct use of commands dirname, id, and rm have been corrected
|
|
to use their macro equivalents instead. Some useless ${HEAD}
|
|
-n 1 statements have been removed. A strange comment in the
|
|
do-install target and an out of place ``fi'' have been fixed as
|
|
well.
|
|
|
|
On 5-CURRENT after the 5.2-RELEASE split, the default Perl
|
|
version has been updated from 5.6.1 to 5.8.2. As well, some
|
|
Perl definitions in bsd.port.mk have been moved to their correct
|
|
locations which corrects the PERL_LEVEL definition.
|
|
|
|
The following optimizations have been added to the ports system
|
|
to speed up recursive operations such as make describe, make
|
|
index, make ignorelist, etc. bsd.gnome.mk is now only included
|
|
if a port defines USE_GNOME, WANT_GNOME, and/or USE_GTK. More
|
|
variables are cached and passed down through bsd.port.subdir.mk.
|
|
Perl is no longer invoked when a simple ``echo'' will do. More
|
|
subshell variable assignments have been hidden behind
|
|
conditionals so that the commands are not spawned everytime.
|
|
Finally, dependency lists are only constructed if ports actually
|
|
declare dependencies. These optimizations give make index
|
|
approximately a 43% speedup.
|
|
|
|
If CPUFLAGS is not defined (this _CPUCFLAGS is empty), trying
|
|
to remove _CPUCFLAGS from CFLAGS will result in an error. This
|
|
change fixes that.
|
|
|
|
On recent versions of 5.X, /etc/rc.subr exists, and there is no
|
|
reason to install another copy in ${LOCALBASE}/etc. The reason
|
|
this was ever done was to workaround some build issues on bento.
|
|
However, testing OSVERSION seems to work in spite of those build
|
|
issues.
|
|
|
|
The ports system now supports MySQL 3.23, 4.0, 4.1, and 5.0.
|
|
Also, the ability to scale to newer versions was also but in
|
|
place.
|
|
|
|
An .endif comment indicated that the .if block checked
|
|
WANT_MYSQL when, in fact, it was checking WANT_MYSQL_VER. This
|
|
has been corrected.
|
|
|
|
The PTHREAD{CFLAGS,LIBS} macros have been made overridable on
|
|
all versions of FreeBSD to allow for alternate threading
|
|
implementations (e.g. -lc_r, -lthr, -mt, etc.). The default
|
|
threading library has been changed to -lpthread from -lc_r on
|
|
-CURRENT.
|
|
|
|
The new SIZE support broke distfiles fetching on FreeBSD < 4.8.
|
|
On those versions of FreeBSD, the SIZE distfile attribute is now
|
|
ignored. Also, defining DISABLE_SIZE in, for example,
|
|
/etc/make.conf, will ignore the SIZE attribute on all versions
|
|
of FreeBSD. This is useful with alternate values for FETCH_CMD.
|
|
|
|
A new vulnerabilities database has been added to the ports
|
|
system in order to keep more accurate, up-to-date, track of
|
|
security vulnerabilities. The ports system now knows how to
|
|
query that database and dynamically prevents the installation
|
|
of vulnerable ports.
|
|
|
|
In order to allow for more rapid development of the package
|
|
tools, the ports system will prefer to use pkg_* tools found in
|
|
${LOCALBASE} over those in the base system. However, all PKG_*
|
|
macros are still overridable.
|
|
|
|
A new physical category, net-mgmt, has been created to house
|
|
network management ports.
|
|
|
|
The /var/db/port.mkversion file never really took off, and is
|
|
now very obsolete. Replace the code used to generate and check
|
|
this file with a simple OSVERSION check. The ports system now
|
|
requires FreeBSD 4.3 or higher.
|
|
|
|
The last round of bsd.*.mk changes broke ports that had
|
|
duplicate distinfo entries (e.g. linux_base). This is now
|
|
fixed. Along with this fix, only distfiles with a bad checksum
|
|
will be refetched, where as distfiles missing from distinfo will
|
|
not be refetched.
|
|
|
|
The PLIST_{DIRS,FILES} macros were passed to the final package
|
|
list unchanged by PLIST_SUB. This is not always desirable.
|
|
Now, those macros are passed through PLIST_SUB.
|
|
|
|
The previous OPTIONS code assumed users would be running port
|
|
build as root. If this was not the case, OPTIONS configuration
|
|
would fail. Now, the bits of the config and rmconfig targets
|
|
that require write access to system directories are run under
|
|
SU_CMD.
|
|
|
|
The makesum target will now add a SIZE attribute for each
|
|
distfile by default. This can be overridden by defining NO_SIZE
|
|
in a port's Makefile. Note: this could probably be expanded to
|
|
omit SIZE attributes for specific distfiles in the future.
|
|
|
|
20040129:
|
|
AUTHOR: trevor@FreeBSD.org
|
|
SIZE lines in distinfo files: if you set USE_SIZE when you do "make
|
|
makesum", the byte sizes of the distfiles will be listed in the
|
|
distinfo file. Then, if a distfile is replaced on its master site with
|
|
one of a different size than that listed, "make fetch" will fail with a
|
|
"size mismatch" error before downloading the file and the user will be
|
|
asked to fetch the file by hand. Also, a user will know the size of
|
|
the distfiles before fetching and decide to fetch later.
|
|
|
|
20040129:
|
|
AUTHOR: erwin@FreeBSD.org
|
|
Start of CHANGES file.
|
|
|
|
FORMAT:
|
|
|
|
This file contains a list, in reverse chronological order, of major
|
|
breakages or added features in tracking ports. Not all things will be
|
|
listed here, and it only starts on January 29, 2004.
|
|
|
|
Copyright information:
|
|
|
|
Copyright 2004 FreeBSD Foundation All Rights Reserved.
|
|
|
|
Redistribution, publication, translation and use, with or without
|
|
modification, in full or in part, in any form or format of this
|
|
document are permitted without further permission from the author.
|
|
|
|
THIS DOCUMENT IS PROVIDED BY FREEBSD FOUNDATION ``AS IS'' AND ANY EXPRESS OR
|
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
|
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
If you find this document useful, and you want to, you may buy the
|
|
author a beer.
|
|
|
|
Contact Erwin Lansing if you have any questions about your use of
|
|
this document.
|
|
|
|
$FreeBSD$
|