Compare commits

...

56 Commits

Author SHA1 Message Date
Josh Boyer 5c621a7bd7 Turn on CRB
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:03:08 -04:00
Josh Boyer 3cd1906e70 Add smb-server to AppStream
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:02:56 -04:00
Josh Boyer 87a668be2e Adjust the CRB name
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:02:42 -04:00
Josh Boyer 6cd6adb2d8 Add the glibc-langpacks to BaseOS
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:02:30 -04:00
Josh Boyer a9bce89f2e Add kernel packages to BaseOS
Turns out nothing we're pulling into BaseOS via comps actually
depends on the kernel packages directly.  This is great!
Except we need the kernel there.

Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:02:20 -04:00
Josh Boyer 8e60072946 Add hardware-monitoring to AppStream
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:02:09 -04:00
Josh Boyer 576b551ee5 Adjust variants
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
2020-10-26 08:01:53 -04:00
Jan Kaluza 5aa0c12053 ELN: Test compose with comps.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-21 13:16:29 +02:00
Jan Kaluza 4f951639e0 Revert "ELN: Include all modules in Everything variant."
This reverts commit 74cc2d3699.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 20:05:18 +02:00
Jan Kaluza 74cc2d3699 ELN: Include all modules in Everything variant.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 14:36:56 +02:00
Jan Kaluza b6f7afc5e1 ELN: Remove cherry-picked metacity and rng-tools - they are in ELN now.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 14:32:03 +02:00
Jan Kaluza 6b4c854414 ELN: Fix extra_files format...
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 08:25:19 +02:00
Jan Kaluza 5100e65915 ELN: Use EXTRA_FILES also in extra_files configuration option.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 08:23:14 +02:00
Jan Kaluza 9d06f4a4f1 ELN: make extra_isos failable for now so it does not block the compose.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 07:58:18 +02:00
Jan Kaluza 5382df9c66 ELN: Generate extra_isos.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-20 07:35:03 +02:00
Jan Kaluza 2dcf60173f ELN: Add basic comps groups to BaseOS variant.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-09 12:34:28 +02:00
Jan Kaluza 621047615f Use comps-eln.xml instead of comps-rawhide.xml.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-08 20:26:58 +02:00
Jan Kaluza c518711afc ELN: Add prepopulate.json as placeholder and defined gather_method for Buildroot.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-08 08:16:25 +02:00
Jan Kaluza ef9b90b1ce ELN: Use the "global variable" feature to reduce config duplicities.
This moves all the configuration variables from eln.conf to
shared/*.conf files. The configuration itself remains the same,
it is just stored differently.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-07 07:38:00 +02:00
Jan Kaluza 9d29d85adc ELN: Add modules from eln-modular tag to AppStream variant.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-06 09:29:55 +02:00
Jan Kaluza c58ebdf3a0 ELN: Do not cherry-pick shim and cdparanoia builds. They are in ELN now.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-05 15:37:58 +02:00
Jan Kaluza 3ddd461f1b ELN: Enable F34 sigkey.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-05 13:02:17 +02:00
Jan Kaluza d5d93c858e ELN: cherry-pick cdparanoia from fc32 until we build it in ELN.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-03 07:24:01 +02:00
Jan Kaluza 016b980b3e ELN: Try buildinstall without lorax_extra_sources.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-02 13:06:18 +02:00
Stephen Gallagher 46fccfb2d8
Drop ARM v7 from ELN
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2020-10-01 08:31:52 -04:00
Jan Kaluza fffd059837 ELN: Generate gather_source on-the-fly before each compose.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-10-01 08:09:43 +02:00
Jan Kaluza 926e921519 ELN: Update gather_source.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-09-30 20:38:48 +02:00
Jan Kaluža 518f4814d7 Merge #884 `ELN: Try building Fedora-ELN qcow2 image.`
Signed-off-by: Jan Kaluža <jkaluza@redhat.com>
2020-09-23 12:46:30 +00:00
Jan Kaluza f534c08d40 Set disk_size to 10.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-09-23 14:46:10 +02:00
Jan Kaluza 86424911d8 ELN: Try building Fedora-ELN qcow2 image.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-09-22 14:51:21 +02:00
Jan Kaluza 7229ce976b Include all comps groups in Everything.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-09-17 14:11:20 +02:00
Jan Kaluza 6dd2f696bd ELN: Try building Base container image.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-09-16 09:19:17 +02:00
Jan Kaluza d3985bf6d2 ELN: Import missing shared/general and shared/createiso. Move Fedora specific configuration to fedora/override.conf.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-08-31 13:57:51 +02:00
Jan Kaluza 9de872ed0e New ELN compose layout.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-08-28 13:09:21 +02:00
Jan Kaluza 684efd77af [WIP] Test new ELN compose layout.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-08-21 11:24:52 +02:00
Jan Kaluza c25436be03 ELN: Actually enable i386 and also in variants.xml.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-07-08 15:08:00 +02:00
Jan Kaluza 66b99caf70 ELN: Enable i686 architecture.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-07-08 14:43:36 +02:00
Jan Kaluza 27f359a040 ELN: Workaround bug in Pungi when koji tag does not contain any module.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-06-26 14:58:18 +02:00
Jan Kaluza 235b3ea3ec ELN: Add Modular variant.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-06-26 13:37:34 +02:00
Stephen Gallagher 93b0e0a6ab
Add rawhide repository to satisfy missing deps for lorax
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2020-06-17 16:24:36 -04:00
Jan Kaluza b0cb481feb Do not use zck for ELN temporarily, because ODCS has too old createrepo_c.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-06-15 11:19:42 +02:00
Jan Kaluza 0c01957398 ELN: Set bootable=True.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-06-14 07:18:01 +02:00
Jan Kaluza ca6f1c291f ELN: Mark buildinstall as failable for now.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-06-01 11:36:58 +02:00
Jan Kaluza 8bf425f697 ELN: Enable nomacboot for testing.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-05-22 15:56:27 +02:00
Jan Kaluza 9601cfc733 Enable buildinstall temporarily for x86_64 as a test.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-05-22 15:18:53 +02:00
Jan Kaluza d1ec9c08b3 Skip buildinstall again. Tests are over.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-05-19 16:32:32 +02:00
Jan Kaluza 332517cada Enable buildinstall temporarily again for more tests.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-05-18 17:22:28 +02:00
Jan Kaluza 8f0a6b7a08 Disable 'buildinstall' phase enabled temporarily to test ELN.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-05-16 07:02:58 +02:00
Jan Kaluza 189fe9d92c Enable buildinstall temporarily for x86_64 as a test.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-05-15 15:55:29 +02:00
Jan Kaluža d7752e6571 Merge #832 `ELN: Allow reusing old Pungi gather phase results.`
Signed-off-by: Jan Kaluža <jkaluza@redhat.com>
2020-05-10 12:50:15 +00:00
Jan Kaluza e4521cfb80 ELN: Filter out openh264 packages to be 100% they will not appear in the compose.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-04-23 07:10:08 +02:00
Jan Kaluza 3209229b26 ELN: Allow reusing old Pungi gather phase results.
Pungi-4.2.21 has new performance optimization - it can reuse
gather phase results from previous compose runs in certain
situations:

https://pagure.io/pungi/pull-request/1360

This commit enables this for ELN composes.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-04-22 12:44:53 +02:00
Jan Kaluza a60be9fc83 Use Rawhide module-defaults for ELN composes.
The ELN compose should use the same module-defaults as Fedora Rawhide
compose to stay in sync with it.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-04-21 15:47:54 +02:00
Jan Kaluza fb63e4ebed Use comps-rawhide.xml for ELN composes.
The ELN compose should use the same comps file as Fedora Rawhide
compose to stay in sync with it.

Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-04-21 15:28:23 +02:00
Jan Kaluza 113ff010ee Add initial ELN Pungi configuration.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-04-20 07:56:38 +02:00
Jan Kaluza 25e24b2ccb Remove Fedora configuration files.
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
2020-04-20 07:56:38 +02:00
29 changed files with 915 additions and 1880 deletions

View File

@ -1,2 +1,36 @@
This repo holds the config files that define what goes in and comes
out of a Fedora compose using pungi.
This repository holds the config files that define Fedora ELN compose,
Future CentOS Stream compose and Future RHEL compose.
The repository is organized into several directories:
- ``shared`` - Pungi configuration files defining compose options
which are shared between all Fedora ELN, CentOS Stream and RHEL.
There is one Pungi configuration file for each Pungi phase and
also ``general.conf``, ``multilib.conf`` and
``additional_and_filter_packages.conf`` defining compose options
which are not specific for any particular phase.
- ``fedora`` - Pungi configuration files which extend the ``shared``
compose options (and in some cases overrides them) for Fedora ELN
compose.
- ``centos`` - Pungi configuration files which extend the ``shared``
compose options (and in some cases overrides them) for CentOS
compose.
- ``rhel`` - Pungi configuration files which extend the ``shared``
compose options (and in some cases overrides them) for RHEL
compose.
In the main directory, there is one file for each compose which can
be generated from thie configuration files repository. Each config
file imports the ``shared`` configuration files and also the ``fedora``,
``centos`` or ``rhel`` specific overrides.
Compose variants (repositories)
###############################
So far the compose repositories are defined by the Content Resolver.
There is a ``content-resolver-to-gather-source-json`` Python script
which queries the Content Resolver API and generated ``gather_source.json``
which defines which RPM is in which Compose variant.
In the future this will be replaced by comps files, but these are not
defined yet.

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 {} \;

View File

@ -0,0 +1,39 @@
#!/usr/bin/python
import requests
import json
VARIANTS = {
"BaseOS": "https://tiny.distro.builders/repo-split--view-eln--baseos.txt",
"AppStream": "https://tiny.distro.builders/repo-split--view-eln--appstream.txt",
"HighAvailability": "https://tiny.distro.builders/repo-split--view-eln--addon-ha.txt",
"NFV": "https://tiny.distro.builders/repo-split--view-eln--addon-nfv.txt",
"RT": "https://tiny.distro.builders/repo-split--view-eln--addon-rt.txt",
"ResilientStorage": "https://tiny.distro.builders/repo-split--view-eln--addon-rs.txt",
"SAP": "https://tiny.distro.builders/repo-split--view-eln--addon-sap.txt",
"SAPHANA": "https://tiny.distro.builders/repo-split--view-eln--addon-saphana.txt",
"CRB": None,
"Everything": None,
}
TREE_ARCHES = ["aarch64", "armhfp", "ppc64le", "s390x", "x86_64", "i386"]
ret = {}
for name, url in VARIANTS.items():
if url:
r = requests.get(url)
r.raise_for_status()
packages = r.text.split("\n")
else:
packages = []
ret[name] = {}
for arch in TREE_ARCHES:
ret[name][arch] = {}
for pkg in packages:
ret[name][arch][pkg] = [None]
with open("gather_source.json", "w") as f:
f.write(json.dumps(ret))

14
eln.conf Normal file
View File

@ -0,0 +1,14 @@
# This is the default Fedora ELN config template.
#
# DO NOT EDIT this configuration file directly.
#
# For any change which should be propagated also into CentOS and RHEL
# compose, edit the particular configuration file in the "shared" directory.
#
# For any change which should happen only for Fedora ELN, edit the
# "fedora/override.conf" configuration file.
from shared/variables import *
from fedora/variables import *
from shared/all import *
from fedora/override import *

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", "container=oci" ]',
'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", "container=oci" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "29"}',
},
}
],
}
koji_profile = 'compose_koji'

View File

@ -1,836 +0,0 @@
# PRODUCT INFO
release_name = 'Fedora'
release_short = 'Fedora'
release_version = 'Rawhide'
# GENERAL SETTINGS
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 = ['9570FF31']
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['aarch64', 'armhfp', '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_method = 'koji'
runroot_channel = 'compose'
runroot_tag = 'f33-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
# PKGSET - REPOS
# pkgset_repos format: {arch: [repo1_url, repo2_url, ...]}
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f33'
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']
createrepo_num_workers = 10
# 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
}),
('^Everything$', {
'i386': True
}),
]
# Enables macboot on x86_64 for all variants and disables upgrade image building
# everywhere.
# Use 3GB image size for all arches.
lorax_options = [
('^.*$', {
'x86_64': {
'nomacboot': False
},
'*': {
'noupgrade': True,
'rootfs_size': 3
}
})
]
#extra_packages = [
# '/mnt/packages/foo*',
#]
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
additional_packages = [
('^(Server|Everything)$', {
'*': [
'kernel*',
'dracut.*',
'autocorr-*',
'eclipse-nls',
'eclipse-nls-*',
'hunspell-*',
'hyphen-*',
'kde-l10n-*',
'libreoffice-langpack-*',
'man-pages-*',
'mythes-*',
],
}),
('^Everything$', {
'*': [
'*',
],
}),
('^Server$', {
'*': [
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
})
]
filter_packages = [
("^.*$", {"*": ["glibc32", "libgcc32"]}),
('(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-*', 'bash-devel',
'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 = [
('^Server$', {
'src': True
}),
('^Everything$', {
'*': True,
'src': True
}),
('^Modular$', {
'*': True,
'src': True
}),
]
# fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})]
#extra_files = [
# ('^(Server)$', {
# '*': [
# {
# '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',
'Comp_Neuro': 'CNr',
'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 = 'f33'
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=f33container", "FGC=f33", "container=oci" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "33"}',
},
},
{
'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=f33container", "FGC=f33", "container=oci" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "33"}',
},
}
],
'^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'],
'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'],
'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': ['*'],
}
},
{
'image-build': {
'format': [('raw-xz','raw.xz')],
'name': 'Fedora-Xfce',
'kickstart': 'fedora-disk-xfce.ks',
'distro': 'Fedora-22',
'disk_size': 8,
'arches': ['aarch64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce',
'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': ['armhfp'],
}
},
],
'^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', 'ppc64le'],
'failable': ['ppc64le'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Workstation'
}
],
'^Spins': [
{
'name': 'Fedora-KDE-Live',
'kickstart': 'fedora-live-kde.ks',
'arches': ['x86_64'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'KDE'
},
{
'name': 'Fedora-Xfce-Live',
'kickstart': 'fedora-live-xfce.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce'
},
{
'name': 'Fedora-SoaS-Live',
'kickstart': 'fedora-live-soas.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'SoaS'
},
{
'name': 'Fedora-Cinnamon-Live',
'kickstart': 'fedora-live-cinnamon.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cinnamon'
},
{
'name': 'Fedora-LXDE-Live',
'kickstart': 'fedora-live-lxde.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXDE'
},
{
'name': 'Fedora-MATE_Compiz-Live',
'kickstart': 'fedora-live-mate_compiz.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Mate'
},
{
'name': 'Fedora-LXQt-Live',
'kickstart': 'fedora-live-lxqt.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXQt'
}
],
'^Labs$': [
{
'name': 'Fedora-Astronomy_KDE-Live',
'kickstart': 'fedora-live-astronomy_kde.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Astronomy_KDE'
},
{
'name': 'Fedora-Comp_Neuro-Live',
'kickstart': 'fedora-live-comp_neuro.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Comp_Neuro'
},
{
'name': 'Fedora-Design_suite-Live',
'kickstart': 'fedora-live-design_suite.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Design_suite'
},
{
'name': 'Fedora-Scientific_KDE-Live',
'kickstart': 'fedora-live-scientific_kde.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific_KDE'
},
{
'name': 'Fedora-Games-Live',
'kickstart': 'fedora-live-games.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Games'
},
{
'name': 'Fedora-Security-Live',
'kickstart': 'fedora-live-security.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Security'
},
{
'name': 'Fedora-Jam_KDE-Live',
'kickstart': 'fedora-live-jam_kde.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Jam_KDE'
},
{
'name': 'Fedora-Robotics-Live',
'kickstart': 'fedora-live-robotics.ks',
'arches': ['x86_64'],
'failable': ['*'],
'repo': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Robotics'
},
{
'name': 'Fedora-Python-Classroom-Live',
'kickstart': 'fedora-live-python-classroom.ks',
'arches': ['x86_64'],
'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 = 'f33'
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',
'repo': 'Everything',
'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': True,
},
{
'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",
"ostree-based-installer/lorax-embed-flatpaks.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-33-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",
"flatpak_remote_name=fedora",
# using registry-no-cdn avoids redirects to the CDN;
# needed because of network restrictions on koji runroot
"flatpak_remote_url=oci+https://registry-no-cdn.fedoraproject.org",
"flatpak_remote_refs=runtime/org.fedoraproject.Platform/x86_64/f32 app/org.gnome.Baobab/x86_64/stable app/org.gnome.Calculator/x86_64/stable app/org.gnome.Calendar/x86_64/stable app/org.gnome.Characters/x86_64/stable app/org.gnome.clocks/x86_64/stable app/org.gnome.Contacts/x86_64/stable app/org.gnome.eog/x86_64/stable app/org.gnome.Evince/x86_64/stable app/org.gnome.font-viewer/x86_64/stable app/org.gnome.gedit/x86_64/stable app/org.gnome.Logs/x86_64/stable app/org.gnome.Maps/x86_64/stable app/org.gnome.Screenshot/x86_64/stable app/org.gnome.Weather/x86_64/stable",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'extra_runroot_pkgs': ['flatpak'],
'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-33-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist",
"ostree_install_ref=fedora/rawhide/ppc64le/silverblue",
"ostree_update_ref=fedora/rawhide/ppc64le/silverblue",
"flatpak_remote_name=fedora",
# using registry-no-cdn avoids redirects to the CDN;
# needed because of network restrictions on koji runroot
"flatpak_remote_url=oci+https://registry-no-cdn.fedoraproject.org",
"flatpak_remote_refs=",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'extra_runroot_pkgs': ['flatpak'],
'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-33-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/mirrorlist",
"ostree_install_ref=fedora/rawhide/aarch64/silverblue",
"ostree_update_ref=fedora/rawhide/aarch64/silverblue",
"flatpak_remote_name=fedora",
# using registry-no-cdn avoids redirects to the CDN;
# needed because of network restrictions on koji runroot
"flatpak_remote_url=oci+https://registry-no-cdn.fedoraproject.org",
"flatpak_remote_refs=",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'extra_runroot_pkgs': ['flatpak'],
'failable': ['*'],
}
})
]
koji_profile = 'compose_koji'

2
fedora/lorax.conf Normal file
View File

@ -0,0 +1,2 @@
[lorax]
sharedir = /srv/odcs/lorax-templates/templates.d/80-rhel/

127
fedora/override.conf Normal file
View File

@ -0,0 +1,127 @@
# This files overrides default variables defined in the configs in
# the ../shared directory.
# In Fedora, we do not build all variants, because they do not make sense
# in the Fedora world.
tree_variants = ["Everything", "BaseOS", "AppStream", "CRB"]
# Fedora signing keys.
sigkeys = ['45719a39', '9570FF31', 'D300E724']
# Architectures supported by Fedora.
tree_arches = ['aarch64', 'ppc64le', 's390x', 'x86_64', 'i386']
# For Fedora-ELN, we do not inherit builds from parent tags.
pkgset_koji_inherit = False
# Cherry-pick packages which fail to build in ELN from Fedora 33 for now.
pkgset_koji_builds = [
"strace-5.7.0.6.7ab6-1.fc33",
]
# No jigdo needed in Fedora.
create_jigdo = False
# Generate only repositories for now
skip_phases = [
"createiso",
"buildinstall",
"live_media",
"live_images",
"ostree",
"osbs",
"extra_isos",
"image_build"
]
# Enables macboot on x86_64 for all variants and disables upgrade image building
# everywhere.
# Use 3GB image size for all arches.
lorax_options = [
('^.*$', {
'x86_64': {
'nomacboot': True
},
'*': {
'noupgrade': True,
'rootfs_size': 3,
# This is used to use ELN lorax templates instead of Fedora ones.
'configuration_file': 'fedora/lorax.conf'
}
})
]
# Drop the variants we do not care about from the variant_as_lookaside.
variant_as_lookaside = [
("AppStream", "BaseOS"),
("CRB", "BaseOS"),
("CRB", "AppStream"),
]
gather_method = {
'^.*': {
'json': 'deps',
'comps': 'deps',
'module': 'nodeps',
}
}
# No product_id for Fedora.
product_id_allow_missing = False
# 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 = 'ELN'
# live_images ignores this in favor of live_target
global_target = 'eln'
translate_paths = [ # required by image-build
("/srv/odcs", "https://odcs.fedoraproject.org/composes"),
]
image_build = {
'^Everything$': [
{
'image-build': {
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Container-Base',
'kickstart': 'fedora-eln-container-base.ks',
'distro': 'Fedora-22',
'disk_size': 10,
'arches': ['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=elncontainer", "FGC=eln", "container=oci" ]',
'docker_label': '{ "name": "fedora-eln", "license": "MIT", "vendor": "Fedora Project", "version": "9"}',
},
},
],
"^BaseOS$": [
{
"image-build": {
"format": [("qcow2", "qcow2")],
"name": "Fedora-ELN-Guest",
"version": "9.0",
"kickstart": "fedora-eln-guest.ks",
"ksversion": "F26",
"distro": "Fedora-20",
"disk-size": "10",
"arches": ["x86_64"],
'install_tree_from': 'BaseOS',
"repo": ["BaseOS","AppStream","Everything"]
"failable": ["*"],
},
"factory-parameters": {
"generate_icicle": False,
}
}
]
}

46
fedora/variables.conf Normal file
View File

@ -0,0 +1,46 @@
RELEASE_NAME = "Fedora-ELN"
RELEASE_SHORT = "Fedora-ELN"
RELEASE_VERSION = "Rawhide"
RELEASE_VERSION_X = "9"
RELEASE_VERSION_Y = "0"
RELEASE_VERSION_Z = "0"
RELEASE_VERSION_XY = "%s.%s" % (RELEASE_VERSION_X, RELEASE_VERSION_Y)
RELEASE_VERSION_XYZ = "%s.%s.%s" % (RELEASE_VERSION_X, RELEASE_VERSION_Y, RELEASE_VERSION_Z)
COMPS_REPO = "https://pagure.io/fedora-comps.git"
COMPS_BRANCH = "master"
COMPS_FILE = "comps-eln.xml"
COMPS_COMMAND = "make comps-eln.xml"
MODULE_DEFAULTS_REPO = "https://pagure.io/releng/fedora-module-defaults.git"
MODULE_DEFAULTS_BRANCH = "eln"
VARIANTS_REPO = "https://pagure.io/pungi-fedora.git"
VARIANTS_BRANCH = "eln"
VARIANTS_FILE = "variants.xml"
# Generate gather_source.json on-the-fly using the prepopulate scm dict,
# store it into /srv/odcs and use it from there.
GATHER_PREPOPULATE_REPO = "https://pagure.io/pungi-fedora.git"
GATHER_PREPOPULATE_BRANCH = "eln"
GATHER_PREPOPULATE_FILE = "prepopulate.json"
GATHER_PREPOPULATE_COMMAND = ""
RUNROOT_CHANNEL = "compose"
RUNROOT_TAG = "eln-build"
PKGSET_KOJI_TAG = "eln"
PKGSET_KOJI_MODULE_TAG = "eln-modular"
EXTRA_BUILDINSTALL_SKIP = ('^BaseOS$', {
'i386': True,
'aarch64': True,
'ppc64le': True,
's390x': True
})

View File

@ -1,228 +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 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=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=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
# Set the umask to so directories can get group write
# https://pagure.io/releng/issue/8811
old_umask=$(umask)
umask 0002
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
# Set to old umask
umask $old_umask
# Push rawhide base container image to fedora registry
pushd ./releng
pushd ./scripts
./sync-latest-container-base-image.sh 33
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

1
prepopulate.json Normal file
View File

@ -0,0 +1 @@
{}

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

@ -0,0 +1,176 @@
filter_packages = [
("^.*$", {
"*": [
"glibc32",
"libgcc32",
"*openh264*" # https://fedoraproject.org/wiki/Non-distributable-rpms
]
}),
]
additional_packages = [
# Everything contains everything.
('^Everything$', {
'*': [
'*',
],
}),
("^BaseOS$", {
"*": [
"kernel",
"kernel-modules",
"kernel-modules-extra",
"glibc-langpack-*",
]
}),
("^AppStream$", {
"*": [
"cloud-init",
"cloud-utils-growpart",
"dnf-utils",
]
}),
]
#
# filter_packages = [
# ("^(BaseOS|AppStream|HighAvailability|NFV|RT|ResilientStorage)$", {
# "*": [
# "python36", # RCM-42305 - ursine python36 should be only in buildroot
# "gcc-toolset-9-*-testsuite", #RCM-58061
# "gcc-toolset-9-gcc-plugin-devel", #RCM-58061
# ]
# }),
#
# ("^(BaseOS|AppStream|HighAvailability|NFV|RT|ResilientStorage)$", {
# "*": [
# "tuned-profiles-sap", # RCM-53604 - This should be only in SAP
# "tuned-profiles-sap-hana", # RCM-53604 - This should be only in SAPHANA
# ]
# }),
#
# ("^BaseOS$", {
# "*": [
# "compat-openssl10-devel", # RCM-26416
# "compat-openssl10-pkcs11-helper", # RCM-28614
# "openldap-servers-debuginfo", # RCM-28225
# "ongres-scram", # RCM-31750
# ]
# }),
#
# ("^RT$", {
# "*": [
# "kernel-rt-kvm-debuginfo", # RCM-33741
# "kernel-rt-debug-kvm-debuginfo", # RCM-33741
# ]
# }),
#
# ("^.*$", {
# "*": [
# "kernel-*-internal", # RCM-54000
# ]
# }),
# ]
#
# additional_packages = [
# ("^AppStream$", {
# "*": [
# "langpacks-*", #RCM-31103
# "appstream-data", #RhBug 1698813
# "ansible-freeipa", #RCM-57073
# "fapolicyd", #RCM-58975
# "python3-rpmfluff", #RCM-59949
# "gcc-toolset-9", #RCM-61473
# "gcc-toolset-9-annobin", #RCM-62712
# "gcc-toolset-9-binutils", #RCM-60564
# "gcc-toolset-9-binutils-devel",
# "gcc-toolset-9-build",
# "gcc-toolset-9-dwz",
# "gcc-toolset-9-dyninst",
# "gcc-toolset-9-elfutils",
# "gcc-toolset-9-elfutils-devel",
# "gcc-toolset-9-elfutils-libelf",
# "gcc-toolset-9-elfutils-libelf-devel",
# "gcc-toolset-9-elfutils-libs",
# "gcc-toolset-9-gcc",
# "gcc-toolset-9-gcc-c++",
# "gcc-toolset-9-gcc-gdb-plugin",
# "gcc-toolset-9-gcc-gfortran",
# "gcc-toolset-9-gdb",
# "gcc-toolset-9-gdb-doc",
# "gcc-toolset-9-gdb-gdbserver",
# "gcc-toolset-9-libitm-devel",
# "gcc-toolset-9-libquadmath-devel",
# "gcc-toolset-9-libstdc++-devel",
# "gcc-toolset-9-libstdc++-docs",
# "gcc-toolset-9-ltrace",
# "gcc-toolset-9-make",
# "gcc-toolset-9-make-devel",
# "gcc-toolset-9-perftools",
# "gcc-toolset-9-runtime",
# "gcc-toolset-9-strace",
# "gcc-toolset-9-systemtap",
# "gcc-toolset-9-systemtap-client",
# "gcc-toolset-9-systemtap-devel",
# "gcc-toolset-9-systemtap-initscript",
# "gcc-toolset-9-systemtap-runtime",
# "gcc-toolset-9-systemtap-sdt-devel",
# "gcc-toolset-9-systemtap-server",
# "gcc-toolset-9-toolchain",
# "gcc-toolset-9-valgrind",
# "gcc-toolset-9-valgrind-devel",
# "libasan5", #RCM-61474
# "libubsan1",
# "perl-Convert-ASN1", #RCM-66043
# "lttng-ust", #RHBZ 1750841
# "whois", # RCM-66001
# "librsvg2-tools", #RHBZ 1700065
# "compat-exiv2-026", #RHBZ 1759536 #RCM-67916
# "prometheus-jmx-exporter", #RHBZ 1760017 #RCM-68051
# "jolokia-jvm-agent", #RHBZ 1759963 #RCM-68026
# "perl-LDAP", #RHBZ 1760231 #RHBZ 1663063 #RCM-68080
# "python3-networkx", #RHBZ 1764287 #RCM-68861 #RCM-71386
# "liburing", #RHBZ 1769034 #RCM-70072
# "setools-console-analyses", #RCM-71851
# "setools-gui", #RCM-71851
# "virt-p2v-maker", #RCM-71716 #RCM-72953
# "python3-protobuf", #RHELPLAN-25579
# "NetworkManager-cloud-setup", #RCM-72501
# "spice-client-win-x64", #RCM-73991
# "spice-client-win-x86", #RCM-73991
# "qt5-qtbase-private-devel", #RHBZ 1796335
# ]
# }),
#
# ("^AppStream$", {
# "x86_64": [
#
# "libreoffice-langpack-*", # COMPOSE-2951
# "libreoffice-help-*", # COMPOSE-2951
# ],
# "aarch64": [
# "vulkan-loader",
# "vulkan-loader-devel", #RhBug 1767950
# ]
# }),
#
# ("^BaseOS$", {
# "*": [
# "kernel-doc", # Bug 1657609
# "python3-nftables", # RCM-70485
# "elfutils-debuginfod", # RCM-71684
# "elfutils-debuginfod-client", # RCM-71684
# "elfutils-debuginfod-client-devel", # RCM-71684
# "libbpf", # RCM-71880
# ]
# }),
#
# ("^Buildroot$", {
# "*": [
# "*",
# ]
# })
# ]
#

11
shared/all.conf Normal file
View File

@ -0,0 +1,11 @@
from general import *
from multilib import *
from additional_and_filter_packages import *
from runroot import *
from pkgset import *
from gather import *
from createrepo import *
from createiso import *
from buildinstall import *
from lookaside import *
from extra_isos import *

33
shared/buildinstall.conf Normal file
View File

@ -0,0 +1,33 @@
bootable = True
buildinstall_method = "lorax"
lorax_options = [
("^.*$", {
"*": {
"noupgrade": False
}
})
]
buildinstall_skip = [
EXTRA_BUILDINSTALL_SKIP,
('^Everything$', {
'i386': True,
'aarch64': True,
'ppc64le': True,
's390x': True
}),
("^(AppStream|CRB|ResilientStorage|HighAvailability|SAP|SAPHANA|RT|NFV)$", {
'*': True
}),
]
image_name_format = {
# BaseOS ISO filename should not mention BaseOS, it also contains AppStream
# content. Addons should have the addon name though.
"^BaseOS$": "{compose_id}-{arch}-{disc_type}{disc_num}{suffix}",
".*": "{compose_id}-{variant}-{arch}-{disc_type}{disc_num}{suffix}",
}
buildinstall_use_guestmount = True
buildinstall_allow_reuse = True

15
shared/createiso.conf Normal file
View File

@ -0,0 +1,15 @@
create_optional_isos = False
createiso_skip = [
("^(BaseOS|AppStream|CRB|NFV)$", {
# No binary ISOs for BaseOS (but still generate src ISOs) - RCM-41330
# No binary ISOs for AppStream (but still generate src ISOs) - RCM-40356
# No binary or src ISOs for CRB
# No binary or src ISOs for NFV
# Note: "*" matches only binary architectures.
"*": True,
"src":True #RCM-41427 -Disable source iso generation during createiso phase
}),
]
restricted_volid = True

2
shared/createrepo.conf Normal file
View File

@ -0,0 +1,2 @@
createrepo_c = True
createrepo_checksum = "sha256"

11
shared/extra_isos.conf Normal file
View File

@ -0,0 +1,11 @@
extra_isos = {
"BaseOS": [{
"include_variants": ["AppStream"],
"filename": "{compose_id}-{arch}-{disc_type}{disc_num}{suffix}",
"skip_src": False,
"extra_files": EXTRA_FILES,
# Make extra_isos failable until we have working installer.
"failable_arches": ['aarch64', 'ppc64le', 's390x', 'x86_64', 'i386']
}]
}

23
shared/gather.conf Normal file
View File

@ -0,0 +1,23 @@
gather_backend = "dnf"
check_deps = False
gather_method = {
# Anything that is not AppStream, CRB or Buildroot should use the old depsolver
"^(?!(AppStream|CRB|Buildroot)).*$": {
"comps": "deps",
"json": "deps",
},
"^(AppStream|CRB|Buildroot)$": "hybrid",
}
hashed_directories = False
gather_allow_reuse = True
repoclosure_backend = 'dnf'
gather_prepopulate = {
'scm': 'git',
'repo': GATHER_PREPOPULATE_REPO,
'branch': GATHER_PREPOPULATE_BRANCH,
'file': GATHER_PREPOPULATE_FILE,
'command': GATHER_PREPOPULATE_COMMAND
}

37
shared/general.conf Normal file
View File

@ -0,0 +1,37 @@
release_name = RELEASE_NAME
release_short = RELEASE_SHORT
release_version = RELEASE_VERSION
release_is_layered = False
link_type = "abspath-symlink"
product_id_allow_missing = True
productimg = False
comps_file = {
'scm': 'git',
'repo': COMPS_REPO,
'branch': COMPS_BRANCH,
'file': COMPS_FILE,
'command': COMPS_COMMAND
}
module_defaults_dir = {
'scm': 'git',
'repo': MODULE_DEFAULTS_REPO,
'branch': MODULE_DEFAULTS_BRANCH,
'dir': '.'
}
variants_file = {
"scm": "git",
"repo": VARIANTS_REPO,
"branch": VARIANTS_BRANCH,
"file": VARIANTS_FILE,
}
extra_files = [
("^.*$", {
"*": EXTRA_FILES,
}),
]

19
shared/lookaside.conf Normal file
View File

@ -0,0 +1,19 @@
variant_as_lookaside = [
("AppStream", "BaseOS"),
("HighAvailability", "BaseOS"),
("HighAvailability", "AppStream"),
("ResilientStorage", "BaseOS"),
("ResilientStorage", "AppStream"),
("RT", "BaseOS"),
("RT", "AppStream"),
("NFV", "BaseOS"),
("NFV", "AppStream"),
("CRB", "BaseOS"),
("CRB", "AppStream"),
("SAP", "BaseOS"),
("SAP", "AppStream"),
("SAP", "HighAvailability"),
("SAPHANA", "BaseOS"),
("SAPHANA", "AppStream"),
("SAPHANA", "HighAvailability"),
]

26
shared/multilib.conf Normal file
View File

@ -0,0 +1,26 @@
multilib = [
("^.*$", {
"x86_64": ["devel", "runtime"]
}),
]
# format: {arch|*: [packages]}
multilib_blacklist = {
"*": [
"libvirt*", # RhBug 1571159
"java-*", # RCM-28652
"totem", #RCM-43729
"ocaml*", # RCM-53665
],
}
# format: {arch|*: [packages]}
multilib_whitelist = {
"*": [
"valgrind",
"papi",
"gcc-toolset-9-valgrind", # RCM-60082
"p11-kit-trust", # RCM-62077
],
}

3
shared/pkgset.conf Normal file
View File

@ -0,0 +1,3 @@
pkgset_source = "koji"
pkgset_koji_tag = PKGSET_KOJI_TAG
pkgset_koji_module_tag = PKGSET_KOJI_MODULE_TAG

10
shared/runroot.conf Normal file
View File

@ -0,0 +1,10 @@
runroot = True
global_runroot_method = "koji"
runroot_method = {
"createiso": "local"
}
runroot_channel = RUNROOT_CHANNEL
runroot_tag = RUNROOT_TAG

33
shared/variables.conf Normal file
View File

@ -0,0 +1,33 @@
global RELEASE_NAME
global RELEASE_SHORT
global RELEASE_VERSION
global PKGSET_KOJI_TAG
global PKGSET_KOJI_MODULE_TAG
global RUNROOT_CHANNEL
global RUNROOT_TAG
global RELEASE_VERSION
global RELEASE_VERSION_X
global RELEASE_VERSION_Y
global RELEASE_VERSION_Z
global RELEASE_VERSION_XY
global RELEASE_VERSION_XYZ
global COMPS_REPO
global COMPS_BRANCH
global COMPS_FILE
global COMPS_COMMAND
global MODULE_DEFAULTS_REPO
global MODULE_DEFAULTS_BRANCH
global VARIANTS_REPO
global VARIANTS_BRANCH
global VARIANTS_FILE
global GATHER_PREPOPULATE_REPO
global GATHER_PREPOPULATE_BRANCH
global GATHER_PREPOPULATE_FILE
global EXTRA_BUILDINSTALL_SKIP
EXTRA_BUILDINSTALL_SKIP = ("^$", {"*": False})
global GATHER_PREPOPULATE_REPO
global GATHER_PREPOPULATE_BRANCH
global GATHER_PREPOPULATE_FILE
global GATHER_PREPOPULATE_COMMAND
global EXTRA_FILES
EXTRA_FILES = []

View File

@ -1,101 +0,0 @@
<?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>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>x86_64</arch>
</arches>
</variant>
<variant id="Server" name="Server" type="variant">
<arches>
<arch>armhfp</arch>
<arch>aarch64</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">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>x86_64</arch>
</arches>
</variant>
<variant id="Workstation" name="Workstation" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>armhfp</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
</arches>
</variant>
<variant id="Silverblue" name="Silverblue" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>armhfp</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>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
<modules>
<kojitag>f33-modular</kojitag>
</modules>
</variant>
</variants>

251
variants.xml Normal file
View File

@ -0,0 +1,251 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE variants PUBLIC "-//Red Hat, Inc.//DTD Variants info//EN" "variants2012.dtd">
<variants>
<!-- General variants built also in Fedora. -->
<variant id="Everything" name="Everything" type="variant">
<arches>
<arch>aarch64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
<arch>i386</arch>
</arches>
</variant>
<variant id="BaseOS" name="BaseOS" type="variant" has_optional="false">
<arches>
<arch>aarch64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
<arch>i386</arch>
</arches>
<!-- List of comps groups that should be part of BaseOS compose variant -->
<groups>
<!-- Essential groups for Anaconda installation -->
<group default="true">guest-agents</group>
<group default="true">standard</group>
<group default="true">base</group>
<group default="true">core</group>
<!-- Other groups -->
<group default="true">additional-devel</group>
<group default="false">anaconda-tools</group>
<group default="false">conflicts-baseos</group>
<group default="true">development</group>
<group default="true">server-product</group>
<group default="true">dial-up</group>
<group default="true">networkmanager-submodules</group>
<group default="true">file-server</group>
<group default="true">fonts</group>
<group default="true">gnome-desktop</group>
<group default="true">graphical-admin-tools</group>
<group default="true">hardware-monitoring</group>
<group default="true">hardware-support</group>
<group default="true">infiniband</group>
<group default="true">headless-management</group>
<group default="true">large-systems</group>
<group default="true">legacy-unix</group>
<group default="true">mail-server</group>
<group default="true">mainframe-access</group>
<group default="true">multimedia</group>
<group default="true">dns-server</group>
<group default="true">smart-card</group>
<group default="true">smb-server</group>
<group default="true">network-tools</group>
<group default="true">network-file-system-client</group>
<group default="true">network-server</group>
<group default="true">performance</group>
<group default="true">platform-devel</group>
<group default="true">python-web</group>
<group default="true">remote-system-management</group>
<group default="true">scientific</group>
<group default="true">security-tools</group>
<group default="true">system-tools</group>
<group default="true">workstation-product</group>
</groups>
<!-- List of environments from comps that should be part of BaseOS compose variant -->
<environments>
<environment display_order="3">minimal-environment</environment>
<environment display_order="99">custom-environment</environment>
<environment display_order="2">server-product-environment</environment>
</environments>
</variant>
<variant id="AppStream" name="AppStream" type="variant" has_optional="false">
<arches>
<arch>aarch64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
<arch>i386</arch>
</arches>
<!-- List of comps groups that should be part of AppStream compose variant -->
<groups>
<group default="true">standard</group>
<group default="false">anaconda-tools</group>
<group default="true">base</group>
<group default="false">conflicts-appstream</group>
<group default="true">core</group>
<group default="true">additional-devel</group>
<group default="true">base-x</group>
<group default="true">debugging</group>
<group default="true">development</group>
<group default="true">dotnet-core</group>
<group default="true">file-server</group>
<group default="true">ftp-server</group>
<group default="true">gnome-apps</group>
<group default="true">gnome-desktop</group>
<group default="true">guest-desktop-agents</group>
<group default="true">graphical-admin-tools</group>
<group default="true">graphics</group>
<group default="true">hardware-monitoring</group>
<group default="true">infiniband</group>
<group default="true">workstation-product</group>
<group default="true">multimedia</group>
<group default="true">mail-server</group>
<group default="true">mainframe-access</group>
<group default="true">network-server</group>
<group default="true">network-tools</group>
<group default="true">container-management</group>
<group default="true">smb-server</group>
<group default="true">dial-up</group>
<group default="true">fonts</group>
<group default="true">input-methods</group>
<group default="true">multimedia</group>
<group default="true">networkmanager-submodules</group>
<group default="true">network-file-system-client</group>
<group default="true">print-client</group>
<group default="true">desktop-debugging</group>
<group default="true">internet-browser</group>
<group default="true">gnome-desktop</group>
<group default="true">guest-agents</group>
<group default="true">guest-desktop-agents</group>
<group default="true">headless-management</group>
<group default="true">java-platform</group>
<group default="true">gnome-apps</group>
<group default="true">internet-applications</group>
<group default="true">office-suite</group>
<group default="true">performance</group>
<group default="true">platform-devel</group>
<group default="true">platform-kvm</group>
<group default="true">platform-microsoft</group>
<group default="true">platform-vmware</group>
<group default="true">scientific</group>
<group default="true">ostree-support</group>
<group default="true">security-tools</group>
<group default="true">smart-card</group>
<group default="true">smb-server</group>
<group default="true">system-tools</group>
<group default="true">texlive</group>
<group default="true">legacy-x</group>
<group default="true">backup-client</group>
<group default="true">remote-desktop-clients</group>
<group default="true">remote-system-management</group>
<group default="true">rpm-development-tools</group>
<group default="true">virtualization-client</group>
<group default="true">virtualization-hypervisor</group>
<group default="true">virtualization-platform</group>
<group default="true">virtualization-tools</group>
<group default="true">web-server</group>
</groups>
<!-- List of environments from comps that should be part of BaseOS compose variant -->
<environments>
<environment display_order="3">minimal-environment</environment>
<environment display_order="99">virtualization-host-environment</environment>
<environment display_order="99">custom-environment</environment>
<environment display_order="2">server-product-environment</environment>
<environment display_order="1">graphical-server-environment</environment>
<environment display_order="4">workstation-product-environment</environment>
</environments>
<modules>
<module>*</module>
</modules>
</variant>
<variant id="CRB" name="CodeReady Builder" type="variant">
<arches>
<arch>aarch64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
<arch>i386</arch>
</arches>
<groups>
<group default="true">crb</group>
</groups>
</variant>
<!-- ADDONS (Defined as variants in RHEL-9) -->
<variant id="ResilientStorage" name="Resilient Storage" type="variant">
<arches>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">ha</group>
<group default="true">ha-devel</group>
<group default="true">resilient-storage</group>
</groups>
</variant>
<variant id="HighAvailability" name="High Availability" type="variant">
<arches>
<arch>aarch64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">ha</group>
<group default="true">ha-devel</group>
</groups>
</variant>
<!-- Integrated Layered Products (Defined as variants in RHEL-9) -->
<variant id="SAP" name="SAP" type="variant">
<arches>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">sap</group>
</groups>
</variant>
<variant id="SAPHANA" name="SAP HANA" type="variant">
<arches>
<arch>ppc64le</arch>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">sap-hana</group>
</groups>
</variant>
<variant id="RT" name="RT" type="variant">
<arches>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">rt</group>
<group default="true">rt-debug</group>
</groups>
</variant>
<variant id="NFV" name="NFV" type="variant">
<arches>
<arch>x86_64</arch>
</arches>
<groups>
<group default="true">rt</group>
<group default="true">rt-debug</group>
<group default="true">nfv</group>
<group default="true">nfv-debug</group>
</groups>
</variant>
</variants>