svn commit: r314373 - in head: . etc/defaults etc/rc.d lib/libc/regex share/man/man4/man4.i386 share/man/man5 sys/amd64/conf sys/boot/forth sys/compat/svr4 sys/conf sys/dev/streams sys/i386/conf sy...
Mark Linimon
linimon at lonesome.com
Tue Feb 28 23:50:56 UTC 2017
On Tue, Feb 28, 2017 at 01:30:44PM -0800, Gleb Smirnoff wrote:
> How can I check the __FreeBSD_version in a port Makefile? My understanding
> is that there is no standard way for such thing.
There are hundreds of examples in port Makefiles. I suppose the PH will need
to be updated to include some of them. It is hinted at under "INCLUDE" in
https://www.freebsd.org/doc/en/books/porters-handbook/dads-noinstall.html
but not made specific.
Some quick examples:
devel/cloudabi-toolchain/Makefile:.if ${OSVERSION} >= 1100100
devel/cvs-syncmail/Makefile:.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1000000
devel/trio/Makefile.orig:# NB: OSVERSION was not incremented for r308559, so we use the earlier
devel/trio/Makefile.orig:# 1200014 as a surrogate for now.
devel/trio/Makefile.orig:.if ${OSVERSION} < 1100506 || ( ${OSVERSION} >= 1200000 && ${OSVERSION} < 1200014 )
devel/trio/Makefile.orig:BROKEN_aarch64= needs fixes from r308375, r308487, and/or r308559
devel/trio/Makefile.orig:.endif
emulators/i386-wine/Makefile.inc:.if ${OPSYS} != FreeBSD || (!(${OSVERSION} < 1000000) && !(${OSVERSION} >= 1003000 && ${OSVERSION} < 1100000) && !(${OSVERSION} >= 1100121 && ${OSVERSION} < 1200000) && !(${OSVERSION} >= 1200019 && ${OSVERSION} < 1300000))
lang/ruby22/Makefile:.if exists(/usr/sbin/dtrace) && (${OSVERSION} > 1100032) && (${ARCH} == "amd64" || ${ARCH} == "i386")
lang/tcc/Makefile:.if ${CC:T:M*clang*} || ${OSVERSION} >= 1000024
sysutils/e2fsprogs/Makefile:.if !empty(PORT_OPTIONS:MNOTESTS) && (${OPSYS} == FreeBSD) && (${OSVERSION} >= 1100000 || ((${ARCH} != i386) && (${ARCH} != amd64)))
However, I am kind of shocked that this is not well understood --
especially after I have tried so many times to convince src committers
to update FreeBSD_version in case of src changes that affect (e.g. break)
ports.
These are the kinds of things that ports committers have to use to work
around changes in the src tree. Skipping OSVERSION updates makes this
work more complicated.
mcl
More information about the svn-src-head
mailing list