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