Compare commits

..

10 commits

Author SHA1 Message Date
Paul Whalen
02a4a8f402 Remove IoT, only compose fedora-bootc container
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-10-23 15:33:57 -04:00
706c0f4a3d ref: fix path effected by releng repo refactoring
Signed-off-by: Anton Medvedev <amedvede@redhat.com>
2025-10-07 21:51:36 +02:00
Paul Whalen
86fe5a11ac F42: Stop running the container sync script, replaced by cloud-image-uploader
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-29 09:37:44 -04:00
Paul Whalen
e966d05e19 F42: Fix container names to reflect content in the image
This fixes the container names to reflect the content in the image.
Fedora-IoT-bootc - iot image
Fedora-base-bootc - generic base image

Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-25 17:13:28 -04:00
Paul Whalen
1df1af174b Build bootc images in IoT variant, tweak subvariants and names
See:
https://pagure.io/fedora-iot/pungi-iot/pull-request/102
https://pagure.io/fedora-iot/pungi-iot/pull-request/138

Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-24 15:02:45 -04:00
Paul Whalen
04262754cf Enable updates repo for Fedora 42
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-22 09:16:45 -04:00
Paul Whalen
f9ca24002c F42: Update for final
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-10 15:03:26 -04:00
Paul Whalen
3a39253ac3 Make f42 osbuild deliverables failable due to koji network issues
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-02-10 10:39:35 -05:00
Paul Whalen
fe4902974d F-42: containers should use main
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-02-05 15:23:27 -05:00
Paul Whalen
4a5226f144 F-42: Update for branching
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-02-05 11:28:28 -05:00
6 changed files with 49 additions and 133 deletions

View file

