Compare commits

...

7 Commits

Author SHA1 Message Date
Lubomír Sedlář 27aca633f5 Translate paths to URLs
This will have no effect on the compose itself, but will add valid URLs
to all outgoing messages. Their consumption will be slightly easier.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2021-02-15 10:53:03 +01:00
Kevin Fenzi 8779b574bf epel8-playground: fix config to use main.
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2021-01-28 12:29:14 -08:00
Mohan Boddu 377cbf7c2a Adding pruning of repodata to epel8-playground compose sync
Fixes: https://pagure.io/releng/issue/9586

Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2020-07-13 09:05:38 -04:00
Mohan Boddu 012ddf1433 Set jigdo creation to false
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2019-11-11 15:49:27 -05:00
Mohan Boddu cc5105cead Adding the source dir for rsync
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2019-08-01 13:08:54 -04:00
Mohan Boddu 0256ad65da epel8 playground composes sync
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2019-08-01 10:00:25 -04:00
Mohan Boddu 3cb20633aa EPEL8-Playground Nightly Composes
Signed-off-by: Mohan Boddu <mboddu@bhujji.com>
2019-07-30 14:30:15 -04:00
11 changed files with 194 additions and 1873 deletions

View File

@ -1,2 +0,0 @@
This repo holds the config files that define what goes in and comes
out of a Fedora compose using pungi.

View File

@ -1,82 +0,0 @@
#!/bin/sh
#set -x
export LC_ALL=C
LABEL=$1
# Remove the label from arguments. It gets special treatment. Other arguments
# to the script are passed to pungi-koji directly.
shift
CONFIG="fedora-cloud.conf"
TARGET_DIR="/mnt/koji/compose/cloud"
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
NIGHTLY=""
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-Cloud"
RELEASE="29"
RELEASE_TITLE="29"
COMPSFILE="comps-f29.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="devel@lists.fedoraproject.org test@lists.fedoraproject.org"
FROM="Fedora Branched Report <rawhide@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
# uncomment and edit for resuming a failed compose
#COMPOSE_ID="Fedora-23-20150530.n.0"
# assume a releng dir is a git checkout of the releng repo
# if it does not exist clone it
if [ -d releng ]; then
pushd releng
git pull --rebase
popd
else
git clone https://pagure.io/releng.git
fi
# Set up our fedmsg function, using the releng repo definition
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT")
FEDMSG_MODNAME="compose"
FEDMSG_CERTPREFIX="releng"
. ./releng/scripts/fedmsg-functions.sh
# Announce that we are starting, even though we don't know the compose_id yet..
send_fedmsg "${fedmsg_json_start}" ${RELEASE} start
CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY --label=$LABEL"
if [ -z "$COMPOSE_ID" ]; then
CMD="$CMD --target-dir=$TARGET_DIR"
else
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
fi
time $CMD "$@"
if [ "$?" != "0" ]; then
exit 1
fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
# Set this to use later for a few items include depcheck
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
# Public URL the compose will wind up at, we put it in fedmsgs
LOCATION=$(echo $DESTDIR|sed -e 's,/mnt/koji,https://kojipkgs.fedoraproject.org,g')
# Update fedmsg template
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION")
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID" "$LOCATION")
$RSYNCPREFIX mkdir -p $DESTDIR
# Tell interested persons that the rsync is starting (zomg!)
#send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
#for dir in CloudImage metadata ;
# do
# $RSYNCPREFIX rsync -avhH $DESTDIR/compose/$dir/ /pub/alt/atomic/testing/$SHORTCOMPOSE_ID/$dir/ ;
# done
# Tell interested persons that the rsync is done.
#send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete
# Tell everyone by fedmsg about the compose
send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete
# Tell everyone by email about the compose
SUBJECT='Fedora '$RELEASE' compose report: '$SHORTCOMPOSE_ID' changes'
#for tomail in $TOMAIL ; do
# cat $DESTDIR/logs/*verbose $DESTDIR/logs/depcheck | \
# mutt -e "set from=\"$FROM\"" -e 'set envelope_from=yes' -s "$SUBJECT" $tomail
#done
find $TARGET_DIR -xdev -depth -maxdepth 2 -mtime +14 -exec rm -rf {} \;

View File

@ -1,80 +0,0 @@
#!/bin/sh
export LC_ALL=C
LABEL=$1
# Remove the label from arguments. It gets special treatment. Other arguments
# to the script are passed to pungi-koji directly.
shift
CONFIG="fedora-container.conf"
TARGET_DIR="/mnt/koji/compose/container"
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
NIGHTLY=""
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-Docker"
RELEASE="29"
RELEASE_TITLE="29"
COMPSFILE="comps-f29.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="devel@lists.fedoraproject.org test@lists.fedoraproject.org"
FROM="Fedora Branched Report <rawhide@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
# uncomment and edit for resuming a failed compose
#COMPOSE_ID="Fedora-23-20150530.n.0"
# assume a releng dir is a git checkout of teh releng repo
# if it does not exist clone it
if [ -d releng ]; then
pushd releng
git pull --rebase
popd
else
git clone https://pagure.io/releng.git
fi
# Set up our fedmsg function, using the releng repo definition
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT")
FEDMSG_MODNAME="compose"
FEDMSG_CERTPREFIX="releng"
. ./releng/scripts/fedmsg-functions.sh
# Announce that we are starting...
send_fedmsg "${fedmsg_json_start}" ${RELEASE} start
CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY --label=$LABEL"
if [ -z "$COMPOSE_ID" ]; then
CMD="$CMD --target-dir=$TARGET_DIR"
else
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
fi
time $CMD "$@"
if [ "$?" != "0" ]; then
exit 1
fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
# Set this to use later for a few items include depcheck
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
# Public URL the compose will wind up at, we put it in fedmsgs
LOCATION=$(echo $DESTDIR|sed -e 's,/mnt/koji,https://kojipkgs.fedoraproject.org,g')
# Update fedmsg template
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION")
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID" "$LOCATION")
$RSYNCPREFIX mkdir -p $DESTDIR
# Tell interested persons that the rsync is starting (zomg!)
#send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
#for dir in Docker metadata ;
# do
# $RSYNCPREFIX rsync -avhH $DESTDIR/compose/$dir/ /pub/alt/atomic/testing/$SHORTCOMPOSE_ID/$dir/ ;
# done
# Tell interested persons that the rsync is done.
#send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete
# Tell everyone by fedmsg about the compose
send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete
SUBJECT='Fedora '$RELEASE' compose report: '$SHORTCOMPOSE_ID' changes'
#for tomail in $TOMAIL ; do
# cat $DESTDIR/logs/*verbose $DESTDIR/logs/depcheck | \
# mutt -e "set from=\"$FROM\"" -e 'set envelope_from=yes' -s "$SUBJECT" $tomail
#done
find $TARGET_DIR -xdev -depth -maxdepth 2 -mtime +14 -exec rm -rf {} \;

76
epel8-playground-nightly.sh Executable file
View File

