Commit graph

1245 commits

Author SHA1 Message Date
Bryan Drewery
78aeec8db1 Unify depends-list.sh and all-depends-list.sh into one script, depends-list.sh.
With hat:	portmgr
2015-10-09 18:00:44 +00:00
Dmitry Marakasov
a46575cc6b Add LOCALBASE-based ldconfig dir to plist for non-default PREFIX
ldconfig file is always installed into LOCALBASE-based directory
(${LOCALBASE}/${LDCONFIG_DIR}) which is first created. When a port
redefines PREFIX (PREFIX != LOCALBASE), this directory needs to be
mentioned in pkg-plist.

Add the directory to the plist. While here, add identation to nested
make conditions and loops to improve readability and simplify one
empty .if body.

This fixes stage-qa for biology/emboss and cad/brlcad

Approved by:	portmgr (bapt)
Differential Revision:	D3815
2015-10-08 14:57:29 +00:00
Dmitry Marakasov
0521b2fe8e Add a way to cleanly handle terminfo.db file used by devel/ncurses
This database contains compiled terminfo entries and is merged from
a large part which comes with ncurses themselves and compiled
.terminfo files installed by other ports (currently only rxvt-unicode
and jfbterm)

- Now the database is always kept up to date, regardless of port
  installation order (both ncurses installed before .terminfo files
  and the other way around work as expected)
- All affected ports now support clean deinstallation and do not
  produce stage-qa errors
- Affected ports are simplified, as they now only need to define
  USES=terminfo
- rxvt-unicode no longer pulls in ncurses: the dependency is not
  really needed for anything beside updating it's own database
- The patch contains Q/A test to check whether a port needs, or
  needs not USES=terminfo

Approved by:	portmgr (mat, bapt)
Differential Revision:	D3747
2015-10-08 14:12:53 +00:00
Dmitry Marakasov
5c57225987 Implemented complete support for test target.
You can now `make test' on any port to run test sequence, no-op by default.
If a port defines TEST_TARGET, it'll run sub-make with specified target,
usually `check' or `test', useful if upstream supports that. The port may
instead define custom do-test target, as well as usual satellite targets:

  {pre,do,post}-test, {pre,do,post}-test-OPT, {pre,do,post}-test-OPT-off

