Commit graph

1423 commits

Author SHA1 Message Date
Mathieu Arnold
ec218a1332 Change the meaning of NO_WRKSUBDIR to force a WRKDIR != WRKSRC.
Right now, NO_WRKSUBDIR means that the extraction does not produce a
subdirectory, and that everything goes straight into WRKDIR.  It is
problematic, because during the build of a port, quite a few files are
created in there, and then, a stage directory, where everything is
installed, and then a pkg directory where the package is created, and
those often conflict, or get in the way, of the building process.

With this, NO_WRKSUBDIR will extract the distfiles directly into WRKSRC
instead of WRKDIR.  In this case, WRKSRC is artificial and is based on
PKGNAME and not DISTNAME, mitigate conflicts with rc files.

PR:		204056
Submitted by:	mat
Reviewed by:	bapt
Exp-run:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D2735
2015-11-05 12:35:26 +00:00
Brad Davis
a1b693ac92 Fix a bug introduced in r399992, where creating only a user would fail
due to $PW not being set.  This only occurred when just a user was being
created without a group.  Solve this by setting $PW outside of the group
creation and above both the user and group creation parts.

PR:		203489
Reviewed by:	bapt
Approved by:	portmgr (bapt)
Approved by:	bdrewery (mentor)
2015-10-29 15:30:35 +00:00
Brad Davis
1990bb0598 Teach the ports framework to handle creating users/groups when
PKG_ROOTDIR is set.  This will enable help support pkg cross installs.

PR:		203489
Reviewed by:	bapt
Approved by:	portmgr (bapt)
Approved by:	bdrewery (mentor)
2015-10-22 16:25:52 +00:00
Bryan Drewery
929dfd6e18 Revert r399921 for now due to fallout with libclc using ninja. 2015-10-21 21:49:46 +00:00
Bryan Drewery
e189ed624b Enable verbose (compiler output) builds for autotools builds when package
building as these commands can be critical for debugging build failures.

Discussed with:	bapt, kwm
With hat:	portmgr
2015-10-21 14:43:29 +00:00
Bryan Drewery
278dd71cd6 - Combine clean-depends-list.sh into depends-list.sh
- Refactor how depends-list.sh is called from bsd.port.mk for each variant.

With hat:	portmgr
2015-10-19 19:23:53 +00:00
Bryan Drewery
d40cc1cce4 Fix test-depends after r399703.
With hat:	portmgr
2015-10-19 18:37:06 +00:00
Baptiste Daroussin
8cea2b0147 Readd PORTSDIR for now we will only start removing them after 2016Q1 is branched
This gives more time for tools to get updated, available in packages etc before
bothering users
2015-10-15 07:36:38 +00:00
Baptiste Daroussin
869e1f27d0 Drop the necessity to add ${PORTSDIR} to dependency line
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute

Checked with poudriere, portmaster, portupgrade

PR:		203685
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D3866
2015-10-14 16:49:35 +00:00
Bryan Drewery
45535ed69c Don't check for minimal Pkg version for package building.
Package building always builds Pkg first.  If someone downgrades their
pkg locally this change will hurt them, but then they are already
running an unsupported configuration.

With hat:	portmgr
2015-10-12 23:22:20 +00:00
Bryan Drewery
16162f77dd Name the 'uname -r' variable the same as the bsd.port.subdir.mk version, _OSRELEASE.
This will allow passing in the environment consistently from calling script
to avoid looking it up if.

With hat:	portmgr
2015-10-12 22:44:19 +00:00
Bryan Drewery
5dc6e4f3f3 Export more sysctl(8) vars.
LINUX_OSRELEASE, _SMP_CPUS (used as default MAKE_JOBS), CONFIGURE_MAX_CMD_LEN.

With hat:	portmgr
2015-10-12 22:41:34 +00:00
Bryan Drewery
c04897eb8c Remove debugging leftover from r399160.
With hat:	portmgr
2015-10-12 22:30:01 +00:00
Bryan Drewery
c46779db54 Export HAVE_COMPAT_IA32_KERN to sub-makes and ensure it is not exported if empty.
With hat:	portmgr
2015-10-12 22:28:15 +00:00
Bryan Drewery
1c65a7751e Move the exported variable assignments to where they are looked-up.
This is so we are less likely to carry around old vars that are no longer
needed and to keep logic more coupled.

With hat:	portmgr
2015-10-12 22:19:35 +00:00
Bryan Drewery
fe77fdc73b Spell 'OSREL' properly from r399155.
With hat:	portmgr
2015-10-12 22:17:09 +00:00
Bryan Drewery
6d9ce0831c Don't check for minimal pkg version in sub-makes.
With hat:	portmgr
2015-10-12 22:14:45 +00:00
Bryan Drewery
863afee20a Pass result of 'uname -r' to sub-makes to avoid unneeded lookup.
With hat:	portmgr
2015-10-12 22:13:21 +00:00
Bryan Drewery
4ad83bd568 Use a loop to export vars.
This also fixes adding duplicates to .MAKEFLAGS with fmake, which was a
bug present before recent changes.

With hat:	portmgr
2015-10-12 22:09:47 +00:00
Bryan Drewery
19f179cf3b Re-apply r398953 with protection for 'make *config*'.
This will only include the descriptions file if needed to very slightly
lower overhead with -V lookups and package building dependency calculations.

With hat:	portmgr
2015-10-12 21:41:43 +00:00
Bryan Drewery
1289b5e043 Replace escaping for exported vars with :Q feature.
With hat:	portmgr
2015-10-12 21:38:28 +00:00
Bryan Drewery
ac1cb7e914 Remove SYSTEMVERSION exporting, not needed since r99913.
This is a relic of port.mkversion.

With hat:	portmgr
2015-10-12 21:36:55 +00:00
Baptiste Daroussin
2ae2321acb Avoid a useless call to dirname 2015-10-10 21:19:43 +00:00
Baptiste Daroussin
2af7305829 Remove another unused variable 2015-10-10 20:53:34 +00:00
Baptiste Daroussin
8a102da7c2 Remove unused variable 2015-10-10 20:23:40 +00:00
Baptiste Daroussin
62c0718df2 Check if the port directory is aboslute otherwise prepend ${PORTSDIR} in FETCH_LIST
It allows dependencies to be defined without ${PORTSDIR}
2015-10-10 19:53:36 +00:00
Baptiste Daroussin
81c092df16 Revert r398953 per bdrewery demand it breaks make config
Reported by:	novel
2015-10-10 19:45:51 +00:00
Bryan Drewery
3456a0671a Don't include/parse bsd.options.desc.mk if not needed (showconfig or -V *_DESC).
This is targetting dependency listing overhead.

