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
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)
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)
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
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
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
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
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
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
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
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
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
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)
- 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)
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}
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
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
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
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
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)
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
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
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.
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
- 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)
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
- 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
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
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)
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
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
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
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
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
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)
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
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
- 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
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
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.
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)
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)
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
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
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)
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
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
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
- 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)
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.
- 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
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
Also the compat NO_INSTALL_MANPAGES shim.
Differential Revision: https://reviews.freebsd.org/D730
Reviewed by: antoine
With hat: portmgr
Sponsored by: Absolight
- 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
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