Compare commits

..

3 commits

Author SHA1 Message Date
Peter Robinson
9332c4e05c F-35 IoT: enable updates repo
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2021-11-03 23:39:52 +00:00
Peter Robinson
5d715c4d02 Update F-35 iot for stable
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2021-11-01 18:11:01 +00:00
Peter Robinson
f84123961d f35: update for branching
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2021-08-20 15:23:13 +01:00
6 changed files with 174 additions and 319 deletions

View file

@ -1,25 +1,26 @@
# PRODUCT INFO
release_name = 'Fedora-IoT'
release_short = 'Fedora-IoT'
release_version = '46'
release_version = '35'
# 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 f35 runs.
skip_phases = ["buildinstall", "createrepo", "extra_files"]
ostree_installer_overwrite = True
# 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-f35.xml',
'command': 'make comps-f35.xml'
}
variants_file='variants-fedora.xml'
sigkeys = ['91211FCE']
sigkeys = ['9867C58F']
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
tree_arches = ['aarch64', 'x86_64', "ppc64le", "s390x"]
tree_arches = ['aarch64', 'armhfp', 'x86_64']
# limit tree variants
# if undefined, all variants from variants.xml will be included
tree_variants = ['IoT']
@ -27,7 +28,7 @@ hashed_directories = True
# RUNROOT settings
runroot_channel = 'compose'
runroot_tag = 'f46-build'
runroot_tag = 'f35-build'
# PKGSET
pkgset_source = 'koji' # koji, repos
@ -37,7 +38,7 @@ pkgset_source = 'koji' # koji, repos
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f46-iot'
pkgset_koji_tag = 'f35-iot'
pkgset_koji_inherit = False
filter_system_release_packages = False
@ -59,14 +60,10 @@ repoclosure_backend = 'dnf'
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = '%(release_short)s-%(version)s-%(arch)s-%(date)s%(type_suffix)s.%(respin)s'
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
# use xorrisofs to make isos
createiso_use_xorrisofs = True
# BUILDINSTALL
buildinstall_method = 'lorax'
buildinstall_skip = [
@ -152,10 +149,10 @@ createiso_skip = [
#]
# Image name respecting Fedora's image naming policy
image_name_format = '%(release_short)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s%(type_suffix)s.%(respin)s.iso'
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-%(disc_type)s-%(arch)s-%(version)s'
'%(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 = []
@ -166,7 +163,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 +180,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,105 +199,152 @@ 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?#origin/f35'
global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN'
global_version = '46'
global_target = 'f46'
global_version = '35'
# live_images ignores this in favor of live_target
global_target = 'f35'
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",
},
],
image_build = {
'^IoT$': [
{
'image-build': {
'format': [('raw-xz','raw.xz')],
'name': 'Fedora-IoT',
'kickstart': 'fedora-iot.ks',
'distro': 'Fedora-22',
'disk_size': 4,
'arches': ['armhfp', 'aarch64', 'x86_64'],
'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$arch/os/",
'subvariant': 'IoT',
}
}
],
}
ostree = {
"^IoT$": {
ostree = [
("^IoT$", {
"aarch64": {
"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",
"treefile": "fedora-iot.json",
"config_url": "https://pagure.io/fedora-iot/ostree.git",
"config_branch": "f35",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/"
"https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$basearch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f35-updates/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"],
"ostree_ref": "fedora/stable/${basearch}/iot",
"update_summary": True,
},
"armhfp": {
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"force_new_commit": True,
"treefile": "fedora-iot.json",
"config_url": "https://pagure.io/fedora-iot/ostree.git",
"config_branch": "f35",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$basearch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f35-updates/compose/Everything/$basearch/os/"
]
"tag_ref": False,
"ostree_repo": "/mnt/koji/compose/iot/repo/",
"ostree_ref": "fedora/stable/${basearch}/iot",
"update_summary": True,
},
"x86_64": {
"version": "!OSTREE_VERSION_FROM_LABEL_DATE_TYPE_RESPIN",
"force_new_commit": True,
"treefile": "fedora-iot.json",
"config_url": "https://pagure.io/fedora-iot/ostree.git",
"config_branch": "f35",
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$basearch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f35-updates/compose/Everything/$basearch/os/"
]
"tag_ref": False,
"ostree_repo": "/mnt/koji/compose/iot/repo/",
"ostree_ref": "fedora/stable/${basearch}/iot",
"update_summary": True,
}
}
})
]
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",
ostree_installer = [
("^IoT$", {
"aarch64": {
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f35-updates/compose/Everything/$arch/os/"
],
"release": None,
"rootfs_size": "4",
"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/iot/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org/iot/",
"ostree_osname=fedora-iot",
"ostree_oskey=fedora-35-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist",
"ostree_install_ref=fedora/stable/aarch64/iot",
"ostree_update_ref=fedora/stable/aarch64/iot",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f35',
},
{
"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",
"armhfp": {
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f35-updates/compose/Everything/$arch/os/"
],
"release": None,
"rootfs_size": "4",
"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/iot/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org/iot/",
"ostree_osname=fedora-iot",
"ostree_oskey=fedora-35-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist",
"ostree_install_ref=fedora/stable/armhfp/iot",
"ostree_update_ref=fedora/stable/armhfp/iot",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f35',
},
]
}
"x86_64": {
"repo": [
"IoT",
"https://kojipkgs.fedoraproject.org/compose/35/Fedora-35-20211026.0/compose/Everything/$arch/os/",
"https://kojipkgs.fedoraproject.org/compose/updates/f35-updates/compose/Everything/$arch/os/"
],
"release": None,
"rootfs_size": "4",
"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/iot/repo/",
"ostree_update_repo=https://ostree.fedoraproject.org/iot/",
"ostree_osname=fedora-iot",
"ostree_oskey=fedora-35-primary",
"ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist",
"ostree_install_ref=fedora/stable/x86_64/iot",
"ostree_update_ref=fedora/stable/x86_64/iot",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f35',
}
})
]
koji_profile = 'compose_koji'

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="30"
RELEASE_TITLE="30"
COMPSFILE="comps-f30.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/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://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
@ -89,7 +89,7 @@ chmod -R go+r $DESTDIR/compose/*/*/os/EFI/
# sync over iot
#for arch in x86_64 aarch64; do
#for arch in x86_64 aarch64 armhfp; do
# ostree pull-local --repo=$OSTREEDESTREPO $OSTREESRCREPO --depth=-1 "fedora/devel/${arch}/iot"
#done
#ostree summary -u --repo=$OSTREEDESTREPO # update summary file

