Date: Tue, 20 Jan 2004 04:24:55 -0500 From: Joe Marcus Clarke <marcus@FreeBSD.org> To: ports@FreeBSD.org Subject: HEADS UP: New bsd.*.mk changes Message-ID: <1074590694.85583.20.camel@shumai.marcuscom.com>
next in thread | raw e-mail | index | archive | help
--=-ikjHZ8+GoC6EQccbsIBn Content-Type: text/plain Content-Transfer-Encoding: quoted-printable This update of the FreeBSD ports system brings many exciting new features as well as many important bug fixes. This summary will benefit porters and users alike. Some highlights of this release include new persistent per-port build options, a nice menu-driven options configuration interface, smarter download resuming, quicker package registration, and quicker GNU configure execution. Enjoy! ------------------------------------------------------------------------ Type: FEATURE Title: Add ghostscript knobs Affects: bsd.port.mk Description: Several new macros were added to facilitate the use of ghostscript in ports. Porters will want to define USE_GHOSTSCRIPT in ports' Makefiles to indicate that the port requires ghostscript to build and run. If the port only requires ghostscript to build, define USE_GHOSTSCRIPT_BUILD. Likewise, to indicate the port only requires ghostscript to run, define USE_GHOSTSCRIPT_RUN. If your port requires a specific flavor of ghostscript, define GHOSTSCRIPT_PORT to be the port that is to provide PostSscript functionality (e.g. print/ghostscript-gnu). Users may define WITH_GHOSTSCRIPT_AFPL if they wish to prefer the AFPL version of ghostscript over the GNU version. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D36112 Submitted by: linimon ------------------------------------------------------------------------ Type: FEATURE Title: Add per-port persistent build options with a menu-driven front-end Affects: bsd.port.mk Description: Probably one of the most anticipated new features for the ports system is the ability to have persistent per-port build options. This new feature adds that functionality as well as a new menu-driven interface for setting those per-port options. Porters will need to set the OPTIONS macro in their port's Makefile to a list of WITH_ options supported by that port. The format is <option> "<description>" [on|off]. For example: FLEXRESP "Flexible response to events" off. This says that this port supports a WITH_FLEXRESP option that is not defined by default. This option's description is, "Flexible response to events." Multiple options should be chained into the one OPTIONS macro. NOTE: For OPTIONS to work, you must define OPTIONS before bsd.port.pre.mk. In order to configure these options, use the ``config'' target. Doing ``make config'' will pop up a curses-based dialog which lists all the available options for the given port. Changes are saved in a per-port directory under PORTS_DBDIR (default: /var/db/ports). To view configurable options for a port, use the ``showconfig'' target. To set all port options back to the defaults, use the ``rmconfig'' target. PR: Submitted by: eivind ------------------------------------------------------------------------ Type: FEATURE Title: Allow porters to override the message generated when do-configure fails Affects: bsd.port.mk Description: When do-configure fails, a message is printed out telling the user how to report the problem. Some porters feel this is inadequate to diagnose the problem, there is now a new CONFIGURE_FAIL_MESSAGE macro that porters can set to a message of their choice. PR: Submitted by: marcus ------------------------------------------------------------------------ Type: FEATURE Title: Add patch to obviate many pkg-plist files Affects: bsd.port.mk Description: By adding files and symlinks to the PLIST_FILES macro, and directories to PLIST_DIRS, a porter can do away with a port's pkg-list file altogether Directories should be added in reverse order so that they are removed correctly (i.e. add them in the order you would in the pkg-plist). PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59909 Submitted by: trevor ------------------------------------------------------------------------ Type: BUGFIX Title: Fix the PKG_DBDIR comment Affects: bsd.port.mk Description: The comment about the PKG_DBDIR macro has been updated to indicate that PKG_DBDIR must not contain anything other than registered packages. PR: Submitted by: gerald ------------------------------------------------------------------------ Type: BUGFIX Title: Make ports framework more robust with regard to make index Affects: bsd.port.mk bsd.emacs.mk bsd.java.mk bsd.openssl.mk bsd.python.mk Description: The various .BEGIN statements have been removed from the bsd.*.mk files to prevent make describe and even make -V from causing make to bomb out. Instead, errors that used to be caught during .BEGIN are caught in a new sanity checking target, check-makevars that is executed before do-fetch. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D61351 Submitted by: linimon ------------------------------------------------------------------------ Type: FEATURE Title: Add new command macros to bsd.port.mk Affects: bsd.port.mk Description: The following new command macros have been added to bsd.port.mk: BRANDELF =3D> /usr/bin/brandelf, CPIO =3D> /usr/bin/cpio, DIALOG =3D> /usr/bin/dialog, OBJCOPY =3D> /usr/bin/objcopy, PASTE =3D> /usr/bin/paste, PAX =3D> /bin/pax, PRINTF =3D> /usr/bin/printf, SORT =3D> /usr/bin/sort, UNZIP_CMD =3D> /usr/bin/unzip or ${LOCALBASE}/bin/unzip. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: BUGFIX Title: Remove direct command use from bsd.port.mk Affects: bsd.port.mk Description: Replace direct use of echo, cat, tr, sed, and awk from bsd.port.mk with their macro equivalents. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: BUGFIX Title: Make the ports system respect WITHOUT_CPU_CFLAGS Affects: bsd.port.mk Description: The ports system now respects WITHOUT_CPU_CFLAGS for ports that may not build correctly when CPUTYPE is defined. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59493 Submitted by: jeh ------------------------------------------------------------------------ Type: FEATURE Title: Break the SDL code out into bsd.sdl.mk Affects: bsd.port.mk bsd.sdl.mk Description: All of the SDL bits from bsd.port.mk have been moved to bsd.sdl.mk. The new infrastructure is similar to the new GNOME infrastructure in that the USE_SDL macro accepts a list of SDL components your port requires. For example, setting "USE_SDL=3Dsdl esound" means your port requires the standard SDL module as well as SDL_esound. USE_SDL=3Dyes is also supported for backward compatibility. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D55494 Submitted by: edwin ------------------------------------------------------------------------ Type: FEATURE Title: Add working support for USE_SIZE Affects: bsd.port.mk Description: When USE_SIZE is defined in a port the distfile size is checked. This size is passed to ${FETCH_CMD} via the -S argument. To make use of this new option, add a SIZE definition to the distinfo file following the same model as the MD5 definition. Then define USE_SIZE in your port's Makefile. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: BUGFIX Title: Fix RANDOMIZE_MASTER_SITES on -CURRENT Affects: bsd.port.mk Description: The new RANDOMIZE_MASTER_SITES option did not work properly on -CURRENT. This is fixed now. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59315 Submitted by: Sergey Matveychuk <sem@ciam.ru> ------------------------------------------------------------------------ Type: BUGFIX Title: Convert some spaces to tabs Affects: bsd.port.mk Description: Some of the spaces in bsd.port.mk have been replaced with tabs. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: FEATURE Title: Add new physcial categories accessibility and x11-themes Affects: bsd.port.mk Description: Two new physical categories, accessibility and x11-themes have been added to the ports system. PR: Submitted by: trevor gnome ------------------------------------------------------------------------ Type: FEATURE Title: Speed up GNU configure scripts Affects: bsd.port.mk Description: The maximum command line length is cached, and passed to GNU configure scripts via CONFIGURE_ENV. By default, this is set to 16384, but one may overwrite this by setting CONFIGURE_MAX_CMD_LEN to another numeric value. In general, this should not need to be changed. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59811 Submitted by: adamw ------------------------------------------------------------------------ Type: BUGFIX Title: Remove "//" from MLINKS items in PLISTs and fix make -s install and make -s deinstall Affects: bsd.port.mk Description: Various MLINKS-related bugs have been fixed. Essentailly, the /""/ pattern that was showing up in PLIST entries corresponding to MLINKS has been removed. This fixes make -s install and make -s deinstall. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: BUGFIX Title: Be more specific about looking for files in distinfo Affects: bsd.port.mk japanese/Canna Description: ${FETCH_CMD} would accept "afile" and "file" if only "afile" existed in distinfo. Now, specific entries must be added to distinfo PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: FEATURE Title: Add new run-autotools target, and resort configure targets Affects: bsd.port.mk bsd.gnustep.mk mbone/rat Description: The autotools portion of do-configure has been broken out into a separate run-autotools target. This target is run after pre-configure and patch-libtool, but before do-configure. Porters should now use this target for anything pertaining to autotools, and set do-configure to ${DO_NADA} if that target is no longer used. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D60882 Submitted by: edwin ------------------------------------------------------------------------ Type: BUGFIX Title: Make CONFLICTS compare prefix for installed packages and PREFIX Affects: bsd.port.mk Description: CONFLICTS will now check PREFIX to determine if two ports really conflict with each other by installing the same file. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D58149 Submitted by: clement ------------------------------------------------------------------------ Type: BUGFIX Title: Change directory to ${.CURDIR} before running certain make commands Affects: bsd.port.mk Description: To be extra safe, make sure we are really in the current port's directory before running certain make command. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59058 Submitted by: eik ------------------------------------------------------------------------ Type: BUGFIX Title: When INSTALL_AS_USER is set, run ldconfig with failures ignored. Affects: bsd.port.mk Description: Without root privileges, ldconfig is not very useful. However, some users create an ldconfig wrapper for working in non-root environments. As such, is INSTALL_AS_USER is specified ldconfig will be run with errors ignored. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D61133 Submitted by: edwin lev ------------------------------------------------------------------------ Type: BUGFIX Title: Speed up the security check phase Affects: bsd.port.mk Description: The security check phase of post-install was too slow. There is now a new procedure in place which uses an external awk script to do the same level of checking. To restore the old functionality, define OLD_SECURITY_CHECK (e.g. in /etc/make.conf). It was been reported this new algorithm is up to five times faster than the old version. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D55331 Submitted by: Eugene M. Kim <ab@astralblue.com> ------------------------------------------------------------------------ Type: BUGFIX Title: Fix some corner cases in the PORTDOCS code Affects: bsd.port.mk Description: By using PORTDOCS, a ``@cwd /usr/local'' will be added to every PLIST that does not already contain a @cwd directive. While this usually does no harm, it breaks the case where a user may do ``pkg_add -p /my/prefix pkg-name''. Additionally, every package receives a ``@unexec rmdir ${DOCSDIR} 2>/dev/null || true'' in their PLIST when the porter's handbook states this should only happen if NOPORTDOCS is not defined. These bugs are now fixed. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59070 Submitted by: eik ------------------------------------------------------------------------ Type: FEATURE Title: Add a new DEPRECATED macro Affects: bsd.port.mk Description: A new DEPRECATED macro has been added that porters can use to indicate a port is deprecated in favor of a new version or another port. Porters may also set EXPIRATION_DATE and a an additional message will be printed indicating when the given port is set to be obsoleted. NOTE: this macro is advisory only. It does not mark the port BROKEN or IGNORE. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59362 Submitted by: linimon ------------------------------------------------------------------------ Type: FEATURE Title: Make INDEX breakage more informative Affects: bsd.port.subdir.mk Description: When a make index fails, the errors are sometimes cryptic, and lead to guesswork to track down the offending port. This change makes the errors more informative by preceding them with the port that generated the failure. PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D59626 Submitted by: eik This was generated with an XML reporting system I threw together, and a simple little XSL transform to convert the data to plain text. There may be typos, but hopefully the information is clear enough. Joe --=20 Joe Marcus Clarke FreeBSD GNOME Team :: gnome@FreeBSD.org FreeNode / #freebsd-gnome http://www.FreeBSD.org/gnome --=-ikjHZ8+GoC6EQccbsIBn Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQBADPPmb2iPiv4Uz4cRAhatAJ906eq3LTEJzEZ0QJglA1u36IvGLQCfXH1a K/GBgzdhol4Tzv9IFrLGK3I= =CqIL -----END PGP SIGNATURE----- --=-ikjHZ8+GoC6EQccbsIBn--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1074590694.85583.20.camel>