compiling ports w/ poudiere && gcc versions

Kurt Jaeger lists at opsec.eu
Mon Mar 6 10:59:12 UTC 2017


Hi!

> Compiling my ~1760 ports with poudiere, pulls in makes four different
> gcc version:
> 
> $ ls -C1 /usr/local/poudriere/PKGDIR.20160922/gcc*
> /usr/local/poudriere/PKGDIR.20160922/gcc-4.8.5_2.txz
> /usr/local/poudriere/PKGDIR.20160922/gcc-ecj-4.5.txz
> /usr/local/poudriere/PKGDIR.20160922/gcc46-4.6.4_5,1.txz
> /usr/local/poudriere/PKGDIR.20160922/gcc49-4.9.4.txz
> 
> which ofc is very time consuming. Is there an easy way to let it compile
> and use only one (the best?) gcc version?

I name my jails after the OS versions, so I have

$ poudriere jail -l
JAILNAME VERSION              ARCH			[...]
103      10.3-RELEASE         amd64
10i      10.3-RELEASE-p17     i386
11a      11.0-RELEASE-p1      amd64
11i      11.0-RELEASE-p1      i386
arm6     12.0-CURRENT r306902 arm.armv6
p64      12.0-CURRENT r306902 powerpc.powerpc64
cur      12.0-CURRENT r311531 amd64
93a      9.3-RELEASE-p48      amd64
93i      9.3-RELEASE-p48      i386

To build, I only have one ports tree, the default tree:

$ poudriere ports -l
PORTSTREE METHOD   TIMESTAMP           PATH
default   portsnap 2017-03-04 21:26:08 /pou/ports/default

To use custom versions, I use

/usr/local/etc/poudriere.d/11a-default-make.conf

which contains this line:

DEFAULT_VERSIONS= perl5=5.24 python=2.7 python3=3.6 ruby=2.3 pgsql=9.6 php=7.1 mysql=10.1m gcc=6

I'm not sure that this would limit the GCCs built to gcc6 (as some
ports might request a specific version), but it's worth a try.

-- 
pi at opsec.eu            +49 171 3101372                         3 years to go !


More information about the freebsd-ports mailing list