`make test' builds and stages port first, so test may use both WRKDIR and
STAGEDIR, and both BUILD and RUN depends are available for test target.
Additionally, TEST_DEPENDS is now properly supported and may be used to
define additional depends specifically for testing.

Framework may define default tests for specific cases. For instance,
perl5.mk and cran.mk already provide default test target on their own.

This commit also converts my ports which have tests to this new framework.

Approved by:	portmgr (bapt)
Differential Revision:	D3680
2015-09-28 17:20:42 +00:00
Antoine Brodin
a11549b651 Restore _FORCE_POST_PATTERNS, some ports are were missed in the conversion
With hat:	portmgr
2015-09-26 06:37:40 +00:00
Baptiste Daroussin
df5382dbbd ocamlfind is not run anymore from any @exec lines 2015-09-26 00:44:22 +00:00
Baptiste Daroussin
904f48db63 update-desktop-database is not used anymore @*exec 2015-09-26 00:36:40 +00:00
Baptiste Daroussin
70e2226c26 Convert update-mime-database into @post* 2015-09-26 00:26:58 +00:00
Baptiste Daroussin
59eaaf3ef0 Convert load-octave-pkg to proper @postexec 2015-09-26 00:19:56 +00:00
Baptiste Daroussin
0eae03bd38 Specify correctly @post* for gtk-query-immodules 2015-09-26 00:08:26 +00:00
Baptiste Daroussin
12b59fc91a Convert a bunch of @exec into proper @postexec 2015-09-25 23:52:09 +00:00
Baptiste Daroussin
8702bbcc8c mkfontscale and mkfontdir are not used anymore in @exec lines 2015-09-25 23:47:32 +00:00
Baptiste Daroussin
d70351f98d kldxref is not used anymore in any @exec 2015-09-25 23:41:29 +00:00
Baptiste Daroussin
ffc12ae7e2 Bump the minimal version of pkg to 1.6.0 2015-09-25 23:31:35 +00:00
Baptiste Daroussin
fa5faefc21 Use @post[un]exec for ldconfig to ensure ldconfig is run when needed instead of
the hackish _FORCE_POST_PATTERNS
2015-09-25 23:30:40 +00:00
Baptiste Daroussin
e82e5f144b Remove another wrong comment 2015-09-24 23:19:37 +00:00
Baptiste Daroussin
3816bffcaa Remove now wrong comment 2015-09-24 23:14:24 +00:00
Bryan Drewery
e96570e177 Allow slave ports to have a Makefile.local.
With hat:	portmgr
2015-09-21 20:36:07 +00:00
John Marino
5f3bf8cb9d Mk/bsd.port.mk: Add PKG_CREATE_VERBOSE functionality
When PKG_CREATE_VERBOSE is set, the "-v" option will be added to
the arguments for PKG_CREATE.  The intended use is for poudriere and
other build monitors that can time out.  The verbose option of pkg
create will periodically emit output as the package is being created.
It would be set mk.conf (the DragonFly version of poudriere will set
it unconditionally during package building).

Approved by:	portmgr
Differential Revision:	https://reviews.freebsd.org/D3507
2015-08-28 13:50:43 +00:00
Baptiste Daroussin
310fec0aaf Make package-depends-list accept dependency entries without ${PORTSDIR}
Sponsored by:	Gandi.net
2015-08-25 12:17:25 +00:00
Baptiste Daroussin
7f5f7018b9 Make build-depends-list and run-depends-list accept dependency lines without
${PORTSDIR}

Sponsored by:	Gandi.net
2015-08-25 12:08:43 +00:00
Mathieu Arnold
741e1ac058 Add an optional error message for opt_PREVENTS, opt_PREVENTS_MSG.
Reviewed by:	bapt
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3469
2015-08-24 13:07:31 +00:00
Mathieu Arnold
bfbc1e51b7 Introduce <opt>_IMPLIES and <opt>_PREVENTS to register dependencies, or
conflicts, between options.

PR:		191144
Submitted by:	adamw
Sponsored by:	Absolight
2015-08-18 11:00:57 +00:00
Mathieu Arnold
21a283f3be Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.

Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.

Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)

Reviewed by:	antoine, bapt
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3336
2015-08-17 14:20:40 +00:00
Mathieu Arnold
e8796ef612 Rewrite the target ordering code.
The targets now have priority assigned to them, and, when the dependency
ordering magic is done at the end of bsd.port.mk, they are sorted
according to their priority.

This allows USES to add targets easily and have them run whenever they
want without touching bsd.port.mk.

To add a target that runs just before post-configure run, do:

_USES_configure+=  695:my-post-configure
my-post-configure:
	do something

To fine tune when the target is ran, look at the values in the *_SEQ
variables at the end of bsd.port.mk, and the other USES.

Allow ports Makefiles to override the priority of targets with the
TARGET_ORDER_OVERRIDE variable.  For example, to get post-install
running earlier, (its default is 700) do:

TARGET_ORDER_OVERRIDE=	  650:post-install

While there, add options target helpers for the do-* targets when they
exist.

Reviewed by:	antoine, bapt
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D3099
2015-08-17 13:31:25 +00:00
Alexander Leidinger
435ea2a95a Re-commit of
64 bit linuxulator support (not activated by default):
 - most of the work was done by Alan Jude
 - all errors are mine
 - 64bit (may) have rough edges
 - I validated
    * that the 32bit part doesn't has deinstall regressions (incl. EXP runs by
      antoine)
    * 29 of 72 64bit ports ports don't have deinstall leftovers (more validation
      later, when I dare to activate the 64bit linuxulator in the kernel)
 - the infrastructure part looks mature enough to let more test-bunnies get
   some experience with the new 64 bit parts
 - to use it you shall have no linux ports installed and have to specify
   (on your own risk) the following in make.conf before installing the ports:
   OVERRIDE_LINUX_BASE_PORT=c6_64
   OVERRIDE_LINUX_NONBASE_PORTS=c6_64

This is on top of the exiting c6 linux ports. Given that CentOS 7 is 64bits
only, we decided to have it as an "overlay" instead of new ports.
The 64bit part only installs 64bit executables, the 32bit ports can not be
installed at the same time (if needed we can think of letting the 64bit
overlay install the 32bit parts too, but given the CentOS 7 comment
above...).

Differential Revision:	https://reviews.freebsd.org/D174
Submitted by:		alanjude
Sponsored by:		Essen FreeBSD Hackathon 2015
Reviewed by:		xmj, eadler (earlier versions)
Approved by:		portmgr (antoine after some EXP-runs)
2015-08-09 19:14:13 +00:00
Mathieu Arnold
033b3198e1 Add a note about not changing MASTER_SITE_BACKUP.
Sponsored by:	Absolight
2015-07-28 07:34:38 +00:00
Antoine Brodin
011dfa81be Unbreak INDEX, reverting r392921
With hat:	portmgr
2015-07-26 13:35:29 +00:00
Alexander Leidinger
3aeeb3f1bd 64 bit linuxulator support (not activated by default):
- most of the work was done by Alan Jude
 - all errors are mine
 - 64bit (may) have rough edges
 - I validated
    * that the 32bit part doesn't has deinstall regressions
    * 29 of 72 64bit ports ports don't have deinstall leftovers (more validation
      later, when I dare to activate the 64bit linuxulator in the kernel)
 - the infrastructure part looks mature enough to let more test-bunnies get
   some experience with it
 - to use it you shall have no linux ports installed and have to specify
   (on your own risk) the following in make.conf before installing the ports:
   OVERRIDE_LINUX_BASE_PORT=c6_64
   OVERRIDE_LINUX_NONBASE_PORTS=c6_64

This is on top of the exiting c6 linux ports. Given that CentOS 7 is 64bits
only, we decided to have it as an "overlay" instead of new ports.
The 64bit part only installs 64bit executables, the 32bit ports can not be
installed at the same time (if needed we can think of letting the 64bit
overlay install the 32bit parts too, but given the CentOS 7 comment
above...).

Differential Revision:	https://reviews.freebsd.org/D174
Submitted by:		alanjude
Sponsored by:		Essen FreeBSD Hackathon 2015
Reviewed by:		xmj, eadler (earlier versions)
Approved by:		portmgr (implicit, I remember blanked approval for
			linux parts loooong ago, punish me if you don't
			agree anymore)
2015-07-26 13:06:24 +00:00
Baptiste Daroussin
888089220d Pass PKGBASE to qa.sh 2015-07-19 15:32:35 +00:00
Koop Mast
68f883edfc Convert code in bsd.port.mk for USE_GHOSTSCRIPT* to USES=ghostscript.
Add GHOSTSCRIPT_DEFAULT to bsd.default-versions.mk for easy version selection.
Arguments supported: <empty>, build, run, nox11 and agpl

PR:		201201 (exp-run)
Approved by:	portmgr (mat@)
Exp run by:	antione@ (previous patch)
Differential Revision:	https://reviews.freebsd.org/D2938
2015-07-16 20:53:28 +00:00
Baptiste Daroussin
0c54521b1a Rewite CLEAN-DEPENDS*
Move inlined shell code into a proper script taking 2 args in arguments: full or
limited. The code I more simpler and understandable. The argument allows to
factorize the code between CLEAN-DEPENDS-FULL and CLEAN-DEPENDS-LIST

While here, make the code accept dependencies without ${PORTSDIR}
2015-07-04 08:56:54 +00:00
Baptiste Daroussin
b822a87609 Remove support for distfiles in cdrom
No cdrom distfiles has been shipped for a while, and it causes issues
for users having /cdrom configured in autofs

Reported by:	glebius
Tested by:	glebius
Approved by:	swills
Reviewed by:	swills
Differential Revision:	https://reviews.freebsd.org/D2888
2015-07-02 23:17:27 +00:00
Baptiste Daroussin
9a5437126e Remove useless @ in ALL-DEPENDS-LIST 2015-07-01 22:17:28 +00:00
Baptiste Daroussin
c389e6d809 Move all-depends-list to a regular script
The benefice beside being more readable is to allow support for dependency line
without ${PORTSDIR}

This is also necessary to be able to easily hack on it for FLAVORS/SUBPACKAGE
support
2015-07-01 20:27:19 +00:00
Mathieu Arnold
fc9ea03981 Introduce target option helpers.
With hat:	portmgr
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D2944
2015-07-01 12:11:16 +00:00
Baptiste Daroussin
a974ccd864 Refactor dependency checks and installation
This is an important step to prepare the ports tree for VARIANTS(aka flavours)
and subpackage by making the dependency code easier to deal with.

Change:
- Externalize in a proper shell script the code that was an inlined shell script
- Add better validation on the syntaxe used
- test after the dependency has been installed that it actually really fulfill
  the pattern searched (improving QA)
- Unify lib-depends with other dependency checks
- Make ${PORTSDIR} not mandatory anymore in _DEPENDS lines:
  aka pattern:${PORTSDIR}/category/port can now be written pattern:category/port
  /!\ Please to not use this syntax yet! poudriere have received a fix to be
  able to handle this new syntax (but no new release of poudriere has it yet)
  portmaster/portupgrade hasn't been checked. if one cares about those last 2 it
  would be really nice to provide patches to them!
- Remove _DEPENDS_ALWAYS it has half broken for a while and did not really make
  sense.
- Keep STRICT_DEPENDS for now it might not be necessary anymore given all the
  new checks added, but until someone confirms it is worth keeping it.

Note that all the env passed are prefixed by 'dp_' to avoid polluting children
make

Differential Revision:	https://reviews.freebsd.org/D2897
Reviewed by:	antoine
Exp-run by:	antoine
2015-06-28 18:50:37 +00:00
Dmitry Marakasov
1b0586341c - Add support for BROKEN_${OPSYS}_${OSREL:R}_${ARCH} pattern
Approved by:	portmgr (bapt)
2015-06-27 14:19:49 +00:00
Baptiste Daroussin
80bc42faa4 Fix documentation: all the ports are installed in LOCALBASE include x11 one 2015-06-22 23:02:00 +00:00
Baptiste Daroussin
76611508f8 Remove AUTOMATIC_PLIST documentation from bsd.port.mk it belong to bsd.linux*.mk
where it is already documented
2015-06-22 22:54:05 +00:00
Baptiste Daroussin
302b9c5847 Simplify test on zipped PATCHFILES 2015-06-22 22:22:59 +00:00
Baptiste Daroussin
2469d40c46 Factorize the fake for convenience targets 2015-06-22 21:44:39 +00:00
Baptiste Daroussin
5905b0b5f2 Remove add-plist-buildinfo it has been unhooked for a while and prevent us from
getting any close to reproducible builds
2015-06-22 21:39:10 +00:00
Baptiste Daroussin
2bd1e982bb factorize add-plist-docs and add-plist-examples 2015-06-22 21:34:53 +00:00
Baptiste Daroussin
2c43cad756 Make fetch-url-list an empty target depending on fetch-url-list-int 2015-06-22 21:19:05 +00:00
Baptiste Daroussin
2cda1c5c74 Make package-noinstall an alias of make package
(which is now noinstall by design)
2015-06-22 21:13:36 +00:00
Baptiste Daroussin
3bb2a897b9 Garbage collect unused command definition 2015-06-22 20:27:02 +00:00
Baptiste Daroussin
8d4196a8f2 Make USE_RC_SUBR install rc.d scripts in /etc/rc.d if PREFIX is /usr
Remove now useless USE_RC_ORDER
2015-06-22 19:55:44 +00:00
Mathieu Arnold
23171c40d3 Have make showconfig fail if the config is incorrect.
PR:		188693
Sponsored by:	Absolight
2015-06-13 03:03:51 +00:00
Mathieu Arnold
27d2d3fec9 Support .zip files in PATCHFILES and EXTRA_PATCHES.
PR:		167794 (based on)
Submitted by:	jbeich
Sponsored by:	Absolight
2015-06-13 02:01:43 +00:00