Date: Thu, 06 Mar 2014 06:42:54 -0600 From: Mark Felder <feld@FreeBSD.org> To: endzed@gmail.com (=?utf-8?Q?=E3=83=84?=) Cc: freebsd-pkg@freebsd.org Subject: Re: pkg upgrade conflict Message-ID: <1394109774.16193.91292069.5503DEE2@webmail.messagingengine.com> In-Reply-To: <2D9C227C-7C23-4199-A1FE-114EFAF59C04@gmail.com> References: <5943C298-6620-433E-A14D-9D1A5BB03B44@gmail.com> <1394039996.26987.90950985.3D7B5FE0@webmail.messagingengine.com> <2D9C227C-7C23-4199-A1FE-114EFAF59C04@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 6, 2014, at 2:20, (=E3=83=84) wrote: >=20 > Le 5 mars 2014 =C3=A0 18:19, Mark Felder <feld@FreeBSD.org> a =C3=A9crit : >=20 > > On Tue, Mar 4, 2014, at 7:37, (=E3=83=84) wrote: > >> I'm facing this : > >>=20 > >> Conflict found on path /usr/local/bin/php between php5-5.4.25(lang/php= 5) > >> and php53-5.3.28(lang/php53) > >>=20 > >>=20 > >=20 > > Are you trying to make php 5.3 the default version for everything in > > your repository? If so, you need to override PHP in your poudriere > > make.conf > >=20 > > DEFAULT_VERSIONS=3D php=3D5.3 >=20 > I have 40+ boxes, some are still running 5.3 and other are running 5.4, > thus I was looking for a way to use a single repository.=20 >=20 > Unfortunately and as far as I understand - I'm just beginning with pkgng > - it seem not possible because pkg set only affect installed pkg and not > new pkg, right ? As a consequence new pkg installation is trying to > install dependencies as well, in my case pecl-memcache want php5 and not > php53... > I can't understand why such an annoying limitation already - it was not > the case when using ports directly - but anyway the fast fix seem to > build 2 separate repositories. I'm welcome to any other idea of course... >=20 You're right, you used to be able to trick pkg_tools into doing what you want. But then you'd have an inconsistent set of packages with broken dependencies and all sorts of fun things which eventually leads to endless mailing list posts when things really go pear shaped. Consistency and correctness are among the goals of pkgng. There is no option for you at this time but to run multiple repositories. I feel your pain -- I have to run about 8 repositories at work... But there is a light at the end of the tunnel! Bapt & co have plans to introduce a PROVIDES framework so either php 5.3 *or* php 5.4 could _PROVIDE_ "php". This would allow you to run one repository. The ports framework and pkg_tools were stagnant for a very long time. The core ports team are doing their best to introduce modern package management practices as quickly as possible. It's very difficult when we have 20,000+ ports to herd into order. The ride may be a bit bumpy for now, but the payoff will be big. :-) > Beside this and since I need to build a repository for each box > specifics, i guess I'll soon need to build a repository per box... so I > wonder if it is possible to use a generic repository pkg definition that > include the hostname, i mean : >=20 > today my repository definition contains=20 >=20 > poudriere: {=20 > url : > "pkg+http://xyz.invalid/poudriere/${ABI}", > enabled : yes, > mirror_type : "SRV" > } >=20 > is there a way to have something like this (already tried it, doesn't > work because ${HOST} env var is not expanded) >=20 > poudriere: {=20 > url : > "pkg+http://xyz.invalid/poudriere/${ABI}/${HOST}", > enabled : yes, > mirror_type : "SRV" > } >=20 Well, the way I do it is have my main poudriere.d/make.conf and then poudriere.d/php53-make.conf. In this config file: # override php version from regular make.conf .undef DEFAULT_VERSIONS DEFAULT_VERSIONS=3Dmysql=3D55 pgsql=3D92 apache=3D2.2 php=3D5.3 Now I can build a php53 flavor: pouriere bulk -j 92amd64 -z php53 -f /path/to/ports.txt On my clients using the php53 repository: "pkg+http://xyz.invalid/poudriere/${ABI}-php53", Hope that helps!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1394109774.16193.91292069.5503DEE2>