Commit Graph

72 Commits

Author SHA1 Message Date
Kris Kennaway
4a917313b0 * Shuffle some important variable definitions to early in the file,
notably PORTSDIR.  The previous commit introduced a use-before-define
  with respect to this variable, which broke things like portmaster.

* Drop support for COMMENTFILE and a vestigial remnant of NetBSD support.
2007-08-08 03:46:04 +00:00
Gabor Kovesdan
4c9cd257fd - Extract command variable definitions from bsd.port.mk, they are now stored in
bsd.commands.mk and can be easily reused within the infrastructure.
- Revert old DESTDIR implementation.
- Add a new, fully chrooted DESTDIR implementation as bsd.destdir.mk.

Sponsored by:	Google Summer of Code 2007
Approved by:	portmgr (pav)
2007-08-04 11:37:24 +00:00
Mark Linimon
942838f1d5 * Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]

* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]

* Update the description of fetch-list; add targets fetch-required-list,
  fetch-url-list, and fetch-urlall-list. [4]

* Make 'make search' also search in ports/MOVED. [5]

* Move several Makevar definitions to the pre-makefile section:
  DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]

* The target 'ignorelist-verbose' was added for portsmon. [7]

PR:	69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]

Submitted by:	Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
		jylefort [3], edwin [4], Lars Engels <lars dot engels
		at 0x20 dot net> [5], Alexander Logvinov <ports at
		logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
Pav Lucistnik
65e107ab69 [1] Introduce COPYTREE_BIN and COPYTREE_SHARE macros
[2] Fix ECHO_CMD/ECHO_MSG usage in bsd.port.mk
[3] Move bsd.efl.mk to ports/Mk
[4] Change LIBTOOLFILES default to ${CONFIGURE_SCRIPT}
[5] Whitespace sweep
[6] Add WWWDIR variable with default value of ${PREFIX}/www/${PORTNAME}

PR:		ports/100996 [1], ports/100556 [2], ports/100497 [3],
		ports/104009 and ports/104018 [5], ports/105529 [6]
Submitted by:	stass [1] [3], gabor [2], pav [4], edwin [5], laszlof [6]
Approved by:	ade [4]
2007-03-24 14:02:06 +00:00
Mark Linimon
e3907bef8b * Fix 'make search' with non-default ${PORTSDIR}
PR:		ports/105917
Submitted by:	shaun
2007-03-06 06:58:35 +00:00
Kris Kennaway
bfb0242e1e Drop PORTOBJFORMAT now that it is entirely unused. 2007-02-04 20:23:37 +00:00
Kris Kennaway
cbd60a5b80 * Hard-code PORTOBJFORMAT?= elf instead of using the (now removed)
objformat(1) and defaulting to a.out.  This will be removed entirely
  once port makefiles no longer reference it.
2007-01-30 04:29:04 +00:00
Erwin Lansing
50513d5d52 Add support for DESTDIR part I.
This commit should largele be a NOOP as it only adds support
for DESTDIR undefined. This does allow us to start testing
ports with DESTDIR set, but this is as of yet not supported.

Although this has been extensively tested on pointyhat, this
is a very intrusive change and some cases may have been
overlooked. Please contact Gabor and me if you find any.

PR:             100555
Submitted by:   gabor
Sponsored by:   Google Summer of Code 2006
2006-08-04 12:34:50 +00:00
Mark Linimon
b09666fc1e - Fix possibility of "infinite make fork" when "Registering install for ..."
EMACS ports.  [1]

 - Allow building a port as root using an NFS-mounted /usr/ports if the
   server maps root to a UID other than root. [2]

 - Make 'BROKEN' and 'IGNORED' ports exit their "make install" with a fail
   status rather than success. [3]

 - Improve behavior when dealing with versioned dependencies. [4]

 - Fix false positives in check-conflicts target. [5]

 - Remove obsolete bzip2 code. [6]

 - Add physical category net-p2p. [7]

 - Don't fetch INDEXFILE if not necessary; respect FETCH_ENV. [8], [11]

 - INDEX can now be moved outside of ports tree. [9]

 - Add ghostscript-gpl. [10]

 - Remove obsolete USE_MESA. [12]

 - Force pkg_install tools from ports on FreeBSD 4.10 and older. [13]

 - Document ALWAYS_KEEP_DISTFILES. [14]

 - Remove USE_REINPLACE from bsd.port.mk USE_DOS2UNIX patch. [15]

PR:	ports/37596 [1], ports/57259 [2], ports/63216 [3],
	ports/89448 [4], ports/89710 [5], ports/88996 [6],
	ports/89260 [7], ports/89363 [8], ports/89809 [9],
	ports/89853 [10], ports/91086 [11], ports/91710 [12],
	ports/91727 [13], ports/92111 [14], ports/92124 [15]
