Skip site navigation (1)Skip section navigation (2)
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>