@ -0,0 +1,76 @@
#!/bin/sh
export LC_ALL=C
CONFIG="epel8-playground.conf"
TARGET_DIR="/mnt/koji/compose/epel"
NIGHTLY="--nightly"
SKIP_PHASES="--skip-phase=productimg"
DATE=$(date "+%Y%m%d")
SHORT="Fedora-Epel-Playground"
RELEASE="8"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE/COMPOSE_ID)
RSYNCPREFIX="sudo -u ftpsync"
RSYNCTARGET="/pub/epel/playground/$RELEASE"
# assume a releng dir is a git checkout of the releng repo
# if it does not exist clone it
if [ -d releng ]; then
pushd releng
git pull --rebase
popd
else
git clone https://pagure.io/releng.git
fi
# Set up our fedmsg function, using the releng repo definition
FEDMSG_MODNAME="compose"
FEDMSG_CERTPREFIX="releng"
. ./releng/scripts/fedmsg-functions.sh
# Announce that we are starting, even though we don't know the compose_id yet..
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT")
send_fedmsg "${fedmsg_json_start}" ${RELEASE} start
CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY $SKIP_PHASES"
if [ -z "$COMPOSE_ID" ]; then
CMD="$CMD --target-dir=$TARGET_DIR"
else
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
fi
time $CMD "$@"
if [ "$?" != "0" ]; then
exit 1
fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE/COMPOSE_ID)
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
LOCATION="https://dl.fedoraproject.org$RSYNCTARGET"
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION")
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION")
send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
if [ ! -d "$RSYNCTARGET" ]; then
mkdir "$RSYNCTARGET"
fi
$RSYNCPREFIX compose-partial-copy --arch=aarch64 --arch=ppc64le --arch=s390x --arch=x86_64 --arch src \
"$DESTDIR" "$RSYNCTARGET/" \
--variant Everything --exclude=repodata
$RSYNCPREFIX compose-partial-copy --arch=aarch64 --arch=ppc64le --arch=s390x --arch=x86_64 --arch src \
"$DESTDIR" "$RSYNCTARGET/" \
--variant Everything --delete-after
send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete
# Tell everyone by fedmsg about the compose
send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete
# Removed all the older than 14 days composes
find $TARGET_DIR -xdev -depth -maxdepth 2 -mtime +14 -exec rm -rf {} \;
send_fedmsg "${fedmsg_json_done}" ${RELEASE} cleanup.complete

118
epel8-playground.conf Normal file
View File

@ -0,0 +1,118 @@
# PRODUCT INFO
release_name = 'Fedora-Epel'
release_short = 'Fedora-Epel-Playground'
release_version = '8'
release_is_layered = False
# GENERAL SETTINGS
comps_file = {
'scm': 'git',
'repo': 'https://pagure.io/fedora-comps.git',
'branch': 'main',
'file': 'comps-epel8.xml',
'command': 'make comps-epel8.xml'
}
module_defaults_dir = {
'scm': 'git',
'repo': 'https://pagure.io/releng/fedora-module-defaults.git',
'branch': 'main',
'dir': '.'
}
variants_file='variants-fedora.xml'
sigkeys = ['2f86d6a1']
hashed_directories = True
## PDC settings
pdc_url = 'https://pdc.fedoraproject.org/rest_api/v1'
pdc_insecure = False
# This option will skip getting an authentication token via Kerberos.
pdc_develop = True
# PKGSET
pkgset_source = 'koji' # koji, repos
# PKGSET - KOJI
pkgset_koji_tag = 'epel8-playground'
pkgset_koji_inherit = False
filter_system_release_packages = False
# GATHER
gather_method = {
'^.*': { # For all variants
'comps': 'deps', # resolve dependencies for packages from comps file
'module': 'nodeps', # but not for packages from modules
}
}
gather_backend = 'dnf'
gather_profiler = True
check_deps = False
greedy_method = 'build'
repoclosure_backend = 'dnf'
# CREATEREPO
createrepo_deltas = False
createrepo_database = True
#jigdo
create_jigdo = False
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
additional_packages = [
('^Everything$', {
'*': [
'*',
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
's390x': ['devel', 'runtime']
})
]
filter_packages = [
]
# format: {arch|*: [packages]}
multilib_blacklist = {
'*': ['kernel', 'kernel-PAE*', 'kernel*debug*',
'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel',
'php-devel', 'java-*',
'httpd-devel', 'tomcat-native', 'php*', 'httpd',
'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*'
],
}
# format: {arch|*: [packages]}
multilib_whitelist = {
'*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper',
'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb',
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs',
'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc',
'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust',
'mariadb-connector-odbc', 'compiler-rt',
'nvidia-query-resource-opengl-lib',
'ibus-libs', 'ibus-gtk2', 'ibus-gtk3',
'glib-networking'
],
}
createiso_skip = [
('^Everything$', {
'*': True,
'src': True
}),
]
koji_profile = 'compose_koji'
translate_paths = [
('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'),
]

View File

