Commit graph

1211 commits

Author SHA1 Message Date
Mathieu Arnold
4d74d14e32 Add a USES=imake:noman to make NO_INSTALL_MANPAGES go away.
CR:		D594
Reviewed by:	antoine
Sponsored by:	Absolight
2014-08-12 16:24:27 +00:00
Marcus von Appen
900db324a3 Convert the Python framework bits to USES=python.
Please use USES=python instead of USE_PYTHON.

  USE_PYTHON=yes becomes USES=python
  USE_PYTHON=2.7+ becomes USES=python:2.7+
  USE_PYTHON_BUILD=3.3 becomes USES=python:3.3,build
  ...

A new PYTHON_FEATURES variable was added, which enables certain features for a
port and replaces some knobs at the same time;

  PYTHON_FEATURES=distutils replaces USE_PYDISTUTILS
  PYTHON_FEATURES=autoplist replaces PYDISTUTILS_AUTOPLIST
  PYTHON_FEATURES=py3kplist replaces PYTHON_PY3K_PLIST_HACK
  PYTHON_FEATURES=noegginfo replaces PYDISTUTILS_NOEGGINFO
  PYTHON_FEATURES=concurrent replaces PYTHON_CONCURRENT_INSTALL
  PYTHON_FEATURES=pythonprefix replaces USE_PYTHON_PREFIX

Some knobs have been deprecated and are to be removed in the near future:

  PYTHON_MASTER_SITES - use MASTER_SITE_PYTHON instead
  PYTHON_PKGNAMESUFFIX - use PYTHON_PKGNAMEPREFIX instead
  PYDISTUTILS_INSTALLNOSINGLE - deprecated without replacement

Some knobs have been removed completely:

  PYTHON_MASTER_SITE_SUBDIR
  PYTHON_DISTNAME
  PYTHON_WRKSRC

Several variables specific to the Python framework are no longer passed to the
build environment to avoid polluting dependency builds.

  PYTHON_VERSION is not passed to .MAKEFLAGS anymore
  PYTHON_DEFAULT_VERSION,
  PYTHON_DEFAULT_PORTVERSION and
  PYTHONBASE are not passed to the make environment anymore

The conversion required a couple of ports to be updated to fit the changes and
new requirements. Those included "bsd.python.mk" directly or contained checks
in places, for which the USES framework would fail to provide correct values.

Python modules directly using the upstream Python package (such as py-tkinter
or py-sqlite3) were updated to avoid using the now unnecessary and remmoved
knobs from "bsd.python.mk".

Phabric:	D399
exp-run:	167368 192357
PR:		167368 192357
Reviewed by:	antoine, wg
Exp-run award:	antoine
With hat:	python@
Approved by:	portmgr
2014-08-09 15:44:27 +00:00
Baptiste Daroussin
4a31099908 Add make missing-package that will do the same as make missing but print package
names rather than origin

PR:		177230
Submitted by:	ehaupt
2014-08-04 12:12:55 +00:00
Antoine Brodin
9aa789468c Revert another part of r361917
With hat:	portmgr
2014-08-01 11:32:14 +00:00
Antoine Brodin
6e5fd411df - Reset @cwd to prefix after creating ldconfig configuration file in localbase
- Reset @cwd to prefix before listing info pages (same as is done for PORTDOCS,
PORTEXAMPLES and PORTDATA)
- Fix a typo from 2006, LDCONFIG_32DIR instead of LDCONFIG32_DIR

Reported by:	John Hein
Phabric:	D493
Reviewed by:	bapt
Exp-run:	self
With hat:	portmgr
2014-07-29 17:38:19 +00:00
Dmitry Marakasov
c136dca779 - Allow to make developer warnings fatal
Approved by:	portmgr (bapt)
2014-07-29 17:36:03 +00:00
Baptiste Daroussin
f8432665bb Partially revert r361917 2014-07-22 12:56:21 +00:00
Baptiste Daroussin
a0551a6342 Make sure to create the WRKDIR even is do-extract is define in the port Makefile 2014-07-21 13:00:37 +00:00
Baptiste Daroussin
40a23a37e7 Clean working directories earlier 2014-07-21 12:40:49 +00:00
Baptiste Daroussin
4a57b32379 Now that all LIB_DEPENDS has been switched to modern version, remove support
for ancient version.

Phabric:	D415
Reviewed by:	swills
2014-07-16 05:55:14 +00:00
John Marino
6afd4a2d6f bsd.port.mk: Define CONFIGURE_TARGET using OPSYS instead of freebsd
This change has been applied locally to dports for over a year, but it
also will facilitate vendor rebranding for FreeBSD.

Phabric:	D413
Approved by:	portmgr (bapt)
2014-07-15 13:20:56 +00:00
Baptiste Daroussin
86b1bf4c10 Fix simple condition in making directories
Phabric:	D101
PR:		164351
Submitted by:	yaneurabeya@gmail.com
Reviewed by:	swills
2014-07-15 13:13:03 +00:00
Mathieu Arnold
8f85de0a30 Be a bit more direct about pkg_install having to be replaced by pkg.
Reviewed by:	swills
Sponsored by:	Absolight
2014-07-11 15:25:42 +00:00
Bryan Drewery
1d4f508057 Add URL explaining NO_STAGE deprecation
With hat:	portmgr
2014-07-02 19:51:23 +00:00
Baptiste Daroussin
7bf848892a Deprecate all non stage ports with expiration date 2014-08-31
Please note that no ports with a valid PR will be removed!
Deprecation will automatically go away as soon as stagification is done

Reviewed by:	mat
2014-07-02 13:49:44 +00:00
Baptiste Daroussin
44720cd544 Remove bsd.pbi.mk, it is not used anymore to produce modern PBIs
Approved by:	kmoore
2014-07-02 06:05:43 +00:00
Antoine Brodin
2ec52ec10f Use print/indexinfo to generate index of info pages
It is much more lightweight than ginstall-info (12kB vs 400kB) and
ginstall-info had a regression causing some index leftover on uninstall

Submitted by:	bapt
Exp-run:	self
With hat:	portmgr
2014-06-28 10:03:00 +00:00
Antoine Brodin
bd2bbe06be Do not hide errors listing info pages in the pkg case
With hat:	portmgr
2014-06-26 08:04:55 +00:00
Baptiste Daroussin
e1d7d7f00f Use print/texinfo-lite to install info pages
This allows to use modern version of texinfo as well as allow packages to
install properly on a system built WITHOUT_INFO
2014-06-25 08:36:36 +00:00
Baptiste Daroussin
15128d1d38 Remove the IGNOREFILES feature: it was an unsafe feature allowing to use files
fetched from untrusted sources directly into the ports tree

CR:		D269
Reviewed by:	portmgr (antoine)
2014-06-23 09:57:27 +00:00
Antoine Brodin
7c7b6b6ef1 Make @dirrmtry handling in pkg_install closer to what pkg does
Original patch:	bapt
Phabric:	D215
Exp-run:	self, less orphans/leftovers with pkg_install with patch than without
		and no new failures with pkg
