Date: Mon, 11 May 2020 10:04:36 -0700 From: Mark Millard <marklmi@yahoo.com> To: "info@netocean.de " <info@NetOcean.de>, FreeBSD ports <freebsd-ports@freebsd.org> Subject: Re: Poudriere - Compile ALL Ports Message-ID: <625BBD86-9740-41D0-8199-CF1B3ACB5320@yahoo.com> References: <625BBD86-9740-41D0-8199-CF1B3ACB5320.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Leander Schaefer info at NetOcean.de wrote on Tue May 5 20:38:49 UTC 2020 : > I have been dealing with Poudriere for quite a while and one of the = most=20 > issues I have is, that I have ports which won't compile along with=20 > another. Reason is mostly something like: >=20 > pkg-static: ImageMagick7-7.0.10.6 conflicts with = ImageMagick6-6.9.11.6,1=20 > (installs files into the same place). Problematic file:=20 > /usr/local/bin/Magick++-config >=20 > So in other words a newer version is going to place its binaries etc.=20= > into the same place as the previous version. I have read and used=20 > something like: >=20 > # Build several PHP versions parallel on the same server: > #=20 > https://github.com/freebsd/poudriere/issues/602 >=20 > PHP_ALT=3Dphp56 php70 php71 php72 php73 > .for port in ${PHP_ALT} > .if ${.CURDIR:M*/ports*/*/${port}*} > DISABLE_CONFLICTS=3DYES > PREFIX=3D/usr/local/${port} > PHPBASE=3D/usr/local/${port} > LOCALBASE=3D/usr/local > CONFIGURE_ARGS+=3D--datadir=3D/usr/local/${port}/share > CONFIGURE_ARGS+=3D--bindir=3D/usr/local/${port}/bin > CONFIGURE_ARGS+=3D--with-config-file-scan-dir=3D/usr/local/${port}/etc/p= hp > #CONFIGURE_ARGS+=3D--with-php-config=3D/usr/local/${port}/bin/php.conf > #CONFIGURE_ARGS+=3D--with-iconv=3D/usr/local > #CONFIGURE_ARGS+=3D--with-pcre-dir=3D/usr/local > .endif > .endfor >=20 > But I was wondering: How is the FreeBSD Team dealing with this, when=20= > they compile their packages for the public repository? Because we only=20= > use one official repository and all packages are there ... some even=20= > with differet options enabled. So how to deal with this? How can I=20 > compile the entire ports tree without issues and build a repository of=20= > it and some packages even with different options? Lets say one = OpenLDAP=20 > with SASL and another one with SASL? The only way I was able to do = this=20 > was building it in separate repositories. The following is based on a guess about what might be going on. In my context, for example, I have: # poudriere jail -l JAILNAME VERSION ARCH METHOD TIMESTAMP = PATH FBSDFSSDjail 13.0-CURRENT amd64 null 2018-11-09 = 08:58:53 /usr/obj/DESTDIRs/clang-amd64-installworld-poud I do not chroot into /usr/obj/DESTDIRs/clang-amd64-installworld-poud and install any ports there. Why? Because the installed port could conflict with whatever port(s) poudriere bulk might want to install temporarily. My /usr/obj/DESTDIRs/clang-amd64-installworld-poud/ is only for = poudriere's use. Having installed ports in = /usr/obj/DESTDIRs/clang-amd64-installworld-poud would also lead to poudriere using the installed port over instead installing ports that it is building. This can lead t using the wrong version of such an installed port. Also, I have: # ls -laT /usr/obj/DESTDIRs/clang-amd64-installworld-poud/usr/local/ total 8 drwxr-xr-x 2 root wheel 512 Mar 29 23:31:30 2020 . drwxr-xr-x 14 root wheel 512 Apr 29 11:57:28 2020 .. I do not make that a mount point for making /usr/local visible for chrooting into clang-amd64-installworld-poud. This is for the same reason as above: poudriere activity there could end up conflicting with any pre-existing content that as made visible in /usr/obj/DESTDIRs/clang-amd64-installworld-poud/usr/local/ . I do sometimes create other directory trees for use with chroot (but not as the PATH for a poudiere jail). In these I freely install ports. These notes apply to more than just "bulk -a" builds: smaller subsets built can have the same problems with having pre-existing material in an equivalent of my /usr/obj/DESTDIRs/clang-amd64-installworld-poud/usr/local/ area. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?625BBD86-9740-41D0-8199-CF1B3ACB5320>