Remi modular repository
+
Par Remi le mercredi 28 novembre 2018, 11:07 - HowTo - Lien permanent
Fedora 29, and soon RHEL / CentOS 8, can use "modules", which works like additional repositories, providing alternative versions of software.
Read: Introducing Application Streams in RHEL 8
My repository now supports this feature (and also the old way).
After installation of the remi-release auto-configuration package, the repository is known, but without any module enabled.
# dnf repolist repo id repo name status fedora Fedora 29 - x86_64 58110 fedora-modular Fedora Modular 29 - x86_64 8 remi-modular Remi's Modular repository - Fedora 29 - x86_64 268 updates Fedora 29 - x86_64 - Updates 12523 updates-modular Fedora Modular 29 - x86_64 - Updates 9
You can list the available modules:
# dnf module list Remi's Modular repository - Fedora 29 - x86_64 Name Stream Profiles Summary glpi 9.2 default [d] Free IT asset management software glpi 9.3 default [d] Free IT asset management software php remi-7.2 devel, minimal, default [d] PHP scripting language php remi-7.3 devel, minimal, default [d] PHP scripting language ...
Plutôt que d'activer les dépôts supplémentaires, vous pouvez désormais activer les modules dans les versions souhaitées.
Example: install PHP 7.2
# dnf module install php:remi-7.2 Dependencies resolved. ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Installing group/module packages: php-cli x86_64 7.2.12-1.fc29.remi remi-modular 4.4 M php-fpm x86_64 7.2.12-1.fc29.remi remi-modular 1.5 M php-mbstring x86_64 7.2.12-1.fc29.remi remi-modular 465 k php-xml x86_64 7.2.12-1.fc29.remi remi-modular 165 k Installing dependencies: nginx-filesystem noarch 1:1.14.1-2.fc29 updates 9.9 k oniguruma x86_64 6.9.0-2.fc29 fedora 184 k php-common x86_64 7.2.12-1.fc29.remi remi-modular 1.0 M php-json x86_64 7.2.12-1.fc29.remi remi-modular 36 k Installing module profiles: php/default Transaction Summary ============================================================================================================== Install 8 Packages
Example: install GLPI 9.2
# dnf module install glpi:9.2 Dependencies resolved. ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Installing group/module packages: glpi noarch 9.2.4-2.fc29.remi remi-modular 8.7 M Installing dependencies: php-PHPMailer noarch 5.2.27-1.fc29 updates 136 k ... Transaction Summary ============================================================================================================== Install 42 Packages
Example: upgrade to PHP 7.3
# dnf module install php:remi-7.3 Last metadata expiration check: 0:07:38 ago on Wed Nov 28 10:45:40 2018. Dependencies resolved. ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Upgrading: php-bcmath x86_64 7.3.0~rc6-1.fc29.remi remi-modular 43 k php-cli x86_64 7.3.0~rc6-1.fc29.remi remi-modular 4.3 M php-common x86_64 7.3.0~rc6-1.fc29.remi remi-modular 1.0 M php-fpm x86_64 7.3.0~rc6-1.fc29.remi remi-modular 1.5 M php-gd x86_64 7.3.0~rc6-1.fc29.remi remi-modular 48 k php-imap x86_64 7.3.0~rc6-1.fc29.remi remi-modular 57 k php-intl x86_64 7.3.0~rc6-1.fc29.remi remi-modular 191 k php-json x86_64 7.3.0~rc6-1.fc29.remi remi-modular 36 k php-ldap x86_64 7.3.0~rc6-1.fc29.remi remi-modular 49 k php-mbstring x86_64 7.3.0~rc6-1.fc29.remi remi-modular 475 k php-mysqlnd x86_64 7.3.0~rc6-1.fc29.remi remi-modular 191 k php-opcache x86_64 7.3.0~rc6-1.fc29.remi remi-modular 276 k php-pdo x86_64 7.3.0~rc6-1.fc29.remi remi-modular 90 k php-pecl-apcu x86_64 5.1.14-1.fc29.remi.7.3 remi-modular 70 k php-process x86_64 7.3.0~rc6-1.fc29.remi remi-modular 48 k php-tidy x86_64 7.3.0~rc6-1.fc29.remi remi-modular 36 k php-xml x86_64 7.3.0~rc6-1.fc29.remi remi-modular 163 k php-xmlrpc x86_64 7.3.0~rc6-1.fc29.remi remi-modular 50 k Switching module streams: php remi-7.2 -> remi-7.3 Transaction Summary ============================================================================================================== Upgrade 18 Packages
Example: upgrade to GLPI 9.3
# dnf module install glpi:9.3 Last metadata expiration check: 0:09:53 ago on Wed Nov 28 10:45:40 2018. Dependencies resolved. ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Upgrading: glpi noarch 9.3.3-1.fc29.remi remi-modular 9.8 M Installing dependencies: php-elvanto-litemoji noarch 1.4.4-1.fc29 updates 25 k php-phpmailer6 noarch 6.0.6-1.fc29 updates 134 k php-Monolog noarch 1.23.0-4.fc29 fedora 92 k php-PsrLog noarch 1.0.2-6.fc29 fedora 14 k php-zendframework-zend-console noarch 2.7.0-4.fc29 fedora 43 k Switching module streams: glpi 9.2 -> 9.3 Transaction Summary ============================================================================================================== Install 5 Packages Upgrade 1 Package
Conclusion:
My repository is ready for users who prefer modules, and thus for upcoming RHEL / CentOS versions.
As this it an important new feature, your feedback is welcome.
Commentaires
How does this modular approach deal with optional packages e.g. how do I only install the base php packages but not for example php-fpm or php-imap?
@dennisjac "php" is mostly a dead package (mod_php is no more used by default)
BTW, the module profile defines a set of packages to install, you can enable the module and then only install the package you want
You can also select the "minimal" profile to install (php-cli only)
After more thinking and discussion, I've decided to change the module name to simply "php" and "glpi".
For php, the streams will be named as remi-7.3 to avoid conflict with official modules (mostly for EL-8).
The php module is now also available for RHEL 8.0 Beta (stream remi-7.2 and remi-7.3)
The new remi-modular-test repository now provides the testing packages for php modules.
The remi-modular repository is now also available for EL-7, using the dnf version 4 available in centos-extras