With hat:	portmgr
2014-06-20 21:03:02 +00:00
Mathieu Arnold
1539b3f464 Fixup COPYTREE_* doc. 2014-06-18 22:10:06 +00:00
Baptiste Daroussin
6624bfc27f Remove support for USE_DRUPAL 2014-06-18 12:18:44 +00:00
Baptiste Daroussin
fe8a244970 Backout support for WITHOUT_INFO in base it triggers an infinite recursion
print/texinfo depends on help2man which provides info files and thus
need texinfo...
2014-06-15 22:13:02 +00:00
Baptiste Daroussin
e845d10885 do not overwrite RUN and BUILD DEPENDS
Slapped by:	antoine
2014-06-15 21:42:01 +00:00
Baptiste Daroussin
c3654a1b9d Make ports providing info files depending on print/textinfo if base has been built WITHOUT_INFO
PR:		129741
2014-06-15 21:38:29 +00:00
Baptiste Daroussin
e16e20ac67 Make pkg_install aware of @fc @fcfontsdir and @fontsdir
Simplify bsd.xorg.mk by only using those keywords
run pkg_install.awk later to allow to use keywords in most of the targets in Mk/*

Tested by:	mandree
2014-06-12 10:10:50 +00:00
Antoine Brodin
ba606a66f6 Fix USE_LDCONFIG when PREFIX!=LOCALBASE and there is no NO_MTREE
Reported by:	gerald
Reviewed by:	bapt
Phabric:	D209
2014-06-11 21:14:19 +00:00
Baptiste Daroussin
299921ac89 Define X_SYSROOT to avoid duplicating code too much
Define PKG_CONFIG_SYSROOT_DIR for cross building pkgconf files
2014-06-11 21:00:50 +00:00
Tijl Coosemans
9f8b4bcde3 Support LIBS like LDFLAGS.
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV.
- Add an option helper for LIBS.
- Adjust all ports that already use LIBS.  Also remove references to
  PTHREAD_CFLAGS and PTHREAD_LIBS while here.
- Some ports did not support having a LIBS environment variable and
  required additional patches.

Somewhat simplified a linker command line looks like:

${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS}

where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and
LIBS can be controlled by us.  If possible -L and -l flags need to be
added to LIBS to make sure they appear after any -L and -l flags set by
upstream.  Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this
may appear too early on the command line causing installed libraries to
be linked in instead of freshly built ones.

Additional changes:
benchmarks/netio: Replace WITH_IPV6 with an IPV6 option.
comms/gnokii: Replace some patches with USES=pathfix.  Also remove -fPIC.
graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR.
graphics/visionworkbench: Remove FreeBSD 7 support.
multimedia/libmovtar: New LIB_DEPENDS syntax.
multimedia/opencinematools: Use standard do-build.
net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins)
net-mgmt/nagios: Remove -fPIC.
net-mgmt/nagios4: Remove -fPIC.
print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036.
security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with
ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS.  This skips a test
in configure that falsely detects pthread_mutexattr_init in our libc.
sysutils/dar: Fix iconv detection.
x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD
hack and use $CXX as linker as on other platforms.

PR:		190592
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2014-06-11 14:49:59 +00:00
Mathieu Arnold
2e6c4aa347 Don't run fix-perl-bs when NO_STAGE, it's not needed.
Noticed by:	antoine
Sponsored by:	Absolight
2014-06-10 22:15:11 +00:00
Mathieu Arnold
61de712f46 Remove all the bootstrap files (.bs) from the plists.
Starting with perl 5.20, they're not installed any more if empty,
and on FreeBSD, they're (always ?) empty.

PR:		190681
Submitted by:	mat
Exp-Run by:	antoine
Sponsored by:	Absolight
2014-06-10 12:14:12 +00:00
Antoine Brodin
047b1c8ff7 Kill NO_LDCONFIG_MTREE, it is long dead
Make USE_LDCONFIG work when PREFIX!=LOCALBASE,
LDCONFIG_DIR and LDCONFIG_32DIR are expected in LOCALBASE

Phabric:	D195
Reviewed by:	bapt
With hat:	portmgr
2014-06-08 21:25:54 +00:00
Baptiste Daroussin
54d99c4de5 Fix NO_PIE env definition
Reported by:	peter
2014-06-07 00:27:41 +00:00
Bryan Drewery
7c2fd382bb - Disable PIE in ports for now until more testing can be done.
This is to avoid issues with upcoming PIE support in head which
  is needed for ASLR.

With hat:	portmgr
2014-06-06 21:40:56 +00:00
Bryan Drewery
adf44e394f lib-depends: Don't show "- not found" on a new line.
With hat:	portmgr
2014-06-05 01:08:26 +00:00
Mathieu Arnold
886c83c618 Apply a band-aid on Perl ports plists for perl 5.20.
This is not the right fix, but with this, we can move forward.

With hat:	perl@, portmgr
Sponsored by:	Absolight
2014-06-02 08:48:13 +00:00
Bryan Drewery
0713487d3e - Fix grammar and reword
Submitted by:	mandree
With hat:	portmgr
2014-05-30 17:31:44 +00:00
Bryan Drewery
fa72655e3b - When showing vulnerability warning give an explanation that there
will not necessarily be an update. Give advice on how to skip the
  check. It is the user's choice afterall.

With hat:	portmgr
Reported by:	jhb
2014-05-30 16:40:33 +00:00
Bryan Drewery
59efeb0862 - The output from PKG_INFO is actually needed
With hat:	portmgr
Pointyhat to:	bdrewery
2014-05-29 22:21:35 +00:00
Bryan Drewery
8b2b8f3d8d - Stop showing pkg warnings when looking for dependencies based on package
version ranges

  old:
    ~/svn/ports/databases/libdrizzle # make
    ===>   libdrizzle-0.8_1 depends on package: doxygen>=0 - not found
    pkg-static: No package(s) matching doxygen
    ===>    Verifying install for doxygen>=0 in /root/svn/ports/devel/doxygen
  new:
    ~/svn/ports/databases/libdrizzle # make build-depends
    ===>   libdrizzle-0.8_1 depends on package: doxygen>=0 - not found
    ===>    Verifying install for doxygen>=0 in /root/svn/ports/devel/doxygen

With hat:	portmgr
2014-05-29 21:57:15 +00:00
Martin Wilke
30a9cc83fd - Remove USE_GMAKE support, please use USES=gmake instead 2014-05-29 15:17:17 +00:00
Baptiste Daroussin
3dc87da393 Add a new option, INSTALL_STRIPPED,
which is intended to be used with WITH_DEBUG, allowing the system to build
packages with debugging symbols enabled and kept in build environment but
do not install them with the resulting binaries.

PR:		ports/185309
Submitted by:	delphij
Reviewed by:	bdrewery
2014-05-28 15:59:47 +00:00
Baptiste Daroussin
aac69c1d99 fix checking DISTDIR for writeability
PR:		ports/127467
Submitted by:	Sergey Skvortsov <godegisel@FreeBSD.org>
2014-05-28 14:51:28 +00:00
Baptiste Daroussin
dd96acba30 make missing distinfo file fatal
PR:		ports/184602
Submitted by:	mandree
Reviewed by:	antoine
2014-05-28 13:23:21 +00:00
Baptiste Daroussin
738692c997 Remove support for USE_DISPLAY 2014-05-28 12:14:01 +00:00
Mathieu Arnold
3610c2b4e0 Forgot to add fix-packlist for NEED_ROOT.
Sponsored by:	Absolight
2014-05-27 21:21:48 +00:00
Baptiste Daroussin
fc5c95cd6c Drop support for USE_SCONS please use USES=scons instead 2014-05-27 14:58:58 +00:00
Baptiste Daroussin
a599027a85 Remove bsd.lua.mk and USE_LUA support please use USES=lua 2014-05-26 15:49:05 +00:00
Baptiste Daroussin
a1ed68057d Drop compatibility code for USE_DOS2UNIX 2014-05-26 09:29:50 +00:00
Bryan Drewery
bf30f17d18 - When searching for lib-depends, show which file was found.
This also fixes "- found" showing alone when there are multiple matches.

PR:		ports/187084
2014-05-25 15:42:52 +00:00
Mathieu Arnold
2686164bfb - Add a USE_PERL5=fixpacklist to account for ports creating one when not using
USE_PERL5=configure or USE_PERL5=modbuildtiny.
- Change perl5.mk to use a specific target and not abuse post-stage.

Reviewed by:	bapt
With Hat:	portmgr
Sponsored by:	Absolight
2014-05-25 11:37:28 +00:00
Peter Wemm
7a033d5909 Point MASTER_SITES_BACKUP / MASTER_SITES_LOCAL to distcache.FreeBSD.org
Approved by:    portmgr (bdrewery)
2014-05-23 20:48:20 +00:00
Baptiste Daroussin
caa378d7ef Rename pathfix-pre-patch target into pathfix to be consistent 2014-05-22 06:42:20 +00:00
Erwin Lansing
eaa48b14de Change the protocal for the default master site backup used for
fallback distfile fetching from ftp to http.

Requested by:	many
Approved by:	Ports and Package Summit, BSDCan 2014
2014-05-15 17:39:03 +00:00
Bryan Drewery
a89943f7e8 - Support pkg-1.3 pkg-audit not-vuln output.
With hat:	portmgr
2014-05-12 15:46:34 +00:00
Baptiste Daroussin
024eca236d WANT_GECKO is not in used anywhere in the ports tree, let's remove it 2014-05-11 23:10:16 +00:00
Bryan Drewery
94ec4229c2 - Move security-check.awk to Mk/Scripts where it is more proper these days.
With hat:	portmgr
2014-05-09 22:35:50 +00:00
Baptiste Daroussin
ac8293a2e3 Move updating the desktop database later to make sure it work as expected with pkg_install 2014-05-07 15:41:33 +00:00
Baptiste Daroussin
4a4ec28d37 Convert all :U to :tu and :L to :tl
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)

bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore

Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier

With hat:	portmgr
2014-05-05 09:45:36 +00:00
Bryan Drewery
03fd5eb749 - Fix WITH_CCACHE_BUILD support (fix build) with ports that use
HOME=/dev/null to avoid staging violations. This will force
  CCACHE_DIR=/root/.ccache when running as root, and otherwise
  will force CCACHE_DIR to be manually set.

With hat:	portmgr
PR:		ports/186410 [textproc/xmlto build]
Reported by:	mandree, Rainer Duffner <rainer@ultra-secure.de>
MFH:		2014Q2
2014-05-03 15:11:01 +00:00
Baptiste Daroussin
51b7c9f6d0 Allow to append -p[0-9] to EXTRA_PATCHES to specify the patch(1) stripping level 2014-04-28 15:47:50 +00:00
Bryan Drewery
a0b9955c09 - Fix regression from r315599: Allow pkg to install itself first
if not yet installed and WITH_PKGNG is set. Just skip the
  vulnerabilities check as intended in r315599.

With hat:	portmgr
Reported by:	diizzy on EFNet
Pointyhat to:	bdrewery (with interest)
2014-04-24 00:52:16 +00:00
Tijl Coosemans
aad09bc5e2 When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la.  So everything that subsequently links with libA will also
link to these extra libraries.  This causes too much overlinking.

This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging.  However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.

So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).

PORTREVISION is bumped on all ports with USES=libtool that install .la
libraries.  Most ports are also changed to add :keepla because .la
libraries have to be kept around as long as there are dependent ports with
.la libraries that refer to them in their dependency_libs field.  In most
cases :keepla can be removed again as soon as all dependent ports that
install .la libraries have some form of USES=libtool added to their
Makefile.

PR:		ports/188759
Exp-run:	bdrewery
Approved by:	portmgr (bdrewery)
2014-04-23 13:25:16 +00:00
Antoine Brodin
4091ee9287 Fix PLIST_SUB_SED when value contains =
With hat:	portmgr
2014-04-20 23:45:56 +00:00
Mathieu Arnold
9ea93fc774 Add / to the blacklist of homedirs that should not be created or touched.
With hat:	portmgr
Sponsored by:	Absolight
2014-04-19 13:54:30 +00:00
Pawel Pekala
914c02c741 makepatch: don't create empty patches
PR:		ports/188764
Submitted by:	myself
Approved by:	portmgr (bdrewery)
2014-04-18 17:31:12 +00:00
Bryan Drewery
bf13bd7229 - Create a DO_MAKE_BUILD which will do the right thing for building, such
as setting MAKE_ENV. Without this things like WITH_CCACHE_BUILD do not
  properly work if a port does its own building.

With hat:	portmgr
2014-04-17 04:02:59 +00:00
Bryan Drewery
c9e5403827 - Add PLIST_SUB_SED which is used to replace absolute paths with PLIST_SUB'd
paths. This will be used for check-stagedir.sh and poudriere/tinderbox
  leftover handling.
  This version handles several flaws of other implementations:
    - Remove VARS that are too generic
    - Remove empty values
    - Remove @comment values
    - Remove quotes
    - Replace . with \. for later sed(1) usage
    - Handle values with spaces
    - By default only use values 2+ characters long. Let this be overridable
      with PLIST_SUB_SED_MIN.

Reviewed by:	antoine, mat
With hat:	portmgr
2014-04-17 03:47:54 +00:00
Bryan Drewery
b8856298ff - Detect failure to create PREFIX for pkg_install workaround added in r351422
With hat:	portmgr
2014-04-16 22:27:38 +00:00
Bryan Drewery
60c86fe0f7 - During 'make package' create PREFIX if not there to workaround a pkg_install
bug [1] requiring it to be even if creating from STAGEDIR. This is only done
  when NO_STAGE is not set and for pkg_install.

  This fixes the following error with 'make package' from stagedir:

    pkg_create: couldn't resolve path for prefix: /var/qmail: No such file or directory

  [1] This is due to base r231300 requiring the prefix to exist when
      running pkg_create (which may not be true in staging). This was
      fixed in r240682, but never made it to 9.1

With hat:	portmgr
2014-04-16 22:17:41 +00:00
Niclas Zeising
39fc32e828 The FreeBSD x11@ and graphics team proudly presents
a zeising, kwm production, with help from dumbbell, bdrewery:

NEW XORG ON FREEBSD 9-STABLE AND 10-STABLE

This update switches over to use the new xorg stack by default on FreeBSD 9
and 10 stable, on osversions where vt(9) is available.
It is still possible to use the old stack by specifying WITHOUT_NEW_XORG in
/etc/make.conf .
FreeBSD 8-STABLE and released versions of FreeBSD still use
the old version.
A package repository with binary packages for new xorg will
be available soon.

This patch also contains updates of libxcb and related ports, pixman, as well
as some drivers and utilities.

Bump portrevisions for xf86-* ports, as well as virtualbox-ose-additions due
to xserver version change.

Apart from these updates, the way shared libraries are handled has been
changed for all xorg ports, as well as libxml2 and freetype, which means
ltverhack is gone and as a consequence shared libraries have been bumped.
The plan is that this change will make library bumps less likely in the
future.
All affected ports have had their portrevisions bumped as a consequence of
this.

Fix some issues where WITH_NEW_XORG weren't detected properly on CURRENT.

Update instructions, hardware support, and more notes can be found on
https://wiki.freebsd.org/Graphics

Thanks to:	all testers, bdrewery and the FreeBSD x11@ team
exp-run by:	bdrewery [1]
PR:		ports/187602 [1]
Approved by:	portmgr (bdrewery), core (jhb)
2014-04-16 18:28:47 +00:00
Bryan Drewery
a189085d53 - Make default target "make stage" if staging supported.
This is so that 'make' followed by 'make deinstall install' will, by default,
  have a much shorter period of files missing on the system as it is without
  staging.

Discussed with:	bapt
With hat:	portmgr
2014-04-16 16:29:38 +00:00
Baptiste Daroussin
0636191626 Add PORTSDIR path into PKG_ENV to allow the pkg command to properly find the keywords when PORTSDIR is not /usr/ports 2014-04-12 22:35:09 +00:00
Bryan Drewery
4070b12551 - Add a @sample plist keyword
It accepts a file (must end in .sample, this is not configurable):

    @sample file.conf.sample

  This will install file.conf.sample and copy it to file.conf. The file.conf
  will be removed if it matches file.conf.sample on deinstall.

  This replaces older patterns of:

    @unexec if cmp -s %D/etc/pkgtools.conf %D/etc/pkgtools.conf.sample; then rm -f %D/etc/pkgtools.conf; fi
    etc/pkgtools.conf.sample
    @exec [ -f %B/pkgtools.conf ] || cp %B/%f %B/pkgtools.conf

  [1] This somewhat obsoletes work in ports/157168 which added CONF_FILES,
      but we have been moving towards more logic in pkg-plist where possible
      and less magical macros. Though this thinking does clash with autoplist
      ideas. We may still want CONF_FILES, which just drops a list of
      @sample entries into the plist anyway.
- Add a Keywords/pkg_install.awk and hook it into generate-plist. This is
  for pkg_install compatibility since it does not know how to read
  Keywords/sample.yaml.
  This file gives us a strategy to implement more keywords before
  pkg_install is EOL.
  Keywords are documented here:
  bffc31420b
- This needs to be documented in PH and portlint support added still.

PR:		ports/157168 [1]
Discussed with:	bapt
Reviewed by:	bapt
Requested by:	many
With hat:	portmgr
2014-04-12 03:39:02 +00:00
Baptiste Daroussin
164f3070a4 Only include bsd.gecko.mk when USE_GECKO or WANT_GECKO is set 2014-04-10 19:20:30 +00:00
Bryan Drewery
05eb127ac5 - Fix error handling in check-config, 'exit' is not a command.
make: exec(exit) failed (No such file or directory)

 With hat:	portmgr
2014-04-10 17:03:54 +00:00
Baptiste Daroussin
2acd3c6d9c Allow regular make xdev to be used as a cross building env 2014-04-10 14:44:52 +00:00
Pawel Pekala
e58af7ef98 Document COPYTREE_BIN, COPYTREE_SHARE commands
PR:		ports/188292
Submitted by:	myself
Approved by:	portmgr (bapt)
2014-04-05 16:08:16 +00:00
Baptiste Daroussin
0a1e865fd4 Fix bmake detection logic 2014-04-04 08:53:00 +00:00
Baptiste Daroussin
ccaa7208df Use bmake features to easier cross building support
This makes cross building only work with bmake given it is only supported on FreeBSD 10+ this is not a problem
2014-04-04 08:14:24 +00:00
Baptiste Daroussin
8d0a887aa5 Revert STRIPBIN adding to INSTALL_PROGRAM and INSTALL_LIB, this breaks with libtool 2014-04-03 23:01:16 +00:00
Baptiste Daroussin
e8135b1163 Fix missing space 2014-04-03 22:18:46 +00:00
Baptiste Daroussin
2c0fd1a724 Prepend install(1) command with the STRIPBIN env defined to the proper STRIPBIN to allow cross-installation
Reported by:	ian
2014-04-03 22:11:52 +00:00
Baptiste Daroussin
6ad5aba590 Define HCC and HCXX (host cc and host cxx when cross building)
Simplify what need to be defined by directly using the cc in the sysroot instead of the one in LOCALBASE/bin
which might call ${LOCALBASE}/bin/ld instead of the cross build ld (same for as) if binutils from ports is installed and a build system messes up with the CFLAGS
2014-04-03 16:29:01 +00:00
Baptiste Daroussin
bafe604880 Cross building is only supported for staged ports 2014-04-03 13:37:41 +00:00
Baptiste Daroussin
a0bbe9aa9f Add PKG_ENV to allow specifying the file to read the ABI from in case of cross building
Add STRIPBIN set the the cross building version of strip in MAKE_ENV so install(1) use
the proper one in case of cross building
2014-04-03 13:35:51 +00:00
Baptiste Daroussin
c0363d7491 First bit of support to cross build the ports tree will only work
with simple ports for now, lots of improvements are pending

cd devel/pkgconf; make X_BUILD_FOR=armv6-freebsd10.0 package

Will create a armv6 ready package
Note that right now the generated package does not have the proper ABI defined
But the content is the right one
2014-04-02 16:13:44 +00:00
Bryan Drewery
85066fe55f - Add NO_PREFIX_RMDIR to allow not removing PREFIX at deinstall if it does
not match LOCALBASE. This is needed for qmail ports where they install
  to a different PREFIX (/var/qmail), but only the main qmail port should
  remove and own the dir. Otherwise permissions are incorrectly set when
  using staging.

With hat:	portmgr
2014-04-02 15:33:18 +00:00
Bryan Drewery
5416b34e37 - Simplify main target IGNORECMD handling for now. Order does not matter here.
No functional change.

With hat:	portmgr
2014-04-01 14:17:08 +00:00
Bryan Drewery
68b8b049f6 - Add comments around all of the DEP/SEQ/default target code and try to make
more understandable.

  No functional change.

With hat:	portmgr
2014-04-01 14:12:00 +00:00
Bryan Drewery
de3a95f8ff - The 2nd section of blocks here is the .else to requiring SU. Change it
so it is not relating to USE_SUBMAKE.

  No functional change.

With hat:	portmgr
2014-04-01 14:09:38 +00:00
Antoine Brodin
0e39c85753 In the DEBUG case, do not assign INSTALL_TARGET if it is not defined
With hat:	portmgr
2014-03-29 15:14:16 +00:00
Baptiste Daroussin
ba9eb09b58 Automatically convert install-strip target into install target if the debug version is being built 2014-03-28 11:23:38 +00:00
Baptiste Daroussin
db0990d2f9 Make option DEBUG work like WITH_DEBUG 2014-03-28 11:04:54 +00:00
Bryan Drewery
2f86ccfa61 - Fix error running 'make stage' when NO_STAGE is set:
touch: /usr/ports/mail/qmail/work/.stage_done.qmail._var_qmail: No such file or directory

With hat:	portmgr
2014-03-28 04:47:53 +00:00
Antoine Brodin
578bdcd05d Make bsd.ocaml.mk more stage friendly
Reviewed by:	bapt
With hat:	portmgr
2014-03-26 20:07:11 +00:00
Bryan Drewery
cfefdd7bce - Fix USE_PACKAGE_DEPENDS to properly register packages as automatic with pkgng
With hat:	portmgr
2014-03-26 04:29:36 +00:00
Bryan Drewery
8d5717cae9 install-package: Support INSTALLS_DEPENDS to register package as automatic
With hat:	portmgr
2014-03-26 04:03:25 +00:00
Bryan Drewery
22dbc56c65 - Fix installing with pkg_install when running 'make install' due to the
exists() being evaluated before the package is created.

  Regression from r348859

 With hat:	portmgr
 Pointyhat to:	bdrewery
2014-03-23 19:31:36 +00:00
Bryan Drewery
e09ae1cae1 - Create package in WRKDIR/pkg/ instead of WORKDIR/ to avoid pkg-create bug
not creating the PKGNAME.PKG_SUFX if PKGNAME already exists.

  Fixes regression packaging some from r348861

With hat:	portmgr
2014-03-23 15:34:13 +00:00
Bryan Drewery
294bff9f94 install-package: Use WRKDIR/PKGNAME.PKG_SUFX if available
With hat:	portmgr
2014-03-23 15:09:50 +00:00
Bryan Drewery
f0672aab12 Using PKGREPOSITORY is more correct here since PKGFILE uses it
With hat:	portmgr
2014-03-19 11:58:53 +00:00
Baptiste Daroussin
5512e4aa7d USE_LHA is not used anymore in the ports tree 2014-03-12 10:24:51 +00:00
Baptiste Daroussin
42951b2446 Remove the now unused USE_ZIP=yes, everyone should now use USES=zip 2014-03-11 07:02:30 +00:00
Baptiste Daroussin
e2c6345d51 fix removed by accident .else 2014-03-07 14:41:37 +00:00
Baptiste Daroussin
2947c34754 extract USE_MAKESELF from bsd.port.mk 2014-03-07 14:37:18 +00:00
Max Brazhnikov
4cd1e8830e KDE/FreeBSD team is happy to present Qt 5 in ports!
Alberto Villa (avilla@) has done all the hard work to create Qt 5 ports.
Trivial update from 5.2.0-beta1 to 5.2.1 by me.

Special thanks for Adriaan de Groot <groot@kde.org> for his assistance for
Qt-5.2.0 update.

Approved by:	portmgr (bapt) (for Mk/bsd.port.mk)
2014-03-03 16:50:32 +00:00
Pietro Cerutti
bd6a0a40a6 - Get rid of bsd.tcl.mk. See my CHANGES entry from 20130919.
Approved by:	portmgr (antoine)
2014-02-27 15:00:24 +00:00
Rene Ladan
0e229de718 Add a new flag QUIET to make targets quiet, currently only 'checkpatch'
Approved by:	portmgr (bapt)
2014-02-24 17:36:15 +00:00
Tijl Coosemans
564a799c71 Convert all USE_FORTRAN=yes to "USES=fortran, USE_GCC=yes". In most cases
USE_GCC=yes has been omitted though.

Remove USE_FORTRAN handling from bsd.port.mk and bsd.gcc.mk.

Minor cleanups in some ports like USE_GMAKE, NOPORTDOCS,...

Exp-run:	bdrewery
Approved by:	portmgr (bdrewery)
2014-02-16 17:15:31 +00:00
Baptiste Daroussin
3ea3e4e09f Add a user warning so that everyone get a notice about the upcoming EoL of pkg_install
Add a end user NO_WARNING_PKG_INSTALL_EOL to allow users willing to stay a bit more with pkg_install
to not get bothered all the time with the warning

With hat:	portmgr
2014-02-04 14:23:08 +00:00
Max Brazhnikov
353f538b87 Mk/bsd.port.mk:
- Fix typo (apparently I'm the first who's trying to use new mesa ports :)

Approved by:	portmgr (bapt)
2014-02-03 07:39:39 +00:00
Tijl Coosemans
64a0347268 Introduce USES=libtool to replace USE_AUTOTOOLS=libtool.
Unlike USE_AUTOTOOLS=libtool which makes a port use libtool from
devel/libtool, this just patches the copy of libtool included in the
port.  This allows adding it to all ports that use libtool including
ports that build Fortran libraries and ports that use different
compilers or binutils than the ones used to build devel/libtool.

USES=libtool also changes the library naming specification similar
to what USE_GNOME=ltverhack does.  Given the libtool version info
$current:$revision:$age and $major=$current-$age the library will be
named libname.so.$major.$age.$revision instead of libname.so.$current
and libname.so.$major becomes a symlink.  Because $major increases
less frequently than $current this reduces the number of library
version bumps which means fewer rebuilds of dependent packages.

To ease the conversion from USE_AUTOTOOLS=libtool this naming spec
can be disabled with USES=libtool:oldver but the intention is that
all libtool ports eventually use the new naming.

Another change is that only libraries that are listed on the command
line will be linked into executables.  Normally libtool would link in
the entire tree of library dependencies.  This reduces the number of
direct dependencies on a given library which means fewer packages
need to be rebuilt on a library version bump.

Approved by:	portmgr (bapt)
2014-01-28 18:25:52 +00:00
Baptiste Daroussin
5bbc87c519 Do not overwrite MAKE_ENV when WITH_DEBUG is defined 2014-01-27 23:30:12 +00:00
Baptiste Daroussin
881d45a661 Add DONTSTRIP to MAKE_ENV to prevent install(1) from stripping the binaries when WITH_DEBUG is set 2014-01-27 23:23:50 +00:00
Baptiste Daroussin
7dad680ae3 Use again package-noinstall now that is works
Tested by:	smh
2014-01-27 21:54:50 +00:00
Baptiste Daroussin
9f2ea862b9 Fix make package-recursive
Keep the ugly way for non staged ports
and properly build the package for staged ports

Tested by:	smh
2014-01-27 21:23:49 +00:00
Baptiste Daroussin
23fd3eae2a Fix ports that passes MAKE_ARGS and are not staged yet 2014-01-27 20:05:59 +00:00
Baptiste Daroussin
7c89ef9773 Do not pass DESTDIR to build target (with a syntax compatible with both fmake and bmake)
That fixes a couple of STAGEDIR references in the install files
2014-01-27 08:14:30 +00:00
Baptiste Daroussin
5d68e6a30c Add USES=desthack
This allow to pass DESTDIR through configure --prefix to ports that are
not destdir aware

Obtained from:	OpenBSD ports tree (discussed in Malta with Marc Espie)
2014-01-27 07:29:32 +00:00
Baptiste Daroussin
e8e46de2d1 Add the forgotten test around the IGNORE
Pointyhat to:	bapt
2014-01-20 09:09:04 +00:00
Baptiste Daroussin
c26c9eb22b NO_STAGEd ports will fail if STAGEDIR is defined.
Undefined STAGEDIR if already set from make.conf
Raise an error if set from command line (which cannot be undefined)

PR:		ports/182972
Submitted by:	"Scot W. Hetzel" <swhetzel@gmail.com>
2014-01-20 07:42:00 +00:00
Baptiste Daroussin
c7617a10fb xz being included in all supported base system, remove code using version
from ports
while here properly define XSCAT is is used to allow xzed patches.

PR:		ports/185725
Submitted by:	naddy
2014-01-13 07:28:31 +00:00
Marcus von Appen
78b8b9e4ba New USES=uniquefiles to make files or directories unique
by adding a prefix or suffix to them.

Files listed in UNIQUE_PREFIX_FILES will receive the prefix
set via UNIQUE_PREFIX. The same applies to UNIQUE_SUFFIX_FILES,
but with the chosen UNIQUE_SUFFIX. UNIQUE_PREFIX and
UNIQUE_SUFFIX are set to PKGNAMEPREFIX and PKGNAMESUFFIX by
default.
The uniquefiles USES enables ports to name files in special
ways, e.g. by outlining that the port does not support X11
(-nox11). A binary named bin/foo thus can be easily renamed
to bin/foo-featureA via

USES=                 uniquefiles
UNIQUE_SUFFIX=        -featureA
UNIQUE_SUFFIX_FILES=  bin/foo

The uniquefiles USES automatically adjusts the plist at
installation time. There is no need to consider the prefix
or suffix in the pkg-plist file itself. If the original name
of the renamed file is bin/foo, this exact name should be put
into pkg-plist.

The dirs argument to USES=uniquefiles will cause certain
standard directories, such as DOCSDIR or EXAMPLESDIR to be
prepended with the UNIQUE_PREFIX. The change to the directories
will hapen prior to configuring or building the port, so that
the port Makefile as well as the port's build logic are aware
of the changed name.

Since the uniquefiles USES effectively manipulates the port's
installation and file layout, it will only be available for
stagedir-aware ports. Ports with NO_STAGE=yes will be unable
to use the uniquefiles USES.

Reviewed by:	portmgr@
Approved by:	portmgr@
2014-01-11 16:52:34 +00:00
Baptiste Daroussin
d5e886e911 Fix checkpatch with the new way target sequence are defined
Reported by:	rene
2014-01-07 23:34:54 +00:00
Antoine Brodin
3e57d15fbe - Remove USE_FAM, it has been replaced by USES=fam
- Add a developer error if it is set

Approved by:	portmgr (bapt)
2014-01-05 13:33:37 +00:00
Baptiste Daroussin
c2359aa2f6 Reinvokes portaudit a second time in case a problem has been reported. So if a refetch (or another temporary problem) caused the error it will succeed on a second attempt, while a correctly detected vulnerability will be detected a second time.
PR:		ports/168479
Submitted by:	Michael Gmelin <freebsd@grem.de>
2014-01-05 01:16:34 +00:00
Baptiste Daroussin
56bc288a07 Add the forgotten targets to _STAGE_SUSEQ 2014-01-04 00:28:42 +00:00
Baptiste Daroussin
b420248356 Properly add targets to the sequence they belong to, that now makes them predictable 2014-01-04 00:26:03 +00:00
Baptiste Daroussin
ba951253f8 Add the end-user targets to .PHONY 2014-01-04 00:05:01 +00:00
Baptiste Daroussin
11e8713e2b Mark all targets defines in _SEQ and .ORDER has .PHONY which they all should be
If one day we are no adding a target actually correspond to an actual file, simply adding
the name of the target to the NOTPHONY will make it work as expected
2014-01-04 00:02:08 +00:00
Baptiste Daroussin
6905529b63 Add charsetfix-post-patch to _PATCH_SEQ 2014-01-03 23:45:50 +00:00
Baptiste Daroussin
48682c41de Add pathfix-pre-path to the _PATCH_SEQ and do not anymore make it a dependency of pre-patch
That makes applying the pathfix target predictable
2014-01-03 23:43:34 +00:00
Baptiste Daroussin
1b4b1006f8 Mark the -message targets as PHONY 2014-01-03 23:22:48 +00:00
Baptiste Daroussin
44868c3189 extract-message target definition was moved by mistake 2014-01-03 23:21:23 +00:00
Baptiste Daroussin
cafecb3515 Fix typos
Reported by:	kwm
2014-01-03 23:18:53 +00:00
Baptiste Daroussin
599a920e4a Remove 2 more target fallback 2014-01-03 23:12:57 +00:00
Baptiste Daroussin
7b3bd1cc0d Rework ordering and definition of targets.
Move ordering of targets to the very end of bsd.port.post.mk and make it define dynamically
Now all targets should be defined prior to the end of bsd.port.post.mk to allow .ORDER to control
the sequence of the targets properly.
From now all structural targets should also be defined in one of the _SEQ variable.
Extra bonus only the really defined targets are set in the final order sequence meaning that we do
not need anymore to create a ${DO_NADA} fallback target anymore, which improves performance and
simplify debugging.

Exp-run:	bdrewery
With hat:	portmgr
2014-01-03 23:01:01 +00:00
Baptiste Daroussin
d63eadee34 Allow to follow 302 redirection when fetching from http.
The main reason for it to not be allowed was to avoid infinite redirection loop
it appears that fetch(1) anyway limit the number of redirections to 5 on 8.3 and 9.1
20 on 9.2 and 10+ meaning we have no good reasons anymore to continue forbidding
following redirections.

Thanks to Michael Gmelin for having investigation

Reported by:	many
2014-01-03 00:02:08 +00:00
David Naylor
e288e58754 Convert Mk/bsd.cran.mk to the Uses framework.
PR:		ports/184699
Reviewed by:	bapt
Approved by:	portmgr (bdrewery), wen (maintainer, timeout > 2 weeks)
2013-12-28 10:28:40 +00:00
Baptiste Daroussin
ef9aea6687 New CFLAGS_${ARCH} and CXXFLAGS_${ARCH}
Those are respectively appended to CFLAGS and CXXFLAGS on the matching arches
That avoid having to include .pre.mk just for selecting where to add CFLAGS
2013-12-27 10:46:54 +00:00
Antoine Brodin
9ff26af3d4 - Remove USE_OPENAL code
- Add a developer error to bsd.sanity.mk if it is used

Approved by:	portmgr (bapt)
2013-12-26 06:51:03 +00:00
Rene Ladan
d06bb3f036 - Replace USE_DOS2UNIX target by a wrapper for USES=dos2unix
- Remove comments for USE_DOS2UNIX

This makes bsd.port.mk line-ending clean.

PR:		ports/184168
Submitted by:	myself
Approved by:	portmgr (bdrewery)
Exp-runs by:	bdrewery
2013-12-24 10:22:26 +00:00
Baptiste Daroussin
09753f8230 Fix user belonging to multiple groups when a package is staged
Reported by:	flo
2013-12-18 00:03:53 +00:00
Niclas Zeising
47be7a61c9 Switch FreeBSD CURRENT to use the new xorg stack (WITH_NEW_XORG=) [0]
If the old xorg stack is still needed, it is possible to add WITHOUT_NEW_XORG=
to /etc/make.conf to get the old version.

Update several xorg related ports, including:
x11/libxcb 1.9.1 -> 1.9.3
graphics/libdrm 2.4.46 -> 2.4.50
x11/pixman 0.30.2 -> 0.32.4
x11/xkeyboard-config 2.9 -> 2.10.1
x11-drivers/xf86-input-keyboard 1.7.0 -> 1.8.0

Fix dissapearing cursor in xf86-video-vmware [2]

Stagify all x11@-owned ports

Bump portrevisions for xf86-* ports due to xserver version change.

Fix fallout from updates where needed.

Thanks to:	all testersi, bdrewery and the FreeBSD x11@ team
exp-run by:	bdrewery [1]
PR:		ports/184684 [1], ports/181385 [2]
Submitted by:	Douglas Carmichael <dcarmich@dcarmichael.net> [2]
Approved by:	portmgr (bdrewery), core (jhb) [0]
2013-12-16 11:11:09 +00:00
Eitan Adler
18934abe04 bsd.port.mk: add LEGAL_TEXT and LEGAL_PACKAGE variable
The license system did not a method to give 'positive' permissions or other
'LEGAL' information without affecting the resulting package in some way
(RESTRICTED, NO_PACKAGE, NO_CDROM, etc.).

Provide a generic mechanism to provide this.

Further, provide a special variable "LEGAL" which can be used to capture any of
NO_PACKAGE, NO_CDROM, RESTRICTED, LEGAL_TEXT in reverse priority order.

PR:		ports/178096
Approved by:	portmgr (bdrewery)
2013-12-11 00:23:15 +00:00
Antoine Brodin
5f1525f56c Some ports install their info pages gzipped (devel/cvs or lang/gauche for
instance)
Handle this case

Approved by:	portmgr (bapt)
2013-12-06 12:19:21 +00:00
Alex Kozlov
325d7d2c22 - Use NO_ARCH instead of NOARCH for consistency with other NO_ knobs
Suggested by:	Eugene Stenkin <eugeni.stenkin@gmail.com>
Approved by:	portmgr (bapt)
2013-12-06 09:14:13 +00:00
Alex Kozlov
fcf2320fd6 - Implement support for architecture-neutral ports
- Replace 'alpha' with 'amd64'
- Remove gratuitous whitespaces at the end of the line

Approved by:	portmgr (bapt)
2013-12-06 08:20:16 +00:00
Antoine Brodin
b03b173fe8 Fix listing of info-* files when staging
Approved by:	portmgr (bapt)
2013-11-29 08:39:03 +00:00
Rene Ladan
b639eee051 Replace deprecated USE_DISPLAY code with a single inclusion of USES=display
and remove the comments describing USE_DISPLAY at the top.

PR:		ports/184167
Submitted by:	myself
Approved by:	portmgr (bdrewery)
Exp-run by:	bdrewery
2013-11-28 11:13:27 +00:00
Baptiste Daroussin
652cb99ce5 pkg audit now uses the vuln.xml file and not the auditfile anymore
Reported by:	kwm
2013-11-27 13:57:06 +00:00
Gerald Pfeifer
123917f35f Expand the description of PKGNAMESUFFIX to also cover its use as a
version designator.

Approved by:	portmgr (bapt)
2013-11-25 11:30:17 +00:00
Koop Mast
a236e2d0bf Say hello to Mate 1.6.
Mate is a lite desktop forked from gnome2.

Most of the work is done by Jeremy Messenger (mezz@). The only thing I did
was update a few ports to later 1.6 release and attempting to keep up with
ports infra changes. Resulting bugs are all mine.

Mate is a sort of replacement for Gnome 2. So people wanting to keep a
Gnome 2 like desktop should switch. Gnome 2 will be replaced by Gnome 3
in the near future. This switch will be announce with a transition time
so people have more time to switch if they haven't already.

This release was made possible by everyone that send friendly pokes to
keep mate on my mind.

Approved by:	portmgr (bapt)
2013-11-23 11:39:07 +00:00
Baptiste Daroussin
4b146fcac9 Fix handling of info files with pkgng, when dealing with .info-X files and also what INFO_SUBDIR.
The .info-X handling was wrong since the beginning of pkgng, the INFO_SUBDIR regression was introduced with stage

PR:		ports/184178
Reported by:	gerald
Tested by:	gerald
2013-11-23 09:48:42 +00:00
Baptiste Daroussin
28a0cf2496 Fix typo 2013-11-20 21:50:11 +00:00
Rene Ladan
050ed194bd Fix some typos and use modern Perl variables in comments.
Approved by:	portmgr (bapt)
2013-11-20 12:30:29 +00:00
Baptiste Daroussin
76deb2a9d8 Fix do-patch
Reported by:	mandree
2013-11-20 07:57:45 +00:00
Baptiste Daroussin
89bcd875ca Ensure make patch fails if a patch fails to apply with bmake being the default make
Reported by:	marino
2013-11-20 07:21:49 +00:00
Eitan Adler
e1e16dd2af Add the ability to build specific ports with WITH_DEBUG
Reviewed by:	Ilya A. Arkhipov <rum1cro@yandex.ru>
Reviewed by:	bsam
Approved by:	portmgr (bapt)
2013-11-18 19:48:21 +00:00
Baptiste Daroussin
a4de18e4c3 Define EXTRACT_SUFX at the very end of the pre section to allow
defining extract suffix from inside bsd.*.mk and USES
2013-11-12 14:56:50 +00:00
Olli Hauer
d5f4c2a2d4 - Fix user users-groups script ('-e')
PR:		ports/183628
Submitted by:	ohauer
Approved by:	portmgr (bapt via PM)
2013-11-07 05:58:42 +00:00
Bryan Drewery
66ff3bcafd - Fix 'make package-recursive' with staging
With hat:	portmgr
Reviewed by:	bapt
Tested by:	dmarker_ on freenode
2013-11-02 10:48:35 +00:00
Bryan Drewery
de9253dbd6 - Fix 'make package' when using pkg_install. Broken in r332158 due to syntax
error in else branch for pkgng.

Reported by:	danfe, mandree
Submitted by:	Takefu <takefu@airport.fm>
With hat:	portmgr
2013-10-31 02:27:14 +00:00
Baptiste Daroussin
ff058e3176 Staging showed that user/groups creation from plist are done in
post-install process instead of pre-install. in case pkgng is in
use.
Replace it by a new mecanism that allows to append scripts into
what will become pre-install, post-install, pre-deinstall or
post-deinstall
Change the user-group creation to use that mecanism in case the
ports tree is using pkgng.

Reported by:	mandree
Reviewed by:	bdrewery
2013-10-30 17:47:48 +00:00
Bryan Drewery
2adacb737d - Fix COPYTREE_BIN and COPYTREE_SHARE so that installed symlinks
have proper permissions set.

PR:		ports/173892
Submitted by:	thierry
With hat:	portmgr
2013-10-28 13:08:14 +00:00
Bryan Drewery
1961a47413 - Don't create share/applications as it is part of BSD.local.dist now
Submitted by:	amdmi3
With hat:	portmgr
2013-10-23 00:43:04 +00:00
Tijl Coosemans
c230edc9ce Don't add "@unexec rmdir ${DESKTOPDIR} ..." to pkg-plist for ports that
use DESKTOP_ENTRIES now that ${DESKTOPDIR} has been added to mtree.

Approved by:	portmgr (bdrewery)
2013-10-22 21:42:38 +00:00
Baptiste Daroussin
3a25a917f7 really apply the fix provided by ohauer
Reported by:	sunpoet, ohauer
Pointyhat to:	bapt
2013-10-21 09:56:26 +00:00
Baptiste Daroussin
9e85f692d4 Fix restage target
PR:		ports/183118
Submitted by:	ohauer
2013-10-21 08:34:26 +00:00
Bryan Drewery
3235c42422 - Fix patch fetching so it tries the next site if one has the wrong size.
Same fix as r325805 was for MASTER_SITES, but this is applied for
  PATCH_SITES

With hat:	portmgr
2013-10-20 02:06:40 +00:00
Baptiste Daroussin
d76bad7482 Readd forgotten port-install-script in the stage seq. 2013-10-17 13:09:58 +00:00
Alex Kozlov
702e463096 - Fix USE_LDCONFIG32 for stage ready ports
Reported by:	garga
Tested by:	garga
Approved by:	portmgr (bapt)
2013-10-15 07:48:06 +00:00
Frederic Culot
4529b8b194 - Update comments to reflect the new "stage" target
Approved by:	portmgr (bapt)
2013-10-11 12:17:59 +00:00
Bryan Drewery
101e14f98c - WITH_CCACHE_BUILD: Respect NOCCACHE as well since that is what devel/ccache
has had documented in its howto forever

With hat:	portmgr
2013-10-11 02:22:24 +00:00
Bryan Drewery
a3236d6e06 - Try to clarify USE_PACKAGE_DEPENDS_ONLY failure message
With hat:	portmgr
2013-10-10 01:30:22 +00:00
Bryan Drewery
b924147649 - Move dialog4ports.sh to more appropriate new directory Mk/Scripts as
it is related to infrastructure/framework and a required portmgr-
  maintained script

With hat:	portmgr
2013-10-09 23:01:54 +00:00
Baptiste Daroussin
aa40865de1 First set of Q/A for staged ports.
A couple of Q/A tests are done if the DEVELOPER macros is set in make.conf
Right now the tests are:
- Check if the symlinks are properly created
- Check if the binaries are stripped (just warn)
- Check if the STAGEDIR or the WORKDIR are referenced in the final files
- Check if the ports provide script with bad shebangs.
2013-10-09 15:11:32 +00:00
Bryan Drewery
c08e691cbf - Fix 'USE_DOS2UNIX= file list' not printing file names since r183768
PR:		ports/180005
Submitted by:	glewis
With hat:	portmgr
2013-10-09 11:30:42 +00:00
Bryan Drewery
1ac0719a3b - Fix not being able to use :DEFAULT group in MASTER_SITES and PATCH_SITES.
This is useful to be able to define extra mirrors in PATCH_SITES for
  a group, while still depending on the master list of PATCH_SITES

  For example:

    .if ${PORT_OPTIONS:MX509}
    PATCH_SITES=	http://mirror1/x509-${X509_VERSION}/:x509
    PATCHFILES=		${PORTNAME}-6.3p1+x509-${X509_VERSION}.diff.gz:-p1:x509
    .endif
    PATCH_SITES+=	http://mirror2/${PORTNAME}/:DEFAULT,x509

  This will use mirror1 only for the X509 option and mirror2 for X509. All
  other patches will use mirror2 but not mirror1.

With hat:	portmgr
PR:		ports/52706
Submitted by:	Alexey Neyman <alex.neyman@auriga.ru>
2013-10-07 10:37:08 +00:00
Bryan Drewery
07933b2444 - PATCHFILES now support an optional :-pX flag that notes which patch strip
level to use. This allows multiple patches in 1 port to use different
  PATCH_DIST_STRIP values without changing PATCH_DIST_STRIP.

  Syntax: PATCHFILES= patch[:-pX][:distgroup]

PR:		ports/168222
Submitted by:	knu
With hat:	portmgr
2013-10-05 10:20:15 +00:00
Baptiste Daroussin
a938bac9ff Allow to mark a port as broken on some given arches without having to add pre/post dancing 2013-10-03 17:21:20 +00:00
Bryan Drewery
23082b3b3c - Fix 'package' with staging+pkg_install when ports are read-only by creating
the package in STAGEDIR and then linking/copying it over to PACKAGES if
  possible

With hat:	portmgr
Reviewed by:	bapt (earlier version)
Tested by:	Stefan Bethke <stb@lassitu.de>
Reported by:	many
2013-10-02 23:49:21 +00:00
Bryan Drewery
ee07cfd901 - Fix staging not checking if a port is already installed when installing
it

With hat:	portmgr
2013-10-01 12:30:53 +00:00
Bryan Drewery
f09d566011 - pkg_install+staging: Fix installing package as non-root to call su.
install-package was depended on twice for install target, but it should
  only be in SUSEQ
- Add a comment to make sequence code a bit more readable

With hat:	portmgr
2013-10-01 12:05:09 +00:00
Niclas Zeising
5a4c543c2b The FreeBSD graphics/x11 team proudly presents
a kwm, zeising production:

MESA 9.1.6

Starring:
Mesa 9.1.6, including libGL, libGLU and dri (new xorg only)
Addition of libEGL and libglesv2
KMS support for ATI graphics cards in 10-current (new xorg only)
Improved sparc64 support for new xorg. [1]
pixman 0.30.2, including shlib bump and portrevision bumps
libX11 1.6.2
Make absolute pointing devices work with x11-drivers/xf86-input-mouse
x11-drivers/xf86-video-ati 7.2.0 for 10-current (KMS aware ati driver)

Also starring:
Updates to drivers and other libraries and utilities

Additional notes:
When updating MESA related ports (libGL, dri) you need to remove old versions
first.  See UPDATING for details.

PR:		ports/181962 [2]
Submitted by:	marius [1]
		zeising [2]
Exp-run by:	bdrewery
Approved by:	portmgr (bdrewery)

Thanks to all who helped testing!
2013-09-29 17:01:41 +00:00
Bryan Drewery
f2b717c401 - Don't needlessly depend on ccache with WITH_CCACHE_BUILD when NO_BUILD is set
With hat:	portmgr
2013-09-27 13:17:14 +00:00
Bryan Drewery
2e490c038b - Fix FORCE_PKG_REGISTER with pkg_install with staging
Submitted by:	garga
Reviewed by:	bapt
With hat:	portmgr
2013-09-27 11:38:48 +00:00
Baptiste Daroussin
2cf20aa209 Only make the pkg-plist start with @owner and @group if root is not needed 2013-09-24 13:40:09 +00:00
Baptiste Daroussin
f1a178ff3c Allow packaging as a user for stage ready ports
If you really root then you have to define NEED_ROOT in your port Makefile
2013-09-24 13:38:07 +00:00
Baptiste Daroussin
d857548a65 Fix typo 2013-09-24 10:24:19 +00:00
Baptiste Daroussin
1ac2ad3700 In case the port is supporting staging, initialize the PLIST with
@owner root
@group wheel
to force all the content to in the end being installed with root owner even if packaged with
a non root credential
2013-09-24 10:07:59 +00:00
Baptiste Daroussin
c2d1a328f9 Define UID earlier so that it can be used by USES 2013-09-24 10:04:22 +00:00
Bryan Drewery
d2ea5f25e2 - Be explicit about prefix with @cwd for USE_LDCONFIG
This fixes an issue with staging with pkg_install since it uses pkg_create
  -S which doesn't seem to work properly with "@cwd" resetting to -p
2013-09-24 01:31:44 +00:00
Baptiste Daroussin
b9e24c0e2f Fix STAGEDIR support for ports using DESKTOP_ENTRIES
Reported by:	bsam
Tested by:	bsam
2013-09-23 21:21:05 +00:00
Baptiste Daroussin
b7af6146d2 Introduce a new MANDIRS macros to make the compress-man determine where the makefiles should be found
Previous implementation was based on etc/man.d which doesn't exists in FreeBSD 8.
By default MANDIRS is ${MANPREFIX}/man. if a port adds USES=perl5 then the perl default locations is added

Reviewed by:	bdrewery
2013-09-23 20:07:18 +00:00
Baptiste Daroussin
2f20d741ce Do not require root credential for make clean if the stage cookie is not present
Requested by:	sunpoet
2013-09-23 16:52:56 +00:00
Bryan Drewery
f6eba986d7 - Fix PORTDOCS, PORTEXAMPLES and PORTDATA with staging.
The first file was being missed due to an extra STAGEDIR

Reported by:	antoine
Reviewed by:	bapt
With hat:	portmgr
2013-09-23 13:19:39 +00:00
Baptiste Daroussin
cf099c77fa Add support for staging area in the ports tree
The ports tree is now staged by default. With pkgng the sequence hasn't
changed, the main difference is that creating package is now independent
from installing it. With pkg_install, the package is now created first
and make install, do install the package.

New macros:
- STAGEDIR: PATH to the directory where the port will be staged.
- NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)

Unsupported macro if NO_STAGE is not set:
- MAN* with staging man page compression and handling of hardlinks and
symlinks is automatically done in the stage. the manpages becomes then a
"normal" plist files and should be tracked in pkg-plist.
- MANCOMPRESSED the compress-man target is able to only compress when it
needed.

New target:
- stage: this installs everything into the stage directory
- makeplist: this will create a pkg-plist and print it to stdout. This is
a sample plist and it should always be _reviewed_ not directly used.

NOTE: with staging only what is in the plist will be installed, nothing more,
meaning a port staged cannot have leftovers exect directories left. It is
really important to double check the pkg-plist to make sure all the files
the maintainer want to package are in! make makeplist can help in that area.

The goal is to handle as quickly as possible a full removal of the NO_STAGE
support.

More features can be added once the full ports tree is converted to using the
staging area

Conversion notes:
- Remove NO_STAGE
- in {pre,do,post}-install
  * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES}
    prepend ${STAGEDIR}
  * Remove any thing that is done by @exec or +INSTALL script it will be
    done automatically when syncing packages
  * Remove any code to show PKG-MESSAGE it will be done automatically when
    syncing packages
  * Directory creation should remain in post-install (in particular because
    pkgng doesn't work like pkg_install in that area and pkgng ignores the
    @exec mkdir but directly pack the directory even if empty)
- PORTDOCS/PORTEXAMPELS
  To support PORTDOCS, PORTEXAMPLES most of the time there is no more need
  for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your
  plist then the given files from the stagedir will or will not sync
  according to NOPORTDOCS and NOPORTEXAMPLES.

With hat:	portmgr
Reviewed by:	bdrewery
2013-09-23 05:56:35 +00:00