Compare commits

..

15 commits

Author SHA1 Message Date
Paul Whalen
3d9cd16f82 Bump rawhide to Fedora 46 2026-08-12 10:17:54 -04:00
Paul Whalen
e8f17b68c4 Update releng script paths for tooling repo restructure
- nightly.sh: Update fedora_messaging.sh path (scripts_new/ → no prefix)
- nightly.sh: Update build_composeinfo path (scripts/ → builds/compose/)
- twoweek-nightly.sh: Update fedora_messaging.sh path (scripts_new/ → no prefix)
- twoweek-nightly.sh: Update build_composeinfo path (scripts/ → builds/compose/)

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2026-07-29 10:51:09 -04:00
Paul Whalen
5fe5764dba Update Pagure URLs to Forge for IoT compose
- fedora-iot.conf: Update comps_file, ostree, and ostree_container config_urls
  to forge.fedoraproject.org (fedora-comps, ostree, base-images, fedora-iot-bootc)
- fedora-iot.conf: Update pungi-fedora PR/issue comment links
- nightly.sh: Update releng and fedora-comps clone URLs
- twoweek-nightly.sh: Update releng clone URL

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2026-07-28 16:01:37 -04:00
4186f8b817 Restore global_release, global_version, global_target
It's not entirely obvious, but these were not in fact tied to the
old livemedia phase as 087fe9f thought; they are used by modern
phases like imagebuilder and kiwi as well. Restore them, with a
less misleading comment.

Fixes: https://github.com/fedora-iot/iot-distro/issues/131
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-04-27 23:48:51 -07:00
Paul Whalen
087fe9f286 fix: fedora-kickstarts retired
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2026-02-06 15:13:08 -05:00
Paul Whalen
96a8f98dc4 F-45: Update for branching
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2026-02-06 13:12:22 -05:00
29d8a41ea5 ref: fix path effected by releng repo refactoring
Signed-off-by: Anton Medvedev <amedvede@redhat.com>
2025-10-07 21:35:53 +02:00
Paul Whalen
d23774204c F-44: Update for branching
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-08-12 09:28:34 -04:00
Paul Whalen
f590607372 Update F43 to use new pungi imagebuilder configuration option
See: https://fedoraproject.org/wiki/Changes/KojiLocalImageBuilder

Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-08-06 16:44:55 -04:00
Paul Whalen
f968bf20e9 Stop running the container sync script, replaced by cloud-image-uploader
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-29 09:31:03 -04:00
Paul Whalen
9d606b1a54 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:04:40 -04:00
Paul Whalen
8be1b6f560 Add s390x and ppc64le to iot variant to produce bootc containers
The generic bootc container was added to the IoT section of the compose,
since then s390x and ppc64le have started to fail. This adds those arches
to the IoT section in variant.xml and removes the old variants.

Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-04-24 12:27:25 -04:00
2f94f34e05 Build bootc images in IoT variant, tweak subvariants and names
There's substantial history here, including
https://pagure.io/fedora-infra/ansible/pull-request/2295 and
the discussion in the PR for this commit -
https://pagure.io/fedora-iot/pungi-iot/pull-request/102 . This
is trying to make the metadata for these images accurate and
informative.

With this change, the variant for both images will be "IoT" and
they will both appear in the IoT directory in the tree. The IoT
image's subvariant will also be "IoT". The base image's
subvariant will be "base". The format for both images will be
"ociarchive", as it currently is. From tomorrow, the type for
both images will be "bootable-container". The filename for the
IoT image will start with "Fedora-IoT-bootc", and the filename
for the base image will start with "Fedora-base-bootc". So we
will have these basename - subvariant - type - formats:

* Fedora-IoT-bootc - IoT - bootable-container - ociarchive
* Fedora-base-bootc - base - bootable-container - ociarchive

The base image can easily be moved into the main compose and
maintain the same filename base, subvariant, type and format. It
would have a different variant in that case, but in practice we
do not use the variant for image identification purposes much
anyway.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-04-22 13:16:55 -07:00
Paul Whalen
69aa8633db Make Osbuild deliverables failable again due to ongoing network issues in Koji.
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-02-06 11:23:44 -05:00
Paul Whalen
2b7d52ea42 Rawhide is now Fedora 43
Signed-off-by: Paul Whalen <pwhalen@fedoraproject.org>
2025-02-04 15:51:46 -05:00
6 changed files with 133 additions and 49 deletions