Submitted by:	Jay Sachs <jay at eziba dot com> [1], sem [1, 3, 8, 12],
		Andrew Heybey <ath at niksun dot com> [2], Jamie Jones
		<jamie at thompson dot bishopston dot net>, tobez [4], Mark
		Andrews <Mark_Andrews at isc dot org> [5], edwin [6, 11, 15],
		pav [7, 13], Peter Jeremy <PeterJeremy at optushome dot com
		dot au> [9], Ulrich Spoerlein <q at galgenberg dot net> [10],
		netchild [11], erwin [14]
Reviewed by:	kris, clement (partially)
2006-01-28 02:11:35 +00:00
Mark Linimon
18ad5ce26e Fix 'make search' on 4.X. Has no effect on 5.X and 6.X which worked
correctly to start with.

NOTE: if you have your ports tree outside of /usr/ports and don't make your
own INDEX, 'make search' will return no results.  This was a pre-existing
problem which no one had ever noticed.

People with long experience in software can imagine the merriment of
attempting to debug the current problem given this, for themselves.

PR:		ports/92189
Submitted by:	linimon
Fix from	clement
2006-01-23 23:54:22 +00:00
Kirill Ponomarev
01c588a635 - Fix 'all-depends-list' target in cases if dependencies list is
very long and if some dependencies can't be added into the list.
  [1]

- Fix FAM support.  Make gamin the default FAM system. [2]

- Introduce new 'quicksearch' target to show only port, path and
  info section of the matching ports. [3]

- Introduce new category - rubygems. [4]

- Fix stale dependencies while installing qmail slaveport and
  another port that depends on qmail. [5]

- Add commentary for describes target in bsd.port.mk. [6]

- Fix warning issued during make index on archs !368. [7]

- Add USE_DOS2UNIX variable.  If set to "YES", remove the ^M from
  all files under ${WRKSRC}. If set to a string, remove in all files
  under ${WRKSRC} with one of these names the ^Ms. [8]

- Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by
  checking the existance of the Perl modules with the "perl -e 'use
  module;'" command. [9]

- Fix bsd.port.mk variable quoting issues.  No quoting is necessary
  anymore either in the Makefile or on the command line.  Affected
  variables include:

  BROKEN
  FORBIDDEN
  IGNORE
  MANUAL_PACKAGE_BUILD
  NO_CDROM
  NO_PACKAGE
  RESTRICTED

  [10]

- Add NOFETCHFILES variable.  If set, don't download these files
  from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from
  ${MASTER_SITE_OVERRIDE}). [11]

- Improve 'search' target output. [12]

- Add a new virtual category for Amateur Radio - hamradio. [13]

- Cleanup some old/unused pathes in bsd.port.mk. [14]

- Add @dirrmtry for plists which does the same as:
  "@unexec rmdir %D/foo 2>/dev/null || true" [15]

- Remove virtual category - offix. [16]

- Use portsnap instead of cvsup or cvs on "make update" in
  /usr/ports. [17]

- Move location of bsd.autotools.mk within bsd.port.mk [18]

- Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19]

- Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20]

- Replace the string "FreeBSD" by "The FreeBSD Project" in the
  security warning [21]

- Add bsd.local.mk for local modification to ports framework. [22]

- Replace rcNG spelling by rc.d [23]

- Remove superfluous USE_REINPLACE. [24]

Special thanks to:      linimon for spending hours with all these patches
                        clement for fixes
                        kris for help with pointyhat
PR:     ports/86310 [1], ports/89498 [2], ports/83530 [3],
        ports/83789 [4], ports/84053 [5], ports/86281 [6],
        ports/87214 [7], ports/87234 [8], ports/87318 [9],
        ports/87396 [10], ports/87605 [11], ports/87840 [12],
        ports/88230 [13], ports/88493 [14], ports/88711 [15],
        ports/88751 [16], ports/89281 [17], ports/89999 [18],
        ports/90031 [19], ports/90150 [20], ports/90668 [21],
        ports/91433 [23], ports/88754 [24]
Submitted by:   mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3],
                pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7],
                edwin [8, 9, 11, 15, 21],
                fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12],
                Carl Makin <carl@stagecraft.cx> [13], arved [14],
                NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18],
                jylefort [19], linimon [22], dougb [23]
2006-01-21 17:37:14 +00:00
Clement Laforet
a4b366df6a * Add bsd.database.mk [1]
- move out from bsd.port.mk USE_MYSQL and USE_PGSQL.
  - add support for Berkley DB and SQLite (via USE_BDB and USE_SQLITE
    knobs).

* Espace '+' in make search [2]

* Add "makepatch" target to simplify creation of patches during porting [3]

* Replace deprecated MACHINE_ARCH with ARCH [4]

* Remove support of OpenLDAP 2.1 [5]

* Add bsd.tcl.mk [6]
  It introduces USE_TCL/USE_TCL_BUILD knobs to support various
  version of tcl (8.0 -> 8.4)

* Fix cosmetic bugs in security-check target [7]

