From 3cabe45ac865dfbcd5389b49f4736d0b291f9bdc Mon Sep 17 00:00:00 2001 From: Sinny Kumari Date: Thu, 11 Oct 2018 16:41:46 +0530 Subject: [PATCH] fedora-atomic: Prepare for AH twowek compose run for Fedora 29 We will run twoweek nightly compose for Fedora 29 Atomic Host so that we can test and release artifacts which we are going to ship for first TwoWeek release based on F29. We will continue using AH artifatcs from Fedora-29-updates compose for future Two Week releases once they are available Changes were done by referring to f28 branch and fedora.conf from f29 Signed-off-by: Sinny Kumari --- fedora-atomic.conf | 249 ++++++++++++++++++++++++++++++--------------- twoweek-nightly.sh | 17 +--- 2 files changed, 171 insertions(+), 95 deletions(-) diff --git a/fedora-atomic.conf b/fedora-atomic.conf index e5dfbb0..e998d7f 100644 --- a/fedora-atomic.conf +++ b/fedora-atomic.conf @@ -1,45 +1,47 @@ # PRODUCT INFO release_name = 'Fedora-Atomic' release_short = 'Fedora-Atomic' -release_version = '26' +release_version = '29' release_is_layered = False +# Let's not build install media during this run. For the image builds +# and OSTree installer we'll use inputs from other f29 runs. +skip_phases = ["buildinstall", "productimg", "pkgset", "gather", "extra_files", "createrepo"] + # GENERAL SETTINGS bootable = True -buildinstall_method = 'lorax' -lorax_options = [ - ('^.*$', { - 'x86_64': { - 'nomacboot': True - } - '*': { - 'noupgrade': True - } - }) -] -comps_file = 'comps-f26.xml' #{ -# 'scm': 'git', -# 'repo': 'git://git.fedorahosted.org/git/comps.git', -# 'branch': None, # defaults to cvs/HEAD or git/master -# 'file': 'comps-f23.xml', -#} +comps_file = { + 'scm': 'git', + 'repo': 'https://pagure.io/fedora-comps.git', + 'branch': 'master', + 'file': 'comps-f29.xml', + 'command': 'make comps-f29.xml' +} + variants_file='variants-fedora.xml' -sigkeys = ['64DAB85D'] # None = unsigned +sigkeys = ['429476B4'] # limit tree architectures # if undefined, all architectures from variants.xml will be included -tree_arches = ['x86_64'] +tree_arches = ['aarch64', 'ppc64le', 'x86_64'] # limit tree variants # if undefined, all variants from variants.xml will be included -tree_variants = ['Atomic', 'Cloud', 'CloudImages'] +tree_variants = ['AtomicHost'] hashed_directories = True # RUNROOT settings runroot = True -#runroot_channel = 'fedora_compose' runroot_channel = 'compose' -runroot_tag = 'f26-build' +runroot_tag = 'f29-build' # PKGSET pkgset_source = 'koji' # koji, repos -pkgset_koji_tag = 'f26-atomic' + +# PKGSET - REPOS +# pkgset_repos format: {arch: [repo1_url, repo2_url, ...]} +# pkgset_repos = {} + +# PKGSET - KOJI +#pkgset_koji_tag = 'f29-atomic' +pkgset_koji_tag = 'f29-atomic-host-installer' pkgset_koji_inherit = True + filter_system_release_packages = False # GATHER gather_source = 'comps' @@ -61,6 +63,28 @@ media_checksum_one_file = True media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s' #jigdo create_jigdo = False + +# BUILDINSTALL +buildinstall_method = 'lorax' +buildinstall_skip = [ + ('^Modular$', { + '*': True + }), +] + +# Enables macboot on x86_64 for all variants and disables upgrade image building +# # everywhere. +lorax_options = [ + ('^.*$', { + 'x86_64': { + 'nomacboot': False + }, + '*': { + 'noupgrade': True + } + }) +] + #extra_packages = [ # '/mnt/packages/foo*', #] @@ -126,7 +150,7 @@ filter_packages = [ ] # format: {arch|*: [packages]} multilib_blacklist = { - '*': ['kernel*', 'kernel-PAE*', 'kernel*debug*', + '*': ['kernel', 'kernel-PAE*', 'kernel*debug*', 'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel', 'php-devel', 'java-*', 'httpd-devel', 'tomcat-native', 'php*', 'httpd', @@ -135,10 +159,13 @@ multilib_blacklist = { } # format: {arch|*: [packages]} multilib_whitelist = { - '*': ['libgnat', 'wine*', 'lmms-vst', 'nspluginwrapper', + '*': ['libgnat', 'wine', 'lmms-vst', 'nspluginwrapper', 'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb', 'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux', - 'syslinux-tftpboot', 'nosync', '*-static' + 'syslinux-tftpboot', 'nosync', '*-static', 'apitrace-libs', + 'fakeroot-libs', 'postgresql-odbc', 'mysql-connector-odbc', + 'fakechroot-libs','mesa-vdpau-drivers', 'p11-kit-trust', + 'mariadb-connector-odbc', 'compiler-rt' ], } createiso_skip = [ @@ -146,18 +173,22 @@ createiso_skip = [ '*': True, 'src': True }), + ('^Server$', { 'src': True }), - ('^Cloud$', { - '*': True, - 'src': True - }), + ('^Everything$', { '*': True, 'src': True }), + + ('^Modular$', { + '*': True, + 'src': True + }), ] + # fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})] #extra_files = [ # ('^(Server|Workstation|Cloud)$', { @@ -182,28 +213,39 @@ image_volid_formats = [ ] # No special handling for layered products, use same format as for regular images image_volid_layered_product_formats = [] -# Replace 'Cloud' with 'C' in volume id etc. +# Used by Pungi to replace 'Cloud' with 'C' (etc.) in ISO volume IDs. +# There is a hard 32-character limit on ISO volume IDs, so we use +# these to try and produce short enough but legible IDs. Note this is +# duplicated in Koji for live images, as livemedia-creator does not +# 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 volume_id_substitutions = { - 'Atomic': 'AH', - 'Rawhide': 'rawh', - 'Images': 'img', - 'MATE_Compiz': 'MATE', - 'Security': 'Sec', - 'Electronic_Lab': 'Elec', - 'Robotics': 'Robo', - 'Scientific_KDE': 'SciK', - 'Astronomy_KDE': 'AstK', - 'Design_suite': 'Dsgn', - 'Games': 'Game', - 'Jam_KDE': 'Jam', - 'Workstation': 'WS', - 'Everything': 'E', - 'Server': 'S', - 'Cloud': 'C', - 'Alpha': 'A', - 'Beta': 'B', - 'TC': 'T', + 'Beta': 'B', + 'Rawhide': 'rawh', + 'Astronomy_KDE': 'AstK', + 'AtomicHost': 'AH', + 'Silverblue': 'SB', + 'Cinnamon': 'Cinn', + 'Cloud': 'C', + 'Design_suite': 'Dsgn', + 'Electronic_Lab': 'Elec', + 'Everything': 'E', + 'Games': 'Game', + 'Images': 'img', + 'Jam_KDE': 'Jam', + 'MATE_Compiz': 'MATE', + # Note https://pagure.io/pungi-fedora/issue/533 + 'Python-Classroom': 'Clss', + 'Python_Classroom': 'Clss', + 'Robotics': 'Robo', + 'Scientific_KDE': 'SciK', + 'Security': 'Sec', + 'Server': 'S', + '-Workstation-': '-WS-', } + disc_types = { 'boot': 'netinst', 'live': 'Live', @@ -211,38 +253,37 @@ disc_types = { translate_paths = [ ('/mnt/koji/compose/', 'http://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?#origin/f29' +global_release = '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN' +global_version = '29' +# live_images ignores this in favor of live_target +global_target = 'f29' image_build = { - '^CloudImages$': [ + '^AtomicHost$': [ { 'image-build': { - 'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')] - 'name': 'Fedora-Atomic', - 'target': 'f26', - 'version': '26', - 'release': None, - 'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f26', - 'kickstart': 'fedora-atomic.ks', - 'distro': 'Fedora-20', + 'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')], + 'name': 'Fedora-AtomicHost', + 'kickstart': 'fedora-atomic-updates.ks', + 'distro': 'Fedora-22', 'disk_size': 6, - 'arches': ['x86_64'], - 'install_tree_from': 'Cloud', - 'subvariant': 'Atomic' + 'arches': ['aarch64', 'ppc64le', 'x86_64'], + 'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/", + 'subvariant': 'AtomicHost', } }, { 'image-build': { - 'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')] - 'name': 'Fedora-Atomic-Vagrant', - 'target': 'f26', - 'version': '26', - 'release': None, - 'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f26', - 'kickstart': 'fedora-atomic-vagrant.ks', - 'distro': 'Fedora-20', + 'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')], + 'name': 'Fedora-AtomicHost-Vagrant', + 'kickstart': 'fedora-atomic-vagrant-updates.ks', + 'distro': 'Fedora-22', 'disk_size': 40, 'arches': ['x86_64'], - 'install_tree_from': 'Cloud', - 'subvariant': 'Atomic' + 'install_tree_from': "https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/", + 'subvariant': 'AtomicHost', }, 'factory-parameters': { 'vagrant_sync_directory': '/home/vagrant/sync', @@ -250,25 +291,69 @@ image_build = { } ], } +ostree = { + "^AtomicHost$": { + "version": '!VERSION_FROM_VERSION_DATE_RESPIN'', + "force_new_commit": True, + "treefile": "fedora-atomic-host.json", + "config_url": "https://pagure.io/fedora-atomic.git", + "config_branch": "f29", + "repo": "https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$basearch/os/", + "tag_ref": False, + "ostree_repo": "/mnt/koji/compose/atomic/repo/", + "ostree_ref": "fedora/29/${basearch}/updates/atomic-host", + "arches": ["aarch64", "ppc64le", "x86_64"], + } +} ostree_installer = [ - ("^Atomic$", { + ("^AtomicHost$", { "x86_64": { - "repo": [ "Cloud", - "https://kojipkgs.fedoraproject.org/pub/fedora/linux/releases/26/Everything/$arch/os/"], + "repo": "https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/compose/Everything/$arch/os/", "release": None, - "installpkgs": ["fedora-productimg-atomic"], "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/atomic/rawhide/", - "ostree_update_repo=https://kojipkgs.fedoraproject.org/atomic/rawhide/", + "ostree_install_repo=https://kojipkgs.fedoraproject.org/compose/atomic/repo/", + "ostree_update_repo=https://dl.fedoraproject.org/atomic/repo/", "ostree_osname=fedora-atomic", - "ostree_install_ref=fedora/rawhide/x86_64/atomic-host", - "ostree_update_ref=fedora/rawhide/x86_64/atomic-host", + "ostree_install_ref=fedora/29/x86_64/updates/atomic-host", + "ostree_update_ref=fedora/29/x86_64/atomic-host", ], 'template_repo': 'https://pagure.io/fedora-lorax-templates.git', - 'template_branch': 'f26', + 'template_branch': 'f29', + }, + "aarch64": { + "repo": "https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/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/atomic/repo/", + "ostree_update_repo=https://dl.fedoraproject.org/atomic/repo/", + "ostree_osname=fedora-atomic", + "ostree_install_ref=fedora/29/aarch64/updates/atomic-host", + "ostree_update_ref=fedora/29/aarch64/atomic-host", + ], + 'template_repo': 'https://pagure.io/fedora-lorax-templates.git', + 'template_branch': 'f29', + }, + "ppc64le": { + "repo": "https://kojipkgs.fedoraproject.org/compose/29/latest-Fedora-29/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/atomic/repo/", + "ostree_update_repo=https://dl.fedoraproject.org/atomic/repo/", + "ostree_osname=fedora-atomic", + "ostree_install_ref=fedora/29/ppc64le/updates/atomic-host", + "ostree_update_ref=fedora/29/ppc64le/atomic-host", + ], + 'template_repo': 'https://pagure.io/fedora-lorax-templates.git', + 'template_branch': 'f29', } }) ] diff --git a/twoweek-nightly.sh b/twoweek-nightly.sh index dd75a72..6a210af 100755 --- a/twoweek-nightly.sh +++ b/twoweek-nightly.sh @@ -8,14 +8,13 @@ CONFIG="fedora-atomic.conf" TARGET_DIR="/mnt/koji/compose/twoweek" #OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR" NIGHTLY="" -SKIP_PHASES="--skip-phase=productimg --skip-phase=extra_files" DEST=$(pwd) DATE=$(date "+%Y%m%d") # the Pungi 'shortname', which we will include in fedmsgs for disambiguation SHORT="Fedora-Atomic" -RELEASE="27" -RELEASE_TITLE="27" -COMPSFILE="comps-f27.xml" +RELEASE="29" +RELEASE_TITLE="29" +COMPSFILE="comps-f29.xml" TMPDIR=`mktemp -d /tmp/$RELEASE.$DATE.XXXX` TOMAIL="devel@lists.fedoraproject.org test@lists.fedoraproject.org" FROM="Fedora Branched Report " @@ -40,15 +39,7 @@ FEDMSG_CERTPREFIX="releng" . ./releng/scripts/fedmsg-functions.sh # Announce that we are starting... send_fedmsg "${fedmsg_json_start}" ${RELEASE} start -pushd $TMPDIR -git clone https://pagure.io/fedora-comps.git && { - pushd fedora-comps - make "${COMPSFILE}" - cp "${COMPSFILE}" $DEST/ - popd -} -popd -CMD="pungi-koji --notification-script=/usr/bin/pungi-fedmsg-notification --config=$CONFIG --old-composes=$TARGET_DIR $OLD_COMPOSES_DIR $NIGHTLY $SKIP_PHASES --label=$LABEL" +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" if [ -z "$COMPOSE_ID" ]; then CMD="$CMD --target-dir=$TARGET_DIR" else