With hat:	portmgr
2015-10-09 19:20:24 +00:00
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
Erwin Lansing
b7e180fee3 Document check-plist and check-sanity targets.
PR:		135569
Submitted by:	alexbestms@math.uni-muenster.de
2015-06-12 20:14:56 +00:00
Baptiste Daroussin
0013e695a9 Remove NEED_ROOT, the last customer has been modified to be able to properly
package as a regular user

USES=fakeroot and USES=uidfix does a better job and is less intrusive and allows
to simplify the way we handle the different targets in the framework
2015-06-04 19:32:29 +00:00
John Marino
12a19c24bf bsd.port.mk: Implement BROKEN_${OPSYS} and BROKEN_${OPSYS}_${OSREL:R}
Examples of use:
  * BROKEN_FreeBSD=	does not link
  * BROKEN_DragonFly=	requires later jail
  * BROKEN_FreeBSD_8=	long type-name is invalid

The latter example could replace something like:

  .include <bsd.port.pre.mk>
  .if ${OPSYS} == FreeBSD && ${OSVERSION} <= 900000
  BROKEN=	long type-name is invalid
  .endif

Differential Revision:	https://reviews.freebsd.org/D2207
Reviewed by:		portmgr
Approved by:		portmgr (mat)
2015-06-02 21:17:00 +00:00
Mathieu Arnold
ace79eb6b7 This was not supposed to escape my ports tree.
With hat:	portmgr
Pointy hat to:	mat
Sponsored by:	Absolight
2015-05-29 13:12:49 +00:00
Mathieu Arnold
70444a23e6 Introduce USE_GITHUB=nodefault to allow fetching additional distfiles
from github, but not the default one.

With hat:	portmgr
Sponsored by:	Absolight
2015-05-29 13:07:33 +00:00
Mathieu Arnold
676e4ffcf4 USE_GITHUB can now fetch multiple distfiles. It uses a grouping feature
similar to MASTER_SITES/PATCH_SITES.

Some helpful variables are provided: WRKSRC_<group> for putting things in the
right place in post-extract, and DISTNAME_<group>/DISTFILE_<group> for use with
EXTRACT_ONLY.

PR:		200483
Differential Revision:	https://reviews.freebsd.org/D2608
Submitted by:	mat
With hat:	portmgr
Exp run by:	antoine
Sponsored by:	Absolight
2015-05-28 16:37:01 +00:00
Mathieu Arnold
cb28a089d6 Remove GH_COMMIT support.
Differential Revision:	https://reviews.freebsd.org/D2606
With hat:	portmgr
Sponsored by:	Absolight
2015-05-21 15:25:40 +00:00
Mathieu Arnold
18cec56a95 Use the same, working, logic for DIST/PATCH group parsing everywhere.
With hat:	portmgr
Sponsored by:	Absolight
2015-05-14 10:10:16 +00:00
Bryan Drewery
007bf7a3d4 USE_GITHUB: Fix WRKSRC to contain the full DISTVERSION prefix/suffx when GH_TAGNAME not set.
The GH_TAGNAME-based GH_TAGNAME_EXTRACT is now always used for the new style
USE_GITHUB WRKSRC default.

This was not spotted before since all but 1 github ports were using 'v' as a
prefix, where github already stripped it. So the default GH_PROJECT-DISTVERSION
was fine. The other case was x11-fonts/sourcesanspro-ttf where
GH_TAGNAME was defined to have the full DISTVERSION prefix/suffx.

Tested against all current USE_GITHUB !GH_COMMIT ports.

PR:		199913
With hat:	portmgr
Reported by:	jbeich
2015-05-04 17:42:29 +00:00
Antoine Brodin
f7f5de9089 Remove _*OWNGRP, with staging it's not useful anymore
With hat:	portmgr
Original submission:	bapt
Exp-run:	self
2015-05-04 13:21:17 +00:00
Baptiste Daroussin
0f5d587ef2 Remove unintended change from r385384 those will come later 2015-05-04 08:55:04 +00:00
Baptiste Daroussin
dd86eab2d5 Mark NEED_ROOT as deprecated, It was a wrong idea as people are abusing it.
There is now USES=fakeroot for complicated cases if needed.
2015-05-04 08:53:20 +00:00
Bryan Drewery
aa6ad6e726 USE_GITHUB: For the new support, fix DISTNAME to be more consistent.
When using GH_TAGNAME the DISTNAME would have GH_PROJECT and GH_ACCOUNT in
it. When not using GH_TAGNAME it would not have this. Now both cases
will add in the GH_PROJECT and GH_ACCOUNT.

Add special care to ensure that the DISTVERSION is not added in twice. If
a port does GH_TAGNAME=v${PORTVERSION} it will be added in twice though. For
that case DISTVERSIONPREFIX=v should be set and no GH_TAGNAME should be used.

empty() is used rather than (!defined || !${}) to support fmake.

The purpose of setting DISTNAME at all in these cases is to make it more clear
that the distfile is from *GITHUB* and to avoid collisions if a project were
to be renamed or moved. Without adding in GH_PROJECT and GH_ACCOUNT then there
are real risks that collisions on filenames would happen on renamed or moved
projects, which is fairly common. A GITHUB-generated file may not match
a custom-rolled or git-archive-rolled distfile.

PR:		199069
With hat:	portmgr
Testing done:	All USE_GITHUB ports without GH_COMMIT were checksum/fetch/extract/WRKSRC tested.
2015-04-28 18:44:04 +00:00
Antoine Brodin
a5673b92fb Do not error on dependency on ${NONEXISTENT}:dir:target when STRICT_DEPENDS
is set

Reviewed by:	bdrewery
With hat:	portmgr
2015-04-28 15:56:30 +00:00
Bryan Drewery
7925d59ca7 Add a STRICT_DEPENDS feature which validates dependencies are installed, does
not install missing ones, and considers any missing ones as fatal.

