Koozali.org: home of the SME Server

php-scl / remi-safe new dependencies blocking updates using yumcheck.sh

Offline mmccarn

  • *
  • 2,626
  • +10/-0
yumcheck.sh is a script that scans installed packages and builds a command line to allow disabled repositories to update only the packages that have been installed from that repository. 

If the disabled repository adds dependencies for a package you have installed, the update fails.

Wiki page: https://wiki.contribs.org/Update_contribs

The remi-safe repository has added lots of new dependencies for the php5* and php7* software collections, which were preventing yumcheck.sh from doing updates.

To work around the problem, carefully update the packages with new dependencies with the non-standard repository enabled -- checking the output carefully for any unexpected packages before proceeding with the update:

Code: [Select]
# yum --enablerepo=remi-safe update
...
Dependencies Resolved

============================================================================================================================================================
 Package                                   Arch                          Version                                     Repository                        Size
============================================================================================================================================================
Updating:
 php54-php                                 x86_64                        5.4.45-16.el6.remi                          remi-safe                        1.4 M
 php54-php-bcmath                          x86_64                        5.4.45-16.el6.remi                          remi-safe                         59 k
 php54-php-cli                             x86_64                        5.4.45-16.el6.remi                          remi-safe                        2.7 M
 php54-php-common                          x86_64                        5.4.45-16.el6.remi                          remi-safe                        581 k
 php54-php-enchant                         x86_64                        5.4.45-16.el6.remi                          remi-safe                         44 k
 php54-php-gd                              x86_64                        5.4.45-16.el6.remi                          remi-safe                        125 k
 php54-php-imap                            x86_64                        5.4.45-16.el6.remi                          remi-safe                         65 k
 php54-php-ldap                            x86_64                        5.4.45-16.el6.remi                          remi-safe                         56 k
 php54-php-mbstring                        x86_64                        5.4.45-16.el6.remi                          remi-safe                        498 k
 php54-php-mcrypt                          x86_64                        5.4.45-16.el6.remi                          remi-safe                         49 k
 php54-php-mysqlnd                         x86_64                        5.4.45-16.el6.remi                          remi-safe                        1.8 M
 php54-php-pdo                             x86_64                        5.4.45-16.el6.remi                          remi-safe                         91 k
 php54-php-pear                            noarch                        1:1.10.7-1.el6.remi                         remi-safe                        371 k
 php54-php-process                         x86_64                        5.4.45-16.el6.remi                          remi-safe                         54 k
 php54-php-soap                            x86_64                        5.4.45-16.el6.remi                          remi-safe                        160 k
 php54-php-tidy                            x86_64                        5.4.45-16.el6.remi                          remi-safe                         51 k
 php54-php-xml                             x86_64                        5.4.45-16.el6.remi                          remi-safe                        119 k
 php55-php                                 x86_64                        5.5.38-10.el6.remi                          remi-safe                        1.4 M
 php55-php-bcmath                          x86_64                        5.5.38-10.el6.remi                          remi-safe                         60 k
 php55-php-cli                             x86_64                        5.5.38-10.el6.remi                          remi-safe                        2.6 M
 php55-php-common                          x86_64                        5.5.38-10.el6.remi                          remi-safe                        672 k
 php55-php-enchant                         x86_64                        5.5.38-10.el6.remi                          remi-safe                         45 k
 php55-php-gd                              x86_64                        5.5.38-10.el6.remi                          remi-safe                         67 k
 php55-php-imap                            x86_64                        5.5.38-10.el6.remi                          remi-safe                         66 k
 php55-php-ldap                            x86_64                        5.5.38-10.el6.remi                          remi-safe                         57 k
 php55-php-mbstring                        x86_64                        5.5.38-10.el6.remi                          remi-safe                        512 k
 php55-php-mcrypt                          x86_64                        5.5.38-10.el6.remi                          remi-safe                         50 k
 php55-php-mysqlnd                         x86_64                        5.5.38-10.el6.remi                          remi-safe                        175 k
 php55-php-pdo                             x86_64                        5.5.38-10.el6.remi                          remi-safe                         93 k
 php55-php-pear                            noarch                        1:1.10.7-1.el6.remi                         remi-safe                        371 k
 php55-php-process                         x86_64                        5.5.38-10.el6.remi                          remi-safe                         58 k
 php55-php-soap                            x86_64                        5.5.38-10.el6.remi                          remi-safe                        163 k
 php55-php-tidy                            x86_64                        5.5.38-10.el6.remi                          remi-safe                         52 k
 php55-php-xml                             x86_64                        5.5.38-10.el6.remi                          remi-safe                        150 k
 php56-php-pear                            noarch                        1:1.10.7-1.el6.remi                         remi-safe                        371 k
 php70-php-pear                            noarch                        1:1.10.7-1.el6.remi                         remi-safe                        371 k
 php71-php                                 x86_64                        7.1.25-2.el6.remi                           remi-safe                        1.4 M
 php71-php-bcmath                          x86_64                        7.1.25-2.el6.remi                           remi-safe                         68 k
 php71-php-cli                             x86_64                        7.1.25-2.el6.remi                           remi-safe                        2.7 M
 php71-php-common                          x86_64                        7.1.25-2.el6.remi                           remi-safe                        597 k
 php71-php-enchant                         x86_64                        7.1.25-2.el6.remi                           remi-safe                         53 k
 php71-php-fpm                             x86_64                        7.1.25-2.el6.remi                           remi-safe                        1.4 M
 php71-php-gd                              x86_64                        7.1.25-2.el6.remi                           remi-safe                         70 k
 php71-php-imap                            x86_64                        7.1.25-2.el6.remi                           remi-safe                         73 k
 php71-php-json                            x86_64                        7.1.25-2.el6.remi                           remi-safe                         62 k
 php71-php-ldap                            x86_64                        7.1.25-2.el6.remi                           remi-safe                         65 k
 php71-php-mbstring                        x86_64                        7.1.25-2.el6.remi                           remi-safe                        522 k
 php71-php-mcrypt                          x86_64                        7.1.25-2.el6.remi                           remi-safe                         58 k
 php71-php-mysqlnd                         x86_64                        7.1.25-2.el6.remi                           remi-safe                        164 k
 php71-php-pdo                             x86_64                        7.1.25-2.el6.remi                           remi-safe                        102 k
 php71-php-pear                            noarch                        1:1.10.7-1.el6.remi                         remi-safe                        370 k
 php71-php-process                         x86_64                        7.1.25-2.el6.remi                           remi-safe                         66 k
 php71-php-soap                            x86_64                        7.1.25-2.el6.remi                           remi-safe                        156 k
 php71-php-tidy                            x86_64                        7.1.25-2.el6.remi                           remi-safe                         60 k
 php71-php-xml                             x86_64                        7.1.25-2.el6.remi                           remi-safe                        155 k
 php72-php                                 x86_64                        7.2.13-2.el6.remi                           remi-safe                        1.5 M
 php72-php-bcmath                          x86_64                        7.2.13-2.el6.remi                           remi-safe                         70 k
 php72-php-cli                             x86_64                        7.2.13-2.el6.remi                           remi-safe                        2.9 M
 php72-php-common                          x86_64                        7.2.13-2.el6.remi                           remi-safe                        627 k
 php72-php-enchant                         x86_64                        7.2.13-2.el6.remi                           remi-safe                         54 k
 php72-php-gd                              x86_64                        7.2.13-2.el6.remi                           remi-safe                         73 k
 php72-php-imap                            x86_64                        7.2.13-2.el6.remi                           remi-safe                         74 k
 php72-php-json                            x86_64                        7.2.13-2.el6.remi                           remi-safe                         64 k
 php72-php-ldap                            x86_64                        7.2.13-2.el6.remi                           remi-safe                         69 k
 php72-php-mbstring                        x86_64                        7.2.13-2.el6.remi                           remi-safe                        557 k
 php72-php-mysqlnd                         x86_64                        7.2.13-2.el6.remi                           remi-safe                        166 k
 php72-php-pdo                             x86_64                        7.2.13-2.el6.remi                           remi-safe                        104 k
 php72-php-process                         x86_64                        7.2.13-2.el6.remi                           remi-safe                         67 k
 php72-php-soap                            x86_64                        7.2.13-2.el6.remi                           remi-safe                        157 k
 php72-php-tidy                            x86_64                        7.2.13-2.el6.remi                           remi-safe                         61 k
 php72-php-xml                             x86_64                        7.2.13-2.el6.remi                           remi-safe                        156 k