@ -1,254 +0,0 @@
# PRODUCT INFO
release_name = 'Fedora-Cloud'
release_short = 'Fedora-Cloud'
release_version = '29'
release_is_layered = False
skip_phases = ["buildinstall", "productimg", "pkgset", "gather", "extra_files", "createrepo"]
# GENERAL SETTINGS
bootable = False
comps_file = {
'scm': 'git',
'repo': 'https://pagure.io/fedora-comps.git',
'branch': 'master',
'file': 'comps-f29.xml',
'command': 'make comps-f29.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['429476B4'] # None = unsigned
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['aarch64', 'ppc64le', 's390x', 'x86_64']
# limit tree variants
# if undefined, all variants from variants.xml will be included
tree_variants = ['Cloud']
hashed_directories = True
# RUNROOT settings
runroot = True
#runroot_channel = 'fedora_compose'
runroot_channel = 'compose'
runroot_tag = 'f29-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
pkgset_koji_tag = 'f29-updates'
pkgset_koji_inherit = True
filter_system_release_packages = False
# GATHER
gather_source = 'comps'
gather_method = 'deps'
gather_profiler = True
check_deps = False
greedy_method = 'build'
# fomat: [(variant_uid_regex, {arch|*: [repos]})]
# gather_lookaside_repos = []
# GATHER - JSON
# format: {variant_uid: {arch: package: [arch1, arch2, None (for any arch)]}}
#gather_source_mapping = '/path/to/mapping.json'
# CREATEREPO
createrepo_c = True
createrepo_checksum = 'sha256'
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s'
#jigdo
create_jigdo = False
#extra_packages = [
# '/mnt/packages/foo*',
#]
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
additional_packages = [
('.*', {
'*': [
'kernel.*',
'dracut.*',
'autocorr-.*',
'eclipse-nls-.*',
'hunspell-.*',
'hyphen-.*',
'calligra-l10n-.*',
'kde-l10n-.*',
'libreoffice-langpack-.*',
'man-pages-.*',
'mythes-.*',
],
}),
('^Everything$', {
'*': [
'*',
],
}),
('^Server$', {
'*': [
],
}),
('^Workstation$', {
'*': [
],
}),
('^Cloud$', {
'*': [
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
})
]
filter_packages = [
('(Workstation|Server)$', {
'*': [
'kernel*debug*',
'kernel-kdump*',
'kernel-tools*',
'syslog-ng*',
'astronomy-bookmarks',
'generic*',
'GConf2-dbus*',
'bluez-gnome',
'java-1.8.0-openjdk',
'community-mysql*',
'jruby*',
'gimp-help-*',
]
}),
]
# format: {arch|*: [packages]}
multilib_blacklist = {
'*': ['kernel', 'kernel-PAE*', 'kernel*debug*',
'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel',
'php-devel', 'java-*',
'httpd-devel', 'tomcat-native', 'php*', 'httpd',
'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*'
],
}
# format: {arch|*: [packages]}
multilib_whitelist = {
'*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper',
'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb',
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs',
'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc',
'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust',
'mariadb-connector-odbc', 'compiler-rt'
],
}
createiso_skip = [
('^Workstation$', {
'*': True,
'src': True
}),
('^Server$', {
'src': True
}),
('^Cloud$', {
'*': True,
'src': True
}),
('^Everything$', {
'*': True,
'src': True
}),
]
# fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})]
#extra_files = [
# ('^(Server|Workstation|Cloud)$', {
# '*': [
# {
# 'scm': 'rpm',
# 'repo': 'fedora-release-%(variant_id_lower)s',
# 'branch': None,
# 'file': [
# '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-release',
# ],
# 'target': '',
# },
# ],
# }),
#]
# Image name respecting Fedora's image naming policy
image_name_format = 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s.%(respin)s.iso'
# # Use the same format for volume id
image_volid_formats = [
'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s'
]
# No special handling for layered products, use same format as for regular images
image_volid_layered_product_formats = []
# Replace 'Cloud' with 'C' in volume id etc.
volume_id_substitutions = {
'Beta': 'B',
'Rawhide': 'rawh',
'Astronomy_KDE': 'AstK',
'Silverblue': 'SB',
'Cinnamon': 'Cinn',
'Cloud': 'C',
'Design_suite': 'Dsgn',
'Electronic_Lab': 'Elec',
'Everything': 'E',
'Games': 'Game',
'Images': 'img',
'Jam_KDE': 'Jam',
'MATE_Compiz': 'MATE',
# Note https://pagure.io/pungi-fedora/issue/533
'Python-Classroom': 'Clss',
'Python_Classroom': 'Clss',
'Robotics': 'Robo',
'Scientific_KDE': 'SciK',
'Security': 'Sec',
'Server': 'S',
'-Workstation-': '-WS-',
}
disc_types = {
'boot': 'netinst',
'live': 'Live',
}
translate_paths = [
('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'),
]
image_build = {
'^Cloud$': [
{
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')],
'name': 'Fedora-Cloud-Base',
'target': 'f29',
'version': '29',
'release': None,
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f29',
'kickstart': 'fedora-cloud-base.ks',
'distro': 'Fedora-22',
'disk_size': 4,
'arches': ['aarch64', 'ppc64le', 's390x', 'x86_64'],
'repo': [
'https://kojipkgs.fedoraproject.org/compose/updates/f29-updates/compose/Everything/$arch/os/'
'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/'
],
'install_tree_from': 'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/',
'subvariant': 'Cloud_Base'
}
},
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
'name': 'Fedora-Cloud-Base-Vagrant',
'target': 'f29',
'version': '29',
'release': None,
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f29',
'kickstart': 'fedora-cloud-base-vagrant.ks',
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64'],
'repo': [
'https://kojipkgs.fedoraproject.org/compose/updates/f29-updates/compose/Everything/$arch/os/'
'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/'
],
'install_tree_from': 'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/',
'subvariant': 'Cloud_Base',
}
},
],
}
koji_profile = 'compose_koji'

View File