This will be used by Poudriere to validate dependency lines are correct.

An example case is:
  RUN_DEPENDS= foo:${PORTSDIR}/ports-mgmt/bar where the port does not provide
  anything named 'foo'. In every phase it will attempt to install the bar port
  to satisfy the depdendency and continue to fail to satisfy it. This can
  eventually lead to unexpected errors such as trying to install a port
  in the 'stage' phase when running as non-root and will encounter a pkg(8)
  permissions issue.

  This sort of issue occurred in http://lists.freebsd.org/pipermail/freebsd-ports/2015-April/098892.html

Discussed with:	bapt
With hat:	portmgr
2015-04-21 18:16:31 +00:00
Tijl Coosemans
f3d0196f85 Remove the destination of a copy before copying to it because it may be
a symlink and then cp follows the link.

Approved by:	portmgr (antoine)
2015-04-21 09:03:52 +00:00
Tijl Coosemans
68edbeeaae - Display a stage-qa warning when ports use PREFIX/var instead of /var
- Add --localstatedir=/var to _LATE_CONFIGURE_ARGS (like --mandir) but not
  when CONFIGURE_ARGS already sets it.  (GNU configure scripts set it to
  PREFIX/var when PREFIX != /usr.)
- Add --localstatedir="${PREFIX}/var" to CONFIGURE_ARGS in some ports so
  they aren't affected by this change (for now at least).  This commit is
  meant to ensure that new ports don't make the same mistake.

- games/acm: the configure script in this port is very old; instead of
  patching it more, just replace GNU_CONFIGURE with HAS_CONFIGURE.
- irc/charybdis: it already used /var but adding --localstatedir=/var
  changed the behaviour of the configure script; adjust the port to this.

PR:		199506
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2015-04-20 19:06:29 +00:00
Gerald Pfeifer
728fb3cb3d Abstract ${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX} which appears five times
and introduce and use WRKDIR_PKGFILE instead.

PR:		199526
Approved by:	portmgr (bdrewery)
2015-04-19 18:33:37 +00:00
Bryan Drewery
005a60b7c9 Improve the OSVERSION==UNAME_r validation from r369644 by skipping it
if OSVERSION is specified on the cmdline. This makes testing simpler.

This only works for bmake.

	# make -V CONFIGURE_LIBS
	-lnew_release
	# make -V CONFIGURE_LIBS OSVERSION=800000
	-lolder_release
	# env OSVERSION=800000 make -V CONFIGURE_LIBS
	make: "/root/svn/ports/Mk/bsd.port.mk" line 1182: UNAME_r (11.0-CURRENT) and OSVERSION (800000) do not agree on major version number.
	# echo OSVERSION=800000 >> /etc/make.conf
	# make -V CONFIGURE_LIBS
	make: "/root/svn/ports/Mk/bsd.port.mk" line 1182: UNAME_r (11.0-CURRENT) and OSVERSION (800000) do not agree on major version number.

Reported by:	danfe
With hat:	portmgr
2015-04-15 16:14:47 +00:00
Gerald Pfeifer
1540c897ae Simplify the description of BUNDLE_LIBS.
Approved by:	portmgr (bapt)
2015-04-12 23:01:32 +00:00
Gerald Pfeifer
b9dd907905 Fix grammar in description of BUNDLE_LIBS.
Approved by:	portmgr (erwin)
2015-04-10 08:23:22 +00:00
Antoine Brodin
35da4891c2 - Make it possible to override _MAKE_JOBS when MAKE_JOBS_NUMBER=1
- Override it for USES=ninja
With this commit and r383571, ports using ninja and waf now respect
MAKE_JOBS_NUMBER when it's equal to 1

PR:		197910
With hat:	portmgr
2015-04-10 05:45:15 +00:00
Baptiste Daroussin
39cad29a6e Remove USE_GNUSTEP from bsd.port.mk 2015-04-09 07:49:34 +00:00
Baptiste Daroussin
671d1d9bd1 Introduce CONFIGURE_CMD which default on ./${CONFIGURE_SCRIPT} so that we can
have a variable to overwrite in order to be able to reuse the configure
framework with other mechanism then regulars ./configure
2015-04-08 14:59:25 +00:00
Baptiste Daroussin
4edad698c1 pkg sets the defaults owner and group already, no need to specify it via
COPYTREE_* anymore (which also helps creating packages as non root)
2015-04-08 06:57:20 +00:00
Baptiste Daroussin
ee2ae85707 Remove check for NO_STAGE in bsd.port.mk bsd.sanity.mk already takes care of
that
2015-04-07 12:29:04 +00:00
Baptiste Daroussin
dd64c3e552 USE_BZIP2 and USE_XZ are not used anymore in the ports tree mark them as
unsupported
2015-04-07 12:13:52 +00:00
Baptiste Daroussin
b6f1784044 Fix EXTRACT_SUFFIX documentation
Remove documentation on the deprecated USE_BZIP2 and USE_XZ
2015-04-07 11:40:08 +00:00
Baptiste Daroussin
6ffd63e003 Finish r383230
Reported by:	kwm
2015-04-04 21:51:40 +00:00
Baptiste Daroussin
76028fecb8 Rename HCC into HOSTCC which is more natural 2015-04-04 16:23:55 +00:00
Bryan Drewery
7be82df818 Fix invoking DEV tests when not in a port. This fixes some cases where
'make -f Mk/bsd.port.mk -V ...' would invoke the tests and cause
unexpected errors such as with r370475.

With hat:	portmgr
2015-04-04 05:33:45 +00:00
Baptiste Daroussin
6e184a1329 Add a note about BUNDLE_LIBS
Suggested by:	gerald
2015-04-01 06:07:59 +00:00
Bryan Drewery
52131930a1 Fix duplicate values in ENV vars and X_BUILD_FOR truncating BUILD_DEPENDS.
PKG_NOTES/PKG_ENV/CONFIGURE_ENV/MAKE_ENV/CO_ENV/QA_ENV were using += before the
double include check so any port using bsd.port.options.mk or bsd.port.pre.mk
would have duplicated items in these vars.

