#!/usr/bin/php - Alternative php @VERSION@ module. The remi-@VERSION@ stream provides more recent versions and more packages than default @VERSION@ stream. license: module: - GPLv2+ content: - BSD - BSD and LGPLv3+ - PHP - PHP and BSD - PHP and LGPLv2 and OpenLDAP - PHP and LGPLv2+ - PHP and Zend and BSD and MIT and ASL 1.0 dependencies: - buildrequires: platform: [@DIST@] requires: @DEPS@ references: documentation: http://php.net/ tracker: https://bugs.php.net/ profiles: common: rpms: - php-cli - php-common - php-fpm - php-mbstring - php-xml devel: rpms: - libzip - php-cli - php-common - php-devel - php-fpm - php-mbstring - php-pear - php-pecl-zip - php-process - php-xml minimal: rpms: - php-cli - php-common api: rpms: - php-fpm artifacts: rpms: @RPMS@ ... EOT; $template_phpextras = <<< EOT --- document: modulemd version: 2 data: name: php-extras stream: @VERSION@ version: @DATE@ context: 00000000 arch: @ARCH@ summary: PHP scripting language description: >- Additional package for php @VERSION@ module. license: module: - GPLv2+ content: - BSD - BSD and LGPLv3+ - PHP - PHP and BSD - PHP and LGPLv2 and OpenLDAP - PHP and LGPLv2+ - PHP and Zend and BSD and MIT and ASL 1.0 dependencies: - buildrequires: platform: [@DIST@] requires: @DEPS@ references: documentation: http://php.net/ tracker: https://bugs.php.net/ profiles: common: rpms: - php-sodium artifacts: rpms: @RPMS@ ... EOT; $template_redis = <<< EOT --- document: modulemd version: 2 data: name: redis stream: remi-@VERSION@ version: @DATE@ context: 00000000 arch: @ARCH@ summary: Redis persistent key-value database description: >- Alternative redis @VERSION@ module. The remi-@VERSION@ stream provides more recent versions and than default @VERSION@ stream. license: module: - GPLv2+ content: - BSD and MIT - CC-BY-SA dependencies: - buildrequires: platform: [@DIST@] requires: @DEPS@ references: documentation: https://redis.io/documentation tracker: https://github.com/redis/redis/issues profiles: common: rpms: - redis api: rpms: - redis artifacts: rpms: @RPMS@ ... EOT; $template_memcached = <<< EOT --- document: modulemd version: 2 data: name: memcached stream: remi version: @DATE@ context: 00000000 arch: @ARCH@ summary: High Performance, Distributed Memory Object Cache description: >- Alternative memcached module. The remi stream provides more recent versions and than default repository. license: module: - GPLv2+ content: - BSD dependencies: - buildrequires: platform: [@DIST@] requires: @DEPS@ references: documentation: https://memcached.org/ tracker: https://github.com/memcached/memcached/issues profiles: common: rpms: - memcached - memcached-selinux api: rpms: - memcached artifacts: rpms: @RPMS@ ... EOT; $template_comp = <<< EOT --- document: modulemd version: 2 data: name: composer stream: @VERSION@ version: @DATE@ context: 00000000 arch: @ARCH@ summary: Dependency Manager for PHP description: >- Composer @VERSION@ module license: module: - MIT content: - MIT dependencies: - buildrequires: platform: [@DIST@] requires: @DEPS@ references: documentation: https://getcomposer.org/ tracker: https://github.com/composer/composer/issues profiles: common: rpms: - composer api: rpms: - composer artifacts: rpms: @RPMS@ ... EOT; function findPackages($from, $dest, $pat) { global $oldrpms; $excl = [ 'php-amqplib', 'php-jsonlint', 'php-cs-fixer', 'php-tecnickcom-tc-lib-unicode-data', 'php-doctrine-orm', 'php-pear-phing', 'php-doctrine-collections', 'php-laminas-i18n', 'php-laminas-mail', 'php-laminas-authentication', 'php-laminas-diactoros2', 'php-laminas-mime', 'php-laminas-i18n-resources', 'php-laminas-memory', 'php-laminas-test', 'php-laminas-validator', 'php-laminas-view', 'php-laminas-eventmanager', 'php-laminas-form3', 'php-laminas-config3', 'php-laminas-http', 'php-laminas-navigation', 'php-laminas-psr7bridge', 'php-laminas-inputfilter', 'php-laminas-crypt', 'php-laminas-di3', 'php-laminas-mvc-plugin-flashmessenger', 'php-react-promise-timer', 'php-laminas-filter', 'php-laminas-router', 'php-react-http', 'php-icewind-streams', 'php-masterminds-html5', 'php-league-mime-type-detection', 'php-monolog2', ]; $rpms = []; foreach (glob("$from/$pat") as $file) { $info = rpminfo($file); $name = basename($file); if (in_array($info['Name'], $excl)) { continue; } if (!file_exists("$dest/$name")) { if (link($file, "$dest/$name")) { $k = array_search(basename($file), $oldrpms); if ($k === false) { printf("\r\t+ %-70s\n", basename($file)); } else { unset($oldrpms[$k]); } } } $rpms[] = $info['Name'] . '-' . ($info['Epoch'] ?? '0') . ':' . $info['Version'] . '-' . $info['Release'] . '.' . $info['Arch']; } return $rpms; } function genDefaults($name, $def, Array $vers) { $meta = "---\n" . "document: modulemd-defaults\n" . "version: 1\n" . "data:\n" . " module: $name\n"; if ($def) { $meta .= " stream: \"$def\"\n"; } $meta .= " profiles:\n"; foreach ($vers as $ver) { $meta .= " $ver: [common]\n"; } $meta .= "...\n"; return $meta; } function genModule($srce, $dest, $pats, $ver, $arch, $deps, $template) { $rpms = []; foreach ((array)$pats as $pat) { $rpms += findPackages($srce, $dest, $pat); } $deptxt = ''; foreach($deps as $n => $v) { $deptxt .= ($deptxt ? "\n" : '') . " $n: [$v]"; } if (empty($rpms)) { return ''; } $rpmstxt = ''; foreach($rpms as $rpm) { $rpmstxt .= ($rpmstxt ? "\n" : '') . " - $rpm"; } $mod = str_replace( ['@VERSION@', '@ARCH@', "@DATE@", "@DIST@", "@DEPS@", '@RPMS@'], [$ver, $arch, date("YmdHis"), $deps['platform'], $deptxt, $rpmstxt], $template ); return $mod; } function cleanup($dest) { global $oldrpms; $oldrpms = array(); foreach (glob("$dest/*rpm") as $file) { unlink($file); $oldrpms[] = basename($file); } } function createRepo($dest, $mod) { $old = getcwd(); chdir($dest); // Key [$dis,$ver]=explode("/", $dest); $GPG_PATH="/home/remi/.gnupgrpm"; if ($dis == "fedora") { if ($ver >= 38) { $GPG_NAME="50A5E157DFE548EC7C05E9D8D5933DAB6DEFD35E"; } else if ($ver >= 36) { $GPG_NAME="845160D23149DAD504F0A32D83C0639E1FEF0014"; } else if ($ver >= 34) { $GPG_NAME="B1ABF71E14C9D74897E198A8B19527F1478F8947"; } else if ($ver >= 32) { $GPG_NAME="34C10BDBCC6F1B252E50BA1A0714919E4C21A808"; } else { $GPG_NAME="5F136145BF10369B7685D8DE503666CCBBAE6F1B"; } } else { if ($ver >= 9) { $GPG_NAME="B1ABF71E14C9D74897E198A8B19527F1478F8947"; } else if ($ver == 8) { $GPG_NAME="6B38FEA7231F87F52B9CA9D8555097595F11735A"; } else { $GPG_NAME="1EE04CCE88A4AE4AA29A5DF5004E6F4700F97F56"; } } echo "Metadata, signing with $GPG_PATH, "; // Repository content exec("mkrepo nocheck noclean"); // Modular data $data = '/tmp/modules.yaml'; file_put_contents($data, $mod); $hash = hash('sha256', $mod); exec("modifyrepo_c --mdtype=modules $data repodata >/dev/null"); $arch = basename($dest); rename($data, "$data.$arch"); // Sign @unlink("repodata/repomd.xml.asc"); exec("gpg --armor --detach-sign --default-key \"$GPG_NAME\" --homedir \"$GPG_PATH\" repodata/repomd.xml"); chdir($old); } /* if (count($_SERVER['argv']) < 2 || in_array('f33', $_SERVER['argv'])) { $dest = 'fedora/33/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f33']; $mod .= genModule('fedora/33/remi/x86_64', $dest, ['unit-php*rpm', 'php-*7.4*.rpm'], '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/33/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/33/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1']); createRepo($dest, $mod); } if (in_array('f33', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'fedora/33/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f33']; $mod .= genModule('fedora/33/test/x86_64', $dest, ['unit-php*rpm', 'php-*7.4*.rpm'], '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/33/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/33/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (count($_SERVER['argv']) < 2 || in_array('f34', $_SERVER['argv'])) { $dest = 'fedora/34/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f34']; $mod .= genModule('fedora/34/remi/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*7.4*.rpm'], '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1']); createRepo($dest, $mod); $dest = 'fedora/34/debug-modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f34']; $mod .= genModule('fedora/34/debug-remi/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*7.4*.rpm'], '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (in_array('f34', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'fedora/34/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f34']; $mod .= genModule('fedora/34/test/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*7.4*.rpm'], '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); createRepo($dest, $mod); $dest = 'fedora/34/debug-modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f34']; $mod .= genModule('fedora/34/debug-test/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*7.4*.rpm'], '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/34/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } */ if (count($_SERVER['argv']) < 2 || in_array('f35', $_SERVER['argv'])) { $dest = 'fedora/35/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f35']; $mod .= genModule('fedora/35/php74/x86_64', $dest, '*rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/remi/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*8.0*.rpm'], '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); createRepo($dest, $mod); $dest = 'fedora/35/debug-modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f35']; $mod .= genModule('fedora/35/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/debug-remi/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*8.0*.rpm'], '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (in_array('f35', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'fedora/35/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f35']; $mod .= genModule('fedora/35/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/test/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*8.0*.rpm'], '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); $dest = 'fedora/35/debug-modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f35']; $mod .= genModule('fedora/35/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/debug-test/x86_64', $dest, ['uwsgi-plugin-php*rpm', 'unit-php*rpm', 'php-*8.0*.rpm'], '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/35/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (count($_SERVER['argv']) < 2 || in_array('f36', $_SERVER['argv'])) { $dest = 'fedora/36/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f36']; $mod .= genModule('fedora/36/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); $mod .= genModule('fedora/36/redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/36/redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/36/redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0']); $mod .= genModule('fedora/36/memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_redis); $mod .= genDefaults('memcached', false, ['remi']); createRepo($dest, $mod); $dest = 'fedora/36/debug-modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f36']; $mod .= genModule('fedora/36/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/36/debug-redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/36/debug-redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/36/debug-memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_redis); createRepo($dest, $mod); } if (in_array('f36', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'fedora/36/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f36']; $mod .= genModule('fedora/36/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); $dest = 'fedora/36/debug-modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f36']; $mod .= genModule('fedora/36/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/36/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (count($_SERVER['argv']) < 2 || in_array('f37', $_SERVER['argv'])) { $dest = 'fedora/37/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f37']; $mod .= genModule('fedora/37/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); $mod .= genModule('fedora/37/redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/37/redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/37/redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0']); $mod .= genModule('fedora/37/memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_redis); $mod .= genDefaults('memcached', false, ['remi']); createRepo($dest, $mod); $dest = 'fedora/37/debug-modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f37']; $mod .= genModule('fedora/37/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/37/debug-redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/37/debug-redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genModule('fedora/37/debug-memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_redis); createRepo($dest, $mod); } if (in_array('f37', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'fedora/37/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f37']; $mod .= genModule('fedora/37/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); $dest = 'fedora/37/debug-modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'f37']; $mod .= genModule('fedora/37/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('fedora/37/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (in_array('el8', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'enterprise/8/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el8']; $mod .= genModule('enterprise/8/test72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/test73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $deps = ['platform' => 'el8', 'php' => '']; $mod .= genModule('enterprise/8/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); createRepo($dest, $mod); $dest = 'enterprise/8/debug-modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el8']; $mod .= genModule('enterprise/8/debug-test72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-test73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv'])) { $dest = 'enterprise/8/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el8']; $mod .= genModule('enterprise/8/php72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/php73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', '7.2', ['remi-7.2', 'remi-7.3', 'remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); $deps = ['platform' => 'el8']; $mod .= genModule('enterprise/8/redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/8/redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/8/redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/8/redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genDefaults('redis', '5', ['remi-5.0', 'remi-6.0', 'remi-6.2', 'remi-7.0']); $deps = ['platform' => 'el8', 'php' => '']; $mod .= genModule('enterprise/8/composer1/x86_64', $dest, '*.rpm', '1', 'x86_64', $deps, $template_comp); $mod .= genModule('enterprise/8/composer2/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); $mod .= genDefaults('composer', '2', ['1', '2']); createRepo($dest, $mod); $dest = 'enterprise/8/debug-modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el8']; $mod .= genModule('enterprise/8/debug-php72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-php73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/8/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $deps = ['platform' => 'el8']; $mod .= genModule('enterprise/8/debug-redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/8/debug-redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/8/debug-redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/8/debug-redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); createRepo($dest, $mod); } if (in_array('el9', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'enterprise/9/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el9']; $mod .= genModule('enterprise/9/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $deps = ['platform' => 'el9', 'php' => '']; $mod .= genModule('enterprise/9/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); createRepo($dest, $mod); $dest = 'enterprise/9/debug-modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el9']; $mod .= genModule('enterprise/9/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv'])) { $dest = 'enterprise/9/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el9']; $mod .= genModule('enterprise/9/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); $mod .= genModule('enterprise/9/redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genDefaults('redis', false, ['remi-5.0', 'remi-6.0', 'remi-6.2', 'remi-7.0']); $mod .= genModule('enterprise/9/memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached); $mod .= genDefaults('memcached', false, ['remi']); $mod .= genModule('enterprise/9/composer2/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); $mod .= genDefaults('composer', false, ['2']); createRepo($dest, $mod); $dest = 'enterprise/9/debug-modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el9']; $mod .= genModule('enterprise/9/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached); createRepo($dest, $mod); } if (count($_SERVER['argv']) > 1 && in_array('el9a', $_SERVER['argv'])) { $dest = 'enterprise/9/modular/aarch64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el9']; $mod .= genModule('enterprise/9/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); $mod .= genModule('enterprise/9/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); $mod .= genModule('enterprise/9/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); $mod .= genModule('enterprise/9/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); // $mod .= genModule('enterprise/9/redis50/aarch64', $dest, 'redis*.rpm', '5.0', 'aarch64', $deps, $template_redis); // $mod .= genModule('enterprise/9/redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis); $mod .= genModule('enterprise/9/redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis); $mod .= genModule('enterprise/9/redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis); $mod .= genDefaults('redis', false, ['remi-6.2', 'remi-7.0']); $mod .= genModule('enterprise/9/memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached); $mod .= genDefaults('memcached', false, ['remi']); $mod .= genModule('enterprise/9/composer2/x86_64', $dest, '*noarch.rpm', '2', 'aarch64', $deps, $template_comp); $mod .= genDefaults('composer', false, ['2']); createRepo($dest, $mod); $dest = 'enterprise/9/debug-modular/aarch64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el9']; $mod .= genModule('enterprise/9/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); $mod .= genModule('enterprise/9/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); // $mod .= genModule('enterprise/9/debug-redis50/aarch64', $dest, 'redis*.rpm', '5.0', 'aarch64', $deps, $template_redis); // $mod .= genModule('enterprise/9/debug-redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis); $mod .= genModule('enterprise/9/debug-memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached); createRepo($dest, $mod); } if (count($_SERVER['argv']) > 1 && in_array('epel', $_SERVER['argv'])) { $dest = 'temp/epel-8-modular'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el8', 'php' => '7.2']; $mod .= genModule('temp/epel-8-php-7.2', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_phpextras); $deps = ['platform' => 'el8', 'php' => '7.3']; $mod .= genModule('temp/epel-8-php-7.3', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_phpextras); $deps = ['platform' => 'el8', 'php' => '7.4']; $mod .= genModule('temp/epel-8-php-7.4', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_phpextras); $mod .= genDefaults('php-extras', '7.2', ['7.2', '7.3', '7.4']); createRepo($dest, $mod); } if (in_array('el7', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { $dest = 'enterprise/7/modular-test/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el7']; $mod .= genModule('enterprise/7/test71/x86_64', $dest, '*.rpm', '7.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/test72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/test73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); createRepo($dest, $mod); } if (count($_SERVER['argv']) < 2 || in_array('el7', $_SERVER['argv'])) { $dest = 'enterprise/7/modular/x86_64'; echo "Populate $dest\n"; cleanup($dest); $mod = ''; $deps = ['platform' => 'el7']; $mod .= genModule('enterprise/7/php71/x86_64', $dest, '*.rpm', '7.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/php72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/php73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); $mod .= genModule('enterprise/7/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); $mod .= genDefaults('php', '7.2', ['remi-7.1', 'remi-7.2', 'remi-7.3', 'remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2']); $mod .= genModule('enterprise/7/remi/x86_64', $dest, 'redis*5.0*.rpm', '5.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/7/remi/x86_64', $dest, 'redis*6.0*.rpm', '6.0', 'x86_64', $deps, $template_redis); $mod .= genModule('enterprise/7/remi/x86_64', $dest, 'redis*6.2*.rpm', '6.2', 'x86_64', $deps, $template_redis); $mod .= genDefaults('redis', '5', ['remi-5.0', 'remi-6.0', 'remi-6.2']); createRepo($dest, $mod); } echo "Done\n";