diff --git a/fedora-iot.conf b/fedora-iot.conf index 79c5db6..9d7c20a 100644 --- a/fedora-iot.conf +++ b/fedora-iot.conf @@ -4,7 +4,7 @@ release_short = 'Fedora-IoT' release_version = '32' # Let's not build install media during this run. For the image builds # and OSTree installer we'll use inputs from other f32 runs. -skip_phases = ["buildinstall", "gather", "createrepo", "extra_files"] +skip_phases = ["buildinstall", "createrepo", "extra_files"] ostree_installer_overwrite = True # GENERAL SETTINGS @@ -43,6 +43,20 @@ pkgset_koji_inherit = False filter_system_release_packages = False +# GATHER +gather_method = { + '^.*': { # For all variants + 'comps': 'deps', # resolve dependencies for packages from comps file + 'module': 'nodeps', # but not for packages from modules + } +} +gather_backend = 'dnf' +gather_profiler = True +check_deps = False +greedy_method = 'build' + +repoclosure_backend = 'dnf' + # CHECKSUMS media_checksums = ['sha256'] media_checksum_one_file = True @@ -186,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/f32' global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN' global_version = '32' # live_images ignores this in favor of live_target @@ -202,7 +216,7 @@ image_build = { 'distro': 'Fedora-22', 'disk_size': 4, 'arches': ['aarch64', 'x86_64'], - 'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/", + 'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$arch/os/", 'subvariant': 'IoT', } } @@ -216,14 +230,15 @@ ostree = [ "force_new_commit": True, "treefile": "fedora-iot.json", "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "master", + "config_branch": "f32", "repo": [ - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" + "IoT", + "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f32-updates/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/${basearch}/iot", - "failable": ['*'], + "ostree_ref": "fedora/stable/${basearch}/iot", "update_summary": True, }, "armhfp": { @@ -231,14 +246,15 @@ ostree = [ "force_new_commit": True, "treefile": "fedora-iot.json", "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "master", + "config_branch": "f32", "repo": [ - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" + "IoT", + "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f32-updates/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/${basearch}/iot", - "failable": ['*'], + "ostree_ref": "fedora/stable/${basearch}/iot", "update_summary": True, }, "x86_64": { @@ -246,14 +262,15 @@ ostree = [ "force_new_commit": True, "treefile": "fedora-iot.json", "config_url": "https://pagure.io/fedora-iot/ostree.git", - "config_branch": "master", + "config_branch": "f32", "repo": [ - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$basearch/os/" + "IoT", + "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$basearch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f32-updates/compose/Everything/$basearch/os/" ] "tag_ref": False, "ostree_repo": "/mnt/koji/compose/iot/repo/", - "ostree_ref": "fedora/rawhide/${basearch}/iot", - "failable": ['*'], + "ostree_ref": "fedora/stable/${basearch}/iot", "update_summary": True, } }) @@ -263,7 +280,9 @@ ostree_installer = [ ("^IoT$", { "aarch64": { "repo": [ - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/" + "IoT", + "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f32-updates/compose/Everything/$arch/os/" ], "release": None, "rootfs_size": "4", @@ -273,17 +292,19 @@ ostree_installer = [ "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-32", + "ostree_oskey=fedora-32-primary", "ostree_contenturl=mirrorlist=https://ostree.fedoraproject.org/iot/mirrorlist", - "ostree_install_ref=fedora/rawhide/aarch64/iot", - "ostree_update_ref=fedora/rawhide/aarch64/iot", + "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': 'master', + 'template_branch': 'f32', }, "armhfp": { "repo": [ - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/" + "IoT", + "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f32-updates/compose/Everything/$arch/os/" ], "release": None, "rootfs_size": "4", @@ -293,17 +314,19 @@ ostree_installer = [ "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-32", + "ostree_oskey=fedora-32-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': 'master', + 'template_branch': 'f32', }, "x86_64": { "repo": [ - "https://kojipkgs.fedoraproject.org/compose/rawhide/latest-Fedora-Rawhide/compose/Everything/$arch/os/" + "IoT", + "https://kojipkgs.fedoraproject.org/compose/32/latest-Fedora-32/compose/Everything/$arch/os/", + "https://kojipkgs.fedoraproject.org/compose/updates/f32-updates/compose/Everything/$arch/os/" ], "release": None, "rootfs_size": "4", @@ -313,13 +336,13 @@ ostree_installer = [ "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-32", + "ostree_oskey=fedora-32-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", + "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': 'master', + 'template_branch': 'f32', } }) ] diff --git a/nightly.sh b/nightly.sh index afcf79b..1dee5cf 100755 --- a/nightly.sh +++ b/nightly.sh @@ -67,6 +67,8 @@ 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" + # Set this to use later for a few items include depcheck DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID # Public URLs the synced compose will wind up at, we put them in fedmsgs diff --git a/sync-release.sh b/sync-release.sh new file mode 100755 index 0000000..88af72b --- /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="32" +RELEASE_TITLE="32" +COMPSFILE="comps-f32.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/32/" +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 fa59364..332a871 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 @@ -52,6 +52,11 @@ 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" + +# Exit now we're post release +exit 1 + 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"