pkgng deviates from defaults?

Kimmo Paasiala kpaasial at gmail.com
Mon Mar 9 16:34:34 UTC 2015


On Mon, Mar 9, 2015 at 5:44 PM, Adam McDougall <mcdouga9 at egr.msu.edu> wrote:
> On 03/09/2015 08:23, Carsten Jensen wrote:
>> On 03/08/2015 02:41 PM, Baptiste Daroussin wrote:
>>> On Sun, Mar 08, 2015 at 01:46:28PM +0100, Carsten Jensen wrote:
>>>>
>>>> It seems that pkgng deviates from installing the defaults.
>>>> one of the culprits seems to be phpMyAdmin, as trying to upgrade this
>>>> only it wants php56
>>>> deleting phpMyAdmin just shows I have other packages needing php56 in my
>>>> system.
>>>>
>>>> is this a bug? and how can I prevent upgrading to the non-default php56?
>>>
>>> The default settings are a ports tree setting not a pkg setting. for
>>> now the
>>> ports are hardcoding the required version into the packages, this is a
>>> legacy of
>>> the old system, noone has yet been working on this. so beside building
>>> your own
>>> packages with poudriere (which will define the default you want) righ
>>> now there
>>> is no way to avoid that.
>>>
>>> The php case but not only php will require small changes in pkg(8) to
>>> activate
>>> smart dependencies: depend on a>1<=2.10 and also adding
>>> provides/requires (this
>>> is not very hard to be added in pkg.) and it should also require heavy
>>> changes
>>> on the port side!
>>>
>>> As far as I know noone has been working on those changes in the port
>>> side. the
>>> pkg(8) changes are mostly pending for real use cases in the port side.
>>> Meaning
>>> both should be coordinated.
>>>
>>> Best regards,
>>> Bapt
>>>
>>
>> Sorry I don't think I was clear.
>> Some applications wants php5 and some applications wants php56 when
>> upgrading using pkg-ng.
>> Using pkg-ng one cannot upgrade i.e. both phpMyAdmin and an other web
>> based application due to this conflict.
>>
>> So while the upgrade happens to upgrade to php56 it also removes the
>> other web application, as it only wants php5.
>>
>> Most of the applications on the server is maintained by pkg-ng, and it
>> conflicts itself.
>>
>> Basically there are now 2 "default" php versions used by pkg-ng
>> meaning, _I_ am not trying to upgrade to php56, pkg-ng does but it also
>> tries to upgrade php5.
>>
>> I can't find any hardcode to php56 in the Makefile of databases/phpmyadmin
>>
>> I don't know if this is expressed better, I hope so atleast.
>>
>>
>> Cheers
>> Carsten
>>
>
> I think there is some confusion because the default PHP version in ports
> recently changed to 5.6, and now the official packages are pulling in 5.6:
>
> https://svnweb.freebsd.org/ports?view=revision&revision=379433
>
> pkg sometimes tries to remove conflicting packages (like ones that need
> 5.5) unless you "pkg upgrade" without specifying a package and then it
> has better information on what to reinstall so packages might not get
> removed.

In fact pkg(8) will not allow conflicting packages to be installed at
all. The result is that if you want to install a package that would
introduce a conflict in the installed package database the conflict
has to be resolved one way or another. The only solution at the moment
is to remove the offending packages from the existing installed
packages. This is not a pkg(8) limitation but the consequence of how
ports(7) system deals with conflicts and lack of infrastructure to
properly allow multiple versions of the same software to co-exist.

-Kimmo


More information about the freebsd-ports mailing list