* Add support for INDEX-7 and above (up to INDEX-9 actually) [8]

* Add "package-recursive" to bsd.port.subdir.mk [9]

* Remove check for FreeBSD version < 460101 [10]

* New category: net-im [11]

* Add .desktop file facilities
  It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs [12]

* Add SHA256 support to "*checksum" targets [13]

* Fix USE_PYTHON with OPTIONS [14]

* Force NO_LINT to MAKE_ENV to avoid library breaks [15]

* Fix typo: s/RC_ORDER/USE_RCORDER/g [16]

* Add support for PostgreSQL 8.1 [17]

* Add bsd.apache.mk
  USE_APACHE knob enhancements [18]

PR:		ports/85695 [1], ports/85669 [2], ports/85488 [3],
		ports/84489 [4], ports/83835 [5], ports/83718 [6],
		ports/83716 [7], ports/83710 [8], ports/82753 [9],
		ports/82138 [10], ports/81206 [11], ports/79509 [12],
		ports/79123 [13], ports/74866 [14], ports/85490 [15],
		ports/83514 [16], ports/88466 [17]

Submitted by:	vsevolod [1] [6], Ricardo Alves dos Reis
		<ricardo_bsd@yahoo.com.br> [2], markm [3] [15], obrien [4],
		krion [5] [8] , Petr Rehor <prehor@gmail.com> [7],
		clement [8] [18], jhs@berklix.org [9], edwin [10] [13],
		pav [11], jylefort [12], mnag [14], leeym [16], girgen [17]
2005-11-08 09:02:51 +00:00
Kirill Ponomarev
bd07e61e5b * Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
  -DPORTSTOP readmes" is defined. [2]

* Add support for early rcNG startup scripts. [3]

* Remove duplicate USE_XLIB handling. [4]

* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
  both are specified. [5]

* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]

* Introduce bsd.gstreamer.mk and utilize new macros:
  USE_GSTREAMER/WANT_GSTREAMER. [7]

PR:		ports/77634 [1], ports/77592 [2], ports/77385 [3],
		ports/77557 [4], ports/77344 [5], ports/77211 [6],
		ports/77838 [7]
Submitted by:	krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
		pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
Kirill Ponomarev
1c8dc16ebe * Change bento to pointyhat names in comments. [1]
* Document DISABLE_VULNERABILITIES variable. [2]

* Add WWW: line for 'search' target. [3]

* Speedup check-vulnerable invokation, if portaudit is installed. [4]

* Run install-info for all .info files. [5]

* Run add-plist-docs more strictly and prevent some situations with
  leftover files in the future. [6]

* Introduce two new variables: MASTER_PORT and SLAVE_PORT.
  The results from these variables is only used as information for
  users. [7]

* Honour OPTIONS if PACKAGE_BUILDING or BATCH are defined. [8]

* Move all USE_GCC entries to new file - bsd.gcc.mk.  'test-gcc'
  target allows users to check gcc version if USE_GCC is used.  Give
  maintainers opportunity to add '+' character to USE_GCC version
  for using specified and higher versions. [9]

* Install startup scripts with the help of USE_RC_SUBR variable. [10]

* Add three new targets: config-recursive, rmconfig-recursive and
  config-conditional.  You can set or delete OPTIONS for all
  dependencies before every build.  config-conditional target is
  used to skip configuring ports which have already been
  configured. [11]

* Fix using of WANT_PGSQL_VER variable if postgresql is already
  installed. [12]

PR:		ports/75768 [1], ports/75728 [2], ports/76187 [3],
		ports/76191 [4], ports/76182 [5], ports/75379 [6],
		ports/75286 [7], ports/75727 [8], ports/76489 [9],
		ports/73691 ports/69217 [10], ports/76254 [11],
		ports/76988 [12]
Submitted by:	dinoex [1], edwin [2] [5] [6] [8] [9] [10],
		Marcus Grando <marcus@corp.grupos.com.br> [3],
		tobez and Valentin Nechayev <netch@netch.kiev.ua> [4],
		linimon [7], Florent Thoumie <flz@xbsd.org> [10],
		Chris Dillon <cdillon@wolves.k12.mo.us> [11],
		girgen [12]
2005-02-07 11:17:50 +00:00
Kirill Ponomarev
f296ccd76e Remove trailing spaces. 2005-01-09 10:12:07 +00:00
Kirill Ponomarev
21ee7168bc * Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]

* Clean up the comments, and use 4 column tabs everywhere. [2]

* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]

* Document DEPRECATED and EXPIRATION_DATE variables. [4]

* Sanitize the intermittent output by the build infrastructure
  so that cutting and pasting from it no longer interferes
  with GNATS-tags. [5]

* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
  is used. [6]

* Properly document 'describe' target. [7]

* Fix pkg-plist handling for ports that set a non-standard
  PREFIX. [8]

* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]