View file

@ -1,21 +1,21 @@
# PRODUCT INFO
release_name = 'Fedora-IoT'
release_short = 'Fedora-IoT'
release_version = '42'
release_version = '46'
# Let's not build install media during this run. For the image builds
# and OSTree installer we'll use inputs from other f42 runs.
# and OSTree installer we'll use inputs from other f45 runs.
skip_phases = ["buildinstall", "createrepo", "extra_files"]
# GENERAL SETTINGS
comps_file = {
'scm': 'git',
'repo': 'https://pagure.io/fedora-comps.git',
'repo': 'https://forge.fedoraproject.org/releng/fedora-comps.git',
'branch': 'main',
'file': 'comps-f42.xml',
'command': 'make comps-f42.xml'
'file': 'comps-f46.xml',
'command': 'make comps-f46.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['105ef944']
sigkeys = ['91211FCE']
# 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 = 'f42-build'
runroot_tag = 'f46-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
@ -37,7 +37,7 @@ pkgset_source = 'koji' # koji, repos
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f42-iot'
pkgset_koji_tag = 'f46-iot'
pkgset_koji_inherit = False
filter_system_release_packages = False
@ -87,6 +87,13 @@ lorax_options = [
})
]
additional_packages = [
('^IoT$$', {
'*': [
'*',
],
}),
]
multilib = [
('^Everything$', {
'x86_64': ['devel', 'runtime'],
@ -159,7 +166,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://pagure.io/pungi-fedora/pull-request/525
# https://forge.fedoraproject.org/releng/pungi-fedora/pulls/525
volume_id_substitutions = {
'Beta': 'B',
'Rawhide': 'rawh',
@ -176,7 +183,7 @@ volume_id_substitutions = {
'IoT': 'iot',
'Jam_KDE': 'Jam',
'MATE_Compiz': 'MATE',
# Note https://pagure.io/pungi-fedora/issue/533
# Note https://forge.fedoraproject.org/releng/pungi-fedora/issues/533
'Python-Classroom': 'Clss',
'Python_Classroom': 'Clss',
'Robotics': 'Robo',
@ -195,26 +202,103 @@ 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'
# These may be inherited by various phases for creating Koji tasks
global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN'
global_version = '42'
# live_images ignores this in favor of live_target
global_target = 'f42'
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,
}
}
ostree_container = {
"^IoT$": [
{
"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",
"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",
},
]
}

View file

@ -9,9 +9,9 @@ SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
SHORT="Fedora-IoT"
RELEASE="42"
RELEASE_TITLE="42"
COMPSFILE="comps-f42.xml"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.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://pagure.io/releng.git
git clone https://forge.fedoraproject.org/releng/tooling.git releng
fi
# Set up our fedmsg function, using the releng repo definition
#FEDMSG_MODNAME="compose"
#FEDMSG_CERTPREFIX="releng"
. ./releng/scripts_new/infrastructure/messaging/fedora_messaging.sh
. ./releng/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://pagure.io/fedora-comps.git && {
#git clone https://forge.fedoraproject.org/releng/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/scripts/build_composeinfo "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
./releng/builds/compose/build_composeinfo.py "$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="43"
current_stable="44"
# Define what is rawhide so we know to push that tag
current_rawhide="44"
current_rawhide="46"
# 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="42"
RELEASE_TITLE="42"
COMPSFILE="comps-f42.xml"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.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/42/"
RSYNCTARGET="/pub/alt/iot/46/"
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="42"
RELEASE_TITLE="42"
COMPSFILE="comps-f42.xml"
RELEASE="46"
RELEASE_TITLE="46"
COMPSFILE="comps-f46.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/branched/"
RSYNCTARGET="/pub/alt/iot/rawhide/"
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://pagure.io/releng.git
git clone https://forge.fedoraproject.org/releng/tooling.git releng
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_new/infrastructure/messaging/fedora_messaging.sh
. ./releng/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/scripts/build_composeinfo "$TARGET_DIR/$NEWCOMPOSE_ID/" --name "$NEWCOMPOSE_ID"
./releng/builds/compose/build_composeinfo.py "$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/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID
$RSYNCPREFIX ./releng/builds/compose/build_composeinfo.py "$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>