Transaction Summary
============================================================================================================================================================
Upgrade      71 Package(s)

Total size: 30 M
Is this ok [y/N]: y
...

Updated:
  php54-php.x86_64 0:5.4.45-16.el6.remi              php54-php-bcmath.x86_64 0:5.4.45-16.el6.remi        php54-php-cli.x86_64 0:5.4.45-16.el6.remi         
  php54-php-common.x86_64 0:5.4.45-16.el6.remi       php54-php-enchant.x86_64 0:5.4.45-16.el6.remi       php54-php-gd.x86_64 0:5.4.45-16.el6.remi           
  php54-php-imap.x86_64 0:5.4.45-16.el6.remi         php54-php-ldap.x86_64 0:5.4.45-16.el6.remi          php54-php-mbstring.x86_64 0:5.4.45-16.el6.remi     
  php54-php-mcrypt.x86_64 0:5.4.45-16.el6.remi       php54-php-mysqlnd.x86_64 0:5.4.45-16.el6.remi       php54-php-pdo.x86_64 0:5.4.45-16.el6.remi         
  php54-php-pear.noarch 1:1.10.7-1.el6.remi          php54-php-process.x86_64 0:5.4.45-16.el6.remi       php54-php-soap.x86_64 0:5.4.45-16.el6.remi         
  php54-php-tidy.x86_64 0:5.4.45-16.el6.remi         php54-php-xml.x86_64 0:5.4.45-16.el6.remi           php55-php.x86_64 0:5.5.38-10.el6.remi             
  php55-php-bcmath.x86_64 0:5.5.38-10.el6.remi       php55-php-cli.x86_64 0:5.5.38-10.el6.remi           php55-php-common.x86_64 0:5.5.38-10.el6.remi       
  php55-php-enchant.x86_64 0:5.5.38-10.el6.remi      php55-php-gd.x86_64 0:5.5.38-10.el6.remi            php55-php-imap.x86_64 0:5.5.38-10.el6.remi         
  php55-php-ldap.x86_64 0:5.5.38-10.el6.remi         php55-php-mbstring.x86_64 0:5.5.38-10.el6.remi      php55-php-mcrypt.x86_64 0:5.5.38-10.el6.remi       
  php55-php-mysqlnd.x86_64 0:5.5.38-10.el6.remi      php55-php-pdo.x86_64 0:5.5.38-10.el6.remi           php55-php-pear.noarch 1:1.10.7-1.el6.remi         
  php55-php-process.x86_64 0:5.5.38-10.el6.remi      php55-php-soap.x86_64 0:5.5.38-10.el6.remi          php55-php-tidy.x86_64 0:5.5.38-10.el6.remi         
  php55-php-xml.x86_64 0:5.5.38-10.el6.remi          php56-php-pear.noarch 1:1.10.7-1.el6.remi           php70-php-pear.noarch 1:1.10.7-1.el6.remi         
  php71-php.x86_64 0:7.1.25-2.el6.remi               php71-php-bcmath.x86_64 0:7.1.25-2.el6.remi         php71-php-cli.x86_64 0:7.1.25-2.el6.remi           
  php71-php-common.x86_64 0:7.1.25-2.el6.remi        php71-php-enchant.x86_64 0:7.1.25-2.el6.remi        php71-php-fpm.x86_64 0:7.1.25-2.el6.remi           
  php71-php-gd.x86_64 0:7.1.25-2.el6.remi            php71-php-imap.x86_64 0:7.1.25-2.el6.remi           php71-php-json.x86_64 0:7.1.25-2.el6.remi         
  php71-php-ldap.x86_64 0:7.1.25-2.el6.remi          php71-php-mbstring.x86_64 0:7.1.25-2.el6.remi       php71-php-mcrypt.x86_64 0:7.1.25-2.el6.remi       
  php71-php-mysqlnd.x86_64 0:7.1.25-2.el6.remi       php71-php-pdo.x86_64 0:7.1.25-2.el6.remi            php71-php-pear.noarch 1:1.10.7-1.el6.remi         
  php71-php-process.x86_64 0:7.1.25-2.el6.remi       php71-php-soap.x86_64 0:7.1.25-2.el6.remi           php71-php-tidy.x86_64 0:7.1.25-2.el6.remi         
  php71-php-xml.x86_64 0:7.1.25-2.el6.remi           php72-php.x86_64 0:7.2.13-2.el6.remi                php72-php-bcmath.x86_64 0:7.2.13-2.el6.remi       
  php72-php-cli.x86_64 0:7.2.13-2.el6.remi           php72-php-common.x86_64 0:7.2.13-2.el6.remi         php72-php-enchant.x86_64 0:7.2.13-2.el6.remi       
  php72-php-gd.x86_64 0:7.2.13-2.el6.remi            php72-php-imap.x86_64 0:7.2.13-2.el6.remi           php72-php-json.x86_64 0:7.2.13-2.el6.remi         
  php72-php-ldap.x86_64 0:7.2.13-2.el6.remi          php72-php-mbstring.x86_64 0:7.2.13-2.el6.remi       php72-php-mysqlnd.x86_64 0:7.2.13-2.el6.remi       
  php72-php-pdo.x86_64 0:7.2.13-2.el6.remi           php72-php-process.x86_64 0:7.2.13-2.el6.remi        php72-php-soap.x86_64 0:7.2.13-2.el6.remi         
  php72-php-tidy.x86_64 0:7.2.13-2.el6.remi          php72-php-xml.x86_64 0:7.2.13-2.el6.remi           