PR:		ports/62298 [1], ports/73633 [2], ports/67151 [3],
		ports/74310 [4]. ports/74758 [5], ports/74536 [6],
		ports/74710 [7], ports/74691 [8]
Submitted by:	eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
		sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
Kirill Ponomarev
ae1ec8f3dc * Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]

* Clarify comments about ARCH. [3]

* Speedup 'make readmes'.  Add a perl script "Tools/make_readmes"
  and modify bsd.port.subdir.mk to avoid recursing into individual
  port directories to create README.html. [4]

* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]

* Add the possibility to search the ports by category. [6]

* Remove tk42 and tcl76 from virtual categories since they're
  obsolete. [7]

* Introduce new variable - DISTVERSION, vendor version of the
  distribution, that can be set instead of PORTVERSION and is
  automatically converted in a conforming PORTVERSION. [8]

* Use --suffix instead of -b option for patch(1) to make it
  compatible with BSD patch(1) [9]

* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
  versions. [10]

PR:		ports/68895 [1], ports/69486 [2], ports/68539 [3],
		ports/70018 [4], ports/68896 [5], ports/73299 [6],
		ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by:	linimon [1][3], arved [2][7], cperciva [4],
		Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
		Radek Kozlowski <radek@raadradd.com> [6],
		eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
		clement [10]
2004-11-19 13:45:07 +00:00
Kris Kennaway
3a7c8c1833 * Be even more explicit about partial ports trees being unsupported
for INDEX builds [1]

* Remove the parallel target from Makefile; this is heavily tied to
  the package build cluster and can be better done in the makeparallel
  script (commit to follow) [2]

* Extend the format of INDEX to separately list the
  EXTRACT/PATCH/FETCH_DEPENDS instead of lumping them all in together
  with BUILD_DEPENDS.  The three new fields are appended to the end of
  the record in that order. [2]

* Change BROKEN to IGNORE in BROKEN_WITH_MYSQL failure code [3]

* Support non-default PREFIX for perl 5.00503 [5]

* Use pkg_info -I instead of ls when searching for conflicts [6]

* Allow local customization of the port subdirectories by including
  ${.CURDIR}/Makefile.local in bsd.subdir.mk if it exists [7]

* Fix 'make search' when ${PORTSDIR} is a symlink to a directory name
  containing extended regexp metacharacters [8]

Submitted by:	linimon [1] [3], kris [2], lth [4], sem [5], eik [5] [6],
		Roman Neuhauser <neuhauser@chello.cz> [7]
PR:		68299 [1], 67705 [3], 67264 [4], 59696 [5], 66568 [6],
		68072 [7]
2004-07-14 08:18:16 +00:00
Kris Kennaway
22cbe54b9a * Support verbose index builds with INDEX_VERBOSE [1]
* Don't assume root is using /bin/sh when switching credentials to
  configure OPTIONS. [2]

* Support glob expressions in USE_GETTEXT to allow more flexibility
  in the face of future gratuitous library version bumps by the gettext
  developers [3]:

  USE_GETTEXT=yEs   # Works as before (case-insensitive)
  USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions
                    # in the LIB_DEPENDS

* Correctly register dependencies when a non-system perl port is used
  on 4.x [4]

* Extend 'make search' support to allow much more flexible searching.
  Syntax will be documented in CHANGES for brevity. [5]

* Reorder the post-install-script target to before add-plist-info for
  consistency [6]

* Various fixes to support port operations when a port directory
  exists under /usr/obj [7]

* Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH
  dependencies since many ports require perl in those stages [8]

* Move info file deregistration later in the deinstallation process so
  it works properly. [9]

* Improve wording in EXPIRATION_DATE message. [10]

* Fix dependencies for XFREE86_VERSION==3 (obtain imake from
  x11/XFree86 now that the former port is gone) [11]

* While building index, treat non-existent dependencies as fatal.
  Previously the error was being hidden by the stderr redirection. [12]

* 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. [12]

* Revert incorrect change from 1.487 relating to ALL-DEPENDS-LIST [13]

PR: 		24214 [1], 67529 [2], 63937 [3], 65554 [4], 40699 [5],
		59162 [6], 63372 66567 [7], 63394 [8], 65304 [9],
		65931 [10], 66565 [11], 66743 [13]
Submitted by:	roam [1], will [1], hrs [2], mi [3], ade [4],
		Roman Neuhauser <roman@bellavista.cz> [5],
		Sergey Matveychuk <sem@ciam.ru> [6], gad [7],
		adamw [8], kris [8][12], dinoex [9],
		Alexey Dokuchaev <danfe@regency.nsu.ru> [10],
		eik [11][13]
2004-06-10 07:30:19 +00:00
Kris Kennaway
e74f65891d - Allow processing of info files in non-standard locations; the
INFO_PATH variable may be used to specify their location.  It defaults
  to 'share/info' for the standard PREFIX, and 'info' when PREFIX ==
  /usr. [1]

