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
- Anything related to MLINKS
- Anything related to manpages
- Anything related to NO_LATEST_LINK
Reviewed by: antoine
Differential Revision: https://reviews.freebsd.org/D717
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
Merge back bsd.pkgng.mk into bsd.port.mk
Add a note about @stopdaemon not being supported anymore
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D693
Fix up net-mgmt/netmond pkg-plist for @mode (regression with pkg from
r347404 committed by rene@) and remove two @dirrm lines that are now excess.
Exp-run completed.
PR: 191746
Reviewed by: antoine
Approved by: portmgr (antoine)
Side effect is that we will no longer mirror their distfiles, sad for them,
but we will no longer spend cpu cycles building them for nothing every week
and have strange errors from dependent ports unable to install NO_PACKAGE
dependencies
Users willing to package those ports can still set FORCE_PACKAGE
Poudriere users can also package by not setting NO_FORCE_PACKAGE in poudriere.conf (by default it's already not set)
Differential Revision: https://reviews.freebsd.org/D670
Reviewed by: bdrewery
With hat: portmgr
.la files after that so pkg-plist ends up containing .la files that don't
exist when the package is created.
Move the patch-lafiles target in front of post-stage such that these ports
can create their pkg-plist in post-stage.
PR: 192753
Approved by: portmgr (antoine)
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
- 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
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)
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
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
- 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)
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
Make USE_LDCONFIG work when PREFIX!=LOCALBASE,
LDCONFIG_DIR and LDCONFIG_32DIR are expected in LOCALBASE
Phabric: D195
Reviewed by: bapt
With hat: portmgr
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
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
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
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
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
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)
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)
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
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
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)
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
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
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
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
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
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)
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)
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
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)
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)
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>
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@
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
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
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
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
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]
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)
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)
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
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
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.
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>
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
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
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
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!
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
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
has issues with 'installworld' when WITH_SSP is defined. [1]
Keep WITH_SSP support for now since it has been announced as that
already.
- Remove redundant wording in UPDATING [2]
Suggested by: bapt [1]
Reported by: blakkheim on EFNet
With hat: portmgr
on FreeBSD 10, and amd64 on earlier versions.
SSP_UNSAFE is added to disable in a port if it fails to build, but
this should only be used in rare circumstances such as kernel modules.
Otherwise, the port may just be failing due to lack of respecting
LDFLAGS.
On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
libssp_nonshared.a to address issues linking on i386 [1].
On earlier FreeBSD versions the WITH_SSP knob will add -lssp_nonshared
to LDFLAGS on i386. This is not needed on amd64. However, several hundred
ports do not currently respect LDFLAGS, so this support is disabled currently
as it causes build failures if a dependency is looking for the stack_chk
symbols.
Many thanks to jlh@ for this as he had many years of patience in getting
all of the necessary pieces [1][2] in.
[1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup
PR: ports/138228 [2]
Submitted by: jlh (bsd.ssp.mk based on)
Reviewed by: bapt
With hat: portmgr
exp-runs done: 37 over a month on 91i386,91amd64,10i386,10amd64
This file is responsible to do some sanity checking on port, as well as doing some sanity checking on users configuration
New macro for developer: WARNING (this will issue a warning to the normal users can be used to warn the user about deprecating feature that will be unsupported soon.
New macro to put in your make.conf for Maintainers: DEVELOPER=yes this macro will activate warning on usage of deprecated features and errors on now unspported usage of macros.
Reviewed by: bdrewery
they point to. It only works if symlink points to the file directly and
fails if there are more than one level of symlinks. Use realpath(1) to
drill out the actual path to the shared lib and feed it to file(1)
then.
This fixes issue with cerain LIB_DEPENDS, such as databases/db42.
Approved by: portmgr (bapt)
ports framework to use the port for *_DEPENDS= ${NONEXISTENT}:PORT:target
dependencies
An example port is irc/gseen.mod, it depends on another port being
extracted, not an installed pkg.
PR: ports/180725
Reported by: antoine
With hat: portmgr
from existing packages and not fallback on building from source.
This is useful for package building tools such as poudriere and tinderbox
to avoid building from source and confusing the build log, if a dependency
failed to build for some reason.
NOTE: USE_PACKAGE_DEPENDS has not changed here. It has always
reverted to source if the package was not present.
PR: ports/180725
Submitted by: crees
With hat: portmgr
before retrying.
The previous behavior would try to download a range of the new bytes and
then hit the 'Requested Range Not Satisfiable' error and never actually
redownload the file.
This fixes cases where a port is rerolled and distinfo updated, but
users have a bad distfile sitting there that they would manually need
to remove.
Reviewed by: bapt
Reported by: danfe
With hat: portmgr
MAKE_ENV. This only intended to ignore PATH.
All of these were not supporting WITH_CCACHE_BUILD and a partial exp-run
was done on:
audio/fdmf biology/biojava devel/ace games/hex graphics/cimg
graphics/inventor graphics/peps graphics/wings graphics/wings-devel
lang/python26 lang/python27 lang/python31 lang/python32 lang/python33
lang/siod math/py-basemap math/py-basemap-data multimedia/gpodder
multimedia/gstreamer-ffmpeg multimedia/gstreamer1-libav
multimedia/handbrake print/py-reportlab print/py-reportlab2 science/ncs
science/netcdf4 security/nss textproc/adabrowse x11-toolkits/py-kivy
With hat: portmgr
on invalid websites, given the ports tree already checks the distfiles against
a hash, it is safe to skip the certificate validation.
Submitted by: Michael Gmelin <freebsd@grem.de>
Add a new macro to allow a port to limit itself the maximum numbers of jobs allowed [2]
Submitted by: danfe (based on) [1]
pgj (base on) [2]
Reviewed by: bdrewery, miwi
Multiple exp-run: bapt
optiondir being defined in a subshell wasn't defined when the error message is printed.
PR: ports/176849
Submitted by: Oleg Ginzburg <olevole@olevole.ru>