All ports would have their BUILD_DEPENDS truncated with X_BUILD_FOR.

PR:		198803 (exp run by antoine)
Differential Revision:	https://reviews.freebsd.org/D2113
With hat:	portmgr
2015-03-29 19:45:39 +00:00
John Marino
c560a85625 Mk: remove PTHREAD_LIBS and PTHREAD_CFLAGS variable
For bsd.gecko.mk, replace PTHREAD_LIBS with "-pthread", the same value
it was using before.

Approved by:	PTHREAD blanket (completes task)
Approved by:	portmgr (bapt)
2015-03-26 08:57:36 +00:00
Bryan Drewery
a79013b978 Fix 20 year old doc bug. MASTER_SITE_OVERRIDE has not 'overridden' since r2004.
With hat:	portmgr
2015-03-25 21:12:07 +00:00
Bryan Drewery
0803843ae4 Github's main archive link silently is converting tags starting with 'v' to
not have 'v' in the filename downloaded or the extraction directory. The
filename is not an issue since we force to use DISTNAME via the ?dummy trick
to fetch(1). Due to this though we must make the same replacement for tags
since we are not using their filename (which matches the extraction dir).

Incidentally this is working if DISTVERSIONPREFIX=v is used since that value
was not used in WRKSRC.

With hat:	portmgr
PR:		198869
2015-03-24 16:42:38 +00:00
Bryan Drewery
b4623773d9 Introduce a BSDMAKE?= /usr/bin/make and use it as the default MAKE_CMD.
With hat:	portmgr
2015-03-23 04:03:00 +00:00
Bryan Drewery
945a87d01c Fix fetching x11-fonts/sourcesanspro-ttf from r381780; Don't modify GH_TAGNAME.
Pointyhats to:	bdrewery
With hat:	portmgr
Reported by:	antoine
2015-03-20 22:32:00 +00:00
Bryan Drewery
37a1520519 For the new USE_GITHUB with only GH_TAGNAME set default DISTNAME to
include GH_PROJECT/GH_ACCOUNT/GH_TAGNAME. This prevents the distfile
having the same name despite changing one of these values and causing
a bad checksum.

Differential Revision:	https://reviews.freebsd.org/D2103
Reviewed by:	mat
With hat:	bdrewery
2015-03-20 20:07:50 +00:00
Bryan Drewery
69d5e85c26 Default the WRKSRC to the proper extracted name for USE_GITHUB when
GH_TAGNAME is defaulted to the new DISTVERSIONPREFIX/DISTVERSION/DISTVERSIONSUFFIX
change in r381689.

This actually fixes the build for sysutils/zfstools, broken in r381704.

With hat:	portmgr
2015-03-20 07:25:43 +00:00
Bryan Drewery
965611a692 Fix renamed distfiles missed in r381688. Also fix the GHR ports updated in
r381648 which were expecting DISTVERSIONPREFIX/SUFFIX to be used in the
tag fetched from github by defaulting GH_TAGNAME to the same value
as DISTVERSION would get by only when GH_COMMIT is not set (when using the
new scheme).

With hat:	portmgr
2015-03-19 20:45:03 +00:00
Bryan Drewery
5b5a90256d Update USE_GITHUB so it does not require GH_COMMIT.
Using this new scheme allows only setting the _tag_ or _commit hash_ in
GH_TAGNAME and not having to know the hash for a tag.  This scheme will
download a tarball that has a different checksum than before due to a changed
directory name for extraction.

The following MASTER_SITES are provided to retain the old checksum and
directory structure (that require GH_COMMIT):
  GH -> GHL
  GITHUB -> GITHUB_LEGACY

Differential Revision:	https://reviews.freebsd.org/D748
Submitted by:	amdmi3
Reviewed by:	mat, swills, antoine, bdrewery
With hat:	portmgr
2015-03-19 16:44:57 +00:00
Antoine Brodin
3f58690a6f Commit what was exp-ran in PR 198132 (and unbreak INDEX) 2015-03-05 23:10:55 +00:00
Baptiste Daroussin
90dc66b285 Rework dependency registration
Change the way the dependencies are registred so that now it follows the same
mechanism as when the *_DEPENDS making the dependency registration system ready
to allow multiple packages from the same origin such as flavours and subpackages

Also allowing to install twice the same port one built with python33 and the
other built with python27 for example.

