[CentOS-devel] including 3rd party repo release RPMs in Extras

Mon Mar 30 19:11:02 UTC 2015
Carl George <carl.george at RACKSPACE.COM>

Perhaps the wording can be better on that rule (suggestions?), but the spirit of that rule is "What happens when I run `yum update`?"  I don't see your example as conflicting with that rule.  You can easily resolve that example by installing the desired php stack first, and then installing phpMyAdmin.  It is less than ideal, but we have to work within the limitations of yum's dependency resolution.

We entertained the idea of having ius-release depend on yum-plugin-priorities, but since the default priority is 99, there is no way to have a new repo be a lower priority than a stock one.  You would have to edit the base repo files to set them to a higher priority first.

Carl George
Rackspace RPM Development

________________________________________
From: centos-devel-bounces at centos.org <centos-devel-bounces at centos.org> on behalf of Remi Collet <Fedora at FamilleCollet.com>
Sent: Sunday, March 29, 2015 10:45 AM
To: centos-devel at centos.org
Subject: Re: [CentOS-devel] including 3rd party repo release RPMs in Extras

Hi,

Le 28/03/2015 21:32, Carl George a écrit :
> CentOS users have easy access to the EPEL repo because the epel-release RPM is in the CentOS Extras repository.  Obviously CentOS and EPEL have a special relationship, since they are both sponsored by Red Hat.  A coworker suggested to me that it would be nice if the ius-release RPM could be included in Extras as well.  I brought the idea up in IRC, and Karanbir suggested I draft up a specification that any third party repository can follow to be considered for inclusion.  Here is what I have so far.
>
> https://gist.github.com/cgtx/b854281462a18007f509

>From above text.

 * Must not automatically install, upgrade,
  or replace stock distribution packages when the repository is enabled.


Problem: lot of packages is repositories following this RFC provides the
same "virtual" to be able to be a drop-in alternative for base packages.

Ex:

$ rpm -qp --provides php-mysql-5.3.3-40.el6_6.x86_64.rpm
php-mysql = 5.3.3-40.el6_6
php-mysqli
...

$ rpm -qp --provides php56u-mysqlnd-5.6.7-1.ius.el6.x86_64.rpm
php-mysql = 5.6.7-1.ius.el6
php-mysqli = 5.6.7-1.ius.el6
...

What happen if someone (or a package dep.) try to pull php-mysqli ?
Yum is unable to select the correct package.

So the rule, from the RFC is not honored.

More, there is a lot of 3rd party repository, most of them are not
designed to be compatible with others (usually only with base + epel).

Sometime, users install a lot of these 3rd party repositories, and
create terrible mess in their system. If CentOS is going to add "some"
3rd party repositories configuration, I think this will encourage users
to enable them, and thus result in more mess.


Remi.



P.S. exemple of such issue, on an fresh C6 installation:

# yum --enablerepo=ius install phpMyAdmin
...
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.0.10.5-1.el6 will be installed
--> Processing Dependency: php-mysql >= 5.2.0 for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-mcrypt >= 5.2.0 for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-mbstring >= 5.2.0 for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-gd >= 5.2.0 for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php(language) >= 5.2.17 for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-zlib for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-zip for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-xmlwriter for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-tcpdf for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-spl for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-simplexml for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-session for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-php-gettext for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-pcre for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-mysqli for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-libxml for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-json for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-iconv for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-hash for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-filter for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-date for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-curl for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-ctype for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Processing Dependency: php-bz2 for package:
phpMyAdmin-4.0.10.5-1.el6.noarch
--> Running transaction check
---> Package php-common.x86_64 0:5.3.3-40.el6_6 will be installed
---> Package php-php-gettext.noarch 0:1.0.11-3.el6 will be installed
---> Package php-tcpdf.noarch 0:6.0.095-1.el6 will be installed
--> Processing Dependency: php-tidy for package:
php-tcpdf-6.0.095-1.el6.noarch
--> Processing Dependency: php-bcmath for package:
php-tcpdf-6.0.095-1.el6.noarch
--> Processing Dependency: /usr/bin/php for package:
php-tcpdf-6.0.095-1.el6.noarch
---> Package php-tcpdf-dejavu-sans-fonts.noarch 0:6.0.095-1.el6 will be
installed
---> Package php56u-common.x86_64 0:5.6.2-3.ius.el6 will be installed
--> Processing Dependency: php56u-pecl-jsonc(x86-64) for package:
php56u-common-5.6.2-3.ius.el6.x86_64
---> Package php56u-gd.x86_64 0:5.6.2-3.ius.el6 will be installed
---> Package php56u-mbstring.x86_64 0:5.6.2-3.ius.el6 will be installed
---> Package php56u-mcrypt.x86_64 0:5.6.2-3.ius.el6 will be installed
---> Package php56u-mysqlnd.x86_64 0:5.6.2-3.ius.el6 will be installed
--> Processing Dependency: php56u-pdo = 5.6.2-3.ius.el6 for package:
php56u-mysqlnd-5.6.2-3.ius.el6.x86_64
---> Package php56u-xml.x86_64 0:5.6.2-3.ius.el6 will be installed
--> Running transaction check
---> Package php-bcmath.x86_64 0:5.3.3-40.el6_6 will be installed
---> Package php-cli.x86_64 0:5.3.3-40.el6_6 will be installed
---> Package php-tidy.x86_64 0:5.3.3-40.el6_6 will be installed
---> Package php56u-pdo.x86_64 0:5.6.2-3.ius.el6 will be installed
---> Package php56u-pecl-jsonc.x86_64 0:1.3.6-3.ius.el6 will be installed
--> Processing Dependency: php56u-pear for package:
php56u-pecl-jsonc-1.3.6-3.ius.el6.x86_64
--> Processing Dependency: php56u-pear for package:
php56u-pecl-jsonc-1.3.6-3.ius.el6.x86_64
--> Running transaction check
---> Package php56u-pear.noarch 1:1.9.5-1.ius.el6 will be installed
--> Processing Dependency: php56u-posix for package:
1:php56u-pear-1.9.5-1.ius.el6.noarch
--> Processing Dependency: php56u-cli for package:
1:php56u-pear-1.9.5-1.ius.el6.noarch
--> Running transaction check
---> Package php56u-cli.x86_64 0:5.6.2-3.ius.el6 will be installed
---> Package php56u-process.x86_64 0:5.6.2-3.ius.el6 will be installed
--> Processing Conflict: php56u-cli-5.6.2-3.ius.el6.x86_64 conflicts
php-cli < 5.6
--> Processing Conflict: php56u-common-5.6.2-3.ius.el6.x86_64 conflicts
php-common < 5.6
--> Finished Dependency Resolution
Error: php56u-common conflicts with php-common-5.3.3-40.el6_6.x86_64
Error: php56u-cli conflicts with php-cli-5.3.3-40.el6_6.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

_______________________________________________
CentOS-devel mailing list
CentOS-devel at centos.org
http://lists.centos.org/mailman/listinfo/centos-devel