mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-23 00:43:28 +00:00
842a3c81ff
Submitted by: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr>
402 lines
16 KiB
Plaintext
402 lines
16 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.
|
|
|
|
20040416:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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$
|