- Remove the <category>/pkg/COMMENT files in favour of a COMMENT
  variable in <category>/Makefile [2]

- Prevent patch breakage with VERSION_CONTROL=numbered [3]

- Fix some instances of incorrect WRKDIRPREFIX handling. [4]

- remove useless ${MKDIR} ${WRKSRC} in config target [5]

- remove reference to OpenBSD [6]

- Exempt devel/p5-Module-Build from the self-dependency in
  PERL_MODBUILD so that this port may use the option without getting an
  infinite dependency list [7]

- The default PERL_ARCH is currently determined as a function of
  OSVERSION. It should however be a function of PERL_LEVEL since the
  correct value depends on what Perl version one has installed (older
  Perl versions use ${ARCH}-freebsd, newer versions use mach). [8]

- Fix PORTDOCS on older (4.7, 5.0) systems [9]

- Allow 'make parallel' to generate a working makefile when not all
  categories are present (this does not mean you'll be able to build all
  ports, unless you make sure they don't have external dependencies) [10]

- Don't report symlinks as world-writable in the security check [11]

- Fix a comment that was broken by a mismerged patch [12]

- Clarify the meaning of USE_*, WANT_*, WITH_* and WITHOUT_* [13]

- Don't set _CHKSUMFILES/_IGNOREFILES if CKSUMFILES/IGNOREFILES is
  empty and DIST_SUBDIR is set. [14]

- Fix comment for DISTDIR [15]

- Update the documentation of the USE_GL variable [16]

- Check to see if NONEXISTENT exists, and fail with an error if it does [17]

- Fix fetching of new distfiles in 'make makesum' when SIZE is set [18]

- Consistently set MAKE_ENV when USE_GCC=3.2 or 3.3 are set [19]

- Rework INDEX builds: [20]

  * Fix the bsd.port.subdir.mk code that is supposed to report index
    breakage (the fallback code wasn't actually being run because make
    would halt immediately following the error).  This should help with
    INDEX error reports because it will immediately show the cause of
    failure, so we won't have to pull teeth to extract it from the
    submitter.

  * Streamline the 'make describe' code a bit.

  * Provide some basic instructions to the user when an index build
    fails, on when and how to report index build failures (turn this off
    with INDEX_QUIET=1)

  * Removed INDEX_NOSORT, because I couldn't imagine it to be very
    useful and it doesn't cost very much anyway.

  * Don't prevent INDEX builds from seeing the local host environment.
    Since a lot of users are using 'make index' thesedays they should get
    an index that reflects their local settings and installed ports.  If
    you want to build a 'default' index that isn't influenced by local
    settings (e.g. for release builds), set the INDEX_PRISTINE variable.

  * Allows parallel INDEX builds (using make -j).  The most obvious way
    of doing this doesn't work, because I/O from child makes is broken up
    into 2k chunks, and output lines from 'make describe' that exceed this
    length (*cough* GNOME *cough*) will be intertwined with the output of
    other makes, leading to a corrupted INDEX.  The I/O interleaving
    can be disabled using 'make -P', but this inserts extraneous output of
    its own, and redirects stderr, making it useless for our purposes.
    Instead, I collect the output from the child make processes in
    temporary files and recombine them at the end.

  * The number of concurrent make processes to spawn can be set using
    INDEX_JOBS.  By default this is set to 2, which seems to be a sweet
    spot for both single and dual-processor systems.  On my tests I do not
    see any significant performance changes on UP, but on a dual 4.x
    system the build time drops by 47% (6 minute index builds on one test
    machine!).  Depending on your disk and CPU hardware you might see
    further gains with INDEX_JOBS=4 or higher, so you might like to
    experiment to see what works best.  On a dual 5.x system the
    performance gains do not seem to be as great (20-30%), but this is
    still a significant net win.

PR: 		55493 [1], 59651 [2], 61552 [3], 62247 [4], 62329 [5],
		62337 [6], 62422 [7], 62441 [8], 62627 [9], 62983 [10],
		63112 [11], 63297 [12], 63335 [13], 64029 [14], 64069 [15],
		64236 [16], 64519 [17], 62958 [18], 64237 [19]

Submitted by:	lev [1],
		Matthew Seaman <m.seaman@infracaninophile.co.uk> [2],
		Joel Ray Holveck <joelh@piquan.org> [3],
		ade [4], Sergey Matveychuk <sem@ciam.ru> [5],
		markus [6], mat [7], des [8], eik [9],
		Dmitry Morozovsky <marck@rinet.ru> [10],
		Andrew <andrew@ugh.net.au> [11], vs [12], linimon [13],
		edwin [14][15], gerald [16], marcus[17][18], kris [19][20]
2004-04-02 07:25:23 +00:00
Joe Marcus Clarke
742adcabd7 * Add a new bsd.php.mk that takes the place of lang/php4/bsd.php.mk [1]
* Remove trailing whitespace from bsd.port.mk [2]
* Enhanced OPTIONS handling [3]
* Add a USE_ICONV macro [4]
* Add a USE_GETTEXT macro [5]
* Add support for p5-Module::Build [6]
* Enhance bsd.sdl.mk with WANT_SDL [7]
* Remove NetBSD and OpenBSD bits from bsd.port.mk [8]
* Correct a type in PKGDIR description in bsd.port.mk [9]
* Add new DIRNAME macro [10]
* Cleanup bsd.port.mk [11]
* The default Perl for -CURRENT has been updated to 5.8.2 [12]
* Optimize recursive operations on the ports tree [13]
* Do not attempt to remove _CPUCFLAGS from CFLAGS if _CPUCFLAGS is
  not defined [14]
* Remove sysutils/rc_subr dependency on -CURRENT [15]
* Add MySQL 5.X support to the ports system [16]
* Fix a comment typo related to MySQL [17]
* Change PTHREAD_{CFLAGS,LIBS} behavior [18]
* Do not check distfile size on FreeBSD < 4.8 [19]
* Do not install ports with security vulnerabilities [20]
* Use ${LOCALBASE}/sbin/pkg_* tools if found [21]
* A new net-mgmt physical category has been added [22]
* Stop relying on port.mkversion [23]
* Fix a regression in checksum processing [24]
* Allow PLIST_{DIRS,FILES} to make use of PLIST_SUB [25]
* Switch to root to run config and rmconfig targets [26]
* Add SIZE attributes for distfiles by default [27]

PR:		61683 [3]
		62131 [4]
		61992 [5]
		61621 [6]
		61877 [7]
		61401 [8]
		61684 [10]
		61684 61955 [11]
		61857 [12]
		61757 [14]
		61454 [15]
		60559 [16]
		62039 [20]
		62039 [21]
		61856 [23]
		61972 [27]
Submitted by:	ale [1]
		marcus [2]
		eik [3]
		trevor [4]
		trevor [5]
		skv [6]
		edwin [7]
		Markus Brueffer <brueffer@phoenix-systems.de> [8]
		trevor [9]
		eik [10]
		eik des [11]
		des [12]
		kris [13]
		marcus [14]
		Sergey Matveychuk <sem@ciam.ru> [15]
		ale [16]
		linimon [17]
		eischen netchild [18]
		marcus netchild [20]
		eik [21]
		wollman [22]
		des [23]
		marcus eik [24]
		marcus [25]
		marcus [26]
		trevor [27]
2004-02-04 04:27:04 +00:00
Joe Marcus Clarke
e587cce18d Here come the patches!
* Add ghostscript knobs [1]
* Add per-port persistent build options with a menu-driven front-end [2]
* Allow porters to override the message generated when do-configure fails [3]
* Add patch to obviate many pkg-plist files [4]
* Fix the PKG_DBDIR comment [5]
* Make ports framework more robust with regard to make index [6]
* Add new command macros to bsd.port.mk [7]
* Remove direct command use from bsd.port.mk [8]
* Make the ports system respect WITHOUT_CPU_CFLAGS [9]
* Break the SDL code out into bsd.sdl.mk [10]
* Add working support for USE_SIZE [11]
* Fix RANDOMIZE_MASTER_SITES on -CURRENT [12]
* Convert some spaces to tabs [13]
* Add new physcial categories accessibility and x11-themes [14]
* Speed up GNU configure scripts [15]
* Remove "//" from MLINKS items in PLISTs and fix make -s install and
  make -s deinstall [16]
* Be more specific about looking for files in distinfo [17]
* Add new run-autotools target, and resort configure targets [18]
* Make CONFLICTS compare prefix for installed packages and PREFIX [19]
* Change directory to ${.CURDIR} before running certain make commands [20]
* When INSTALL_AS_USER is set, run ldconfig with failures ignored [21]
* Speed up the security check phase [22]
* Fix some corner cases in the PORTDOCS code [23]
* Add a new DEPRECATED macro [24]
* Make INDEX breakage more informative [25]

Look for a full write-up to follow on ports@ and ports-developers@.

PR:		36112 [1]
		59909 [4]
		61351 [6]
		59058 [7]
		59058 [8]
		59493 [9]
		55494 [10]
		59058 [11]
		59315 [12]
		59058 [13]
		59811 [15]
		59058 [16]
		59058 [17]
		60882 [18]
		58149 [19]
		59058 [20]
		61133 [21]
		55331 [22]
		59070 [23]
		59362 [24]
		59626 [25]
Submitted by:	linimon [1]
		eivind [2]
		marcus [3]
		trevor [4]
		gerald [5]
		linimon [6]
		eik [7]
		eik [8]
		jeh [9]
		edwin [10]
		eik [11]
		Sergey Matveychuk <sem@ciam.ru> [12]
		eik [13]
		trevor gnome [14]
		adamw [15]
		eik [16]
		eik [17]
		edwin [18]
		clement [19]
		eik [20]
		edwin lev [21]
		Eugene M. Kim <ab@astralblue.com> [22]
		eik [23]
		linimon [24]
		eik [25]
2004-01-20 09:14:10 +00:00
Joe Marcus Clarke
eb67234c29 * Improve the test for the old ports directory layout [1]
* Include SITE_PERL earlier [2]
* Use the correct versions of autoconf and automake [3]
* Add a PORTDOCS macro for automating installation of documentation files [4]
* Define a default Fortran compiler for each version of USE_GCC [5]
* Fix package builds when WRKDIRPREFIX is set [6]
* Add more comment documentation on default targets [7]
* Fix plist generation in certain cases [8]
* Fix COMMENT/COMMENTFILE checking [9]
* Use SU_CMD for deinstall and deinstall-all targets (provided
  INSTALL_AS_USER is not set) [10]
* Define a default WWWOWN and WWWGRP [11]
* Make INDEX builds work even when the port name is the same as a default
  target [12]
* Fix the new share/nls/C links [13]
* Don't look in ${LOCALBASE}/lib/compat/pkg for LIB_DEPENDS [14]
* Document package-recursive [15]
* Create a new virtual category, lisp  [16]
* Create a new real category, arabic
* Add a new GCCVERSION macro for eaisly tracking compiler version changes [17]
* Abstract out some of the common Apache bits [18]
* Enable the use of USE_OPENLDAP after including bsd.port.pre.mk [19]
* Add a new virtual category, pear [20]
* Add support for randomizing MASTER_SITES [21]
* Don't accept PORTVERSIONS that pkg_version can't handle [22]
* Add support for dynamic pkg-install, pkg-deinstall, pkg-message, and
  pkg-req scripts [23]
* Don't redirect stderr when running pkg_info -O.  This may help troubleshoot
  mysterious "Error 1" messages.
* Fix up the order of the various PKGNAME related macros to be consistent with
  portlint [24]

PR:		21885 [1]
		51588 [2]
		55325 [3]
		57778 [4]
		55674 [5]
		56096 [6]
		56355 [7]
		56533 [8]
		57272 [9]
		57378 [10]
		57403 [11]
		57438 [12]
		57488 [13]
		57664 [14]
		57928 [15]
		58232 [16]
		58317 [17]
		32604 [18]
		57529 [19]
		56582 [20]
		48377 [21]
		56960 [22]
		58885 [23]
		54351 [24]
Submitted by:	trevor [1]
		eik@fillmore-labs.com [2]
		rehsack@liwing.de, ade [3]
		eikemeier@fillmore-labs.com [4]
		thierry@pompo.net [5]
		Palle Girgensohn <girgen@pingpong.net> [6]
		edwin [7]
		leeym [8]
		edwin [9]
		fjoe [10]
		edwin [11]
		eikemeier@fillmore-labs.com [12]
		fuyuki@nigredo.org [13]
		eikemeier@fillmore-labs.com [14]
		freebsd@generalresources.com [15]
		linimon [16]
		linimon [17]
		dinoex [18]
		eikemeier@fillmore-labs.com [19]
		edwin [20]
		seanc [21]
		eikemeier@fillmore-labs.com [22]
Reviewed by:	eikemeier@fillmore-labs.com [23]
2003-11-07 08:51:46 +00:00
Kris Kennaway
102c8761f1 * Add 'maintainer' as a recursive target [1]
* Fix the subdirectory recursion [2]

PR:		51985 [1]
Submitted by:	Mark Linimon <linimon@lonesome.com> [1], hoek [2]
2003-07-06 23:57:41 +00:00
Kris Kennaway
1508fdf4b8 * pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
  of the pkg-comment file), and reclaim COMMENT for the comment string
  itself.  To work around the problems with metacharacters in comment
  strings, comments are written to a temporary comment file as needed. [1]

