Split Atomic and CloudImage
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
This commit is contained in:
parent
b28af80fd7
commit
e31b51de77
102
cloud-nightly.sh
Executable file
102
cloud-nightly.sh
Executable file
@ -0,0 +1,102 @@
|
||||
#!/bin/sh
|
||||
|
||||
#set -x
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
LABEL=$1
|
||||
|
||||
CONFIG="fedora-cloud.conf"
|
||||
TARGET_DIR="/mnt/koji/compose/"
|
||||
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
|
||||
NIGHTLY=""
|
||||
SKIP_PHASES="--skip-phase=productimg --skip-phase=pkgset --skip-phase=gather --skip-phase=extra_files --skip-phase=creatrepo"
|
||||
DEST=$(pwd)
|
||||
DATE=$(date "+%Y%m%d")
|
||||
DIST="25"
|
||||
BRANCHED="25"
|
||||
BRANCH="branched"
|
||||
COMPSFILE="comps-f25.xml"
|
||||
GIT_BRANCH="f25"
|
||||
TMPDIR=`mktemp -d /tmp/$DIST.$DATE.XXXX`
|
||||
TOMAIL="devel@lists.fedoraproject.org test@lists.fedoraproject.org"
|
||||
FROM="Fedora Branched Report <rawhide@fedoraproject.org>"
|
||||
RSYNCPREFIX="sudo -u ftpsync"
|
||||
ATOMIC=$(mktemp -d /tmp/atomic.${DIST}.$DATE.XXXX)
|
||||
ATOMICREPO="/mnt/koji/compose/atomic/$BRANCHED/"
|
||||
ATOMICDEST="/mnt/koji/atomic/$BRANCHED/"
|
||||
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-25/COMPOSE_ID)
|
||||
# uncomment and edit for resuming a failed compose
|
||||
#COMPOSE_ID="Fedora-23-20150530.n.0"
|
||||
|
||||
# assume a releng dir is a git checkout of the releng repo
|
||||
# if it does not exist clone it
|
||||
if [ -d releng ]; then
|
||||
pushd releng
|
||||
git pull --rebase
|
||||
popd
|
||||
else
|
||||
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"}' "$BRANCHED" "$ARCH")
|
||||
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s"}' "$BRANCHED" "$ARCH")
|
||||
FEDMSG_MODNAME="compose"
|
||||
FEDMSG_CERTPREFIX="releng"
|
||||
. ./releng/scripts/fedmsg-functions.sh
|
||||
|
||||
# Announce that we are starting, even though we don't know the compose_id yet..
|
||||
send_fedmsg "${fedmsg_json_start}" ${DIST} 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"
|
||||
|
||||
if [ -z "$COMPOSE_ID" ]; then
|
||||
CMD="$CMD --target-dir=$TARGET_DIR"
|
||||
else
|
||||
CMD="$CMD --debug-mode --compose-dir=$TARGET_DIR/$COMPOSE_ID"
|
||||
fi
|
||||
|
||||
time $CMD "$@"
|
||||
if [ "$?" = "0" ]; then
|
||||
export mail=0
|
||||
fi
|
||||
|
||||
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-25/COMPOSE_ID)
|
||||
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
|
||||
|
||||
# Set this to use later for a few items include depcheck
|
||||
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
|
||||
$RSYNCPREFIX mkdir -p $DESTDIR
|
||||
|
||||
# Tell interested persons that the rsync is starting (zomg!)
|
||||
send_fedmsg "${fedmsg_json_start}" ${DIST} rsync.start
|
||||
|
||||
#for dir in CloudImage metadata ;
|
||||
# do
|
||||
# $RSYNCPREFIX rsync -avhH $TARGET_DIR/$NEWCOMPOSE_ID/compose/$dir/ /pub/alt/atomic/testing/$SHORTCOMPOSE_ID/$dir/ ;
|
||||
# done
|
||||
|
||||
# Tell interested persons that the rsync is done.
|
||||
#send_fedmsg "${fedmsg_json_done}" ${DIST} rsync.complete
|
||||
|
||||
# Tell everyone by fedmsg about the compose
|
||||
send_fedmsg "${fedmsg_json_done}" ${DIST} complete
|
||||
|
||||
# Tell everyone by email about the compose
|
||||
SUBJECT='Fedora '$DIST' compose report: '$SHORTCOMPOSE_ID' changes'
|
||||
#if [ "$mail" = "0" ]; then
|
||||
# for tomail in $TOMAIL ; do
|
||||
# cat $TARGET_DIR/$NEWCOMPOSE_ID/logs/*verbose $DESTDIR/logs/depcheck | \
|
||||
# mutt -e "set from=\"$FROM\"" -e 'set envelope_from=yes' -s "$SUBJECT" $tomail
|
||||
# done
|
||||
#fi
|
@ -213,47 +213,6 @@ translate_paths = [
|
||||
]
|
||||
image_build = {
|
||||
'^CloudImages$': [
|
||||
{
|
||||
'image-build': {
|
||||
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
||||
'name': 'Fedora-Cloud-Base',
|
||||
'target': 'f25',
|
||||
'version': '25',
|
||||
'release': None,
|
||||
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
||||
'kickstart': 'fedora-cloud-base.ks',
|
||||
'distro': 'Fedora-20',
|
||||
'disk_size': 3,
|
||||
'arches': ['x86_64'],
|
||||
'repo_from': 'Cloud',
|
||||
'repo': [
|
||||
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
||||
],
|
||||
'install_tree_from': 'Cloud',
|
||||
'subvariant': 'Cloud_Base'
|
||||
}
|
||||
},
|
||||
{
|
||||
'image-build': {
|
||||
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
|
||||
'name': 'Fedora-Cloud-Base-Vagrant',
|
||||
'target': 'f25',
|
||||
'version': '25',
|
||||
'release': None,
|
||||
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
||||
'kickstart': 'fedora-cloud-base-vagrant.ks',
|
||||
'distro': 'Fedora-20',
|
||||
'disk_size': 40,
|
||||
'arches': ['x86_64'],
|
||||
'repo_from': 'Cloud',
|
||||
'repo': [
|
||||
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
||||
],
|
||||
'install_tree_from': 'Cloud',
|
||||
'subvariant': 'Cloud_Base',
|
||||
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
|
||||
}
|
||||
},
|
||||
{
|
||||
'image-build': {
|
||||
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
||||
|
248
fedora-cloud.conf
Normal file
248
fedora-cloud.conf
Normal file
@ -0,0 +1,248 @@
|
||||
# PRODUCT INFO
|
||||
release_name = 'Fedora-Cloud'
|
||||
release_short = 'Fedora-Cloud'
|
||||
release_version = '25'
|
||||
release_is_layered = False
|
||||
# GENERAL SETTINGS
|
||||
bootable = False
|
||||
comps_file = 'comps-f25.xml' #{
|
||||
# 'scm': 'git',
|
||||
# 'repo': 'git://git.fedorahosted.org/git/comps.git',
|
||||
# 'branch': None, # defaults to cvs/HEAD or git/master
|
||||
# 'file': 'comps-f23.xml',
|
||||
#}
|
||||
variants_file='variants-fedora.xml'
|
||||
sigkeys = ['FDB19C98', 'E372E838'] # None = unsigned
|
||||
# limit tree architectures
|
||||
# if undefined, all architectures from variants.xml will be included
|
||||
tree_arches = ['x86_64']
|
||||
# limit tree variants
|
||||
# if undefined, all variants from variants.xml will be included
|
||||
tree_variants = ['CloudImage']
|
||||
hashed_directories = True
|
||||
# RUNROOT settings
|
||||
runroot = True
|
||||
#runroot_channel = 'fedora_compose'
|
||||
runroot_channel = 'compose'
|
||||
runroot_tag = 'f25-build'
|
||||
# PKGSET
|
||||
pkgset_source = 'koji' # koji, repos
|
||||
pkgset_koji_tag = 'f25-updates'
|
||||
pkgset_koji_inherit = True
|
||||
filter_system_release_packages = False
|
||||
# GATHER
|
||||
gather_source = 'comps'
|
||||
gather_method = 'deps'
|
||||
check_deps = False
|
||||
greedy_method = 'build'
|
||||
# fomat: [(variant_uid_regex, {arch|*: [repos]})]
|
||||
# gather_lookaside_repos = []
|
||||
# GATHER - JSON
|
||||
# format: {variant_uid: {arch: package: [arch1, arch2, None (for any arch)]}}
|
||||
#gather_source_mapping = '/path/to/mapping.json'
|
||||
# CREATEREPO
|
||||
createrepo_c = True
|
||||
createrepo_checksum = 'sha256'
|
||||
# CHECKSUMS
|
||||
media_checksums = ['sha256']
|
||||
media_checksum_one_file = True
|
||||
media_checksum_base_filename = 'Fedora-%(variant)s-%(version)s-%(date)s.%(respin)s-%(arch)s'
|
||||
#jigdo
|
||||
create_jigdo = False
|
||||
#extra_packages = [
|
||||
# '/mnt/packages/foo*',
|
||||
#]
|
||||
# fomat: [(variant_uid_regex, {arch|*: [packages]})]
|
||||
additional_packages = [
|
||||
('.*', {
|
||||
'*': [
|
||||
'kernel.*',
|
||||
'dracut.*',
|
||||
'autocorr-.*',
|
||||
'eclipse-nls-.*',
|
||||
'hunspell-.*',
|
||||
'hyphen-.*',
|
||||
'calligra-l10n-.*',
|
||||
'kde-l10n-.*',
|
||||
'libreoffice-langpack-.*',
|
||||
'man-pages-.*',
|
||||
'mythes-.*',
|
||||
],
|
||||
}),
|
||||
('^Everything$', {
|
||||
'*': [
|
||||
'*',
|
||||
],
|
||||
}),
|
||||
('^Server$', {
|
||||
'*': [
|
||||
],
|
||||
}),
|
||||
('^Workstation$', {
|
||||
'*': [
|
||||
],
|
||||
}),
|
||||
('^Cloud$', {
|
||||
'*': [
|
||||
],
|
||||
}),
|
||||
]
|
||||
multilib = [
|
||||
('^Everything$', {
|
||||
'x86_64': ['devel', 'runtime'],
|
||||
's390x': ['devel', 'runtime']
|
||||
})
|
||||
]
|
||||
filter_packages = [
|
||||
('(Workstation|Server|Cloud)$', {
|
||||
'*': [
|
||||
'^kernel.*debug.*',
|
||||
'^kernel-kdump.*',
|
||||
'^kernel-tools.*',
|
||||
'^syslog-ng.*',
|
||||
'^astronomy-bookmarks',
|
||||
'^generic.*',
|
||||
'^GConf2-dbus.*',
|
||||
'^bluez-gnome',
|
||||
#Periods cause problems in paterns, so replace with *s
|
||||
'^java-1.8.0-openjdk',
|
||||
'^community-mysql.*',
|
||||
'^jruby.*',
|
||||
'^gimp-help-.*',
|
||||
]
|
||||
}),
|
||||
]
|
||||
# format: {arch|*: [packages]}
|
||||
multilib_blacklist = {
|
||||
'*': ['kernel*', 'kernel-PAE*', 'kernel*debug*',
|
||||
'dmraid-devel', 'kdeutils-devel', 'mkinitrd-devel',
|
||||
'java-1.5.0-gcj-devel', 'java-1.7.0-icedtea-devel',
|
||||
'php-devel', 'java-1.6.0-openjdk-devel',
|
||||
'java-1.7.0-openjdk-devel', 'java-1.8.0-openjdk-devel',
|
||||
'httpd-devel', 'tomcat-native', 'php*', 'httpd',
|
||||
'krb5-server', 'krb5-server-ldap', 'mod_*', 'ghc-*'
|
||||
],
|
||||
}
|
||||
# format: {arch|*: [packages]}
|
||||
multilib_whitelist = {
|
||||
'*': ['libgnat', 'wine*', 'lmms-vst', 'nspluginwrapper',
|
||||
'libflashsupport', 'valgrind', 'perl-libs', 'redhat-lsb',
|
||||
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
|
||||
'syslinux-tftpboot', 'nosync', '*-static'
|
||||
],
|
||||
}
|
||||
createiso_skip = [
|
||||
('^Workstation$', {
|
||||
'*': True,
|
||||
'src': True
|
||||
}),
|
||||
('^Server$', {
|
||||
'src': True
|
||||
}),
|
||||
('^Cloud$', {
|
||||
'*': True,
|
||||
'src': True
|
||||
}),
|
||||
('^Everything$', {
|
||||
'*': True,
|
||||
'src': True
|
||||
}),
|
||||
]
|
||||
# fomat: [(variant_uid_regex, {arch|*: [scm_dicts]})]
|
||||
#extra_files = [
|
||||
# ('^(Server|Workstation|Cloud)$', {
|
||||
# '*': [
|
||||
# {
|
||||
# 'scm': 'rpm',
|
||||
# 'repo': 'fedora-release-%(variant_id_lower)s',
|
||||
# 'branch': None,
|
||||
# 'file': [
|
||||
# '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-release',
|
||||
# ],
|
||||
# 'target': '',
|
||||
# },
|
||||
# ],
|
||||
# }),
|
||||
#]
|
||||
# Image name respecting Fedora's image naming policy
|
||||
image_name_format = 'Fedora-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(date)s.%(respin)s.iso'
|
||||
# # Use the same format for volume id
|
||||
image_volid_formats = [
|
||||
'Fedora-%(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 = []
|
||||
# Replace 'Cloud' with 'C' in volume id etc.
|
||||
volume_id_substitutions = {
|
||||
'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',
|
||||
}
|
||||
disc_types = {
|
||||
'boot': 'netinst',
|
||||
'live': 'Live',
|
||||
}
|
||||
translate_paths = [
|
||||
('/mnt/koji/compose/', 'http://kojipkgs.fedoraproject.org/compose/'),
|
||||
]
|
||||
image_build = {
|
||||
'^CloudImages$': [
|
||||
{
|
||||
'image-build': {
|
||||
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
|
||||
'name': 'Fedora-Cloud-Base',
|
||||
'target': 'f25',
|
||||
'version': '25',
|
||||
'release': None,
|
||||
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
||||
'kickstart': 'fedora-cloud-base.ks',
|
||||
'distro': 'Fedora-20',
|
||||
'disk_size': 3,
|
||||
'arches': ['x86_64'],
|
||||
'repo': [
|
||||
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
||||
'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/',
|
||||
],
|
||||
'install_tree_from': 'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/',
|
||||
'subvariant': 'Cloud_Base'
|
||||
}
|
||||
},
|
||||
{
|
||||
'image-build': {
|
||||
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
|
||||
'name': 'Fedora-Cloud-Base-Vagrant',
|
||||
'target': 'f25',
|
||||
'version': '25',
|
||||
'release': None,
|
||||
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
|
||||
'kickstart': 'fedora-cloud-base-vagrant.ks',
|
||||
'distro': 'Fedora-20',
|
||||
'disk_size': 40,
|
||||
'arches': ['x86_64'],
|
||||
'repo': [
|
||||
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
|
||||
'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/'
|
||||
],
|
||||
'install_tree_from': 'http://kojipkgs.fedoraproject.org/pub/alt/releases/25/Cloud/$arch/os/',
|
||||
'subvariant': 'Cloud_Base',
|
||||
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
koji_profile = 'compose_koji'
|
Loading…
Reference in New Issue
Block a user