Complete!

yumcheck.sh works as expected again:
Code: [Select]
# yumcheck.sh update
...

Dependencies Resolved

============================================================================================================================================================
 Package                                       Arch                        Version                                         Repository                  Size
============================================================================================================================================================
Updating:
 sogo-ealarms-notify                           x86_64                      4.0.4.20181214-1.centos6                        sogo4                       14 k
 sope49-cards                                  x86_64                      4.0.4.20181214-1.centos6                        sogo4                      176 k
 sope49-gdl1-contentstore                      x86_64                      4.0.4.20181214-1.centos6                        sogo4                       62 k

Transaction Summary
============================================================================================================================================================
Upgrade       3 Package(s)

Total download size: 252 k
Is this ok [y/N]: y
...
Updated:
  sogo-ealarms-notify.x86_64 0:4.0.4.20181214-1.centos6                              sope49-cards.x86_64 0:4.0.4.20181214-1.centos6                       
  sope49-gdl1-contentstore.x86_64 0:4.0.4.20181214-1.centos6                       

Complete!
...

Offline mmccarn

  • *
  • 2,626
  • +10/-0

Offline ReetP

  • *
  • 3,722
  • +5/-0
Re: php-scl / remi-safe new dependencies blocking updates using yumcheck.sh
« Reply #2 on: December 14, 2018, 02:35:40 PM »
I think that you are pretty safe using remi-safe (hence the 'safe' bit) and can generally assume they are good packages