* Support regexps in LIB_DEPENDS [2]

* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]

* Improve 'make readmes' target [4]:
  - ^A and ^B have been replaced by | to avoid printing problems in
    'make readme'.
  - Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
    substitutions
  - Add pretty-print-www-site target.

* Add support for USE_GCC=3.2 [5]

* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]

* Add a ${YACC} variable [7]

* Path MANPREFIX in MAKE_ENV [8]

* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]

* Avoid overflowing the commandline when constructing the _TMLINKS
  variable (fixes 'make index'). [10]

Submitted by:	lioux [1], mi [2], mbr [3][5],
		Cyrille Lefevre <clefevre@citeweb.net> [4],
		nyan [6], cy [7], dougb [8], anholt [9],
		fenner [10] (based on)
PR:		ports/34126 [2], ports/30983 [3] (based on),
		ports/31389 [4], ports/47306 [5] (based on),
		ports/35514 [6], ports/44496 [7],
		ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
Kris Kennaway
c31f9d6cf2 Convert a few more uses of INDEX to ${INDEXFILE} 2003-01-01 11:45:25 +00:00
Kris Kennaway
f9992608f9 Add the INDEXFILE variable, that defaults to INDEX-5 on 5.0 (500036) and
later, and INDEX on earlier systems.  Use this in the 'make index' and
associated targets.  This is necessary to deal with the substantially
different dependencies of ports between 4.x and 5.0 (e.g. ports that
depend on perl).
2002-12-04 17:17:48 +00:00
Akinori MUSHA
d76beff66d Do not choke on an empty SUBDIR.
Submitted by:	sada (slightly altered)
2002-11-20 04:11:09 +00:00
Josef Karthauser
f6b17d3f6f Allow 'make search ...' to work even if the ports tree is symbolically
linked from somewhere else.