PR:		19702
With help of:	antoine
Exp-run:	portmgr (antoine)
2015-02-09 17:16:43 +00:00
Baptiste Daroussin
e98aa8ce11 Fix the revert... 2015-01-23 00:21:24 +00:00
Baptiste Daroussin
73c1e0676d Revert wrong patch done in the wrong branch :( 2015-01-23 00:19:36 +00:00
Baptiste Daroussin
1dd2779d16 for gl and egl compononents of USE_GL depend on the package rather that a file
which does not belong to any package
2015-01-23 00:16:45 +00:00
Bryan Drewery
400808592c Rename post-plist to ${POST_PLIST}. This will allow controlling order and
adding multiple hooks onto the end of plist processing.

Submitted by:	bapt
With hat:	portmgr
2015-01-09 21:43:18 +00:00
Bryan Drewery
d47c8de374 Add 'post-plist' target which can be hooked into to modify the plist without
needing to add more targets to STAGE_SEQ. This is especially useful for
customizing the ports tree/framework without modifying bsd.port.mk.

With hat:	portmgr
Discussed with:	mat
2015-01-09 21:12:53 +00:00
Mathieu Arnold
547b6d7c0b Remove a dupplicate occurence of a target.
Noticed by:	bdrewery
Sponsored by:	Absolight
2015-01-08 16:13:41 +00:00
Marcus von Appen
beb88abfed - Remove support for deprecated python bits from the ports
framework. The following knobs are not supported anymore:

    USE_PYTHON=<yes|version+-|-version|version-version>
    USE_PYTHON_BUILD
    USE_PYTHON_RUN
    USE_PYDISTUTILS
    PYDISTUTILS_AUTOPLIST
    PYTHON_PY3K_PLIST_HACK
    PYDISTUTILS_NOEGGINFO
    PYTHON_CONCURRENT_INSTALL
    USE_PYTHON_PREFIX

PR: 196477
Differential Revision: https://reviews.freebsd.org/D1416
Exp-run: antoine
Reviewed by: antoine
Approved by: portmgr (antoine)
With hat: python
2015-01-07 17:22:07 +00:00
Antoine Brodin
5f9bfd77dd Update a comment about where ldconfig configuration files reside
With hat:	portmgr
2014-12-31 16:07:56 +00:00
Baptiste Daroussin
e034d8f233 Simplify a bit the rmconfig target 2014-12-28 19:01:42 +00:00
Baptiste Daroussin
57ccffb9d2 Allow to work with options as a regular user 2014-12-28 19:00:38 +00:00
Grzegorz Blach
a781a6e13c - Remove Mk/bsd.efl.mk
- Convert USE_EFL=libtool_hack to USES=libtool
- Convert USE_EFL=imlib2 to LIB_DEPENDS=libImlib2.so:...
- Bump PORTVERSION in graphics/imlib2 and in all ports
  which depends on imlib2

PR:		196062
Approved by:	portmgr
2014-12-27 00:09:02 +00:00
Baptiste Daroussin
23f2184d9f mtree files are not used anymore by packages 2014-12-25 01:14:54 +00:00
Baptiste Daroussin
fc3d3dcbe9 Remove now useless gnomehier, pkg handles automatically the directories where
needed making gnomehier entirely useless now.

Differential Revision:	https://reviews.freebsd.org/D1355
Reviewed by:	antoine, kwm
Approved by:	gnome (kwm)
2014-12-25 01:10:19 +00:00
Jean-Sébastien Pédron
3c9a1d11c2 Final removal of WITH_NEW_XORG
This knob was turned on for all version of FreeBSD in r369875
(2014-10-03) and officially deprecated. Since then, it was gradually
removed from many ports when they needed an update.

x11-servers/xorg-server was the last major user of this knob. The port
was updated to xserver 1.14 in r374982 (2014-12-19). The update got rid
of the knob, clearing the path to the final removal.

This commit changes ports who were checking for WITH_NEW_XORG and remove
its handling from bsd.port.mk.

While here, two sanity checks are added to warn user about WITH_KMS and
WITH_NEW_XORG which have no effect now.

Differential Revision:	https://reviews.freebsd.org/D1351
Reviewed by:	antoine, bapt, kwm
Approved by:	portmgr (antoine, bapt), kwm
2014-12-22 23:04:17 +00:00
Baptiste Daroussin
6455096ba7 Remove documentation about PLIST_DIRSTRY 2014-12-20 20:12:44 +00:00
Baptiste Daroussin
295ea87e9f Add USES=fakeroot to allow packaging ports that are not stageable as a user
It uses debian's fakeroot, like NEED_ROOT (which it is supposed to replace) it
is preferred to fix the port to properly stage without those hacks
2014-12-17 14:32:59 +00:00
Baptiste Daroussin
214e082755 Avoid defining do-install if NO_INSTALL is defined 2014-12-17 13:01:59 +00:00
Antoine Brodin
9cb1f86730 - Remove support for EXTRACT_PRESERVE_OWNERSHIP
- Update a few comments related to extract

Differential Revision:	https://reviews.freebsd.org/D1189
With hat:	portmgr
2014-12-14 11:44:24 +00:00
Baptiste Daroussin
24fa16b156 abi is case sensitive 2014-12-11 08:15:55 +00:00
Baptiste Daroussin
7d5768fe2f Fix NO_ARCH in a way compatible with both pkg 1.3 and pkg 1.4 2014-12-11 08:04:27 +00:00
Mathieu Arnold
7a6669d8bc Patches go into PATCHDIR, not FILESDIR.
Pointy hat to:	Everybody that looked at the code review, me included.
Sponsored by:	Absolight
2014-12-10 15:10:40 +00:00
Johannes Jost Meixner
ed75099171 Set CentOS 6.6 as default Linux version.
Since CentOS 6.5 landed in the portstree and was updated to CentOS 6.6 and we've
fixed the remaining issues, it's time to replace Fedora 10 as Linux default --
given that in the past five years it has done its service and has long since
gone EOL upstream.

The CentOS 6 series will go End of Life in 2020, this should give us some time
to keep its annual releases up to date.

If you have not switched to using CentOS 6.6 ports, please refer to today's
UPDATING entry -- it contains detailed instructions.

If you have already switched to CentOS 6.6 userland,
you can now remove the following two lines from make.conf:

OVERRIDE_LINUX_BASE_PORT=c6
OVERRIDE_LINUX_NONBASE_PORTS=c6

If you encounter any difficulties, please follow the UPDATING entry from
20140922 but skip step 2. In case these steps do not fix the issues,
please submit an issue report in Bugzilla and send an email to FreeBSD's
emulation mailing list.

Differential Revision:	https://reviews.freebsd.org/D1145
Reviewed by:	wblock, bcr (doc), rene (emulation)
Approved by:	swills (mentor)
Approved by:	portmgr (swills)
Sponsored by:	Perceivon Hosting Inc.
2014-12-09 18:05:30 +00:00
Johannes Jost Meixner
1d3ee0a15f Force PREFIX to LINUXBASE
Using pkg with linux packages will generate conflicts with non-linux ports if
PREFIX is set in make.conf. If USE_LINUX_PREFIX is defined, force PREFIX to
LINUXBASE, which can be overridden separately.

Approved by:    koobs, swills (mentors)
Approved by:    portmgr (swills)
2014-12-09 17:44:30 +00:00
Tijl Coosemans
369ca89d17 Modify run-autotools-fixup so it only prints "FreeBSD 10 autotools fix
applied to..." when it modified a file.  Also change _CONFIGURE_SEQ so
run-autotools-fixup runs after targets like do-autoreconf that can already
fix some cases.

This will allow us to get a better idea of how big the problem still is.

Approved by:	portmgr (bapt)
2014-12-05 10:47:45 +00:00
Mathieu Arnold
eee58d187e Change the way Perl modules are installed, update the default Perl to 5.18.
Before, we had:

  site_perl :           lib/perl5/site_perl/5.18
  site_perl/perl_arch : lib/perl5/site_perl/5.18/mach
  perl_man3 :           lib/perl5/5.18/man/man3

Now we have:

  site_perl : lib/perl5/site_perl
  site_arch : lib/perl5/site_perl/mach/5.18
  perl_man3 : lib/perl5/site_perl/man/man3

Modules without any .so will be installed at the same place regardless of the
Perl version, minimizing the upgrade when the major Perl version is changed.
It uses a version dependent directory for modules with compiled bits.

As PERL_ARCH is no longer needed in plists, it has been removed from
PLIST_SUB.

The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now
always removed, as is perllocal.pod.

The old site_perl and site_perl/arch directories have been kept in the
default Perl @INC for all Perl ports, and will be phased out as these old
Perl versions expire.

PR:		194969
Differential Revision:	https://reviews.freebsd.org/D1019
Exp-run by:	antoine
Reviewed by:	perl@
Approved by:	portmgr
2014-11-26 13:08:24 +00:00
Baptiste Daroussin
1305c7321a Do not load anymore bsd.database.mk in case of USE_PGSQL given the migration is
finished
2014-11-22 22:06:55 +00:00
Baptiste Daroussin
3c01ec06a5 Do not ignore .so in manpages they are really problems for both groff and mandoc
Given we do compress manpages. They need to be addressed with soelim(1) prior
any compression
2014-11-22 01:47:24 +00:00
Baptiste Daroussin
f83444a840 Add a new check-man target that will check the manpages inside the port for
correctness against mandoc lint checker
2014-11-21 14:54:11 +00:00
Bryan Drewery
ec713d99b6 - Enable SSP by default.
This is the culmination of years of work and testing including work by jlh@.

  This will enable SSP by default for all amd64 releases, and i386 releases
  10.0 and over.

With hat:	portmgr
Tested by:	multiple exp-runs, CFT package repository, CFT ports
Discussed with:	bapt, antoine
2014-11-02 20:01:31 +00:00
John Marino
b340da6eb8 bsd.port.mk: Finish update to make makepatch
A portion of this patch to upgrade makepatch was committed almost 2
months ago; this is the rest of it.  It changes the directory separator
to "_" and it will transform "_" in the filename to "__" to avoid
ambiguous file names (e.g. A/B/C.c and A_B/C.c won't have the same patch
name).

The new logic will not rename an existing patch that used previously
standard separators of "-", "+", or "__" in its name.  It is desireable
to avoid commits that only change the filename of the patch, so that's
why existing filenames are re-used if previously legal.

The diff command is also pass the -p argument for additional useful
context.

Differential Revision:	https://reviews.freebsd.org/D582
Approved by:		portmgr (bapt)
2014-10-30 23:04:03 +00:00
Bryan Drewery
9ae831676e Move WITH_CCACHE_BUILD logic to bsd.ccache.mk
With hat:	portmgr
2014-10-28 18:01:55 +00:00
Koop Mast
1d803f71bb Update Mesa ports to new default of 9.1.7 and more recent version to 10.3.0.
The port will switch to the newer version if hw context is available in the
i915kms driver.

- Get ride of WITH_NEW_XORG.
- Use @comment in plist to ignore unwanted files in the stagedir, instead of
  trying to remove them in post-install.
- Bump portrevision of 9.1.7 due to dependency changes.
- Drop :keepla from USES=libtool.
- Drop @dirrm[try] from plists
- Give dri propper options, with pkg-help for additional information.
- Make separate plist for dri for the different versions, the combined plist
  was headache inducing.
- Add "workaround" patches to allow clang to build the dri port on i386 [1].
  USE_GCC is now only needed for 8.x.
- Add gbm port and USE_GL switch for it.

PR:		192286 [1]
Submitted by:	Carlos Jacobo Puga Medina [1]
Approved by:	portmgr (bapt@)
In collaberation with:	dumbbell@
Obtained from:	xorg-dev
2014-10-17 09:53:13 +00:00
Tijl Coosemans
2210fec0e9 Modern compilers have more -O* flags that enable strict aliasing. Instead
of listing each one, just add -fno-strict-aliasing to CFLAGS unconditionally

PR:		186929
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2014-10-09 17:59:01 +00:00
Baptiste Daroussin
83fe4bc1ea Use bsd.sanity.mk to check for INSTALLS_SHLIB 2014-10-08 10:08:24 +00:00
Baptiste Daroussin
fe0b735bba Get rid of _DESKTOPDIR_REL and use DESKTOPDIR everywhere
That avoids playing with @cwd
2014-10-08 06:13:43 +00:00
Baptiste Daroussin
a8e8df12f4 Use absolute path for PORTDATA PORTDOCS and PORTEXAMPLES
That makes them @cwd safe
2014-10-08 06:06:34 +00:00
Baptiste Daroussin
856027ca8a Use absolute patch for rc scripts in plist
That avoids playing with @cwd
2014-10-08 05:54:33 +00:00
Baptiste Daroussin
fe7bca82f0 Make info files absolute patch in plist
That makes them more @cwd safe while simplifying the infra
2014-10-08 05:52:17 +00:00
Tijl Coosemans
a4155c67ec Remove unused configure-autotools target from Mk/bsd.autotools.mk and
Mk/bsd.port.mk

Approved by:	portmgr (bapt)
2014-10-07 09:22:27 +00:00
Antoine Brodin
dd9d36338d qa.sh now needs LINUXBASE
With hat:	portmgr
2014-10-04 18:05:48 +00:00
Bryan Drewery
63fc9a3edb check-plist no longer needs to check for directories owned by dependencies.
pkg-1.3.8's auto directory handling makes this a non-issue.

We should add a new check to warn of possibly needing @dir for empty dirs
though.

With hat:	portmgr
2014-10-03 18:22:46 +00:00
Baptiste Daroussin
683b331695 Switch to WITH_NEW_XORG for all supported version of FreeBSD by default 2014-10-03 08:35:28 +00:00
Bryan Drewery
89662d08b4 - Reinstate r369644 fully to add the OSVERSION==UNAME_r sanity check.
FreshPorts, portsnap and indexbuild have all been fixed.
2014-10-02 16:05:56 +00:00
Baptiste Daroussin
fb56c84735 Add BUNDLE_LIBS knob to prevent pkg(8) from automatically add provided shlibs 2014-10-01 22:12:32 +00:00
Baptiste Daroussin
d401e3541b Activate New Xorg for the full 10.x branch see UPDATING for details 2014-10-01 06:41:55 +00:00
Bryan Drewery
c2ec3419b1 Partially revert r369644 temporarily (to add the OSVERSION=sysctl kern.osreldate)
as both FreshPorts and the portsnap INDEX need updates first.
2014-09-30 18:16:37 +00:00
Bryan Drewery
9576bda613 If either of OSVERSION or UNAME_r is improperly set when building in a
jail/chroot, a number of unexpected errors can occur.

  1. autotools fixup may not run when needed. This could be avoided by always
     running it [PR 177980, 177403].
  2. Not having UNAME_r set will cause many unknown
     errors. Many ports use OSREL (derived from UNAME_r) to determine the name
     of files. This is usually also due to the port build itself using uname -r
     to derive filenames or 'built for' messages. [PR 192449, 191943] Without
     having these sanity checks it is very easy for users to get into
     situations where "everything worked" until they touch a certain port that
     reads uname(1) output or OSVERSION. It has always been necessary to define
     all of the UNAME_ vars and OSVERSION (or have a proper sys/param.h
     present), but many users do not know this.

Remove the fallback on the kernel for kern.osreldate as it easily gets the
answer wrong.

I have added sanity checks to ensure OSVERSION==OSREL==UNAME_r as these are the
most critical vars to have set properly.

Differential Revision:	https://reviews.freebsd.org/D869
PR:			177980, 177403, 192449, 191943
Reviewed by:		antoine, bapt, gjb
With hat:		portmgr
2014-09-30 16:22:05 +00:00
Tijl Coosemans
fe837ee6c6 Change the way USES is handled:
- Loop over USES twice, once to define all *_ARGS variables and once to
  include Uses/*.mk.  This allows all Uses/*.mk to examine arguments given
  to other USES entries.
- Always define *_ARGS (possibly empty) and replace commas with spaces.

Similar for _USES_POST.

Adjust all Uses/*.mk:
- defined(u_ARGS) becomes !empty(u_ARGS)
- Eliminate helper variables like _*_ARGS=${*_ARGS:C/,/ /g}
- Some Uses/*.mk used ":" as argument separator instead of ",", but no port
  used this form
- Uses/cran.mk: remove unused variable VALID_ARGS and USES+=fortran which
  has no effect
- Uses/twisted.mk: simplify handling of the case where neither "build" nor
  "run" arguments have been specified

PR:		193931
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2014-09-28 16:36:31 +00:00
Bryan Drewery
6611d7feaf Try to make this more clear
With hat:	portmgr
2014-09-26 00:50:14 +00:00
Bryan Drewery
6f337093e2 Tell users to update the pkg PORT
With hat:	portmgr
2014-09-25 21:29:57 +00:00
Antoine Brodin
ae506a831d Make the fetch of PATCHFILES more quiet
With hat:	portmgr
2014-09-23 20:31:40 +00:00
Baptiste Daroussin
1c46d73c04 Remove some useless @cwd
Cleanup documentation about DOCSDIR and dirrm
2014-09-23 10:32:36 +00:00
Bryan Drewery
e5f17bd649 - Fix check-vulerable exiting without printing message since pkg-1.3.4 fixed
'pkg audit' to return non-zero.

With hat:	portmgr
2014-09-22 15:22:58 +00:00
Baptiste Daroussin
124b350ddb Clean out some @dirrmtry
While here remove now no-op targets
2014-09-22 13:21:29 +00:00
Baptiste Daroussin
ba915ddbc1 Stop emitting @dirrm* for PORTDATA and PORTEXAMPLES 2014-09-22 12:24:34 +00:00
Johannes Jost Meixner
05317facbe Update CentOS base to 6.5, add userland ports
The Fedora 10 infrastructure ports have been in use since June 2009 and, while
having served a great deed, have become unsupported upstream and hence affected
by unfixed security vulnerabilities. In addition to that, many recent Linux
binaries need newer libc / stdlibc++ versions.

This commit adds the linux-c6- userland as drop-in replacement for the -f10
infrastructure, as well as upgrading the linux_base-c6 port to CentOS 6.5.

If you want to switch to linux-c6 ports, please define at /etc/make.conf:

    OVERRIDE_LINUX_BASE_PORT=c6
    OVERRIDE_LINUX_NONBASE_PORTS=c6

Additionally, please add the following line to /etc/sysctl.conf:

    compat.linux.osrelease=2.6.18

Upgrading procedures are shown in /usr/ports/UPDATING.

This work has been inspired by Artyom Mirgorodskiy's post to emulation@ in
November 2013, using and extending mav@'s work. It has been tested extensively
and most reported issues were already fixed. Please report any additional bug
or "features" to the emulation mailing list.

Many thanks to: mav@, rene@, allanjude@, netchild@, antoine@, everyone who's
filed Issues and Pull requests on GitHub,

PR:		186820
Differential Revision:	https://reviews.freebsd.org/D793
Reviewed by:	allanjude, antoine, bapt, rene
Approved by:	portmgr (antoine, bapt)
Approved by:	koobs (mentor)
Sponsored by:	Perceivon Hosting Inc.
2014-09-22 10:40:00 +00:00
Baptiste Daroussin
b92b5abdf5 Remove @dirrmtry from PORTSDOC code it is now automatic 2014-09-22 09:42:03 +00:00
Baptiste Daroussin
3eaa1784f2 PLIST_DIRS and PLIST_DIRSTRY are now equivalent and both emitting @dir entries
(Note that PLIST_DIRSTRY) is now deprecated
2014-09-22 06:30:46 +00:00
Baptiste Daroussin
955ab0c5ae Do not set an initial value for owner/wheel pkg(8) does it by itself now 2014-09-22 06:27:13 +00:00
Baptiste Daroussin
6423d85837 Update to 1.3.8 Changes:
- Plist parser do not accept modes like o+w g+s u+r
- @owner/@group with no argument reset the default ownership to root/wheel
- Plug regression tests into the release mechanism as mandatory
- Allow url in repository configuration to be overriden by another configuration
  file
- If one of -P, -I or -R is not explicitly given on the command line do not emit
  error messages while searching for a mechanism to find data about the latest
  available ports.
- External keywords can now take arguments
- Directories under PREFIX are automatically handled and removed if needed
- MTREE are not packaged anymore neither extracted on final installation
- OS major checking (to determine if pkg is running on an upgraded base system)
  uses the same mechanism as ABI detection instead of relying on UNAME_r which
  can have false positivie on jails
- Add @dir keyword for plist which is used to package explicitly directories
  (directories with non root/wheel or outside prefix) and empty directories
  (@dirrm and @dirrmtry are now considered as deprecated)
- root/wheel are now considered as the default user/group when creating a
  package except @owner/@group are used to change that behaviour
- Import newer version of libucl which improves error messages in case of
  problem parsing manifest or configuration files
- Fix pkg register so it checks for conflicts before actually copying files on
  to the filesystem
- pkg now support a new no_provide_lib annotation to preventing automatic
  populating of provided libs (useful for packages bundling libraries like wine)
- Improve documentations
- Ability to select usage of IPv4/IPv6 via config, repository config or command
  line
- Lots of bug fixes

Side effects:
- Convert to install-mtree target into a no-op target Add empty directories to
  plist of ports that needs them to run:
- share/aclocal to devel/automake and devel/automake14
- share/applications to devel/desktop-file-utils
- share/xml share/sgml to textproc/xmlcatmgr
- Prevent check-plist to issue warnings about some @dir*
- Adjist check_leftovers.sh to not take in account anything related to mtree
- Bump the default required version of pkg to 1.3.8
2014-09-22 05:47:32 +00:00
Bryan Drewery
9b977fa9aa - Remove -a when copying package. r329130 broke this when PACKAGES was on
NFS. It is not that important to preserve timestamp for the package, and
  other metadata seems to be fine otherwise. This whole thing needs to be
  reworked so PKGFILE is more respected (another regression of mine).

With hat:	portmgr
Reported by:	will
Pointyhat to:	bdrewery
2014-09-19 15:44:55 +00:00
Bryan Drewery
2e0063b2c3 - Fix minimum pkg version check when using pkg from git. Strip out everything
after '-' as it is a hash. It is not strictly newer than the implicit 0.
- Reword msg [1]

Submitted by:	adamw [1]
With hat:	portmgr
2014-09-19 00:50:37 +00:00
Bryan Drewery
1c3c69804d Remove dead pkg_install code 2014-09-18 21:21:34 +00:00
Bryan Drewery
ff9d59c6dd Fix typo.
Submitted by:	sunpoet
With hat:	portmgr
2014-09-18 16:09:56 +00:00
Baptiste Daroussin
d7294f43fd Fix WITH_PKGNG=devel backward compatibility 2014-09-18 13:11:36 +00:00
Baptiste Daroussin
dd340e8b53 Add a minimal version testing for the installed pkg to enforce people to go to the latest version
Set minimal version to 1.3.7 for now

Differential Revision:	D723
Reviewed by:	bdrewery
2014-09-18 13:05:50 +00:00
Mathieu Arnold
46cf4bcb84 Retire MANCOMPRESSED.
Also the compat NO_INSTALL_MANPAGES shim.

Differential Revision:	https://reviews.freebsd.org/D730
Reviewed by:	antoine
With hat:	portmgr
Sponsored by:	Absolight
2014-09-18 12:31:24 +00:00
Tijl Coosemans
036fca0b54 Initial version of USES=autoreconf that can replace USE_AUTOTOOLS. It
runs autoreconf in CONFIGURE_WRKSRC to update configure, Makefile.in and
other build scripts.

Approved by:	portmgr (bapt)
2014-09-17 10:06:08 +00:00
Bryan Drewery
55ba7688eb - Fix off-by-one with 'make checksum' which caused it to not properly
download files from the last site (distcache).

With hat:	portmgr
2014-09-16 20:38:13 +00:00
Bryan Drewery
5e092869e2 - Continue to define PKGNG_ORIGIN.
- This is used by portupgrade and poudriere bulk/testport -i for
    install-package.
  - The change is not backwards compatible; setting PKGNG_ORIGIN was never
    intended. It is only for reading.

With hat:	portmgr
Discussed with:	bapt
2014-09-16 16:02:50 +00:00
John Marino
eda6ebd873 bsd.port.mk: Fix typo found in EXTRA_PATCHES handling
PR:		193432
Reported by:	ian@
Approved by:	portmgr (implicit, obvious, just-fix-it)
2014-09-07 17:18:39 +00:00
Pawel Pekala
a3ae0bb5a4 Fix example in my previous attempt to document COPYTREE macros
Approved by:	portmgr (not really, no-op change)
2014-09-07 15:08:06 +00:00
Baptiste Daroussin
60b25c2549 Factorize USE_CSTD and USE_CXXSTD
Differential Revision:	https://reviews.freebsd.org/D722
Reviewed by:	antoine
2014-09-05 09:36:46 +00:00
Antoine Brodin
228ab58873 Change INSTALL_DATA to install with mode 644
Remove patches and hacks that were used to work around the previous
situation
This allows to stage more ports as a regular user

Differential Revision:	https://reviews.freebsd.org/D703
Reviewed by and discussed with:	bapt
With hat:	portmgr
2014-09-04 19:26:24 +00:00
Baptiste Daroussin
41729a405d This garbages collect code now useless:
- Anything related to MLINKS
- Anything related to manpages
- Anything related to NO_LATEST_LINK

Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D717
2014-09-03 11:53:04 +00:00
Baptiste Daroussin
54843cad0a Fix @dirrmtry in case PREFIX != LOCALBASE 2014-09-03 05:33:10 +00:00
Baptiste Daroussin
c4526308ea Convert rmtry into regular Keyword
Note that this allows to control when it is executed (always in post-installation)
This makes @rmtry accept both absolute path and relative path (to latest prefix/cwd)

While here now that it is not used, remove the old PLIST_REINPLACE macro

Reviewed by:	antoine
Differential Revision:	https://reviews.freebsd.org/D713
2014-09-03 05:16:13 +00:00
Baptiste Daroussin
88c3501f19 Add home directory creation to pre-install script for USERS/GROUPS
Use @dirrmtry instead of @exec rmdir
2014-09-02 15:03:31 +00:00