HEADS UP: Latest round of bsd.*.mk changes

Joe Marcus Clarke marcus at FreeBSD.org
Tue Feb 3 21:09:53 PST 2004


This update to the FreeBSD ports infrastructure comes right on the
heals of the previous changes.  Basically, the previous patches
raised a lot of interests, and revealed some interesting bugs.  This
patch attempts to address some of those bugs as well as add some
much-needed recursive optimizations, changes the default threading
library on -CURRENT, updates to Perl 5.8 on -CURRENT, adds new PHP
and MySQL porting hooks, and much more.

------------------------------------------------------------------------

Type: FEATURE

Title: New bsd.php.mk added

Affects: bsd.port.mk bsd.php.mk

Description: 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.


Submitted by: ale

------------------------------------------------------------------------

Type: BUGFIX

Title: Remove trailing whitespace from bsd.port.mk

Affects: bsd.port.mk

Description: All trailing whitespace has been removed from
bsd.port.mk.



Submitted by: marcus

------------------------------------------------------------------------

Type: BUGFIX

Title: Enhanced OPTIONS handling

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61683


Submitted by: eik

------------------------------------------------------------------------

Type: FEATURE

Title: Add a USE_ICONV macro

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=62131


Submitted by: trevor

------------------------------------------------------------------------

Type: FEATURE

Title: Add a USE_GETTEXT macro

Affects: bsd.port.mk Too many ports to list

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61992


Submitted by: trevor

------------------------------------------------------------------------

Type: FEATURE

Title: Add support for p5-Module::Build

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61621


Submitted by: skv

------------------------------------------------------------------------

Type: FEATURE

Title: Enhance bsd.sdl.mk with WANT_SDL

Affects: bsd.port.mk bsd.sdl.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61877


Submitted by: edwin

------------------------------------------------------------------------

Type: BUGFIX

Title: Remove NetBSD and OpenBSD bits from bsd.port.mk

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61401


Submitted by: Markus Brueffer <brueffer at phoenix-systems.de>

------------------------------------------------------------------------

Type: BUGFIX

Title: Correct a type in PKGDIR description in bsd.port.mk

Affects: bsd.port.mk

Description: The comment for PKGDIR read, ``A direction containing
any package creating file.''  The word ``direction'' should be
``directory.''  This has been fixed.


Submitted by: trevor

------------------------------------------------------------------------

Type: FEATURE

Title: Add new DIRNAME macro

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61684


Submitted by: eik

------------------------------------------------------------------------

Type: BUGFIX

Title: Cleanup bsd.port.mk

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61684

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61955


Submitted by: des eik

------------------------------------------------------------------------

Type: FEATURE

Title: The default Perl for -CURRENT has been updated to 5.8.2

Affects: bsd.port.mk

Description: 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.


PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61857


Submitted by: des

------------------------------------------------------------------------

Type: BUGFIX

Title: Optimize recursive operations on the ports tree

Affects: bsd.port.mk bsd.port.subdir.mk

Description: 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.



Submitted by: kris

------------------------------------------------------------------------

Type: BUGFIX

Title: Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS
is not defined

Affects: bsd.port.mk

Description: If CPUFLAGS is not defined (this _CPUCFLAGS is empty),
trying to remove _CPUCFLAGS from CFLAGS will result in an error.
This change fixes that.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61757


Submitted by: marcus

------------------------------------------------------------------------

Type: BUGFIX

Title: Remove sysutils/rc_subr dependency on -CURRENT

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61454


Submitted by: Sergey Matveychuk <sem at ciam.ru>

------------------------------------------------------------------------

Type: FEATURE

Title: Add MySQL 5.X support to the ports system

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=60559


Submitted by: ale

------------------------------------------------------------------------

Type: BUGFIX

Title: Fix a comment typo related to MySQL

Affects: bsd.port.mk

Description: An .endif comment indicated that the .if block checked
WANT_MYSQL when, in fact, it was checking WANT_MYSQL_VER.  This has
been corrected.


Submitted by: linimon

------------------------------------------------------------------------

Type: FEATURE

Title: Change PTHREAD_{CFLAGS,LIBS} behavior

Affects: bsd.port.mk

Description: 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.


Submitted by: eischen netchild

------------------------------------------------------------------------

Type: BUGFIX

Title: Do not check distfile size on FreeBSD < 4.8

Affects: bsd.port.mk

Description: 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.


Submitted by: marcus netchild

------------------------------------------------------------------------

Type: FEATURE

Title: Do not install ports with security vulnerabilities

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=62039


Submitted by: eik

------------------------------------------------------------------------

Type: FEATURE

Title: Use ${LOCALBASE}/sbin/pkg_* tools if found

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=62039


Submitted by: eik

------------------------------------------------------------------------

Type: FEATURE

Title: A new net-mgmt physical category has been added

Affects: bsd.port.mk

Description: A new physical category, net-mgmt, has been created
to house network management ports.


Submitted by: wollman

------------------------------------------------------------------------

Type: BUGFIX

Title: Stop relying on port.mkversion

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61856


Submitted by: des

------------------------------------------------------------------------

Type: BUGFIX

Title: Fix a regression in checksum processing

Affects: bsd.port.mk

Description: 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.


Submitted by: marcus eik

------------------------------------------------------------------------

Type: FEATURE

Title: Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB

Affects: bsd.port.mk

Description: 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.


Submitted by: marcus

------------------------------------------------------------------------

Type: BUGFIX

Title: Switch to root to run config and rmconfig targets

Affects: bsd.port.mk

Description: 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.


Submitted by: marcus

------------------------------------------------------------------------

Type: FEATURE

Title: Add SIZE attributes for distfiles by default

Affects: bsd.port.mk

Description: 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.

PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=61972


Submitted by: trevor

Along with this, all the ports that depend on gettext had their
PORTREVISION bumped to (hopefully) help with the upgrade.

Marcus

-- 
Joe Marcus Clarke
FreeBSD GNOME Team	::	gnome at FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20040204/d36139ee/attachment-0001.bin


More information about the freebsd-ports mailing list