PR:	ports/42060
2002-09-03 09:08:28 +00:00
Maxim Sobolev
977f850bee Backout changes that erroneously slipped into the last commit to
bsd.gnomeng.mk.

Big pointy hat to:	sobomax
2002-07-05 09:14:53 +00:00
Maxim Sobolev
1c350f1280 Correct typo: gtk12 --> glib12 2002-07-05 09:11:30 +00:00
Will Andrews
f8a48d00c2 Don't descend into a subdir for 'readmes' target if subdir doesn't exist.
PR:		28510
Submitted by:	Philippe Casidy <pcasidy@casidy.com>
2001-12-23 11:11:40 +00:00
Brian Feldman
fc2c738b5d Make 'make search key="something with spaces"' etc. work.
Ignored for:	almost a year
2001-06-29 03:39:54 +00:00
Satoshi Asami
bddcc1202e Fix COMMENT handling -- it was incorrectly using the fixed string
"pkg/COMMENT' which of course blew up in the entire tree when we
changed the layout.

Fix it to use `make -V COMMENT` so it will use even for ports that
define MASTERDIR etc.

Reported by PRs:	21851, 21952

While I'm here, add the contents of pkg/COMMENT in category READMEs.
I don't know why I didn't include them in the first place when I've
been creating all those files!
2000-10-14 11:03:19 +00:00
Ollivier Robert
d7cdb8114f There is no reason why makesum is not recursive as checksum.
It helps when building a large number of packages.

