#!/usr/bin/php
<?php
define('TOPDIR', '/home/rpmbuild/site/rpms');
chdir(TOPDIR);

$template_php = <<< EOT
---
document: modulemd
version: 2
data:
  name: php
  stream: remi-@VERSION@
  version: @DATE@
  context: 00000000
  arch: @ARCH@
  summary: PHP scripting language
  description: >-
    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: https://www.php.net/manual/
    tracker: https://bugs.php.net/
  profiles:
    common:
      rpms:
      - php-cli
      - php-common
      - php-fpm
      - php-mbstring
      - php-xml
    devel:
      rpms:
      - php-cli
      - php-common
      - php-devel
      - php-fpm
      - php-mbstring
      - php-pear
      - 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) {

	if ($deps['platform'] >= 'f40') {
		// Drop dependencies see https://bugzilla.redhat.com/2264207
		$deb = strpos($template, 'dependencies:');
		$fin = strpos($template, 'references:');
		$template = substr($template, 0, $deb) . substr($template, $fin);
	}

	$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 >= 42) {
		$GPG_NAME="83833E4687A4AA03B6AC94F2061566968F1F4B2D";
	} else if ($ver >= 40) {
		$GPG_NAME="CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4";
	} else 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 >= 10) {
		$GPG_NAME="CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4";
	} 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 --compress-type=bz2 --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('f39', $_SERVER['argv']) || in_array('f39x', $_SERVER['argv'])) {
	$dest = 'fedora/39/modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	$mod .= genModule('fedora/39/redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	$mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);
	$mod .= genModule('fedora/39/memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached);
	$mod .= genDefaults('memcached', false, ['remi']);
	createRepo($dest, $mod);

	$dest = 'fedora/39/debug-modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/debug-php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached);
	createRepo($dest, $mod);
}
if (in_array('f39', $_SERVER['argv']) || in_array('f39x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/39/modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/39/debug-modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('f39', $_SERVER['argv']) || in_array('f39a', $_SERVER['argv'])) {
	$dest = 'fedora/39/modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	$mod .= genModule('fedora/39/redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis);
	$mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);
	$mod .= genModule('fedora/39/memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached);
	$mod .= genDefaults('memcached', false, ['remi']);
	createRepo($dest, $mod);

	$dest = 'fedora/39/debug-modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/debug-php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/39/debug-memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached);
	createRepo($dest, $mod);
}
if (in_array('f39', $_SERVER['argv']) || in_array('f39a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/39/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/39/debug-modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f39'];
	$mod .= genModule('fedora/39/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/39/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}
*/
if (count($_SERVER['argv']) < 2 || in_array('f40', $_SERVER['argv']) || in_array('f40x', $_SERVER['argv'])) {
	$dest = 'fedora/40/modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	$mod .= genModule('fedora/40/redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	$mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);
	$mod .= genModule('fedora/40/memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached);
	$mod .= genDefaults('memcached', false, ['remi']);
	createRepo($dest, $mod);

	$dest = 'fedora/40/debug-modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/debug-php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached);
	createRepo($dest, $mod);
}
if (in_array('f40', $_SERVER['argv']) || in_array('f40x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/40/modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/40/debug-modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('f40', $_SERVER['argv']) || in_array('f40a', $_SERVER['argv'])) {
	$dest = 'fedora/40/modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	$mod .= genModule('fedora/40/redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis);
	$mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);
	$mod .= genModule('fedora/40/memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached);
	$mod .= genDefaults('memcached', false, ['remi']);
	createRepo($dest, $mod);

	$dest = 'fedora/40/debug-modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/debug-php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('fedora/40/debug-memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached);
	createRepo($dest, $mod);
}
if (in_array('f40', $_SERVER['argv']) || in_array('f40a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/40/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/40/debug-modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f40'];
	$mod .= genModule('fedora/40/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/40/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}

// -------------- Fedora 41 -----------------------------------
if (count($_SERVER['argv']) < 2 || in_array('f41', $_SERVER['argv']) || in_array('f41x', $_SERVER['argv'])) {
	$dest = 'fedora/41/modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	createRepo($dest, $mod);

	$dest = 'fedora/41/debug-modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/debug-php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}
if (in_array('f41', $_SERVER['argv']) || in_array('f41x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/41/modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/41/debug-modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('f41', $_SERVER['argv']) || in_array('f41a', $_SERVER['argv'])) {
	$dest = 'fedora/41/modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	createRepo($dest, $mod);

	$dest = 'fedora/41/debug-modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/debug-php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}
if (in_array('f41', $_SERVER['argv']) || in_array('f41a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/41/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/41/debug-modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f41'];
	$mod .= genModule('fedora/41/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/41/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}

// -------------- Fedora 42 -----------------------------------
if (count($_SERVER['argv']) < 2 || in_array('f42', $_SERVER['argv']) || in_array('f42x', $_SERVER['argv'])) {
	$dest = 'fedora/42/modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	createRepo($dest, $mod);

	$dest = 'fedora/42/debug-modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/debug-php74/x86_64',  $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php80/x86_64',  $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php81/x86_64',  $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php82/x86_64',  $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php83/x86_64',  $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php84/x86_64',  $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}
if (in_array('f42', $_SERVER['argv']) || in_array('f42x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/42/modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/42/debug-modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('f42', $_SERVER['argv']) || in_array('f42a', $_SERVER['argv'])) {
	$dest = 'fedora/42/modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);
	createRepo($dest, $mod);

	$dest = 'fedora/42/debug-modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/debug-php74/aarch64',  $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php80/aarch64',  $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php81/aarch64',  $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php82/aarch64',  $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php83/aarch64',  $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-php84/aarch64',  $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}
if (in_array('f42', $_SERVER['argv']) || in_array('f42a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'fedora/42/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);

	$dest = 'fedora/42/debug-modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'f42'];
	$mod .= genModule('fedora/42/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('fedora/42/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}


if (in_array('el8', $_SERVER['argv']) || in_array('el8x', $_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);
	$mod .= genModule('enterprise/8/test83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test84/x86_64',  $dest, '*.rpm',         '8.4', '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);
	$mod .= genModule('enterprise/8/debug-test83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}
if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8x', $_SERVER['argv'])
	|| in_array('noarch', $_SERVER['argv'])
	|| in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_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 .= genModule('enterprise/8/php83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php84/x86_64',  $dest, '*.rpm',         '8.4', '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', 'remi-8.3', 'remi-8.4']);

	$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 .= genModule('enterprise/8/redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	$mod .= genDefaults('redis', '5', ['remi-5.0', 'remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);

	$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);
}
if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8x', $_SERVER['argv'])
	|| in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) {
	$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);
	$mod .= genModule('enterprise/8/debug-php83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php84/x86_64',  $dest, '*.rpm',         '8.4', '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);
	$mod .= genModule('enterprise/8/debug-redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	createRepo($dest, $mod);
}

if (in_array('el8', $_SERVER['argv']) || in_array('el8a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'enterprise/8/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el8'];
	$mod .= genModule('enterprise/8/test72/aarch64',  $dest, '*.rpm',         '7.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test73/aarch64',  $dest, '*.rpm',         '7.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/test84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);

	$deps = ['platform' => 'el8', 'php' => ''];
	$mod .= genModule('enterprise/8/composer2-test/x86_64', $dest, '*.rpm',   '2', 'aarch64', $deps, $template_comp);
	createRepo($dest, $mod);

	$dest = 'enterprise/8/debug-modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el8'];
	$mod .= genModule('enterprise/8/debug-test72/aarch64',  $dest, '*.rpm',         '7.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test73/aarch64',  $dest, '*.rpm',         '7.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-test84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}
if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8a', $_SERVER['argv'])
	|| in_array('noarch', $_SERVER['argv'])
	|| in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) {
	$dest = 'enterprise/8/modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el8'];
	$mod .= genModule('enterprise/8/php72/aarch64',  $dest, '*.rpm',         '7.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php73/aarch64',  $dest, '*.rpm',         '7.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/php84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $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', 'remi-8.3', 'remi-8.4']);

	$deps = ['platform' => 'el8'];
	$mod .= genModule('enterprise/8/redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('enterprise/8/redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('enterprise/8/redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('enterprise/8/redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis);
	$mod .= genDefaults('redis', '5', ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);

	$deps = ['platform' => 'el8', 'php' => ''];
	$mod .= genModule('enterprise/8/composer1/x86_64', $dest, '*.rpm',         '1', 'aarch64', $deps, $template_comp);
	$mod .= genModule('enterprise/8/composer2/x86_64', $dest, '*.rpm',         '2', 'aarch64', $deps, $template_comp);
	$mod .= genDefaults('composer', '2', ['1', '2']);
	createRepo($dest, $mod);
}
if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8a', $_SERVER['argv'])
	|| in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) {
	$dest = 'enterprise/8/debug-modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el8'];
	$mod .= genModule('enterprise/8/debug-php72/aarch64',  $dest, '*.rpm',         '7.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php73/aarch64',  $dest, '*.rpm',         '7.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/8/debug-php84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);

	$deps = ['platform' => 'el8'];
	$mod .= genModule('enterprise/8/debug-redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('enterprise/8/debug-redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis);
	$mod .= genModule('enterprise/8/debug-redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis);
	$mod .= genModule('enterprise/8/debug-redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $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);
	$mod .= genModule('enterprise/9/test83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/9/test84/x86_64',  $dest, '*.rpm',         '8.4', '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);
	$mod .= genModule('enterprise/9/debug-test83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-test84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv'])
	|| in_array('noarch', $_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 .= genModule('enterprise/9/php83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/9/php84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);

	$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 .= genModule('enterprise/9/redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis);
	$mod .= genDefaults('redis', false, ['remi-5.0', 'remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']);

	$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);
}
if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv'])) {
	$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-php83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-php84/x86_64',  $dest, '*.rpm',         '8.4', '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-redis72/x86_64', $dest, 'redis*.rpm', '7.2', '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']) < 2 || in_array('el9', $_SERVER['argv'])
	|| in_array('noarch', $_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 .= genModule('enterprise/9/php83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/php84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);

//	$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 .= genModule('enterprise/9/redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis);
	$mod .= genDefaults('redis', false, ['remi-6.2', 'remi-7.0', 'remi-7.2']);

	$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);
}
if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv'])) {
	$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-php83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-php84/aarch64',  $dest, '*.rpm',         '8.4', '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-redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis);

	$mod .= genModule('enterprise/9/debug-memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached);
	createRepo($dest, $mod);
}

if (in_array('el9', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'enterprise/9/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el9'];
	$mod .= genModule('enterprise/9/test74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/test80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/test81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/test82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/test83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/test84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $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/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el9'];
	$mod .= genModule('enterprise/9/debug-test74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-test80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-test81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-test82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-test83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/9/debug-test84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (in_array('el10', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'enterprise/10/modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/test74/x86_64',  $dest, '*.rpm',         '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test80/x86_64',  $dest, '*.rpm',         '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test81/x86_64',  $dest, '*.rpm',         '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/100/test82/x86_64',  $dest, '*.rpm',         '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);

	$deps = ['platform' => 'el10', 'php' => ''];
	$mod .= genModule('enterprise/10/composer2-test/x86_64', $dest, '*.rpm',   '2', 'x86_64', $deps, $template_comp);
	createRepo($dest, $mod);

	$dest = 'enterprise/10/debug-modular-test/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/debug-test74/x86_64',  $dest, '*.rpm',         '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test80/x86_64',  $dest, '*.rpm',         '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test81/x86_64',  $dest, '*.rpm',         '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test82/x86_64',  $dest, '*.rpm',         '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv'])
	|| in_array('noarch', $_SERVER['argv'])) {
	$dest = 'enterprise/10/modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/php74/x86_64',  $dest, '*.rpm',         '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php80/x86_64',  $dest, '*.rpm',         '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php81/x86_64',  $dest, '*.rpm',         '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php82/x86_64',  $dest, '*.rpm',         '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);

	$mod .= genModule('enterprise/10/memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached);
	$mod .= genDefaults('memcached', false, ['remi']);

	$mod .= genModule('enterprise/10/composer2/x86_64', $dest, '*.rpm',         '2', 'x86_64', $deps, $template_comp);
	$mod .= genDefaults('composer', false, ['2']);
	createRepo($dest, $mod);
}
if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv'])) {
	$dest = 'enterprise/10/debug-modular/x86_64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/debug-php74/x86_64',  $dest, '*.rpm',         '7.4', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php80/x86_64',  $dest, '*.rpm',         '8.0', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php81/x86_64',  $dest, '*.rpm',         '8.1', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php82/x86_64',  $dest, '*.rpm',         '8.2', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php83/x86_64',  $dest, '*.rpm',         '8.3', 'x86_64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php84/x86_64',  $dest, '*.rpm',         '8.4', 'x86_64', $deps, $template_php);

	$mod .= genModule('enterprise/10/debug-redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('enterprise/10/debug-redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('enterprise/10/debug-redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis);
	$mod .= genModule('enterprise/10/debug-redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis);
	$mod .= genModule('enterprise/10/debug-redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis);

	$mod .= genModule('enterprise/10/debug-memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached);
	createRepo($dest, $mod);
}

if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv'])
	|| in_array('noarch', $_SERVER['argv'])) {
	$dest = 'enterprise/10/modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/php74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/php84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);
	$mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']);

	$mod .= genModule('enterprise/10/memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached);
	$mod .= genDefaults('memcached', false, ['remi']);

	$mod .= genModule('enterprise/10/composer2/x86_64', $dest, '*noarch.rpm', '2', 'aarch64', $deps, $template_comp);
	$mod .= genDefaults('composer', false, ['2']);
	createRepo($dest, $mod);
}
if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv'])) {
	$dest = 'enterprise/10/debug-modular/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/debug-php74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-php84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);

	$mod .= genModule('enterprise/10/debug-memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached);
	createRepo($dest, $mod);
}

if (in_array('el10', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) {
	$dest = 'enterprise/10/modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/test74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/test84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);

	$deps = ['platform' => 'el10', 'php' => ''];
	$mod .= genModule('enterprise/10/composer2-test/x86_64', $dest, '*.rpm',   '2', 'x86_64', $deps, $template_comp);
	createRepo($dest, $mod);

	$dest = 'enterprise/10/debug-modular-test/aarch64';
	echo "Populate $dest\n";
	cleanup($dest);
	$mod  = '';

	$deps = ['platform' => 'el10'];
	$mod .= genModule('enterprise/10/debug-test74/aarch64',  $dest, '*.rpm',         '7.4', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test80/aarch64',  $dest, '*.rpm',         '8.0', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test81/aarch64',  $dest, '*.rpm',         '8.1', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test82/aarch64',  $dest, '*.rpm',         '8.2', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test83/aarch64',  $dest, '*.rpm',         '8.3', 'aarch64', $deps, $template_php);
	$mod .= genModule('enterprise/10/debug-test84/aarch64',  $dest, '*.rpm',         '8.4', 'aarch64', $deps, $template_php);
	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);
}

echo "Done\n";