@ -1,21 +1,21 @@
# PRODUCT INFO
release_name = 'Fedora-IoT'
release_short = 'Fedora-IoT'
release_version = '46'
release_version = '42'
# Let's not build install media during this run. For the image builds
# and OSTree installer we'll use inputs from other f45 runs.
# and OSTree installer we'll use inputs from other f42 runs.
skip_phases = ["buildinstall", "createrepo", "extra_files"]
# GENERAL SETTINGS
comps_file = {
'scm': 'git',
'repo': 'https://forge.fedoraproject.org/releng/fedora-comps.git',
'repo': 'https://pagure.io/fedora-comps.git',
'branch': 'main',
'file': 'comps-f46.xml',
'command': 'make comps-f46.xml'
'file': 'comps-f42.xml',
'command': 'make comps-f42.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['91211FCE']
sigkeys = ['105ef944']
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
@ -27,7 +27,7 @@ hashed_directories = True
# RUNROOT settings
runroot_channel = 'compose'
runroot_tag = 'f46-build'
runroot_tag = 'f42-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
@ -37,7 +37,7 @@ pkgset_source = 'koji' # koji, repos
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f46-iot'
pkgset_koji_tag = 'f42-iot'
pkgset_koji_inherit = False
filter_system_release_packages = False
@ -87,13 +87,6 @@ lorax_options = [
})
]
additional_packages = [
('^IoT$$', {
'*': [
'*',
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
@ -166,7 +159,7 @@ image_volid_layered_product_formats = []
# 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://forge.fedoraproject.org/releng/pungi-fedora/pulls/525
# https://pagure.io/pungi-fedora/pull-request/525
volume_id_substitutions = {
'Beta': 'B',
'Rawhide': 'rawh',
@ -183,7 +176,7 @@ volume_id_substitutions = {
'IoT': 'iot',
'Jam_KDE': 'Jam',
'MATE_Compiz': 'MATE',
# Note https://forge.fedoraproject.org/releng/pungi-fedora/issues/533
# Note https://pagure.io/pungi-fedora/issue/533
'Python-Classroom': 'Clss',
'Python_Classroom': 'Clss',
'Robotics': 'Robo',
@ -202,103 +195,26 @@ translate_paths = [
('/mnt/koji/compose/', 'https://kojipkgs.fedoraproject.org/compose/'),
]
# These may be inherited by various phases for creating Koji tasks
# 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 = '46'
global_target = 'f46'
imagebuilder_target = 'f46-image-builder'
imagebuilder = {
"^IoT$": [
{
"name": "%s-raw" % release_name,
"types": ["iot-raw-xz"],
"arches": ["x86_64", "aarch64"],
"repos": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree": {
"url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ref": "fedora/rawhide/$arch/iot",
},
"subvariant": "IoT",
"failable": ["*"],
},
{
"name": "%s-ostree" % release_name,
"types": ["iot-installer"],
"arches": ["x86_64", "aarch64"],
"repos": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree": {
"url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ref": "fedora/rawhide/$arch/iot",
},
"subvariant": "IoT",
"manifest_type": "dvd-ostree",
"failable": ["*"],
},
{
"name": "%s-provisioner" % release_name,
"types": ["iot-simplified-installer"],
"arches": ["x86_64", "aarch64"],
"repos": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"],
"ostree": {
"url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/",
"ref": "fedora/rawhide/$arch/iot",
},
"blueprint": {
"customizations": {
"installation_device": "/dev/vda1",
},
},
"subvariant": "IoT_Simplified_Provisioner",
"failable": ["*"],
"manifest_type": "dvd-ostree",
},
],
}
ostree = {
"^IoT$": {
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"force_new_commit": True,
"unified_core": True,
"treefile": "fedora-iot.yaml",
"config_url": "https://forge.fedoraproject.org/iot/ostree.git",
"config_branch": "main",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"
]
"tag_ref": False,
"ostree_repo": "/mnt/koji/compose/iot/repo/",
"ostree_ref": "fedora/rawhide/${basearch}/iot",
"runroot_packages": ["selinux-policy-targeted"],
"arches": ["x86_64", "aarch64"],
"update_summary": True,
}
}
global_version = '42'
# live_images ignores this in favor of live_target
global_target = 'f42'
ostree_container = {
"^IoT$": [
{
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"config_url": "https://forge.fedoraproject.org/iot/base-images.git",
"config_branch": "main",
"treefile": "fedora-rawhide.yaml",
"repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"],
"arches": ["x86_64", "aarch64", "ppc64le", "s390x"],
"failable": ['*'],
"subvariant": "base",
"name": "Fedora-base-bootc",
},
{
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"config_url": "https://forge.fedoraproject.org/iot/fedora-iot-bootc.git",
"config_branch": "main",
"treefile": "fedora-iot-rawhide.yaml",
"repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"],
"arches": ["x86_64", "aarch64"],
"failable": ['*'],
"name": "Fedora-IoT-bootc",
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"config_url": "https://pagure.io/fedora-iot/base-images",
"config_branch": "main",
"treefile": "fedora-42.yaml",
"repo": ["https://kojipkgs.fedoraproject.org/compose/42/Fedora-42-20250409.0/compose/Everything/$basearch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f42-updates/compose/Everything/$basearch/os/"],
"arches": ["x86_64", "aarch64", "ppc64le", "s390x"],
"failable": ['*'],
"subvariant": "base",
"name": "Fedora-base-bootc",
},
]
}

View file

@ -9,9 +9,9 @@ SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
SHORT="Fedora-IoT"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.xml"
RELEASE="42"
RELEASE_TITLE="42"
COMPSFILE="comps-f42.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <rawhide@fedoraproject.org>"
@ -30,20 +30,20 @@ if [ -d releng ]; then
git pull --rebase
popd
else
git clone https://forge.fedoraproject.org/releng/tooling.git releng
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/infrastructure/messaging/fedora_messaging.sh
. ./releng/scripts_new/infrastructure/messaging/fedora_messaging.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://forge.fedoraproject.org/releng/fedora-comps.git && {
#git clone https://pagure.io/fedora-comps.git && {
# pushd fedora-comps
# make "${COMPSFILE}"
# cp "${COMPSFILE}" $DEST/
@ -67,7 +67,7 @@ fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
./releng/builds/compose/build_composeinfo.py "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
./releng/scripts/build_composeinfo "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
# Set this to use later for a few items include depcheck
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID

View file

@ -47,9 +47,9 @@ arch_to_goarch() {
# This is the release of Fedora that is currently stable, it will define if we
# need to move the fedora:latest tag
current_stable="44"
current_stable="43"
# Define what is rawhide so we know to push that tag
current_rawhide="46"
current_rawhide="44"
# Sanity checking
if ! [[ "${1}" =~ ^-?[0-9]+$ ]];
then

View file

@ -12,14 +12,14 @@ DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-IoT"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.xml"
RELEASE="42"
RELEASE_TITLE="42"
COMPSFILE="comps-f42.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <branched@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
RSYNCTARGET="/pub/alt/iot/46/"
RSYNCTARGET="/pub/alt/iot/42/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)

View file

@ -11,14 +11,14 @@ DEST=$(pwd)
DATE=$(date "+%Y%m%d")
# the Pungi 'shortname', which we will include in fedmsgs for disambiguation
SHORT="Fedora-IoT"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.xml"
RELEASE="42"
RELEASE_TITLE="42"
COMPSFILE="comps-f42.xml"
TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX`
TOMAIL="iot@lists.fedoraproject.org"
FROM="Fedora IoT Report <rawhide@fedoraproject.org>"
RSYNCPREFIX="sudo -u ftpsync"
RSYNCTARGET="/pub/alt/iot/rawhide/"
RSYNCTARGET="/pub/alt/iot/branched/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
# assume a releng dir is a git checkout of the releng repo
@ -28,13 +28,13 @@ if [ -d releng ]; then
git pull --rebase
popd
else
git clone https://forge.fedoraproject.org/releng/tooling.git releng
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/infrastructure/messaging/fedora_messaging.sh
. ./releng/scripts_new/infrastructure/messaging/fedora_messaging.sh
# Announce that we are starting...
send_fedmsg "${fedmsg_json_start}" ${RELEASE} start
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 --label=$LABEL"
@ -52,7 +52,7 @@ ostree summary --update --repo=/mnt/koji/compose/iot/repo/
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
./releng/builds/compose/build_composeinfo.py "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
./releng/scripts/build_composeinfo "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
# Public URL the synced compose will wind up at, we put it in fedmsgs
@ -67,7 +67,7 @@ send_fedmsg "${fedmsg_json_start}" ${RELEASE} rsync.start
for dir in IoT metadata ;
do
$RSYNCPREFIX rsync -avhH --delete-after $DESTDIR/compose/$dir/ "$RSYNCTARGET/$dir/" ;
$RSYNCPREFIX ./releng/builds/compose/build_composeinfo.py "$RSYNCTARGET/" --name $NEWCOMPOSE_ID
$RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID
done
# Tell everyone by fedmsg about the compose
send_fedmsg "${fedmsg_json_done}" ${RELEASE} complete

View file

@ -4,9 +4,9 @@
<variant id="IoT" name="IoT" type="variant" is_empty="true">
<arches>
<arch>aarch64</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
</arches>
</variant>
</variants>