diff --git a/fedora-iot.conf b/fedora-iot.conf index 579d34d..3c3e153 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -16,7 +16,7 @@ comps_file = { 'command': 'make comps-f36.xml' } variants_file='variants-fedora.xml' -sigkeys = ['9867C58F'] +sigkeys = ['38AB71F4'] # limit tree architectures # if undefined, all architectures from variants.xml will be included @@ -60,7 +60,7 @@ repoclosure_backend = 'dnf' # 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' +media_checksum_base_filename = '%(release_short)s-%(version)s-%(arch)s-%(date)s%(type_suffix)s.%(respin)s' #jigdo create_jigdo = False @@ -149,10 +149,10 @@ createiso_skip = [ #] # 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' +image_name_format = '%(release_short)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' + '%(release_short)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 = [] @@ -200,7 +200,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/f36' global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN' global_version = '36' # live_images ignores this in favor of live_target @@ -213,10 +213,10 @@ image_build = { 'format': [('raw-xz','raw.xz')], 'name': 'Fedora-IoT', 'kickstart': 'fedora-iot.ks', - 'distro': 'Fedora-22', + 'distro': 'Fedora-30', 'disk_size': 4, - 'arches': ['armhfp', 'aarch64', 'x86_64'], - 'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/", + 'arches': ['armhfp'], + 'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/36/Fedora-36-20220504.1/compose/Everything/$arch/os/", 'subvariant': 'IoT', } } @@ -225,81 +225,32 @@ image_build = { ostree = [ ("^IoT$", { - "aarch64": { - "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": "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", - "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": "main", + "config_branch": "f36", "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" + "https://kojipkgs.fedoraproject.org/compose/36/Fedora-36-20220504.1/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f36-updates/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/${basearch}/iot", + "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": "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", - "update_summary": True, - } }) ] ostree_installer = [ ("^IoT$", { - "aarch64": { - "repo": [ - "IoT", - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/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-36-primary", - "ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist", - "ostree_install_ref=fedora/rawhide/aarch64/iot", - "ostree_update_ref=fedora/rawhide/aarch64/iot", - ], - 'template_repo': 'https://pagure.io/fedora-lorax-templates.git', - 'template_branch': 'main', - }, "armhfp": { "repo": [ "IoT", - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/" + "https://kojipkgs.fedoraproject.org/compose/36/Fedora-36-20220504.1/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f36-updates/compose/Everything/$arch/os/" ], "release": None, "rootfs_size": "4", @@ -311,33 +262,12 @@ ostree_installer = [ "ostree_osname=fedora-iot", "ostree_oskey=fedora-36-primary", "ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist", - "ostree_install_ref=fedora/rawhide/armhfp/iot", - "ostree_update_ref=fedora/rawhide/armhfp/iot", + "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': 'main', + 'template_branch': 'f36', }, - "x86_64": { - "repo": [ - "IoT", - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/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-36-primary", - "ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist", - "ostree_install_ref=fedora/rawhide/x86_64/iot", - "ostree_update_ref=fedora/rawhide/x86_64/iot", - ], - 'template_repo': 'https://pagure.io/fedora-lorax-templates.git', - 'template_branch': 'main', - } }) ] diff --git a/sync-release.sh b/sync-release.sh new file mode 100755 index 0000000..91069ab --- /dev/null +++ b/sync-release.sh @@ -0,0 +1,53 @@ +#!/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-iot.conf" +TARGET_DIR="/mnt/koji/compose/iot" +NIGHTLY="" +DEST=$(pwd) +DATE=$(date "+%Y%m%d") +# the Pungi 'shortname', which we will include in fedmsgs for disambiguation +SHORT="Fedora-IoT" +RELEASE="36" +RELEASE_TITLE="36" +COMPSFILE="comps-f36.xml" +TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX` +TOMAIL="iot@lists.fedoraproject.org" +FROM="Fedora IoT Report " +RSYNCPREFIX="sudo -u ftpsync" +RSYNCTARGET="/pub/alt/iot/36/" +OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID) + +NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-$SHORT-$RELEASE_TITLE/COMPOSE_ID) +SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g') + +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 +# 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 IoT'$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 {} \; diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index 3d13535..96c02fd 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 @@ -49,6 +49,9 @@ 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')