Date: Thu, 07 May 2020 13:00:13 -0700 From: Chris <portmaster@BSDforge.com> To: Leander Schaefer <info@NetOcean.de> Cc: <freebsd-ports@freebsd.org> Subject: Re: Poudriere - Compile ALL Ports Message-ID: <95c64b7d73e0ece1cef3e43298ed067e@udns.ultimatedns.net> In-Reply-To: <f5ba2c33-2266-ebc0-e533-ebb8199a2168@NetOcean.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 7 May 2020 20:39:41 +0200 Leander Schaefer info@NetOcean=2Ede said > Hello Chris, >=20 > Hello List, >=20 > I have checked out ports-mgmt/synth unfortunately it would be a massive= =20 > downgrade compared to poudriere=2E Does anyone have the right clue about=20 > how the FreeBSD package managment team provides a complete repository=20 > without having these conflicts? There must be a way to do this with=20 > poudriere since I am most certainly sure they also use poudriere=2E >=20 > Also is there a way to tell poudriere to give a package a different /=20 > individual name=2E E=2Eg=2E I want to compile openldap one time with SASL and= =20 > another time without SASL and place them in the same repository=2E The=20 > package naming could/should then be something like this: OK I don't use poudriere, or any of the other "convenience" toys=2E They introduce too many additional variables, which can easily lead to unintended results=2E With that in mind=2E I use jail(8)=2E It provides a "clean room" with no more than what a base system, and the ports(7) framework has to provide=2E All the questions you've asked so far, are well covered in ports(7)=2E Conflicting "depends"? Run make all-depends-list some-port, followed by make all-depends-list some-other-port=2E Then compare the results=2E Want to make a package repo? myjail=2Ejail # mkdir -p /usr/port/packages/All myjail=2Ejail # mkdir -p /usr/port/packages/Latest myjail=2Ejail # cd /usr/ports/ports-mgmt/pkg myjail=2Ejail # make package install clean myjail=2Ejail # cd /usr/port/x11/xorg myjail=2Ejail # make package-recursive My point is=2E There *shouldn't* be that much controversy building ports that build, and install harmoniously=2E That's the way the ports/pkg system was designed=2E The fact that you're running into so much controversy, seems to indicate you have a "tainted" environment -- built/installed several ports from source, followed by installing some by way of pkg(8)=2E Using that procedure is a crap-shoot -- a gamble, that will ultimately lead to failure=2E It's really hard to say what, and where things went wrong=2E It's not my computer=2E But I would strongly suggest building a jail, and using it to create a package-repo=2E You'll have a clean environment to create packages that are guaranteed to work together on your system=2E Take a good look at the ports(7) man page for all the possibilities=2E The jail(8) man page also deserves a good read=2E It's trivial to create a jail, and it's not at all resource hungry -- I've got 7 jails running on a 3 core AMD box w/8G ram on it=2E It also runs www, and mail=2E While that's not my build server=2E It does illustrate how light-weight jails are/can be=2E HTH --Chris >=20 > - openldap-sasl >=20 > - openldap >=20 > Thanks >=20 > Am 05=2E05=2E20 um 23:06 schrieb Leander Schaefer: > > Hello Chris, > > > > > > thanks for your reply=2E Thanks for the hint about ports-mgmt/synth=2E I=20 > > am definitly going to have a look into this! Well, my Podriere is=20 > > using Jails by default=2E Is there any hack you applied for this issue=20 > > to avoid? > > > > > > Best regards, > > > > Leander > > > > > > Am 05=2E05=2E20 um 22:46 schrieb Chris: > >> On Tue, 5 May 2020 22:38:36 +0200 Leander Schaefer info@NetOcean=2Ede sa= id > >> > >>> Hello, > >>> > >>> I have been dealing with Poudriere for quite a while and one of the= =20 > >>> most issues I have is, that I have ports which won't compile along=20 > >>> with another=2E Reason is mostly something like: > >>> > >>> pkg-static: ImageMagick7-7=2E0=2E10=2E6 conflicts with=20 > >>> ImageMagick6-6=2E9=2E11=2E6,1 (installs files into the same place)=2E=20 > >>> Problematic file: /usr/local/bin/Magick++-config > >>> > >>> So in other words a newer version is going to place its binaries=20 > >>> etc=2E into the same place as the previous version=2E I have read and=20 > >>> used something like: > >>> > >>> # Build several PHP versions parallel on the same server: > >>> # https://github=2Ecom/freebsd/poudriere/issues/602 > >>> PHP_ALT=3Dphp56 php70 php71 php72 php73 > >>> =2Efor port in ${PHP_ALT} > >>> =2Eif ${=2ECURDIR: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}/et= c/php > >>> #CONFIGURE_ARGS+=3D--with-php-config=3D/usr/local/${port}/bin/php=2Econ= f > >>> #CONFIGURE_ARGS+=3D--with-iconv=3D/usr/local > >>> #CONFIGURE_ARGS+=3D--with-pcre-dir=3D/usr/local > >>> =2Eendif > >>> =2Eendfor > >>> > >>> But I was wondering: How is the FreeBSD Team dealing with this, when= =20 > >>> they compile their packages for the public repository? Because we=20 > >>> only use one official repository and all packages are there =2E=2E=2E some= =20 > >>> even with differet options enabled=2E So how to deal with this? How=20 > >>> can I compile the entire ports tree without issues and build a=20 > >>> repository of it and some packages even with different options? Lets= =20 > >>> say one OpenLDAP with SASL and another one with SASL? The only way I= =20 > >>> was able to do this was building it in separate repositories=2E > >>> > >>> Thanks > >> I use Jails which helps weed out some of the conflicts=2E That is=20 > >> different > >> jails for different (port) options that *may* cause conflict=2E Also > >> ports-mgmt/synth is pretty damn clever about sorting out conflicts=2E > >> However, I have no direct knowledge on how the pkg build admins deal= =20 > >> with > >> this=2E But just thought I'd share some alternate avenue(s) FWIW=2E :-) > >> > >>> > >>> _______________________________________________ > >>> freebsd-ports@freebsd=2Eorg mailing list > >>> https://lists=2Efreebsd=2Eorg/mailman/listinfo/freebsd-ports > >>> To unsubscribe, send any mail to=20 > >>> "freebsd-ports-unsubscribe@freebsd=2Eorg" > >> > >> > > > > Mit freundlichen Gr=C3=BC=C3=9Fen > > > > Leander Sch=C3=A4fer > > > > > > _______________________________________________ > > freebsd-ports@freebsd=2Eorg mailing list > > https://lists=2Efreebsd=2Eorg/mailman/listinfo/freebsd-ports > > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd=2Eorg= " > _______________________________________________ > freebsd-ports@freebsd=2Eorg mailing list > https://lists=2Efreebsd=2Eorg/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd=2Eorg"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95c64b7d73e0ece1cef3e43298ed067e>