https://wiki.contribs.org/Remi-safe

Quote
Starting SME9, remi-safe has only additonal packages for base repository and Software Collections. It should not conflict with base installation and should be safe to use enabled.

I am sure there will always be lots of regular updates for PHP bearing in mind what a dogs breakfast it is ;-) It does have piles of large holes and is patched regularly. Nature of the beast.

We might want throw bigger warnings about the general remi repo here:

https://wiki.contribs.org/Remi

...
1. Read the Manual
2. Read the Wiki
3. Don't ask for support on Unsupported versions of software
4. I have a job, wife, and kids and do this in my spare time. If you want something fixed, please help.

Bugs are easier than you think: http://wiki.contribs.org/Bugzilla_Help

If you love SME and don't want to lose it, join in: http://wiki.contribs.org/Koozali_Foundation

Offline Jean-Philippe Pialasse

  • *
  • 2,746
  • +11/-0
  • aka Unnilennium
    • http://smeserver.pialasse.com
Re: php-scl / remi-safe new dependencies blocking updates using yumcheck.sh
« Reply #3 on: December 24, 2018, 05:16:39 PM »
We have been prety conservative in the past disabling all repo that are not sme operated, then we decided to enable the centos upstream ones.
The initial fear was something could break becaus eof upstream, yes it could arise and it happend, but very rarely. The most incriminated package has been samba.

By doing so, we are delaying important security updates. That is why we choosed to enable centos base and update. Now, i think it is time to generalize. Enabling all repo we depend that have no conflicting packages with our repo, and centos. 
The repo remi-safe is the best example for that. Only complete base repo, no conflict, provides newer versions of php, which need a close attention in terms of security, hence no delayed updates.

If you have been configuring this repo using the contrib extra repository, it is enabled. If you configured it earlier you might need to enable it, and even should enable it.

And as states John, do not do this for the original remi repo which does not include the word safe in it. It could break your install by replacing some base packages.


Thinking of that, it is time we do a nice table of repo that are safe to keep enable as they do not conflict with base, or could be enabled with an include or exclude condition.