From 8793fd5b80e3c269bac84cda175f5bf9987eea99 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Tue, 13 Feb 2024 14:49:00 -0500 Subject: [PATCH 01/23] F-40: Update for branching Signed-off-by: Paul Whalen --- fedora-iot.conf | 20 ++++++++++---------- twoweek-nightly.sh | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 8c35a1c..7bed0b4 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -203,7 +203,7 @@ translate_paths = [ ] # These will be inherited by live_media, live_images and image_build -global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#HEAD' +global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f40' global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN' global_version = '40' # live_images ignores this in favor of live_target @@ -217,9 +217,9 @@ osbuild = { "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/$arch/iot", + "ostree_ref": "fedora/devel/$arch/iot", "subvariant": "IoT", }, { @@ -228,9 +228,9 @@ osbuild = { "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/$arch/iot", + "ostree_ref": "fedora/devel/$arch/iot", "subvariant": "IoT", "manifest_type": "dvd-ostree", }, @@ -240,9 +240,9 @@ osbuild = { "image_types": ["iot-bootable-container"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/$arch/iot", + "ostree_ref": "fedora/devel/$arch/iot", "subvariant": "IoT", "failable": ["*"], }, @@ -256,14 +256,14 @@ ostree = { "unified_core": True, "treefile": "fedora-iot.yaml", "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "main", + "config_branch": "f40", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" + "https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/${basearch}/iot", + "ostree_ref": "fedora/devel/${basearch}/iot", "runroot_packages": ["selinux-policy-targeted"], "arches": ["x86_64", "aarch64"], "update_summary": True, diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 717a35f..95a15fd 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -18,7 +18,7 @@ TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX` TOMAIL="iot@lists.fedoraproject.org" FROM="Fedora IoT Report " 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 From 16b70e0849f70766fe8cb825514d969b4829834c Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Thu, 15 Feb 2024 14:07:41 -0500 Subject: [PATCH 02/23] Fix names for osbuild deliverables Signed-off-by: Paul Whalen --- fedora-iot.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 7bed0b4..6c5639e 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -212,7 +212,7 @@ global_target = 'f40' osbuild = { "^IoT$": [ { - "name": "%s" % release_name, + "name": "%s-raw" % release_name, "distro": "fedora-40", "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, @@ -235,7 +235,7 @@ osbuild = { "manifest_type": "dvd-ostree", }, { - "name": "%s" % release_name, + "name": "%s-oci" % release_name, "distro": "fedora-40", "image_types": ["iot-bootable-container"], "target": "f%s-candidate" % release_version, From b45ec3b7c41795f3d31792afa786b09f0c2ef476 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Tue, 5 Mar 2024 17:34:01 -0500 Subject: [PATCH 03/23] F40: Add simplified provisioning deliverable Signed-off-by: Paul Whalen --- fedora-iot.conf | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/fedora-iot.conf b/fedora-iot.conf index 6c5639e..e9e1857 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -246,6 +246,19 @@ osbuild = { "subvariant": "IoT", "failable": ["*"], }, + { + "name": "%s-sp" % release_name, + "distro": "fedora-40", + "image_types": ["iot-simplified-installer"], + "target": "f%s-candidate" % release_version, + "arches": ["x86_64", "aarch64"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], + "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", + "ostree_ref": "fedora/devel/$arch/iot", + "subvariant": "IoT", + "customizations": {"installation_device": "/dev/vda"}, + "failable": ["*"], + }, ], } From ce5eaa7cff224ee598083a33a2f49db59486e894 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Wed, 6 Mar 2024 09:58:13 -0500 Subject: [PATCH 04/23] F40: Change bootable-container name to -bootc Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index e9e1857..507ffec 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -235,7 +235,7 @@ osbuild = { "manifest_type": "dvd-ostree", }, { - "name": "%s-oci" % release_name, + "name": "%s-bootc" % release_name, "distro": "fedora-40", "image_types": ["iot-bootable-container"], "target": "f%s-candidate" % release_version, From 2f6b6499437ee3b96d5a2539ff0c57e6aa83c364 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Thu, 7 Mar 2024 11:08:51 -0500 Subject: [PATCH 05/23] F40: Change simplified-provisioning to -provisioner Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 507ffec..c73246e 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -247,7 +247,7 @@ osbuild = { "failable": ["*"], }, { - "name": "%s-sp" % release_name, + "name": "%s-provisioner" % release_name, "distro": "fedora-40", "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, From 69a2072bdc9e56e17e1a30fcb511fbc31165b7f2 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Wed, 17 Apr 2024 16:36:28 -0400 Subject: [PATCH 06/23] F40: Add bootc image Signed-off-by: Paul Whalen --- fedora-iot.conf | 14 +++++++++++++- variants-fedora.xml | 6 ++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index c73246e..8c9aa16 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -22,7 +22,7 @@ sigkeys = ['a15B79cc'] tree_arches = ['aarch64', 'x86_64'] # limit tree variants # if undefined, all variants from variants.xml will be included -tree_variants = ['IoT'] +tree_variants = ['IoT', 'bootc'] hashed_directories = True # RUNROOT settings @@ -283,4 +283,16 @@ ostree = { } } +ostree_container = { + "^bootc$": { + "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", + "config_url": "https://pagure.io/fedora-iot/ostree", + "config_branch": "f40", + "treefile": "fedora-bootc.yaml", + "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$basearch/os/"], + "arches": ["x86_64", "aarch64"], + "failable": ['*'], + }, +} + koji_profile = 'compose_koji' diff --git a/variants-fedora.xml b/variants-fedora.xml index fc87bb1..058a67d 100644 --- a/variants-fedora.xml +++ b/variants-fedora.xml @@ -7,4 +7,10 @@ x86_64 + + + aarch64 + x86_64 + + From a75c386bf719b41c7841058bac61342400b763a0 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Fri, 19 Apr 2024 14:21:41 -0400 Subject: [PATCH 07/23] F40: use upstream bootc repo Signed-off-by: Paul Whalen --- fedora-iot.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 8c9aa16..7d7e860 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -286,8 +286,8 @@ ostree = { ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "config_url": "https://pagure.io/fedora-iot/ostree", - "config_branch": "f40", + "config_url": "https://github.com/CentOS/centos-bootc", + "config_branch": "main", "treefile": "fedora-bootc.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], From b6f101df008b850fb9ea9f8d1b5043617f05c333 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Sun, 21 Apr 2024 17:40:19 -0400 Subject: [PATCH 08/23] F40: Use pagure bootc repo Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 7d7e860..ffbbb8e 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -286,7 +286,7 @@ ostree = { ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "config_url": "https://github.com/CentOS/centos-bootc", + "config_url": "https://pagure.io/fedora-iot/fedora-bootc", "config_branch": "main", "treefile": "fedora-bootc.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$basearch/os/"], From 8c2e1a884f900d91760d3f0b2fc3f1c071cb60e7 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 22 Apr 2024 08:34:28 -0400 Subject: [PATCH 09/23] F40: Update for final Signed-off-by: Paul Whalen --- fedora-iot.conf | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index ffbbb8e..bf91b17 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -217,9 +217,9 @@ osbuild = { "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", }, { @@ -228,9 +228,9 @@ osbuild = { "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", "manifest_type": "dvd-ostree", }, @@ -240,9 +240,9 @@ osbuild = { "image_types": ["iot-bootable-container"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", "failable": ["*"], }, @@ -252,9 +252,9 @@ osbuild = { "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/devel/$arch/iot", + "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", "customizations": {"installation_device": "/dev/vda"}, "failable": ["*"], @@ -272,11 +272,11 @@ ostree = { "config_branch": "f40", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$basearch/os/" + "https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/devel/${basearch}/iot", + "ostree_ref": "fedora/stable/${basearch}/iot", "runroot_packages": ["selinux-policy-targeted"], "arches": ["x86_64", "aarch64"], "update_summary": True, @@ -289,7 +289,7 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/fedora-bootc", "config_branch": "main", "treefile": "fedora-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/branched/latest-Fedora-40/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], }, From 220559ddd960f9f6e6108f11324f0a17e07a2079 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Tue, 23 Apr 2024 11:08:33 -0400 Subject: [PATCH 10/23] F40: Enable updates Signed-off-by: Paul Whalen --- fedora-iot.conf | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index bf91b17..a95fc32 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -217,7 +217,8 @@ osbuild = { "image_types": ["iot-raw-image"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", @@ -228,7 +229,8 @@ osbuild = { "image_types": ["iot-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", @@ -240,7 +242,8 @@ osbuild = { "image_types": ["iot-bootable-container"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", @@ -252,7 +255,8 @@ osbuild = { "image_types": ["iot-simplified-installer"], "target": "f%s-candidate" % release_version, "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", "ostree_ref": "fedora/stable/$arch/iot", "subvariant": "IoT", @@ -272,8 +276,8 @@ ostree = { "config_branch": "f40", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/" - ] + "https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", "ostree_ref": "fedora/stable/${basearch}/iot", @@ -289,7 +293,8 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/fedora-bootc", "config_branch": "main", "treefile": "fedora-bootc.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/"], + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], }, From 49bbe467d95c92f01505329af58aee7dd2b8edc5 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 27 Apr 2024 16:34:14 +0100 Subject: [PATCH 11/23] Move to base-images mirror repo Signed-off-by: Peter Robinson --- fedora-iot.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index a95fc32..1b28518 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -290,7 +290,7 @@ ostree = { ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "config_url": "https://pagure.io/fedora-iot/fedora-bootc", + "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "main", "treefile": "fedora-bootc.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", From b2beebd8d62b3071b8260f1f802f5c3ca6907cf7 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Thu, 2 May 2024 17:42:49 -0400 Subject: [PATCH 12/23] 40: drop osbuild bootc container Signed-off-by: Paul Whalen --- fedora-iot.conf | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 1b28518..5e18630 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -236,19 +236,6 @@ osbuild = { "subvariant": "IoT", "manifest_type": "dvd-ostree", }, - { - "name": "%s-bootc" % release_name, - "distro": "fedora-40", - "image_types": ["iot-bootable-container"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT", - "failable": ["*"], - }, { "name": "%s-provisioner" % release_name, "distro": "fedora-40", From 0fda47c2ef7afbbb41aabd4006a656c33f4ff1a4 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 3 May 2024 16:29:19 +0100 Subject: [PATCH 13/23] Add script to push containers to registries Add script to push containers to registries, run the script at the end of the compose process to push the container manifests to the fedora container registries. Signed-off-by: Peter Robinson --- sync-bootc-base-containers.sh | 177 ++++++++++++++++++++++++++++++++++ twoweek-nightly.sh | 2 + 2 files changed, 179 insertions(+) create mode 100755 sync-bootc-base-containers.sh diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh new file mode 100755 index 0000000..7e9b0e1 --- /dev/null +++ b/sync-bootc-base-containers.sh @@ -0,0 +1,177 @@ +#!/bin/bash + +set -x + +# +# Sync latest docker image +# +# Docs in the f_help function +f_ctrl_c() { + printf "\n*** Exiting ***\n" + exit $? +} +# trap int (ctrl-c) +trap f_ctrl_c SIGINT +f_help() { + cat < /dev/null + # Import the image + for arch in "${ARCHES[@]}"; do + local filename + filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/${arch}/images/${basename}-${compose}.ociarchive" + copy_image ${format}:${filename} ${registry_name}:${release}-${arch} + done + + popd &> /dev/null + + generate_manifest_list ${registry_name} ${release} + printf "Removing temporary directory\n" + rm -rf $work_dir +} + +# +# Version should not be higher than rawhide +# Either there is a mistake or script is out of date +# +if [[ ${1} -gt "$current_rawhide" ]]; then + printf "ERROR: VERSION HIGHER THAN RAWHIDE" + exit 1 +fi + +# For fedora-bootc +if [[ -n ${base_build_nvr} ]]; then + find_and_copy_images ${base_build_nvr} fedora-bootc ${1} ${compose} +fi diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 95a15fd..12b3f82 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -69,6 +69,8 @@ for dir in IoT metadata ; $RSYNCPREFIX rsync -avhH --delete-after $DESTDIR/compose/$dir/ "$RSYNCTARGET/$dir/" ; $RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID done +# Push containers +./sync-bootc-base-containers.sh ${RELEASE} ${LABEL} # Tell interested persons that the rsync is done. send_fedmsg "${fedmsg_json_done}" ${RELEASE} rsync.complete # Tell everyone by fedmsg about the compose From f7a61386b47d93250d1efeac2ce7e7b2ee1de12f Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 8 May 2024 12:33:40 +0100 Subject: [PATCH 14/23] Improve container version detection process Some minor improvements around container version and release detection. Signed-off-by: Peter Robinson --- sync-bootc-base-containers.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh index 7e9b0e1..f2272f9 100755 --- a/sync-bootc-base-containers.sh +++ b/sync-bootc-base-containers.sh @@ -69,6 +69,7 @@ fi basename="Fedora-IoT-bootc" format="oci-archive" +vers=${1} compose=${2} compdate=`echo ${compose} | cut -c 4-` @@ -78,7 +79,7 @@ compdate=`echo ${compose} | cut -c 4-` # Can't currently query koji for runroot tasks as they're not tagged # # base_build_nvr=$(koji -q latest-build --type=image f${1}-updates-candidate ${basename} | awk '{print $1}') -base_build_nvr=${basename}-${compose} +base_build_nvr=${basename}-${vers}-${compdate} if [[ ${1} -eq "$current_stable" ]]; then tagname="latest" @@ -140,8 +141,8 @@ find_and_copy_images() { exit 1 fi # Check both architectures completed in the build else exit - if [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/x86_64/images/${basename}-${compose}.ociarchive" ] && \ - [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/aarch64/images/${basename}-${compose}.ociarchive" ]; then + if [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/x86_64/images/${basename}-${release}.${compdate}.ociarchive" ] && \ + [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/aarch64/images/${basename}-${release}.${compdate}.ociarchive" ]; then echo "One of the expected images are missing, exiting." exit 1 fi @@ -151,7 +152,7 @@ find_and_copy_images() { # Import the image for arch in "${ARCHES[@]}"; do local filename - filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/${arch}/images/${basename}-${compose}.ociarchive" + filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/bootc/${arch}/images/${basename}-${release}.${compdate}.ociarchive" copy_image ${format}:${filename} ${registry_name}:${release}-${arch} done @@ -171,7 +172,9 @@ if [[ ${1} -gt "$current_rawhide" ]]; then exit 1 fi +printf "Syncing compose contailers: ${vers} : ${compose}\n" + # For fedora-bootc if [[ -n ${base_build_nvr} ]]; then - find_and_copy_images ${base_build_nvr} fedora-bootc ${1} ${compose} + find_and_copy_images ${base_build_nvr} fedora-bootc ${vers} ${compose} fi From 6cae4ca9aa071882245c4d99fa77bf012299540e Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 10 Jun 2024 15:52:30 -0400 Subject: [PATCH 15/23] Update bootc branch to f40 Signed-off-by: Paul Whalen --- fedora-iot.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index 5e18630..a8cd2c8 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -278,7 +278,7 @@ ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "main", + "config_branch": "f40", "treefile": "fedora-bootc.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], From da2cab94ecea788ac2b39c05e943f412b2e188c6 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 18 Nov 2024 16:24:51 -0500 Subject: [PATCH 16/23] Remove IoT, only compose fedora-bootc container Signed-off-by: Paul Whalen --- fedora-iot.conf | 74 +---------------------------------- sync-bootc-base-containers.sh | 4 +- 2 files changed, 3 insertions(+), 75 deletions(-) diff --git a/fedora-iot.conf b/fedora-iot.conf index a8cd2c8..dc50b18 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -22,7 +22,7 @@ sigkeys = ['a15B79cc'] tree_arches = ['aarch64', 'x86_64'] # limit tree variants # if undefined, all variants from variants.xml will be included -tree_variants = ['IoT', 'bootc'] +tree_variants = ['bootc'] hashed_directories = True # RUNROOT settings @@ -87,13 +87,6 @@ lorax_options = [ }) ] -additional_packages = [ - ('^IoT$$', { - '*': [ - '*', - ], - }), -] multilib = [ ('^Everything$', { 'x86_64': ['devel', 'runtime'], @@ -209,71 +202,6 @@ global_version = '40' # live_images ignores this in favor of live_target global_target = 'f40' -osbuild = { - "^IoT$": [ - { - "name": "%s-raw" % release_name, - "distro": "fedora-40", - "image_types": ["iot-raw-image"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT", - }, - { - "name": "%s-ostree" % release_name, - "distro": "fedora-40", - "image_types": ["iot-installer"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT", - "manifest_type": "dvd-ostree", - }, - { - "name": "%s-provisioner" % release_name, - "distro": "fedora-40", - "image_types": ["iot-simplified-installer"], - "target": "f%s-candidate" % release_version, - "arches": ["x86_64", "aarch64"], - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$arch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$arch/os/"], - "ostree_url": "https://kojipkgs.fedoraproject.org/compose/iot/repo/", - "ostree_ref": "fedora/stable/$arch/iot", - "subvariant": "IoT", - "customizations": {"installation_device": "/dev/vda"}, - "failable": ["*"], - }, - ], -} - -ostree = { - "^IoT$": { - "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", - "force_new_commit": True, - "unified_core": True, - "treefile": "fedora-iot.yaml", - "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "f40", - "repo": [ - "IoT", - "https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", - "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], - "tag_ref": False, - "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/stable/${basearch}/iot", - "runroot_packages": ["selinux-policy-targeted"], - "arches": ["x86_64", "aarch64"], - "update_summary": True, - } -} - ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", diff --git a/sync-bootc-base-containers.sh b/sync-bootc-base-containers.sh index f2272f9..5417d10 100755 --- a/sync-bootc-base-containers.sh +++ b/sync-bootc-base-containers.sh @@ -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="40" +current_stable="41" # Define what is rawhide so we know to push that tag -current_rawhide="41" +current_rawhide="42" # Sanity checking if ! [[ "${1}" =~ ^-?[0-9]+$ ]]; then From 1bc946b6bb7e8cbd9ed02a5f3274e6ad5182b66b Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 25 Nov 2024 16:43:20 -0500 Subject: [PATCH 17/23] F40: Use versioned conf for bootc images Signed-off-by: Paul Whalen --- fedora-iot.conf => fedora-bootc.conf | 2 +- twoweek-nightly.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename fedora-iot.conf => fedora-bootc.conf (99%) diff --git a/fedora-iot.conf b/fedora-bootc.conf similarity index 99% rename from fedora-iot.conf rename to fedora-bootc.conf index dc50b18..8f19cab 100644 --- a/fedora-iot.conf +++ b/fedora-bootc.conf @@ -207,7 +207,7 @@ ostree_container = { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "f40", - "treefile": "fedora-bootc.yaml", + "treefile": "fedora-40.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 12b3f82..aad20f8 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -4,7 +4,7 @@ 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-iot.conf" +CONFIG="fedora-bootc.conf" TARGET_DIR="/mnt/koji/compose/iot" NIGHTLY="" DEST=$(pwd) From ec6291028cc7478c9ffc9dc3c9704bae145a771e Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Tue, 26 Nov 2024 09:51:23 -0500 Subject: [PATCH 18/23] F40: Remove unused sections of the twoweek-nightly.sh script Signed-off-by: Paul Whalen --- twoweek-nightly.sh | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index aad20f8..2452ee1 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -47,38 +47,6 @@ time $CMD "$@" if [ "$?" != "0" ]; then exit 1 fi -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" - -DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID -# Public URL the synced compose will wind up at, we put it in fedmsgs -LOCATION="https://dl.fedoraproject.org$RSYNCTARGET" -# 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 IoT metadata ; - do - $RSYNCPREFIX rsync -avhH --delete-after $DESTDIR/compose/$dir/ "$RSYNCTARGET/$dir/" ; - $RSYNCPREFIX ./releng/scripts/build_composeinfo "$RSYNCTARGET/" --name $NEWCOMPOSE_ID - done # Push containers ./sync-bootc-base-containers.sh ${RELEASE} ${LABEL} -# 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 -name Fedora-IoT-${RELEASE}\* -exec rm -rf {} \; From 583d9635543fba52417837d0d1ed894007f4c43b Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Tue, 26 Nov 2024 15:26:56 -0500 Subject: [PATCH 19/23] F40: Update base-images to use main Signed-off-by: Paul Whalen --- fedora-bootc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-bootc.conf b/fedora-bootc.conf index 8f19cab..75bb9f5 100644 --- a/fedora-bootc.conf +++ b/fedora-bootc.conf @@ -206,7 +206,7 @@ ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "f40", + "config_branch": "main", "treefile": "fedora-40.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], From 3e2dd8f1a3d2e81968bae546f29bdf8a49a6bbd2 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 3 Mar 2025 11:17:00 -0500 Subject: [PATCH 20/23] Move fedora-bootc image to f41-stable branch See: https://pagure.io/fedora-iot/pungi-iot/issue/128 Signed-off-by: Paul Whalen --- fedora-bootc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-bootc.conf b/fedora-bootc.conf index 75bb9f5..5fd9781 100644 --- a/fedora-bootc.conf +++ b/fedora-bootc.conf @@ -206,7 +206,7 @@ ostree_container = { "^bootc$": { "version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN", "config_url": "https://pagure.io/fedora-iot/base-images", - "config_branch": "main", + "config_branch": "f41-stable", "treefile": "fedora-40.yaml", "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], From 0d7e74fa4a2c08cefb615343cf1c1328dabd5e03 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Thu, 27 Mar 2025 09:14:42 -0400 Subject: [PATCH 21/23] Update f40 release url to use master mirror The Fedora 40 release directory has been cleaned up and no longer available, use the master mirror to fix failing fedora-bootc images. Signed-off-by: Paul Whalen --- fedora-bootc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-bootc.conf b/fedora-bootc.conf index 5fd9781..ad14516 100644 --- a/fedora-bootc.conf +++ b/fedora-bootc.conf @@ -208,7 +208,7 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "f41-stable", "treefile": "fedora-40.yaml", - "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", + "repo": ["https://dl.fedoraproject.org/pub/fedora/linux/releases/40/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], From 08b86c0759bb64a59554b9cdce2b3306f0fa4533 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Sat, 29 Mar 2025 10:12:53 -0400 Subject: [PATCH 22/23] Revert "Update f40 release url to use master mirror" This reverts commit 0d7e74fa4a2c08cefb615343cf1c1328dabd5e03. --- fedora-bootc.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-bootc.conf b/fedora-bootc.conf index ad14516..5fd9781 100644 --- a/fedora-bootc.conf +++ b/fedora-bootc.conf @@ -208,7 +208,7 @@ ostree_container = { "config_url": "https://pagure.io/fedora-iot/base-images", "config_branch": "f41-stable", "treefile": "fedora-40.yaml", - "repo": ["https://dl.fedoraproject.org/pub/fedora/linux/releases/40/Everything/$basearch/os/", + "repo": ["https://kojipkgs.fedoraproject.org/compose/40/Fedora-40-20240414.0/compose/Everything/$basearch/os/", "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], From 8e996a1358fcf77fc520c873e9301fd7c3d1e420 Mon Sep 17 00:00:00 2001 From: Paul Whalen Date: Mon, 28 Apr 2025 16:48:45 -0400 Subject: [PATCH 23/23] F40: Fix container names and stop running the container sync script This fixes the container name of the generic bootc image and aligns all branches. We no longer need to run the sync script for the containers Signed-off-by: Paul Whalen --- fedora-bootc.conf | 2 ++ twoweek-nightly.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fedora-bootc.conf b/fedora-bootc.conf index 5fd9781..743699f 100644 --- a/fedora-bootc.conf +++ b/fedora-bootc.conf @@ -212,6 +212,8 @@ ostree_container = { "https://kojipkgs.fedoraproject.org/compose/updates/f40-updates/compose/Everything/$basearch/os/"], "arches": ["x86_64", "aarch64"], "failable": ['*'], + "subvariant": "base", + "name": "Fedora-base-bootc", }, } diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 2452ee1..63e3784 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -49,4 +49,4 @@ if [ "$?" != "0" ]; then fi # Push containers -./sync-bootc-base-containers.sh ${RELEASE} ${LABEL} +#./sync-bootc-base-containers.sh ${RELEASE} ${LABEL}