Let pkg upgrade packages that were installed from binary only?
Nagy László Zsolt
gandalf at shopzeus.com
Tue Sep 8 09:03:32 UTC 2015
Hi,
I had to install a 10.2-RELEASE with binary packages. Everything is
fine, except that I have to use postgresql94-server and
postgresql94-client instead of version 9.3.
When I tried to install the required packages, then I relaized that the
binary compiled php5-pgsql package depends on postgresql 9.3 instead of
9.4. Which is fine, because I understand that is the default. So I
installed php5-pgsql from the ports tree. It compiled fine with
postgresql 9.4 client libs. I had to do the same with some others:
pecl-intl pecl-dba pecl-intl petcl-imagick
Here comes the tricky part. I would like to update my (binary) packages.
If I do "pkg update; pkg upgrade" then I see this:
New packages to be INSTALLED:
ImageMagick-nox11: 6.9.1.6,1
ghostscript9-nox11: 9.06_11
libwmf-nox11: 0.2.8.4_15
postgresql93-client: 9.3.9
php56: 5.6.12
php56-mbstring: 5.6.12
Installed packages to be UPGRADED:
libwmf: 0.2.8.4_14 -> 0.2.8.4_15
Installed packages to be REINSTALLED:
php5-pgsql-5.4.44 (direct dependency changed: postgresql93-client)
php5-dba-5.4.44 (options changed)
pecl-mailparse-2.1.6 (direct dependency changed: php56)
pecl-intl-3.0.0_2 (direct dependency changed: php56)
pecl-imagick-3.1.2_2 (direct dependency changed: php56)
So pkg wants to reinstall php5-pgsql, and it thinks that "direct
dependency changed: postgresql93-client". My problem is this: php5-pgsql
may work with postgresql client 9.3, but I have already compiled it
against postgresql94-client. Can I upgrade php5-pgsql from the ports,
and upgrade all the other packages from binary? The postgresql93-client
should not be installed at all, because it should not be a dependency.
Same is true with php56 and php56-mbstring - pkg wants to add them
because it sees that the binary version of pecl-intl was compiled
against php56. But in fact I do not have the binary versions installed -
I have installed them from the ports tree, and my versions are compiled
against php55.
So is there a way to tell "pkg" that it should not automatically install
dependencies from packages that were installed from the ports tree? In
this case all it should do is to upgrade libwmf. Of course I can always
check the plan and do the upgrades manually. But can this be automatized
somehow?
Thanks,
Laszlo
More information about the freebsd-questions
mailing list