@ -1,265 +0,0 @@
# PRODUCT INFO
release_name = 'Fedora-Container'
release_short = 'Fedora-Container'
release_version = '29'
release_is_layered = False
skip_phases = ["buildinstall", "productimg", "pkgset", "gather", "extra_files", "createrepo"]
# GENERAL SETTINGS
bootable = False
comps_file = {
'scm': 'git',
'repo': 'https://pagure.io/fedora-comps.git',
'branch': 'master',
'file': 'comps-f29.xml',
'command': 'make comps-f29.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['429476B4'] # None = unsigned
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['armhfp', 'aarch64', 'ppc64le', 's390x', 'x86_64']
# limit tree variants
# if undefined, all variants from variants.xml will be included
tree_variants = ['Container']
hashed_directories = True
# RUNROOT settings
runroot = True
#runroot_channel = 'fedora_compose'
runroot_channel = 'compose'
runroot_tag = 'f29-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
pkgset_koji_tag = 'f29-updates'
pkgset_koji_inherit = True
filter_system_release_packages = False
# GATHER
gather_source = 'comps'
gather_method = 'deps'
gather_profiler = True
check_deps = False
greedy_method = 'build'
# fomat: [(variant_uid_regex, {arch|*: [repos]})]
# gather_lookaside_repos = []
# GATHER - JSON
# format: {variant_uid: {arch: package: [arch1, arch2, None (for any arch)]}}
#gather_source_mapping = '/path/to/mapping.json'
# CREATEREPO
createrepo_c = True
createrepo_checksum = 'sha256'
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s'
#jigdo
create_jigdo = False
#extra_packages = [
# '/mnt/packages/foo*',
#]
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
additional_packages = [
('.*', {
'*': [
'kernel.*',
'dracut.*',
'autocorr-.*',
'eclipse-nls-.*',
'hunspell-.*',
'hyphen-.*',
'calligra-l10n-.*',
'kde-l10n-.*',
'libreoffice-langpack-.*',
'man-pages-.*',
'mythes-.*',
],
}),
('^Everything$', {
'*': [
'*',
],
}),
('^Server$', {
'*': [
],
}),
('^Workstation$', {
'*': [
],
}),
('^Cloud$', {
'*': [
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
})
]
filter_packages = [
('(Workstation|Server)$', {
'*': [
'kernel*debug*',
'kernel-kdump*',
'kernel-tools*',
'syslog-ng*',
'astronomy-bookmarks',
'generic*',
'GConf2-dbus*',
'bluez-gnome',
'java-1.8.0-openjdk',
'community-mysql*',
'jruby*',
'gimp-help-*',
]
}),
]
# format: {arch|*: [packages]}
multilib_blacklist = {
'*': ['kernel', 'kernel-PAE*', 'kernel*debug*',
'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel',
'php-devel', 'java-*',
'httpd-devel', 'tomcat-native', 'php*', 'httpd',
'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*'
],
}
# format: {arch|*: [packages]}
multilib_whitelist = {
'*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper',
'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb',
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs',
'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc',
'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust',
'mariadb-connector-odbc', 'compiler-rt'
],
}
createiso_skip = [
('^Workstation$', {
'*': True,
'src': True
}),
('^Server$', {
'src': True
}),
('^Cloud$', {
'*': True,
'src': True
}),
('^Everything$', {
'*': True,
'src': True
}),
]
# fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})]
#extra_files = [
# ('^(Server|Workstation|Cloud)$', {
# '*': [
# {
# 'scm': 'rpm',
# 'repo': 'fedora-release-%(variant_id_lower)s',
# 'branch': None,
# 'file': [
# '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-release',
# ],
# 'target': '',
# },
# ],
# }),
#]
# Image name respecting Fedora's image naming policy
image_name_format = 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s.%(respin)s.iso'
# # Use the same format for volume id
image_volid_formats = [
'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s'
]
# No special handling for layered products, use same format as for regular images
image_volid_layered_product_formats = []
# Replace 'Cloud' with 'C' in volume id etc.
volume_id_substitutions = {
'Beta': 'B',
'Rawhide': 'rawh',
'Astronomy_KDE': 'AstK',
'Silverblue': 'SB',
'Cinnamon': 'Cinn',
'Cloud': 'C',
'Design_suite': 'Dsgn',
'Electronic_Lab': 'Elec',
'Everything': 'E',
'Games': 'Game',
'Images': 'img',
'Jam_KDE': 'Jam',
'MATE_Compiz': 'MATE',
# Note https://pagure.io/pungi-fedora/issue/533
'Python-Classroom': 'Clss',
'Python_Classroom': 'Clss',
'Robotics': 'Robo',
'Scientific_KDE': 'SciK',
'Security': 'Sec',
'Server': 'S',
'-Workstation-': '-WS-',
}
disc_types = {
'boot': 'netinst',
'live': 'Live',
}
translate_paths = [
('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'),
]
# These will be inherited by live_media, live_images and image_build
global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f29'
global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN'
global_version = '29'
global_target = 'f29'
image_build = {
'^Container$': [
{
'image-build': {
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Container-Base',
'kickstart': 'fedora-container-base.ks',
'distro': 'Fedora-22',
'disk_size': 5,
'arches': ['armhfp', 'aarch64', 'ppc64le', 's390x', 'x86_64'],
'install_tree_from': 'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/',
'repo': [
'https://kojipkgs.fedoraproject.org/compose/updates/f29-updates/compose/Everything/$arch/os/'
'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/'
],
'subvariant': 'Container_Base'
},
'factory-parameters': {
'dockerversion': "1.10.1",
'docker_cmd': '[ "/bin/bash" ]',
'docker_env': '[ "DISTTAG=f29container", "FGC=f29" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "29"}',
},
},
{
'image-build': {
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Container-Minimal-Base',
'kickstart': 'fedora-container-base-minimal.ks',
'distro': 'Fedora-22',
'disk_size': 5,
'arches': ['armhfp', 'aarch64', 'ppc64le', 's390x', 'x86_64'],
'install_tree_from': 'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/',
'repo': [
'https://kojipkgs.fedoraproject.org/compose/updates/f29-updates/compose/Everything/$arch/os/'
'https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/'
],
'subvariant': 'Container_Minimal_Base',
},
'factory-parameters': {
'dockerversion': "1.10.1",
'docker_cmd': '[ "/bin/bash" ]',
'docker_env': '[ "DISTTAG=f29container", "FGC=f29" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "29"}',
},
}
],
}
koji_profile = 'compose_koji'

View File

@ -1,809 +0,0 @@
# PRODUCT INFO
release_name = 'Fedora'
release_short = 'Fedora'
release_version = 'Rawhide'
release_is_layered = False
# GENERAL SETTINGS
bootable = True
comps_file = {
'scm': 'git',
'repo': 'https://pagure.io/fedora-comps.git',
'branch': 'master',
'file': 'comps-rawhide.xml',
'command': 'make comps-rawhide.xml'
}
module_defaults_dir = {
'scm': 'git',
'repo': 'https://pagure.io/releng/fedora-module-defaults.git',
'branch': 'master',
'dir': '.'
}
variants_file='variants-fedora.xml'
sigkeys = ['3C3359C4']
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['aarch64', 'armhfp', 'i386', 'ppc64le', 's390x', 'x86_64']
# limit tree variants
# if undefined, all variants from variants.xml will be included
#tree_variants = ['Server']
hashed_directories = True
# RUNROOT settings
runroot = True
runroot_channel = 'compose'
runroot_tag = 'f31-build'
## PDC settings
pdc_url = 'https://pdc.fedoraproject.org/rest_api/v1'
pdc_insecure = False
# This option will skip getting an authentication token via Kerberos.
pdc_develop = True
# PKGSET
pkgset_source = 'koji' # koji, repos
# PKGSET - REPOS
# pkgset_repos format: {arch: [repo1_url, repo2_url, ...]}
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f31'
pkgset_koji_inherit = False
filter_system_release_packages = False
# GATHER
gather_method = {
'^.*': { # For all variants
'comps': 'deps', # resolve dependencies for packages from comps file
'module': 'nodeps', # but not for packages from modules
}
}
gather_backend = 'dnf'
gather_profiler = True
check_deps = False
greedy_method = 'build'
repoclosure_backend = 'dnf'
# fomat: [(variant_uid_regex, {arch|*: [repos]})]
# gather_lookaside_repos = []
# GATHER - JSON
# format: {variant_uid: {arch: package: [arch1, arch2, None (for any arch)]}}
#gather_source_mapping = '/path/to/mapping.json'
# CREATEREPO
createrepo_deltas = False
createrepo_database = True
createrepo_use_xz = True
createrepo_extra_args = ['--zck', '--zck-dict-dir=/usr/share/fedora-repo-zdicts/rawhide']
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = '%(release_short)s-%(variant)s-%(version)s-%(arch)s-%(date)s%(type_suffix)s.%(respin)s'
#jigdo
create_jigdo = False
# CREATEISO
iso_hfs_ppc64le_compatible = False
# BUILDINSTALL
buildinstall_method = 'lorax'
buildinstall_skip = [
('^Modular$', {
'*': True
}),
]
# Enables macboot on x86_64 for all variants and disables upgrade image building
# everywhere.
# Use 3GB image size for ppc64le.
lorax_options = [
('^.*$', {
'x86_64': {
'nomacboot': False
},
'ppc64le': {
'rootfs_size': 3
},
'*': {
'noupgrade': True
}
})
]
#extra_packages = [
# '/mnt/packages/foo*',
#]
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
additional_packages = [
('^(Workstation|Server|Everything)$', {
'*': [
'kernel*',
'dracut*',
'autocorr-*',
'eclipse-nls',
'eclipse-nls-*',
'hunspell-*',
'hyphen-*',
'kde-l10n-*',
'libreoffice-langpack-*',
'man-pages-*',
'mythes-*',
],
}),
('^Everything$', {
'*': [
'*',
],
}),
('^Server$', {
'*': [
],
}),
('^Workstation$', {
'*': [
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
})
]
filter_packages = [
("^.*$", {"*": ["glibc32", "libgcc32"]}),
('(Workstation|Server)$', {
'*': [
'kernel*debug*',
'kernel-kdump*',
'kernel-tools*',
'syslog-ng*',
'astronomy-bookmarks',
'generic*',
'GConf2-dbus*',
'bluez-gnome',
'java-11-openjdk',
'community-mysql*',
'jruby*',
'gimp-help-*',
]
}),
]
# format: {arch|*: [packages]}
multilib_blacklist = {
'*': ['kernel', 'kernel-PAE*', 'kernel*debug*',
'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel',
'php-devel', 'java-*',
'httpd-devel', 'tomcat-native', 'php*', 'httpd',
'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*'
],
}
# format: {arch|*: [packages]}
multilib_whitelist = {
'*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper',
'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb',
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs',
'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc',
'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust',
'mariadb-connector-odbc', 'compiler-rt',
'nvidia-query-resource-opengl-lib',
'ibus-libs', 'ibus-gtk2', 'ibus-gtk3',
'glib-networking'
],
}
createiso_skip = [
('^Workstation$', {
'*': True,
'src': True
}),
('^Server$', {
'src': True
}),
('^Everything$', {
'*': True,
'src': True
}),
('^Modular$', {
'*': True,
'src': True
}),
]
# fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})]
#extra_files = [
# ('^(Server|Workstation)$', {
# '*': [
# {
# 'scm': 'rpm',
# 'repo': 'fedora-release-%(variant_id_lower)s',
# 'branch': None,
# 'file': [
# '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-release',
# ],
# 'target': '',
# },
# ],
# }),
#]
# Image name respecting Fedora's image naming policy
image_name_format = '%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s%(type_suffix)s.%(respin)s.iso'
# # Use the same format for volume id
image_volid_formats = [
'%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(version)s'
]
# No special handling for layered products, use same format as for regular images
image_volid_layered_product_formats = []
# Used by Pungi to replace 'Cloud' with 'C' (etc.) in ISO volume IDs.
# There is a hard 32-character limit on ISO volume IDs, so we use
# these to try and produce short enough but legible IDs. Note this is
# duplicated in Koji for live images, as livemedia-creator does not
# allow Pungi to tell it what volume ID to use. Note:
# https://fedoraproject.org/wiki/User:Adamwill/Draft_fedora_image_naming_policy
# '-Workstation-' is a temporary workaround. See
# https://pagure.io/pungi-fedora/pull-request/525
volume_id_substitutions = {
'Beta': 'B',
'Rawhide': 'rawh',
'Astronomy_KDE': 'AstK',
'Silverblue': 'SB',
'Cinnamon': 'Cinn',
'Cloud': 'C',
'Design_suite': 'Dsgn',
'Electronic_Lab': 'Elec',
'Everything': 'E',
'Games': 'Game',
'Images': 'img',
'Jam_KDE': 'Jam',
'MATE_Compiz': 'MATE',
# Note https://pagure.io/pungi-fedora/issue/533
'Python-Classroom': 'Clss',
'Python_Classroom': 'Clss',
'Robotics': 'Robo',
'Scientific_KDE': 'SciK',
'Security': 'Sec',
'Server': 'S',
'-Workstation-': '-WS-',
}
disc_types = {
'boot': 'netinst',
'live': 'Live',
}
translate_paths = [
('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'),
]
# These will be inherited by live_media, live_images and image_build
global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#HEAD'
global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN'
global_version = 'Rawhide'
# live_images ignores this in favor of live_target
global_target = 'f31'
image_build = {
'^Container$': [
{
'image-build': {
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Container-Base',
'kickstart': 'fedora-container-base.ks',
'distro': 'Fedora-22',
'disk_size': 5,
'arches': ['armhfp', 'aarch64', 'ppc64le', 's390x', 'x86_64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Container_Base',
'failable': ['*'],
},
'factory-parameters': {
'dockerversion': "1.10.1",
'docker_cmd': '[ "/bin/bash" ]',
'docker_env': '[ "DISTTAG=f31container", "FGC=f31" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "31"}',
},
},
{
'image-build': {
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Container-Minimal-Base',
'kickstart': 'fedora-container-base-minimal.ks',
'distro': 'Fedora-22',
'disk_size': 5,
'arches': ['armhfp', 'aarch64', 'ppc64le', 's390x', 'x86_64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Container_Minimal_Base',
'failable': ['*'],
},
'factory-parameters': {
'dockerversion': "1.10.1",
'docker_cmd': '[ "/bin/bash" ]',
'docker_env': '[ "DISTTAG=f31container", "FGC=f31" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "31"}',
},
}
],
'^Cloud$': [
{
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz'), ('vmdk','vmdk')],
'name': 'Fedora-Cloud-Base',
'kickstart': 'fedora-cloud-base.ks',
'distro': 'Fedora-22',
'disk_size': 4,
'arches': ['aarch64', 'ppc64le', 's390x', 'x86_64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cloud_Base',
'failable': ['ppc64le', 's390x'],
}
},
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')],
'name': 'Fedora-Cloud-Base-Vagrant',
'kickstart': 'fedora-cloud-base-vagrant.ks',
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cloud_Base',
'failable': ['*'],
},
},
],
'^Labs$': [
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')],
'name': 'Fedora-Python-Classroom-Vagrant',
'kickstart': 'fedora-python-classroom-vagrant.ks',
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64','i386'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Python_Classroom',
'failable': ['*'],
},
'factory-parameters': {
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
}
},
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')],
'name': 'Fedora-Scientific-Vagrant',
'kickstart': 'fedora-scientific-vagrant.ks',
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64','i386'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific',
'failable': ['*'],
},
'factory-parameters': {
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
}
},
],
'^Spins': [
{
'image-build': {
'format': [('raw-xz','raw.xz')],
'name': 'Fedora-Minimal',
'kickstart': 'fedora-disk-minimal.ks',
'distro': 'Fedora-22',
'disk_size': 5,
'arches': ['armhfp', 'aarch64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Minimal',
'failable': ['*'],
}
},
],
'^Workstation$': [
{
'image-build': {
'format': [('raw-xz','raw.xz')],
'name': 'Fedora-Workstation',
'kickstart': 'fedora-disk-workstation.ks',
'distro': 'Fedora-22',
'disk_size': 11,
'arches': ['armhfp', 'aarch64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Workstation',
'failable': ['*'],
}
},
],
'^Server$': [
{
'image-build': {
'format': [('raw-xz','raw.xz')],
'name': 'Fedora-Server',
'kickstart': 'fedora-disk-server.ks',
'distro': 'Fedora-22',
'disk_size': 7,
'arches': ['armhfp', 'aarch64'],
'repo': 'Server',
'install_tree_from': 'Server',
'subvariant': 'Server',
'failable': ['*'],
}
},
],
}
live_media = {
'^Workstation$': [
{
'name': 'Fedora-Workstation-Live',
'kickstart': 'fedora-live-workstation.ks',
'arches': ['x86_64', 'i386'],
'failable': ['i386'],
'repo': 'Everything',
'subvariant': 'Workstation'
}
],
'^Spins': [
{
'name': 'Fedora-KDE-Live',
'kickstart': 'fedora-live-kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['i386'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'KDE'
},
{
'name': 'Fedora-Xfce-Live',
'kickstart': 'fedora-live-xfce.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce'
},
{
'name': 'Fedora-SoaS-Live',
'kickstart': 'fedora-live-soas.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'SoaS'
},
{
'name': 'Fedora-Cinnamon-Live',
'kickstart': 'fedora-live-cinnamon.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cinnamon'
},
{
'name': 'Fedora-LXDE-Live',
'kickstart': 'fedora-live-lxde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXDE'
},
{
'name': 'Fedora-MATE_Compiz-Live',
'kickstart': 'fedora-live-mate_compiz.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Mate'
},
{
'name': 'Fedora-LXQt-Live',
'kickstart': 'fedora-live-lxqt.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXQt'
}
],
'^Labs$': [
{
'name': 'Fedora-Astronomy_KDE-Live',
'kickstart': 'fedora-live-astronomy_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Astronomy_KDE'
},
{
'name': 'Fedora-Design_suite-Live',
'kickstart': 'fedora-live-design_suite.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Design_suite'
},
{
'name': 'Fedora-Scientific_KDE-Live',
'kickstart': 'fedora-live-scientific_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific_KDE'
},
{
'name': 'Fedora-Games-Live',
'kickstart': 'fedora-live-games.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Games'
},
{
'name': 'Fedora-Security-Live',
'kickstart': 'fedora-live-security.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Security'
},
{
'name': 'Fedora-Jam_KDE-Live',
'kickstart': 'fedora-live-jam_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Jam_KDE'
},
{
'name': 'Fedora-Robotics-Live',
'kickstart': 'fedora-live-robotics.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Robotics'
},
{
'name': 'Fedora-Python-Classroom-Live',
'kickstart': 'fedora-live-python-classroom.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Python_Classroom'
}
],
}
failable_deliverables = [
('^Server$', {
'*': ['buildinstall', 'iso'],
}),
('^.*$', {
# Buildinstall is non blocking
'src': ['buildinstall'],
# Nothing on i386, ppc64le blocks the compose
'i386': ['buildinstall', 'iso'],
'ppc64le': ['buildinstall', 'iso'],
's390x': ['buildinstall', 'iso'],
})
]
live_target = 'f31'
live_images_no_rename = True
# fomat: [(variant_uid_regex, {arch|*: scm_dict})]
live_images = [
('^Workstation$', {
'armhfp': {
'kickstart': 'fedora-arm-workstation.ks',
'name': 'Fedora-Workstation-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Server$', {
'armhfp': {
'kickstart': 'fedora-arm-server.ks',
'name': 'Fedora-Server-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Spins$', {
'armhfp': [{
'kickstart': 'fedora-arm-kde.ks',
'name': 'Fedora-KDE-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'KDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-lxde.ks',
'name': 'Fedora-LXDE-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'LXDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-mate.ks',
'name': 'Fedora-Mate-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'Mate',
'failable': True,
},
{
'kickstart': 'fedora-arm-minimal.ks',
'name': 'Fedora-Minimal-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'Minimal',
'failable': False,
},
{
'kickstart': 'fedora-arm-soas.ks',
'name': 'Fedora-SoaS-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'SoaS',
'failable': True,
},
{
'kickstart': 'fedora-arm-xfce.ks',
'name': 'Fedora-Xfce-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'Xfce',
'failable': False,
},
{
'kickstart': 'fedora-arm-lxqt.ks',
'name': 'Fedora-LXQt-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'LXQt',
'failable': True,
},]
}),
('^Labs$', {
'armhfp': {
'kickstart': 'fedora-arm-python-classroom.ks',
'name': 'Fedora-Python-Classroom-armhfp',
'repo': 'Everything',
'type': 'appliance',
'subvariant': 'Python_Classroom',
'failable': True,
}
}),
]
ostree = {
"^Silverblue$": {
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"force_new_commit": True,
"treefile": "fedora-silverblue.yaml",
"config_url": "https://pagure.io/workstation-ostree-config.git",
"config_branch": "master",
"repo": "Everything",
"tag_ref": False,
"ostree_repo": "/mnt/koji/compose/ostree/repo/",
"ostree_ref": "fedora/rawhide/${basearch}/silverblue",
"arches": ["x86_64", "ppc64le", "aarch64"],
"failable": ['*'],
}
}
ostree_installer = [
("^Silverblue$", {
"x86_64": {
"repo": "Everything",
"release": None,
"rootfs_size": "8",
"add_template": ["ostree-based-installer/lorax-configure-repo.tmpl",
"ostree-based-installer/lorax-embed-repo.tmpl"],
"add_template_var": [
"ostree_install_repo=https://kojipkgs.fedoraproject.org/compose/ostree/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org",
"ostree_osname=fedora",
"ostree_oskey=fedora-31-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist",
"ostree_install_ref=fedora/rawhide/x86_64/silverblue",
"ostree_update_ref=fedora/rawhide/x86_64/silverblue",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'failable': ['*'],
},
"ppc64le": {
"repo": "Everything",
"release": None,
"rootfs_size": "8",
"add_template": ["ostree-based-installer/lorax-configure-repo.tmpl",
"ostree-based-installer/lorax-embed-repo.tmpl"],
"add_template_var": [
"ostree_install_repo=https://kojipkgs.fedoraproject.org/compose/ostree/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org",
"ostree_osname=fedora",
"ostree_oskey=fedora-31-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist",
"ostree_install_ref=fedora/rawhide/ppc64le/silverblue",
"ostree_update_ref=fedora/rawhide/ppc64le/silverblue",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'failable': ['*'],
},
"aarch64": {
"repo": "Everything",
"release": None,
"rootfs_size": "8",
"add_template": ["ostree-based-installer/lorax-configure-repo.tmpl",
"ostree-based-installer/lorax-embed-repo.tmpl"],
"add_template_var": [
"ostree_install_repo=https://kojipkgs.fedoraproject.org/compose/ostree/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org",
"ostree_osname=fedora",
"ostree_oskey=fedora-31-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist",
"ostree_install_ref=fedora/rawhide/aarch64/silverblue",
"ostree_update_ref=fedora/rawhide/aarch64/silverblue",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'failable': ['*'],
}
})
]
koji_profile = 'compose_koji'

View File

@ -1,222 +0,0 @@
#!/bin/sh
export LC_ALL=C
CONFIG="fedora.conf"
TARGET_DIR="/mnt/koji/compose/rawhide"
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
NIGHTLY="--nightly"
SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
SHORT="Fedora"
RELEASE="rawhide"
RELEASE_TITLE="Rawhide"
COMPSFILE="comps-rawhide.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="devel@lists.fedoraproject.org test@lists.fedoraproject.org"
FROM="Fedora Rawhide Report <rawhide@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
RSYNCTARGET="/pub/fedora/linux/development/$RELEASE"
RSYNCALTTARGET="/pub/alt/development/$RELEASE"
RSYNCSECTARGET="/pub/fedora-secondary/development/$RELEASE"
OSTREESRCREPO="/mnt/koji/compose/ostree/repo/"
OSTREEDESTREPO="/mnt/koji/ostree/repo/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
# uncomment and edit for resuming a failed compose
#COMPOSE_ID="Fedora-23-20150530.n.0"
# assume a releng dir is a git checkout of the releng repo
# if it does not exist clone it
if [ -d releng ]; then
pushd releng
git pull --rebase
popd
else
git clone https://pagure.io/releng.git
fi
# Set up our fedmsg function, using the releng repo definition
FEDMSG_MODNAME="compose"
FEDMSG_CERTPREFIX="releng"
. ./releng/scripts/fedmsg-functions.sh
# Announce that we are starting, even though we don't know the compose_id yet..
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s"}' "$RELEASE" "$ARCH" "$SHORT")
send_fedmsg "${fedmsg_json_start}" ${RELEASE} start
#pushd $TMPDIR
#git clone https://pagure.io/fedora-comps.git && {
# pushd fedora-comps
# make "${COMPSFILE}"
# cp "${COMPSFILE}" $DEST/
# popd
#}
#popd
./releng/scripts/block_retired.py --profile compose_koji
./releng/scripts/block_retired.py --profile compose_koji --namespace=container
CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --notification-script=pungi-wait-for-signed-ostree-handler --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY $SKIP_PHASES"
if [ -z "$COMPOSE_ID" ]; then
CMD="$CMD --target-dir=$TARGET_DIR"
else
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
fi
time $CMD "$@"
if [ "$?" != "0" ]; then
exit 1
fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
# Set this to use later for a few items include depcheck
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
# Public URLs the synced compose will wind up at, we put them in fedmsgs
LOCATION="https://dl.fedoraproject.org$RSYNCTARGET"
ALT_LOCATION="https://dl.fedoraproject.org$RSYNCALTTARGET"
SECONDARY_LOCATION="https://dl.fedoraproject.org$RSYNCSECTARGET"
# Update fedmsg template
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s", "alt_location": "%s", "secondary_location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION", "$ALT_LOCATION", "$SECONDARY_LOCATION")
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "short": "%s", "compose_id": "%s", "location": "%s", "alt_location": "%s", "secondary_location": "%s"}' "$RELEASE" "$ARCH" "$SHORT" "$NEWCOMPOSE_ID", "$LOCATION", "$ALT_LOCATION", "$SECONDARY_LOCATION")
# Fix permissions on the grub efi files and fonts (they're 0600)
chmod -R go+r $DESTDIR/compose/*/*/os/EFI/
if ! compose-changelog -p "$DESTDIR/logs/" "$TARGET_DIR/$OLDCOMPOSE_ID/" "$DESTDIR/" 2>"$DESTDIR/logs/changelog.stderr"; then
# Generating changelog failed. We should not send an empty announcement to
# general public.
TOMAIL=""
VERSION="$(rpm -q compose-utils)"
# Instead report it to rel-eng@ list.
mutt -e "set from=\"$FROM\"" \
-e 'set envelope_from=yes' \
-s "Generating changelog for $NEWCOMPOSE_ID failed (with $VERSION)" \
rel-eng@lists.fedoraproject.org \
< "$DESTDIR/changelog.stderr"
fi
# Figure out a version for broken deps e-mail that goes to package maintainers.
# In Rawhide it's just rawhide, for branched versions we prepend F- to the number.
if [ "$RELEASE" = "rawhide" ]; then
TREENAME="$RELEASE"
else
TREENAME="F-$RELEASE"
fi
# disable sending email for now until we are sure we wont generating mass emails
./releng/scripts/spam-o-matic --nomail --treename="$TREENAME" "$DESTDIR/compose/Everything/" --only-arches i386 ppc64le s390x x86_64> "$DESTDIR/logs/depcheck"
[ -z "$ARCH" ] && {
./releng/scripts/critpath.py --url file://$DESTDIR/compose/Everything/ -o $DESTDIR/logs/critpath.txt rawhide &> $DESTDIR/logs/critpath.log
}
# Tell interested persons that the rsync is starting (zomg!)
send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
# Sync the content to /pub/fedora
if [ ! -d "$RSYNCTARGET" ]; then
mkdir "$RSYNCTARGET"
fi
$RSYNCPREFIX compose-partial-copy --arch=armhfp --arch=x86_64 --arch src \
"$DESTDIR" "$RSYNCTARGET/" \
--variant Everything --variant Cloud --variant Container \
--variant Server --variant Spins --variant Workstation --variant Silverblue --variant Modular \
--link-dest="$RSYNCTARGET/Everything" --exclude=repodata
$RSYNCPREFIX compose-partial-copy --arch=armhfp --arch=x86_64 --arch src \
"$DESTDIR" "$RSYNCTARGET/" \
--variant Everything --variant Cloud --variant Container \
--variant Server --variant Spins --variant Workstation --variant Silverblue --variant Modular \
--link-dest="$RSYNCTARGET/Everything" --delete-after
# aarch64 for Everything Server Cloud Container is primary
$RSYNCPREFIX compose-partial-copy --arch=aarch64 \
"$DESTDIR" "$RSYNCTARGET/" \
--variant Everything --variant Server --variant Cloud --variant Container \
--variant Modular \
--link-dest="$RSYNCTARGET/Everything" --exclude=repodata
$RSYNCPREFIX compose-partial-copy --arch=aarch64 \
"$DESTDIR" "$RSYNCTARGET/" \
--variant Everything --variant Server --variant Cloud --variant Container \
--variant Modular \
--link-dest="$RSYNCTARGET/Everything" --delete-after
$RSYNCPREFIX rm "$RSYNCTARGET/.composeinfo"
$RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name "$NEWCOMPOSE_ID"
# Sync the content to /pub/alt
if [ ! -d "$RSYNCALTTARGET" ]; then
mkdir "$RSYNCALTTARGET"
fi
$RSYNCPREFIX compose-partial-copy --arch=armhfp --arch=x86_64 \
"$DESTDIR" "$RSYNCALTTARGET/" \
--variant Labs \
--link-dest="$RSYNCTARGET/Everything/" --exclude=repodata
$RSYNCPREFIX compose-partial-copy --arch=armhfp --arch=x86_64 \
"$DESTDIR" "$RSYNCALTTARGET/" \
--variant Labs \
--link-dest="$RSYNCTARGET/Everything/" --delete-after
$RSYNCPREFIX rm "$RSYNCALTTARGET/.composeinfo"
$RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCALTTARGET/" --name "$NEWCOMPOSE_ID"
# Sync the content to /pub/fedora-secondary
if [ ! -d "$RSYNCSECTARGET" ]; then
mkdir "$RSYNCSECTARGET"
fi
$RSYNCPREFIX compose-partial-copy --arch=i386 --arch=ppc64le --arch=s390x \
"$DESTDIR" "$RSYNCSECTARGET/" \
--variant Everything --variant Cloud --variant Container \
--variant Labs --variant Server --variant Spins --variant Workstation --variant Modular \
--link-dest="$RSYNCTARGET/Everything/" --link-dest="$RSYNCSECTARGET/Everything/" --exclude=repodata
$RSYNCPREFIX compose-partial-copy --arch=i386 --arch=ppc64le --arch=s390x \
"$DESTDIR" "$RSYNCSECTARGET/" \
--variant Everything --variant Cloud --variant Container \
--variant Labs --variant Server --variant Spins --variant Workstation --variant Modular \
--link-dest="$RSYNCTARGET/Everything/" --link-dest="$RSYNCSECTARGET/Everything/" --delete-after
# aarch64 is alternative for Labs Spins Workstation
$RSYNCPREFIX compose-partial-copy --arch=aarch64 \
"$DESTDIR" "$RSYNCSECTARGET/" \
--variant Labs --variant Spins --variant Workstation \
--link-dest="$RSYNCTARGET/Everything/" --exclude=repodata
$RSYNCPREFIX compose-partial-copy --arch=aarch64 \
"$DESTDIR" "$RSYNCSECTARGET/" \
--variant Labs --variant Spins --variant Workstation \
--link-dest="$RSYNCTARGET/Everything/" --delete-after
$RSYNCPREFIX rm "$RSYNCSECTARGET/.composeinfo"
$RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCSECTARGET/" --name "$NEWCOMPOSE_ID"
# sync Silverblue to the unified ostree repo
for arch in x86_64 ppc64le aarch64; do
ref="fedora/rawhide/${arch}/silverblue"
if ! ostree --repo=$OSTREESRCREPO rev-parse "${ref}"; then continue; fi
ostree pull-local --repo=$OSTREEDESTREPO $OSTREESRCREPO --depth=-1 "${ref}"
ostree summary -u --repo=$OSTREEDESTREPO # update summary file
done
# Push rawhide base container image to fedora registry
pushd ./releng
pushd ./scripts
./sync-latest-container-base-image.sh 31
popd
popd
# Tell interested persons that the rsync is done.
send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete
# Tell everyone by fedmsg about the compose
send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete
# Tell everyone by email about the compose
# "$DESTDIR/logs/depcheck" lets not cat out depcheck for now as it does
# not understand rich dependencies
SUBJECT='Fedora '$RELEASE' compose report: '$SHORTCOMPOSE_ID' changes'
for tomail in $TOMAIL ; do
cat $DESTDIR/logs/*verbose | \
mutt -e "set from=\"$FROM\"" -e 'set envelope_from=yes' -s "$SUBJECT" $tomail
done
# Removed all the older than 14 days composes
find $TARGET_DIR -xdev -depth -maxdepth 2 -mtime +14 -exec rm -rf {} \;
send_fedmsg "${fedmsg_json_done}" ${RELEASE} cleanup.complete

View File

@ -1,32 +0,0 @@
#!/bin/sh
export LC_ALL=C
LABEL=$1
# Remove the label from arguments. It gets special treatment. Other arguments
# to the script are passed to pungi-koji directly.
shift
CONFIG="fedora-final.conf"
TARGET_DIR="/mnt/koji/compose/26"
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
NIGHTLY=""
SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
COMPSFILE="comps-f26.xml"
TMPDIR=`mktemp -d /tmp/fedoraRC.$DATE.XXXX`
# uncomment and edit for resuming a failed compose
#COMPOSE_ID="Fedora-23-20150530.n.0"
pushd $TMPDIR
git clone https://pagure.io/fedora-comps.git && {
pushd fedora-comps
make "${COMPSFILE}"
cp "${COMPSFILE}" $DEST/
popd
}
popd
CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY $SKIP_PHASES --label=$LABEL"
if [ -z "$COMPOSE_ID" ]; then
CMD="$CMD --target-dir=$TARGET_DIR"
else
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
fi
time $CMD "$@"

View File

@ -1,139 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE variants PUBLIC "-//Red Hat, Inc.//DTD Variants info//EN" "variants2012.dtd">
<variants>
<variant id="Cloud" name="Cloud" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
</variant>
<variant id="Container" name="Container" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>armhfp</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
</variant>
<variant id="Everything" name="Everything" type="variant">
<arches>
<arch>aarch64</arch>
<arch>armhfp</arch>
<arch>i386</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
</variant>
<variant id="Labs" name="Labs" type="variant" is_empty="true">
<arches>
<arch>armhfp</arch>
<arch>i386</arch>
<arch>x86_64</arch>
</arches>
</variant>
<variant id="Server" name="Server" type="variant">
<arches>
<arch>armhfp</arch>
<arch>aarch64</arch>
<arch>i386</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">guest-agents</group>
<group default="true">standard</group>
<group default="true">core</group>
<group default="true">hardware-support</group>
<group default="true">networkmanager-submodules</group>
<group default="true">^server-product-environment</group>
<group default="true">server-product</group>
<group default="true">headless-management</group>
<group default="true">container-management</group>
<group default="true">domain-client</group>
<group default="true">server-hardware-support</group>
<group default="true">sql-server</group>
<group default="true">web-server</group>
<group default="true">freeipa-server</group>
<group default="true">mail-server</group>
<group default="true">smb-server</group>
<group default="true">virtualization-headless</group>
<group default="true">ansible-node</group>
<group default="true">editors</group>
<group default="true">arm-tools</group>
<!-- Things needed for installation -->
<group default="true">anaconda-tools</group>
<group default="true">platform-vmware</group>
</groups>
<environments>
<environment display_order="2">server-product-environment</environment>
<environment display_order="99">custom-environment</environment>
</environments>
</variant>
<variant id="Spins" name="Spins" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>armhfp</arch>
<arch>i386</arch>
<arch>x86_64</arch>
</arches>
</variant>
<variant id="Workstation" name="Workstation" type="variant">
<arches>
<arch>aarch64</arch>
<arch>armhfp</arch>
<arch>i386</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">base-x</group>
<group default="true">container-management</group>
<group default="true">core</group>
<group default="true">firefox</group>
<group default="true">fonts</group>
<group default="true">gnome-desktop</group>
<group default="true">guest-desktop-agents</group>
<group default="true">hardware-support</group>
<group default="true">libreoffice</group>
<group default="true">multimedia</group>
<group default="true">networkmanager-submodules</group>
<group default="true">printing</group>
<group default="true">workstation-ostree-support</group>
<group default="true">workstation-product</group>
<group default="true">virtualization</group>
<group default="true">arm-tools</group>
<!-- Things needed for installation -->
<group default="true">anaconda-tools</group>
<group default="true">platform-vmware</group>
</groups>
<environments>
<environment display_order="10">workstation-product-environment</environment>
</environments>
</variant>
<variant id="Silverblue" name="Silverblue" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>armhfp</arch>
<arch>i386</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
</arches>
</variant>
<variant id="Modular" name="Modular" type="variant">
<arches>
<arch>armhfp</arch>
<arch>aarch64</arch>
<arch>i386</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
<modules>
<kojitag>f31-modular</kojitag>
</modules>
</variant>
</variants>