PR:		ports/11820
Submitted by:	Rémy Card <card@csi.uvsq.fr> (modified to match current)
2000-08-08 14:56:46 +00:00
Satoshi Asami
3a6b4df1f8 Fix minor bug -- add realinstall to TARGETS.
Submitted by:	hoek
2000-06-14 01:58:13 +00:00
Josef Karthauser
d14040e218 Rework the previous commit. The 'make search' mechanism will now work
with multi-level categories when we get them.
2000-03-22 22:41:05 +00:00
Josef Karthauser
97315fc9f2 Additions to the 'make search' mechanism.
* 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
2000-03-22 20:36:55 +00:00
Satoshi Asami
f682f47599 (1) Add new USE_BISON directive, which will expand to BUILD_DEPENDS on
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.
2000-01-21 11:08:23 +00:00
David E. O'Brien
544e6f5400 Id->FreeBSD rename bis
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.
1999-08-25 04:40:22 +00:00
Satoshi Asami
50fbbf4c4d Oops, forgot to commit this. Typo.
Submitted by:	hoek
1999-07-23 09:38:57 +00:00
Satoshi Asami
a163079f0d Makefile:
(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).
1999-07-23 09:36:55 +00:00
Satoshi Asami
8dddbbe6dd (1) Make it clear that only I am allowed to commit to bsd.port.mk.
(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
1999-04-28 06:20:23 +00:00
Satoshi Asami
baa1e73982 Check for missing directories (listed in SUBDIR but non-existent) in
"checksubdirs" too.
1999-04-12 09:03:41 +00:00
Satoshi Asami
7cc90a07a0 Forgot to change "templates" to "Templates" in this file.
PR:		9761
1999-01-29 12:51:43 +00:00
Satoshi Asami
3d0b444f0d (0) Fast INDEX generation. Only print out the directory name and
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.
1998-12-12 07:39:30 +00:00
Satoshi Asami
4574e6e174 (1) New variable MAKE_ARGS: will be appended to build/install make argument
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>
1998-11-08 10:29:53 +00:00
Satoshi Asami
584030d604 (1) Add new variables LOOP_VAR and LOOP_OPTIONS to implement building several
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.
1998-10-30 08:28:02 +00:00
Satoshi Asami
7f5b0c1e57 Add "deinstall" to list of targets. This is only fair since "install" and
"reinstall" are already here. :)
1998-08-26 23:46:13 +00:00
Satoshi Asami
cabb48a010 Add new target "checksubdirs". It will warn about any subdirectories that
are not in the SUBDIR list.  It also knows about the "standard" directories
that are to be ignored ("CVS", "distfiles", etc.).
1997-11-20 05:31:44 +00:00