View file

@ -1,193 +0,0 @@
#!/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 <<EOF
NAME
${0}
SYNOPSIS
${0} FEDORA_RELEASE IMAGE_URL [-s]
OPTIONS
-s - Sync the stage registries instead of production
DESCRIPTION
This is a stop-gap solution to identify parent inheritance of container
images until the container release automation[0] is in place and we have
fully automated rebuilds[1] in OSBS.
This information should be used such that the images can be rebuilt and
released in the appropriate order using flr-koji.
[0] - https://pagure.io/releng-automation
[1] - https://osbs.readthedocs.io/en/latest/multiarch.html#chain-rebuilds
EXAMPLE
${0} 26
EOF
}
arch_to_goarch() {
local a=$1; shift
# See https://github.com/coreos/stream-metadata-go/blob/c5fe1b98ac1b1e6ab62a606b7580dc1f30703f83/arch/arch.go#L14
case "$a" in
aarch64) echo arm64 ;;
x86_64) echo amd64 ;;
ppc64le) echo ppc64le ;;
s390x) echo s390x ;;
*) echo $a ;;
esac
}
# 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"
# Define what is rawhide so we know to push that tag
current_rawhide="46"
# Sanity checking
if ! [[ "${1}" =~ ^-?[0-9]+$ ]];
then
printf "ERROR: FEDORA_RELEASE missing or invalid\n"
f_help
exit 1
fi
# Determine if we want stage or not (yes, I know this should be getops but I
# don't want this script to survive so we're doing quick and dirty.
#
# If ${stage} is a non-zero length string, then perform staging
stage=""
if [[ "${3}" == "-s" ]]; then
printf "INFO: PERFORMING STAGE SYNC\n"
stage="true"
fi
BASENAMES=("Fedora-IoT-bootc" "Fedora-IoT-bootc-base")
format="oci-archive"
vers=${1}
compose=${2}
compdate=`echo ${compose} | cut -c 4-`
# Obtain the latest build
#
# Need fXX-updates-canddiate to get actual latest nightly
# 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}')
if [[ ${1} -eq "$current_stable" ]]; then
tagname="latest"
fi
if [[ ${1} -eq "$current_rawhide" ]]; then
tagname="rawhide"
fi
if [[ -z "$stage" ]]; then
registries=("registry.fedoraproject.org" "candidate-registry.fedoraproject.org" "quay.io/fedora")
else
registries=("registry.stg.fedoraproject.org" "candidate-registry.stg.fedoraproject.org")
fi
# Copy a local image to all necessary remote registries
copy_image() {
local src=$1; shift
local name=$1; shift
for registry in ${registries[@]}; do
skopeo copy $src docker://${registry}/${name}
done
}
# From already uploaded architecture-specific images, generate a manifest listed image
# on all registries
generate_manifest_list() {
local name=$1; shift
local version=$1; shift
for registry in "${registries[@]}"
do
printf "Push manifest to ${registry}\n"
if [ -n "$tagname" ]
then
printf "tag is set: ${tagname}\n"
buildah rmi "${registry}/${name}:${tagname}" || true
buildah manifest create "${registry}/${name}:${tagname}"
for arch in "${ARCHES[@]}"; do
buildah manifest add --arch=$(arch_to_goarch ${arch}) "${registry}/${name}:${tagname}" "docker://${registry}/${name}:${version}-${arch}"
done
buildah manifest push "${registry}/${name}:${tagname}" "docker://${registry}/${name}:${tagname}" --all
fi
buildah rmi "${registry}/${name}:${version}" || true
buildah manifest create "${registry}/${name}:${version}"
for arch in "${ARCHES[@]}"; do
buildah manifest add --arch=$(arch_to_goarch ${arch}) "${registry}/${name}:${version}" "docker://${registry}/${name}:${version}-${arch}"
done
buildah manifest push "${registry}/${name}:${version}" "docker://${registry}/${name}:${version}" --all
done
}
find_and_copy_images() {
local nvr=$1
local registry_name=$2
local release=$3
local name
if [[ ${registry_name} = "fedora-bootc" ]] || [[ ${registry_name} = "fedora-iot" ]]; then
name=${basename}
else
printf "Unexpected image type! If we added a new one, it needs mapping here"
exit 1
fi
# Check that all architectures completed in the build else exit
for arch in "${ARCHES[@]}"; do
if [ ! -f "/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/${compose_type}/${arch}/images/${basename}-${release}.${compdate}.ociarchive" ]; then
echo "One of the expected images are missing, exiting."
exit 1
fi
done
work_dir=$(mktemp -d)
pushd ${work_dir} &> /dev/null
# Import the image
for arch in "${ARCHES[@]}"; do
local filename
filename="/mnt/koji/compose/iot/Fedora-IoT-${release}-${compdate}/compose/${compose_type}/${arch}/images/${basename}-${release}.${compdate}.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
printf "Syncing compose contailers: ${vers} : ${compose}\n"
# For fedora-bootc and fedora-iot
for basename in "${BASENAMES[@]}"; do
if [[ ${basename} = "Fedora-IoT-bootc" ]]; then
registry_name="fedora-bootc"
compose_type="bootc"
ARCHES=("aarch64" "x86_64" "ppc64le" "s390x")
elif [[ ${basename} = "Fedora-IoT-bootc-base" ]]; then
registry_name="fedora-iot"
compose_type="bootc-base"
ARCHES=("aarch64" "x86_64")
fi
base_build_nvr=${basename}-${vers}-${compdate}
if [[ -n ${base_build_nvr} ]]; then
find_and_copy_images ${base_build_nvr} ${registry_name} ${vers} ${compose}
fi
done

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="35"
RELEASE_TITLE="35"
COMPSFILE="comps-f35.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/35/"
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="35"
RELEASE_TITLE="35"
COMPSFILE="comps-f35.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/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 --notification-script=pungi-wait-for-signed-ostree-handler --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY --label=$LABEL"
@ -49,10 +49,13 @@ if [ "$?" != "0" ]; then
fi
ostree summary --update --repo=/mnt/koji/compose/iot/repo/
# Exit now we're post release
exit 1
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,8 +70,10 @@ 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 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'

View file

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE variants PUBLIC "-//Red Hat, Inc.//DTD Variants info//EN" "variants2012.dtd">
<variants>
<variant id="IoT" name="IoT" type="variant" is_empty="true">
<variant id="IoT" name="IoT" type="variant">
<arches>
<arch>aarch64</arch>
<arch>x86_64</arch>
<arch>ppc64le</arch>
<arch>s390x</arch>
<arch>armhfp</arch>
<arch>x86_64</arch>
</arches>
</variant>
</variants>