Compare commits

...

68 Commits
main ... f25

Author SHA1 Message Date
Adam Miller 19da994463 Merge #281 `fix the docker_label entry to be a valid JSON string` 2017-08-15 16:54:10 +00:00
Lubomír Sedlář 85036765a7 Fix pungi call with extra argument
The script gets a label as a command line argument, and this is manually
handled by adding it as `--label=$1` to the pungi-koji command. We
should not add this argument to another time.

This avoid problem with Pungi 4.1.17 which reports an error when seeing
unknown arguments (which were silently ignored before).

Fixes: https://pagure.io/pungi/issue/682
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2017-07-24 14:32:39 +02:00
Adam Miller 314ac5721d fix the docker_label entry to be a valid JSON string
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-07-07 18:17:25 -05:00
Adam Miller a7a3eebfcc Fix docker_label keyword and fix label caps
Previously the key 'docker_labels' was used but this isn't actually
picked up by imagefactory because the parameter key it's looking for
is 'docker_label'. This patch resolves that.

Also included in this patch is a change to set the labels to be
lowercase as defined in the Fedora Container Guidelines.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-06-29 11:41:31 -05:00
Dennis Gilmore bdb072a84d Clean uup docker and cloud composes older than 3 weeks
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-05-25 09:43:31 -05:00
Adam Miller 811e1ec85e Switch from docker to container namespace
Fedora Atomic WG has decided to move from the "docker" namespace to
the "container" namespace for the sake of making it more generic in
order to target all OCI Compliant container runtimes instead of
a specific implementation. This update changes what is necessary for
to the base image metadata.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-04-26 22:55:41 -05:00
Adam Miller b79963bcd4 Fix docker metadata formatting and license
The previous formatting for docker image metadata was getting
escaped incorrectly when passed to imagefactory. This resolves that.

Fix the license label to be MIT instead of GPLv2.

Fix the bash path

Remove atomic RUN command, it causes build failures and isn't
necessary in the base image.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-03-31 13:55:08 -05:00
Adam Miller 4172585460 Add dockerversion to factory-parameters
Currently, imagefactory's docker plugin will default an older
version of the metadata imager format that is not compatible with
the latest versions of docker. This change tells the plugin to use
the docker version "1.10.1" metadata format which is compatible with
all currently available docker releases.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-03-30 11:51:25 -05:00
Adam Miller 9726b84509 Add docker base image metadata
Currently we don't produce a docker base image that can be used with
OSBS or via the 'atomic run' command without modification. This
fixes that and will allow for an automated import of the base images
into the Fedora Container Registry

Also fix some missing commas in list and dict declarations

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-03-28 16:54:48 -05:00
Mohan Boddu 24aa3f723a Fix variant name to CloudImages
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2017-02-17 18:01:47 -05:00
Mohan Boddu e31b51de77 Split Atomic and CloudImage
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2017-02-14 15:12:07 -05:00
Dusty Mabe b28af80fd7
fedora-atomic: update lorax passed vars
previously we had done this in fedora.conf. We should have done this
in fedora-atomic.conf.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2017-02-09 17:38:30 -05:00
Dusty Mabe d9f808536d
atomic: use kojipkgs url everywhere
We need to use the kojipkgs url on the builders because they don't
have access to dl.fp.o. After some discussion we have just decided
to use the kojipkgs url everywhere as the dl.fp.o url is just a
redirect anyway.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2017-02-09 15:04:30 -05:00
Patrick Uiterwijk f28479362c Update Fedora 25 ref names
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
2017-02-07 17:43:45 +00:00
Dennis Gilmore a41748acee include the newly made Cloud variant in the repos for the installer
This change allows us to replace packages in the anaconda installer
built as part of the compose

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-18 14:50:50 -06:00
Dennis Gilmore 62ad8d41a7 rename the Fedora_Docker compose to Fedora-Docker
PDC only allows a-Z and - in the compose names

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-11 14:39:32 -06:00
Dennis Gilmore 198d7c4208 change the docker base image file name back to make koji happy
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 17:03:42 -06:00
Dennis Gilmore 14d47ef9bb change Fedora-Docker to Fedora_Docker
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 12:15:44 -06:00
Dennis Gilmore 97a1744c4b fix up repos
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 11:50:02 -06:00
Dennis Gilmore 0daa664b40 add install tre from
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 11:32:10 -06:00
Dennis Gilmore a6b47158dc Docker Compose id not Atomic
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 11:23:37 -06:00
Dennis Gilmore e1b602d79c add docker base image compose
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 10:39:31 -06:00
Dennis Gilmore 3eb43b0256 no longer make the docker base image as part of the atomic compose
As the docker base image was the only armfhp deliverable in the compose
no longer make the armhfp install tree as well

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-01-05 10:33:05 -06:00
Dusty Mabe 222e74556f
atomic: fix install location again
Since the RC1.3 location was cleaned up, pull everything from the
official location where F25 release content is.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2017-01-04 16:34:46 -05:00
Dusty Mabe 8e7041772b
Revert "pull the rpms from the Cloud install tree"
This reverts commit 8aa2d66e03.
There is some bug in pungi that causes this not to work for now so let's
revert so we can still get built images until we figure that out.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
2016-12-20 22:28:01 -05:00
Dennis Gilmore 8aa2d66e03 pull the rpms from the Cloud install tree
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-12-20 12:37:38 -06:00
Patrick Uiterwijk 5ddf7e3157 Use compose-koji
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
2016-12-14 13:40:50 +00:00
Dennis Gilmore e205111d74 fix up finding the compose ids
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-19 15:27:40 -06:00
Dennis Gilmore 865eff65c5 use $arch not $basearch
for some reason basearch is incorrectly becoming arm not armhfp so
use $arch teh same as the f24 configs

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-18 22:30:35 -06:00
Dennis Gilmore 5fc3a1424f point the installer iso at the staged f25 release, this needs reverted once f25 is out
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-18 16:40:52 -06:00
Dennis Gilmore c0e06d7be0 fix up urls for where repos are, only make cloud installers for armhfp and x86_64
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-18 16:39:42 -06:00
Dennis Gilmore 31ba28a3b0 pass the label to pungi-koji
Production composes have to have a label passed into them

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-17 08:58:03 -06:00
Dennis Gilmore 6cc79601cd Atomic: use the right sigs and remove nightly flag
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-17 08:53:35 -06:00
Dennis Gilmore 0c53aa8418 Atomic: Don't skip phases we now need
now that we are building the cloud variant every compose we need to
not skip some phases

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-17 08:48:58 -06:00
Dennis Gilmore c22289cb6f cleanups for f25 implementation
use f25-build as the runroot channel. whats most important is the
packages that are installed into the install environments rather
than the install environment. Disable macboot on Cloud tree as it
does not target macs at all

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-17 08:16:05 -06:00
Lubomír Sedlář 860c5a7e73 Allow using newer packages
Cloud variant is now enabled as well. It will create repository from a
special tag with some newer packages and run lorax on them. This install
tree will then be used for building images. The repos still point the
the original location outside of compose. The updates repo is used as
well.

For ostree installer, a runroot tag should be used that includes newer
packages as needed. This tag is shared for both ostree installer and
buildinstall. Using different tags would require a code change in Pungi.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2016-11-17 08:13:21 -06:00
Dennis Gilmore 37c17f0678 pull comps from pagure for two week composes
The two week script was still pulling comps from fedorahostes

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-17 07:58:38 -06:00
Mohan Boddu 213b93e559 Setup for f25 final
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-11-15 10:02:02 -06:00
Dennis Gilmore 8f52fc6399 update config for RC-1.2
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-11-09 11:21:42 -06:00
Mohan Boddu ee28dae051 f25 final compose script
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-11-08 15:09:40 -06:00
Mohan Boddu 6fef4c4f97 Setup for f25 final
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-11-08 11:00:28 -06:00
Dennis Gilmore 8ab434347d pungi 4.1.10 does not need to be told to keep comps for a variaant, it does it if there is noting filter
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-10-09 17:15:04 -05:00
Mohan Boddu 083caaf2b2 Fix for ostree_osname for workstation ostree
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-10-05 09:45:32 -05:00
Dennis Gilmore 241bf23cba fixups for workstation ostree install dvd
use fedora-productimg-workstation not the atomic one
make sure the ref to install is correct

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-10-05 09:03:04 -05:00
Dennis Gilmore 7407b7e891 use _ in the file names as needed for naming policy
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-10-04 20:43:42 -05:00
Dennis Gilmore 2ce4e4fd64 fix up the beta config to validae with pungi 4.1.9
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-10-04 20:40:33 -05:00
Dennis Gilmore 51e7da5e63 add workstation-ostree-support to Workstation variant
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-10-04 15:27:29 -05:00
Dennis Gilmore ac2768b243 set the treename for spam-o-matic so emails say they are f25 #64
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-09-29 17:28:56 -05:00
Lubomír Sedlář f604948b13 Clean up config for Atomic
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2016-09-22 14:39:59 +02:00
Lubomír Sedlář 5847e51160 Update configuration for pungi 4.1.9
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2016-09-22 14:38:34 +02:00
Mohan Boddu 8ad2025f06 Adding Fedora 25 beta and atomic configs
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-09-19 15:01:15 -04:00
Mohan Boddu 51ad37b92e Adding Fedora 25 beta and OStree configs
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-09-19 14:12:54 -04:00
Kevin Fenzi b0bff8e833 Change this hard coded 1.1 to be label so install images have Alpha in the name
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2016-08-24 15:45:58 -06:00
Mohan Boddu 9ff37a7ad6 Change global release float to string
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-08-23 16:16:04 -05:00
Mohan Boddu 2c612c59f8 Setup for F25 Alpha with global version variable fixed
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-08-19 17:03:45 -05:00
Mohan Boddu df4c7131f0 Setup for F25 Alpha
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-08-19 16:47:02 -05:00
Mohan Boddu dea48048e6 Add Fedora 25 Alpha Pungi Config
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2016-08-19 16:36:39 -05:00
Dennis Gilmore 717ae98d50 do not allow unsigned rpms and fix up the keys
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-08-16 15:07:31 -05:00
Peter Robinson baf76c62a5 use f25 branch for the global_ksurl
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-08-15 19:53:42 +01:00
Lubomír Sedlář 56551eeb9d Fix a typo
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
2016-08-15 18:55:52 +02:00
Dennis Gilmore 716f612efd fix up failable deliverables, get the right git branches
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-08-15 10:21:05 -05:00
Dennis Gilmore 88fa4e95b2 allow cloud images to be failable. this will need changed soon
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-08-15 10:12:12 -05:00
Dennis Gilmore e54ca26e86 fix up whitespace in ostree
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2016-08-15 10:10:26 -05:00
Peter Robinson 418f2a1914 fix compose ID naming for branched properyly this time
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-07-28 02:57:03 +01:00
Peter Robinson 5fb6e88e34 update git branch
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-07-27 12:23:20 +01:00
Peter Robinson c3aa1ccdc9 fix up some Rawhide -> 25 misses
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-07-27 11:01:25 +01:00
Peter Robinson 513c3e0576 fix compose ID naming for branched
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-07-27 07:44:47 +01:00
Peter Robinson 2330bf3df3 setup for F-25 branching
Signed-off-by: Peter Robinson <pbrobinson@fedoraproject.org>
2016-07-26 07:40:45 +01:00
13 changed files with 2942 additions and 65 deletions

109
cloud-nightly.sh Executable file
View File

@ -0,0 +1,109 @@
#!/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-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
# Remove old composes older than 21 days
find $TARGET_DIR/Fedora-Cloud-25-* -xdev -depth -maxdepth 2 -mtime +21 -exec rm -rf {} \;

111
docker-nightly.sh Executable file
View File

@ -0,0 +1,111 @@
#!/bin/sh
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-docker.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="/pub/fedora/linux/atomic/$BRANCHED/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora_Docker-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 teh 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...
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_Docker-25/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
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 Docker 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
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
# Remove old composes older than 21 days
find $TARGET_DIR/Fedora-Docker-25-* -xdev -depth -maxdepth 2 -mtime +21 -exec rm -rf {} \;

552
fedora-alpha.conf Normal file
View File

@ -0,0 +1,552 @@
# PRODUCT INFO
release_name = 'Fedora'
release_short = 'Fedora'
release_version = '25'
release_is_layered = False
# GENERAL SETTINGS
bootable = True
comps_file = 'comps-f25.xml' #{
# 'scm': 'git',
# 'repo': 'https://pagure.io/fedora-comps.git',
# 'branch': None, # defaults to cvs/HEAD or git/master
# 'file': 'comps-f23.xml',
#}
keep_original_comps = ['Everything']
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 = ['i386', 'x86_64', 'armhfp']
# limit tree variants
# if undefined, all variants from variants.xml will be included
#tree_variants = ['Server']
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 - REPOS
# pkgset_repos format: {arch: [repo1_url, repo2_url, ...]}
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_path_prefix = '/mnt/koji/'
pkgset_koji_url = 'http://koji.fedoraproject.org/kojihub'
pkgset_koji_tag = 'f25-compose'
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'
link_files = 'hardlink-or-copy'
notification_script = '/usr/bin/pungi-fedmsg-notification'
# CREATEREPO
createrepo_c = True
createrepo_checksum = 'sha256'
createrepo_deltas = True
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = '%(release_short)s-%(variant)s-%(version)s-%(label)s-%(arch)s'
#jigdo
create_jigdo = False
# BUILDINSTALL
buildinstall_method = 'lorax'
# 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*',
#]
# 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', 'apitrace-libs',
'fakeroot-libs'
],
}
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 = '%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-%(label)s.iso'
# # Use the same format for volume id
image_volid_formats = [
'%(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 = []
# 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/'),
]
# These will be inherited by live_media, live_images and image_build
global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25'
global_release = "2"
global_version = '25_Alpha'
# live_images ignores this in favor of live_target
global_target = 'f25'
image_build = {
'^Docker$': [
{
'failable': ['*'],
'image-build': {
'format': [('docker', 'tar.xz')]
'name': 'Fedora-Docker-Base',
'kickstart': 'fedora-docker-base.ks',
'distro': 'Fedora-22',
'disk_size': 3,
'arches': ['x86_64', 'armhfp'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Docker_Base'
}
}
],
'^CloudImages$': [
{
'failable': ['*'],
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
'name': 'Fedora-Cloud-Base',
'kickstart': 'fedora-cloud-base.ks',
'distro': 'Fedora-22',
'disk_size': 3,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Cloud_Base'
}
},
{
'failable': ['*'],
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
'name': 'Fedora-Cloud-Base-Vagrant',
'kickstart': 'fedora-cloud-base-vagrant.ks',
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Cloud_Base',
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
}
}
],
}
live_media = {
'^Workstation$': [
{
'name': 'Fedora-Workstation-Live',
'kickstart': 'fedora-live-workstation.ks',
'arches': ['x86_64', 'i386'],
'repo_from': 'Everything',
'subvariant': 'Workstation'
}
],
'^Spins': [
{
'name': 'Fedora-KDE-Live',
'kickstart': 'fedora-live-kde.ks',
'arches': ['x86_64', 'i386'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'KDE'
},
{
'name': 'Fedora-Xfce-Live',
'kickstart': 'fedora-live-xfce.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce'
},
{
'name': 'Fedora-SoaS-Live',
'kickstart': 'fedora-live-soas.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'SoaS'
},
{
'name': 'Fedora-Cinnamon-Live',
'kickstart': 'fedora-live-cinnamon.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cinnamon'
},
{
'name': 'Fedora-LXDE-Live',
'kickstart': 'fedora-live-lxde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXDE'
},
{
'name': 'Fedora-MATE_Compiz-Live',
'kickstart': 'fedora-live-mate_compiz.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Mate'
}
],
'^Labs$': [
{
'name': 'Fedora-Astronomy_KDE-Live',
'kickstart': 'fedora-live-astronomy_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Astronomy_KDE'
},
{
'name': 'Fedora-Design_suite-Live',
'kickstart': 'fedora-live-design_suite.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Design_suite'
},
{
'name': 'Fedora-Scientific_KDE-Live',
'kickstart': 'fedora-live-scientific_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific_KDE'
},
{
'name': 'Fedora-Games-Live',
'kickstart': 'fedora-live-games.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Games'
},
{
'name': 'Fedora-Security-Live',
'kickstart': 'fedora-live-security.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Security'
},
{
'name': 'Fedora-Jam_KDE-Live',
'kickstart': 'fedora-live-jam_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Jam_KDE'
},
{
'name': 'Fedora-Robotics-Live',
'kickstart': 'fedora-live-robotics.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Robotics'
}
],
}
failable_deliverables = [
('^.*$', {
# Buildinstall can fail on any variant and any arch
'*': ['buildinstall', 'iso', 'image-build', 'live-media', 'live', 'ostree', 'ostree-installer'],
'src': ['buildinstall'],
# Nothing on i386 blocks the compose
'i386': ['buildinstall', 'iso', 'live'],
})
]
live_target = 'f25'
live_images_no_rename = True
# fomat: [(variant_uid_regex, {arch|*: scm_dict})]
live_images = [
('^Workstation$', {
'armhfp': {
'kickstart': 'fedora-arm-workstation.ks',
'name': 'Fedora-Workstation-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Server$', {
'armhfp': {
'kickstart': 'fedora-arm-server.ks',
'name': 'Fedora-Server-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Spins$', {
'armhfp': [{
'kickstart': 'fedora-arm-kde.ks',
'name': 'Fedora-KDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'KDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-lxde.ks',
'name': 'Fedora-LXDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'LXDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-mate.ks',
'name': 'Fedora-Mate-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Mate',
'failable': True,
},
{
'kickstart': 'fedora-arm-minimal.ks',
'name': 'Fedora-Minimal-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Minimal',
'failable': False,
},
{
'kickstart': 'fedora-arm-soas.ks',
'name': 'Fedora-SoaS-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'SoaS',
'failable': True,
},
{
'kickstart': 'fedora-arm-xfce.ks',
'name': 'Fedora-Xfce-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Xfce',
'failable': True,
},]
}),
]
release_id_allow_missing = True
koji_profile = 'compose_koji'

284
fedora-atomic.conf Normal file
View File

@ -0,0 +1,284 @@
# PRODUCT INFO
release_name = 'Fedora-Atomic'
release_short = 'Fedora-Atomic'
release_version = '25'
release_is_layered = False
# GENERAL SETTINGS
bootable = True
buildinstall_method = 'lorax'
lorax_options = [
('^.*$', {
'x86_64': {
'nomacboot': True
}
'*': {
'noupgrade': True
}
})
]
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 = ['Atomic', 'Cloud', 'CloudImages']
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-atomic'
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-Atomic',
'target': 'f25',
'version': '25',
'release': None,
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
'kickstart': 'fedora-atomic.ks',
'distro': 'Fedora-20',
'disk_size': 6,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'repo': [
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
],
'install_tree_from': 'Cloud',
'subvariant': 'Atomic'
}
},
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
'name': 'Fedora-Atomic-Vagrant',
'target': 'f25',
'version': '25',
'release': None,
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
'kickstart': 'fedora-atomic-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': 'Atomic'
}
}
],
}
ostree_installer = [
("^Atomic$", {
"x86_64": {
"source_repo_from": [ "Cloud",
"https://kojipkgs.fedoraproject.org/pub/fedora/linux/releases/25/Everything/$arch/os/"],
"release": None,
"installpkgs": ["fedora-productimg-atomic"],
"add_template": ["atomic-installer/lorax-configure-repo.tmpl"],
"add_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/atomic/25/",
"ostree_osname=fedora-atomic",
"ostree_install_ref=fedora-atomic/25/x86_64/updates/docker-host",
"ostree_update_ref=fedora-atomic/25/x86_64/docker-host",
],
"add_arch_template": ["atomic-installer/lorax-embed-repo.tmpl"],
"add_arch_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/atomic/25/",
"ostree_osname=fedora-atomic",
"ostree_install_ref=fedora-atomic/25/x86_64/updates/docker-host",
"ostree_update_ref=fedora-atomic/25/x86_64/docker-host",
]
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f25',
}
})
]
koji_profile = 'compose_koji'

580
fedora-beta.conf Normal file
View File

@ -0,0 +1,580 @@
# PRODUCT INFO
release_name = 'Fedora'
release_short = 'Fedora'
release_version = '25'
release_is_layered = False
# GENERAL SETTINGS
bootable = True
comps_file = 'comps-f25.xml' #{
# 'scm': 'git',
# 'repo': 'https://pagure.io/fedora-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 = ['i386', 'x86_64', 'armhfp']
# limit tree variants
# if undefined, all variants from variants.xml will be included
#tree_variants = ['Server']
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 - REPOS
# pkgset_repos format: {arch: [repo1_url, repo2_url, ...]}
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f25-compose'
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'
createrepo_deltas = True
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = '%(release_short)s-%(variant)s-%(version)s_%(label)s-%(arch)s'
#jigdo
create_jigdo = False
# BUILDINSTALL
buildinstall_method = 'lorax'
# 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*',
#]
# 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', 'apitrace-libs',
'fakeroot-libs'
],
}
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 = '%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(version)s_%(label)s.iso'
# # Use the same format for volume id
image_volid_formats = [
'%(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 = []
# 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/'),
]
# These will be inherited by live_media, live_images and image_build
global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25'
global_release = "1.1"
global_version = '25_Beta'
# live_images ignores this in favor of live_target
global_target = 'f25'
image_build = {
'^Docker$': [
{
'image-build': {
'format': [('docker', 'tar.xz')]
'name': 'Fedora-Docker-Base',
'kickstart': 'fedora-docker-base.ks',
'failable': ['*'],
'distro': 'Fedora-22',
'disk_size': 3,
'arches': ['x86_64', 'armhfp'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Docker_Base'
}
}
],
'^CloudImages$': [
{
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
'name': 'Fedora-Cloud-Base',
'kickstart': 'fedora-cloud-base.ks',
'failable': ['*'],
'distro': 'Fedora-22',
'disk_size': 3,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'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',
'kickstart': 'fedora-cloud-base-vagrant.ks',
'failable': ['*'],
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Cloud_Base',
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
}
}
],
}
live_media = {
'^Workstation$': [
{
'name': 'Fedora-Workstation-Live',
'kickstart': 'fedora-live-workstation.ks',
'arches': ['x86_64', 'i386'],
'repo_from': 'Everything',
'subvariant': 'Workstation'
}
],
'^Spins': [
{
'name': 'Fedora-KDE-Live',
'kickstart': 'fedora-live-kde.ks',
'arches': ['x86_64', 'i386'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'KDE'
},
{
'name': 'Fedora-Xfce-Live',
'kickstart': 'fedora-live-xfce.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce'
},
{
'name': 'Fedora-SoaS-Live',
'kickstart': 'fedora-live-soas.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'SoaS'
},
{
'name': 'Fedora-Cinnamon-Live',
'kickstart': 'fedora-live-cinnamon.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cinnamon'
},
{
'name': 'Fedora-LXDE-Live',
'kickstart': 'fedora-live-lxde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXDE'
},
{
'name': 'Fedora-MATE_Compiz-Live',
'kickstart': 'fedora-live-mate_compiz.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Mate'
}
],
'^Labs$': [
{
'name': 'Fedora-Astronomy_KDE-Live',
'kickstart': 'fedora-live-astronomy_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Astronomy_KDE'
},
{
'name': 'Fedora-Design_suite-Live',
'kickstart': 'fedora-live-design_suite.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Design_suite'
},
{
'name': 'Fedora-Scientific_KDE-Live',
'kickstart': 'fedora-live-scientific_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific_KDE'
},
{
'name': 'Fedora-Games-Live',
'kickstart': 'fedora-live-games.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Games'
},
{
'name': 'Fedora-Security-Live',
'kickstart': 'fedora-live-security.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Security'
},
{
'name': 'Fedora-Jam_KDE-Live',
'kickstart': 'fedora-live-jam_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Jam_KDE'
},
{
'name': 'Fedora-Robotics-Live',
'kickstart': 'fedora-live-robotics.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Robotics'
}
],
}
failable_deliverables = [
('^.*$', {
# Buildinstall can fail on any variant and any arch
'*': ['buildinstall', 'iso', 'image-build', 'live-media', 'live', 'ostree', 'ostree-installer'],
'src': ['buildinstall'],
# Nothing on i386 blocks the compose
'i386': ['buildinstall', 'iso', 'live'],
})
]
live_target = 'f25'
live_images_no_rename = True
# fomat: [(variant_uid_regex, {arch|*: scm_dict})]
live_images = [
('^Workstation$', {
'armhfp': {
'kickstart': 'fedora-arm-workstation.ks',
'name': 'Fedora-Workstation-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Server$', {
'armhfp': {
'kickstart': 'fedora-arm-server.ks',
'name': 'Fedora-Server-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Spins$', {
'armhfp': [{
'kickstart': 'fedora-arm-kde.ks',
'name': 'Fedora-KDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'KDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-lxde.ks',
'name': 'Fedora-LXDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'LXDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-mate.ks',
'name': 'Fedora-Mate-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Mate',
'failable': True,
},
{
'kickstart': 'fedora-arm-minimal.ks',
'name': 'Fedora-Minimal-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Minimal',
'failable': False,
},
{
'kickstart': 'fedora-arm-soas.ks',
'name': 'Fedora-SoaS-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'SoaS',
'failable': True,
},
{
'kickstart': 'fedora-arm-xfce.ks',
'name': 'Fedora-Xfce-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Xfce',
'failable': True,
},]
}),
]
ostree = [
("^ostree$", {
"x86_64": {
"treefile": "fedora-ostree-workstation.json",
"config_url": "https://pagure.io/workstation-ostree-config.git",
"config_branch": "f25",
"source_repo_from": "Workstation",
"ostree_repo": "/mnt/koji/compose/ostree/25/",
'failable': ['*'],
}
})
]
ostree_installer = [
("^Workstation$", {
"x86_64": {
"source_repo_from": "Everything",
"release": None,
"installpkgs": ["fedora-productimg-workstation"],
"add_template": ["workstation-ostree-installer/lorax-configure-repo.tmpl"],
"add_template_var": [
"ostree_osname=fedora-workstation",
"ostree_ref=fedora/25/x86_64/workstation",
],
"add_arch_template": ["workstation-ostree-installer/lorax-embed-repo.tmpl"],
"add_arch_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/compose/ostree/25/",
"ostree_osname=fedora-workstation",
"ostree_ref=fedora/25/x86_64/workstation",
]
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f25',
'failable': ['*'],
}
})
]
koji_profile = 'compose_koji'

248
fedora-cloud.conf Normal file
View 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 = ['CloudImages']
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'

234
fedora-docker.conf Normal file
View File

@ -0,0 +1,234 @@
# PRODUCT INFO
release_name = 'Fedora-Docker'
release_short = 'Fedora-Docker'
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', 'armhfp']
# limit tree variants
# if undefined, all variants from variants.xml will be included
tree_variants = ['Docker']
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 = {
'^Docker$': [
{
'image-build': {
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Docker-Base',
'target': 'f25',
'version': '25',
'release': None,
# correct SHA1 hash will be put into the URL below automatically
'ksurl': 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25',
'kickstart': 'fedora-docker-base.ks',
'distro': 'Fedora-20',
'disk_size': 3,
'arches': ['x86_64', 'armhfp'],
'repo': [
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/updates/25/$arch/',
'http://kojipkgs.fedoraproject.org/pub/fedora/linux/releases/25/Everything/$arch/os/',
],
'install_tree_from': 'http://kojipkgs.fedoraproject.org/pub/fedora/linux/releases/25/Everything/$arch/os/',
'subvariant': 'Docker_Base'
},
'factory-parameters': {
'dockerversion': "1.10.1",
'docker_cmd': '[ "/usr/bin/bash" ]',
'docker_env': '[ "DISTTAG=f25container", "FGC=f25" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "25"}',
},
}
],
}
koji_profile = 'compose_koji'

580
fedora-final.conf Normal file
View File

@ -0,0 +1,580 @@
# PRODUCT INFO
release_name = 'Fedora'
release_short = 'Fedora'
release_version = '25'
release_is_layered = False
# GENERAL SETTINGS
bootable = True
comps_file = 'comps-f25.xml' #{
# 'scm': 'git',
# 'repo': 'https://pagure.io/fedora-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 = ['i386', 'x86_64', 'armhfp']
# limit tree variants
# if undefined, all variants from variants.xml will be included
#tree_variants = ['Server']
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 - REPOS
# pkgset_repos format: {arch: [repo1_url, repo2_url, ...]}
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_tag = 'f25-compose'
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'
createrepo_deltas = True
# CHECKSUMS
media_checksums = ['sha256']
media_checksum_one_file = True
media_checksum_base_filename = '%(release_short)s-%(variant)s-%(version)s-1.3-%(arch)s'
#jigdo
create_jigdo = False
# BUILDINSTALL
buildinstall_method = 'lorax'
# 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*',
#]
# 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', 'apitrace-libs',
'fakeroot-libs'
],
}
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 = '%(release_short)s-%(variant)s-%(disc_type)s-%(arch)s-%(version)s-1.3.iso'
# # Use the same format for volume id
image_volid_formats = [
'%(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 = []
# 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/'),
]
# These will be inherited by live_media, live_images and image_build
global_ksurl = 'git+https://pagure.io/fedora-kickstarts.git?#origin/f25'
global_release = "1.3"
global_version = '25'
# live_images ignores this in favor of live_target
global_target = 'f25'
image_build = {
'^Docker$': [
{
'image-build': {
'format': [('docker', 'tar.xz')]
'name': 'Fedora-Docker-Base',
'kickstart': 'fedora-docker-base.ks',
'failable': ['*'],
'distro': 'Fedora-22',
'disk_size': 3,
'arches': ['x86_64', 'armhfp'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Docker_Base'
}
}
],
'^CloudImages$': [
{
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
'name': 'Fedora-Cloud-Base',
'kickstart': 'fedora-cloud-base.ks',
'failable': ['*'],
'distro': 'Fedora-22',
'disk_size': 3,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'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',
'kickstart': 'fedora-cloud-base-vagrant.ks',
'failable': ['*'],
'distro': 'Fedora-22',
'disk_size': 40,
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Cloud_Base',
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
}
}
],
}
live_media = {
'^Workstation$': [
{
'name': 'Fedora-Workstation-Live',
'kickstart': 'fedora-live-workstation.ks',
'arches': ['x86_64', 'i386'],
'repo_from': 'Everything',
'subvariant': 'Workstation'
}
],
'^Spins': [
{
'name': 'Fedora-KDE-Live',
'kickstart': 'fedora-live-kde.ks',
'arches': ['x86_64', 'i386'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'KDE'
},
{
'name': 'Fedora-Xfce-Live',
'kickstart': 'fedora-live-xfce.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce'
},
{
'name': 'Fedora-SoaS-Live',
'kickstart': 'fedora-live-soas.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'SoaS'
},
{
'name': 'Fedora-Cinnamon-Live',
'kickstart': 'fedora-live-cinnamon.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cinnamon'
},
{
'name': 'Fedora-LXDE-Live',
'kickstart': 'fedora-live-lxde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXDE'
},
{
'name': 'Fedora-MATE_Compiz-Live',
'kickstart': 'fedora-live-mate_compiz.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Mate'
}
],
'^Labs$': [
{
'name': 'Fedora-Astronomy_KDE-Live',
'kickstart': 'fedora-live-astronomy_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Astronomy_KDE'
},
{
'name': 'Fedora-Design_suite-Live',
'kickstart': 'fedora-live-design_suite.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Design_suite'
},
{
'name': 'Fedora-Scientific_KDE-Live',
'kickstart': 'fedora-live-scientific_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific_KDE'
},
{
'name': 'Fedora-Games-Live',
'kickstart': 'fedora-live-games.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Games'
},
{
'name': 'Fedora-Security-Live',
'kickstart': 'fedora-live-security.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Security'
},
{
'name': 'Fedora-Jam_KDE-Live',
'kickstart': 'fedora-live-jam_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Jam_KDE'
},
{
'name': 'Fedora-Robotics-Live',
'kickstart': 'fedora-live-robotics.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Robotics'
}
],
}
failable_deliverables = [
('^.*$', {
# Buildinstall can fail on any variant and any arch
'*': ['buildinstall', 'iso', 'image-build', 'live-media', 'live', 'ostree', 'ostree-installer'],
'src': ['buildinstall'],
# Nothing on i386 blocks the compose
'i386': ['buildinstall', 'iso', 'live'],
})
]
live_target = 'f25'
live_images_no_rename = True
# fomat: [(variant_uid_regex, {arch|*: scm_dict})]
live_images = [
('^Workstation$', {
'armhfp': {
'kickstart': 'fedora-arm-workstation.ks',
'name': 'Fedora-Workstation-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Server$', {
'armhfp': {
'kickstart': 'fedora-arm-server.ks',
'name': 'Fedora-Server-armhfp',
'type': 'appliance',
'failable': True,
}
}),
('^Spins$', {
'armhfp': [{
'kickstart': 'fedora-arm-kde.ks',
'name': 'Fedora-KDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'KDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-lxde.ks',
'name': 'Fedora-LXDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'LXDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-mate.ks',
'name': 'Fedora-Mate-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Mate',
'failable': True,
},
{
'kickstart': 'fedora-arm-minimal.ks',
'name': 'Fedora-Minimal-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Minimal',
'failable': False,
},
{
'kickstart': 'fedora-arm-soas.ks',
'name': 'Fedora-SoaS-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'SoaS',
'failable': True,
},
{
'kickstart': 'fedora-arm-xfce.ks',
'name': 'Fedora-Xfce-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Xfce',
'failable': True,
},]
}),
]
ostree = [
("^ostree$", {
"x86_64": {
"treefile": "fedora-ostree-workstation.json",
"config_url": "https://pagure.io/workstation-ostree-config.git",
"config_branch": "f25",
"source_repo_from": "Workstation",
"ostree_repo": "/mnt/koji/compose/ostree/25/",
'failable': ['*'],
}
})
]
ostree_installer = [
("^Workstation$", {
"x86_64": {
"source_repo_from": "Everything",
"release": None,
"installpkgs": ["fedora-productimg-workstation"],
"add_template": ["workstation-ostree-installer/lorax-configure-repo.tmpl"],
"add_template_var": [
"ostree_osname=fedora-workstation",
"ostree_ref=fedora/25/x86_64/workstation",
],
"add_arch_template": ["workstation-ostree-installer/lorax-embed-repo.tmpl"],
"add_arch_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/compose/ostree/25/",
"ostree_osname=fedora-workstation",
"ostree_ref=fedora/25/x86_64/workstation",
]
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'f25',
'failable': ['*'],
}
})
]
koji_profile = 'compose_koji'

View File

@ -1,21 +1,20 @@
# PRODUCT INFO
release_name = 'Fedora'
release_short = 'Fedora'
release_version = 'Rawhide'
release_version = '25'
release_is_layered = False
# GENERAL SETTINGS
bootable = True
comps_file = 'comps-rawhide.xml' #{
comps_file = 'comps-f25.xml' #{
# 'scm': 'git',
# 'repo': 'https://pagure.io/fedora-comps.git',
# 'branch': None, # defaults to cvs/HEAD or git/master
# 'file': 'comps-f23.xml',
#}
keep_original_comps = ['Everything']
variants_file='variants-fedora.xml'
sigkeys = ['81B46521', '030D5AED', None] # None = unsigned
sigkeys = ['FDB19C98', 'E372E838'] # None = unsigned
# limit tree architectures
# if undefined, all architectures from variants.xml will be included
@ -42,8 +41,6 @@ pkgset_source = 'koji' # koji, repos
# pkgset_repos = {}
# PKGSET - KOJI
pkgset_koji_path_prefix = '/mnt/koji/'
pkgset_koji_url = 'http://koji.fedoraproject.org/kojihub'
pkgset_koji_tag = 'f25'
pkgset_koji_inherit = False
@ -63,10 +60,6 @@ greedy_method = 'build'
#gather_source_mapping = '/path/to/mapping.json'
link_files = 'hardlink-or-copy'
notification_script = '/usr/bin/pungi-fedmsg-notification'
# CREATEREPO
createrepo_c = True
createrepo_checksum = 'sha256'
@ -88,7 +81,7 @@ lorax_options = [
('^.*$', {
'x86_64': {
'nomacboot': False
}
},
'*': {
'noupgrade': True
}
@ -275,9 +268,9 @@ 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/f25'
global_release = None
global_version = 'Rawhide'
global_version = '25'
# live_images ignores this in favor of live_target
global_target = 'f25'
@ -285,7 +278,7 @@ image_build = {
'^Docker$': [
{
'image-build': {
'format': [('docker', 'tar.xz')]
'format': [('docker', 'tar.xz')],
'name': 'Fedora-Docker-Base',
'kickstart': 'fedora-docker-base.ks',
'distro': 'Fedora-22',
@ -293,14 +286,21 @@ image_build = {
'arches': ['x86_64', 'armhfp'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Docker_Base'
}
}
'subvariant': 'Docker_Base',
'failable': ['*'],
},
'factory-parameters': {
'dockerversion': "1.10.1",
'docker_cmd': '[ "/usr//bin/bash" ]',
'docker_env': '[ "DISTTAG=f25container", "FGC=f25" ]',
'docker_label': '{ "name": "fedora", "license": "MIT", "vendor": "Fedora Project", "version": "25"}',
},
},
],
'^CloudImages$': [
{
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')],
'name': 'Fedora-Cloud-Base',
'kickstart': 'fedora-cloud-base.ks',
'distro': 'Fedora-22',
@ -308,12 +308,13 @@ image_build = {
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Cloud_Base'
'subvariant': 'Cloud_Base',
'failable': ['*'],
}
},
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')],
'name': 'Fedora-Cloud-Base-Vagrant',
'kickstart': 'fedora-cloud-base-vagrant.ks',
'distro': 'Fedora-22',
@ -322,12 +323,13 @@ image_build = {
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Cloud_Base',
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync'
'ova-option': 'vagrant_sync_directory=/home/vagrant/sync',
'failable': ['*'],
}
},
{
'image-build': {
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')]
'format': [('qcow2','qcow2'), ('raw-xz','raw.xz')],
'name': 'Fedora-Atomic',
'kickstart': 'fedora-atomic.ks',
'distro': 'Fedora-22',
@ -335,12 +337,13 @@ image_build = {
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Atomic'
'subvariant': 'Atomic',
'failable': ['*'],
}
},
{
'image-build': {
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')]
'format': [('vagrant-libvirt','vagrant-libvirt.box'), ('vagrant-virtualbox','vagrant-virtualbox.box')],
'name': 'Fedora-Atomic-Vagrant',
'kickstart': 'fedora-atomic-vagrant.ks',
'distro': 'Fedora-22',
@ -348,7 +351,8 @@ image_build = {
'arches': ['x86_64'],
'repo_from': 'Cloud',
'install_tree_from': 'Cloud',
'subvariant': 'Atomic'
'subvariant': 'Atomic',
'failable': ['*'],
}
}
],
@ -379,6 +383,7 @@ live_media = {
'name': 'Fedora-Xfce-Live',
'kickstart': 'fedora-live-xfce.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Xfce'
@ -387,6 +392,7 @@ live_media = {
'name': 'Fedora-SoaS-Live',
'kickstart': 'fedora-live-soas.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'SoaS'
@ -395,6 +401,7 @@ live_media = {
'name': 'Fedora-Cinnamon-Live',
'kickstart': 'fedora-live-cinnamon.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Cinnamon'
@ -403,6 +410,7 @@ live_media = {
'name': 'Fedora-LXDE-Live',
'kickstart': 'fedora-live-lxde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'LXDE'
@ -411,6 +419,7 @@ live_media = {
'name': 'Fedora-MATE_Compiz-Live',
'kickstart': 'fedora-live-mate_compiz.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Mate'
@ -421,6 +430,7 @@ live_media = {
'name': 'Fedora-Astronomy_KDE-Live',
'kickstart': 'fedora-live-astronomy_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Astronomy_KDE'
@ -429,6 +439,7 @@ live_media = {
'name': 'Fedora-Design_suite-Live',
'kickstart': 'fedora-live-design_suite.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Design_suite'
@ -437,6 +448,7 @@ live_media = {
'name': 'Fedora-Scientific_KDE-Live',
'kickstart': 'fedora-live-scientific_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Scientific_KDE'
@ -445,6 +457,7 @@ live_media = {
'name': 'Fedora-Games-Live',
'kickstart': 'fedora-live-games.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Games'
@ -453,6 +466,7 @@ live_media = {
'name': 'Fedora-Security-Live',
'kickstart': 'fedora-live-security.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Security'
@ -461,6 +475,7 @@ live_media = {
'name': 'Fedora-Jam_KDE-Live',
'kickstart': 'fedora-live-jam_kde.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Jam_KDE'
@ -469,6 +484,7 @@ live_media = {
'name': 'Fedora-Robotics-Live',
'kickstart': 'fedora-live-robotics.ks',
'arches': ['x86_64', 'i386'],
'failable': ['*'],
'repo_from': 'Everything',
'install_tree_from': 'Everything',
'subvariant': 'Robotics'
@ -494,14 +510,16 @@ live_images = [
'armhfp': {
'kickstart': 'fedora-arm-workstation.ks',
'name': 'Fedora-Workstation-armhfp',
'type': 'appliance'
'type': 'appliance',
'failable': True,
}
}),
('^Server$', {
'armhfp': {
'kickstart': 'fedora-arm-server.ks',
'name': 'Fedora-Server-armhfp',
'type': 'appliance'
'type': 'appliance',
'failable': True,
}
}),
('^Spins$', {
@ -510,42 +528,48 @@ live_images = [
'name': 'Fedora-KDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'KDE'
'subvariant': 'KDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-lxde.ks',
'name': 'Fedora-LXDE-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'LXDE'
'subvariant': 'LXDE',
'failable': True,
},
{
'kickstart': 'fedora-arm-mate.ks',
'name': 'Fedora-Mate-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Mate'
'subvariant': 'Mate',
'failable': True,
},
{
'kickstart': 'fedora-arm-minimal.ks',
'name': 'Fedora-Minimal-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Minimal'
'subvariant': 'Minimal',
'failable': False,
},
{
'kickstart': 'fedora-arm-soas.ks',
'name': 'Fedora-SoaS-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'SoaS'
'subvariant': 'SoaS',
'failable': True,
},
{
'kickstart': 'fedora-arm-xfce.ks',
'name': 'Fedora-Xfce-armhfp',
'repo_from': 'Everything',
'type': 'appliance',
'subvariant': 'Xfce'
'subvariant': 'Xfce',
'failable': True,
},]
}),
]
@ -555,16 +579,20 @@ ostree = [
"x86_64": {
"treefile": "fedora-atomic-docker-host.json",
"config_url": "https://pagure.io/fedora-atomic.git",
"config_branch": "f25",
"source_repo_from": "Everything",
"ostree_repo": "/mnt/koji/compose/atomic/rawhide/"
"ostree_repo": "/mnt/koji/compose/atomic/25/",
'failable': ['*'],
}
}),
("^ostree$", {
"x86_64": {
"treefile": "fedora-ostree-workstation.json ",
"treefile": "fedora-ostree-workstation.json",
"config_url": "https://pagure.io/workstation-ostree-config.git",
"config_branch": "f25",
"source_repo_from": "Workstation",
"ostree_repo": "/mnt/koji/compose/ostree/rawhide/"
"ostree_repo": "/mnt/koji/compose/ostree/25/",
'failable': ['*'],
}
})
]
@ -574,45 +602,47 @@ ostree_installer = [
"x86_64": {
"source_repo_from": "Everything",
"release": None,
"filename": "%(release_short)s-%(variant)s-%(arch)s-%(version)s-%(date)s.iso",
"installpkgs": ["fedora-productimg-atomic"],
"add_template": ["atomic-installer/lorax-configure-repo.tmpl"],
"add_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/atomic/25/",
"ostree_osname=fedora-atomic",
"ostree_ref=fedora-atomic/rawhide/x86_64/docker-host",
"ostree_install_ref=fedora-atomic/25/x86_64/updates/docker-host",
"ostree_update_ref=fedora-atomic/25/x86_64/docker-host",
],
"add_arch_template": ["atomic-installer/lorax-embed-repo.tmpl"],
"add_arch_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/compose/atomic/rawhide/",
"ostree_repo=https://kojipkgs.fedoraproject.org/atomic/25/",
"ostree_osname=fedora-atomic",
"ostree_ref=fedora-atomic/rawhide/x86_64/docker-host",
]
"ostree_install_ref=fedora-atomic/25/x86_64/updates/docker-host",
"ostree_update_ref=fedora-atomic/25/x86_64/docker-host",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'template_branch': 'f25',
'failable': ['*'],
}
}),
("^Workstation$", {
"x86_64": {
"source_repo_from": "Everything",
"release": None,
"filename": "%(release_short)s-%(variant)s-%(arch)s-%(version)s-%(date)s.iso",
"installpkgs": ["fedora-productimg-atomic"],
"installpkgs": ["fedora-productimg-workstation"],
"add_template": ["workstation-ostree-installer/lorax-configure-repo.tmpl"],
"add_template_var": [
"ostree_osname=fedora-atomic",
"ostree_ref=fedora-atomic/rawhide/x86_64/docker-host",
"ostree_osname=fedora-workstation",
"ostree_ref=fedora/25/x86_64/workstation",
],
"add_arch_template": ["workstation-ostree-installer/lorax-embed-repo.tmpl"],
"add_arch_template_var": [
"ostree_repo=https://kojipkgs.fedoraproject.org/compose/ostree/rawhide/",
"ostree_repo=https://kojipkgs.fedoraproject.org/compose/ostree/25/",
"ostree_osname=fedora-workstation",
"ostree_ref=fedora/rawhide/x86_64/workstation",
]
"ostree_ref=fedora/25/x86_64/workstation",
],
'template_repo': 'https://pagure.io/fedora-lorax-templates.git',
'template_branch': 'master',
'template_branch': 'f25',
'failable': ['*'],
}
})
]
release_id_allow_missing = True
koji_profile = 'koji'
koji_profile = 'compose_koji'

View File

@ -1,28 +1,29 @@
#!/bin/sh
#set -x
export LC_ALL=C
CONFIG="fedora.conf"
TARGET_DIR="/mnt/koji/compose/rawhide"
TARGET_DIR="/mnt/koji/compose/branched"
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
NIGHTLY="--nightly"
SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
DIST="rawhide"
BRANCHED="rawhide"
BRANCH="rawhide"
COMPSFILE="comps-rawhide.xml"
GIT_BRANCH="master"
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 Rawhide Report <rawhide@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-Rawhide/COMPOSE_ID)
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"
@ -68,7 +69,7 @@ if [ "$?" = "0" ]; then
export mail=0
fi
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-Rawhide/COMPOSE_ID)
NEWCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-25/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
fedmsg_json_start=$(printf '{"log": "start", "branch": "%s", "arch": "%s", "compose_id": "%s"}' "$BRANCHED" "$ARCH" "$NEWCOMPOSE_ID")
fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "compose_id": "%s"}' "$BRANCHED" "$ARCH" "$NEWCOMPOSE_ID")
@ -77,7 +78,7 @@ fedmsg_json_done=$(printf '{"log": "done", "branch": "%s", "arch": "%s", "compos
DESTDIR=$TARGET_DIR/$NEWCOMPOSE_ID
compose-changelog -p $TARGET_DIR/$NEWCOMPOSE_ID/logs/ $TARGET_DIR/$OLDCOMPOSE_ID/ $TARGET_DIR/$NEWCOMPOSE_ID/
/usr/share/mash/spam-o-matic $DESTDIR/compose/Everything/ >$DESTDIR/logs/depcheck
/usr/share/mash/spam-o-matic --treename F-$BRANCHED $DESTDIR/compose/Everything/ >$DESTDIR/logs/depcheck
[ -z "$ARCH" ] && {
./releng/scripts/critpath.py --url file://$DESTDIR/compose/Everything -o $DESTDIR/logs/critpath.txt branched &> $DESTDIR/logs/critpath.log
@ -127,7 +128,7 @@ do
elif [ "$koji" = "ppc" ]; then
arches=ppc64,ppc64le
elif [ "$koji" = "s390" ]; then
arches=s390,s390x
arches=s390x
fi
./releng/scripts/srpm-excluded-arch.py -a $arches --path $DESTDIR/compose/Everything/source/tree/SRPMS/\*/ >$DESTDIR/logs/excludearch-$koji.log
done

39
release-candidate.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/sh
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-final.conf"
TARGET_DIR="/mnt/koji/compose/25"
#OLD_COMPOSES_DIR="--old-composes=/mnt/fedora_koji/compose/f23 --old-composes=$TARGET_DIR"
NIGHTLY=""
SKIP_PHASES="--skip-phase=productimg"
DEST=$(pwd)
DATE=$(date "+%Y%m%d")
COMPSFILE="comps-f25.xml"
TMPDIR=`mktemp -d /tmp/fedoraRC.$DATE.XXXX`
# uncomment and edit for resuming a failed compose
#COMPOSE_ID="Fedora-23-20150530.n.0"
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 "$@"

110
twoweek-nightly.sh Executable file
View File

@ -0,0 +1,110 @@
#!/bin/sh
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-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")
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="/pub/fedora/linux/atomic/$BRANCHED/"
OLDCOMPOSE_ID=$(cat $TARGET_DIR/latest-Fedora-Atomic-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 teh 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...
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-Atomic-25/COMPOSE_ID)
SHORTCOMPOSE_ID=$(echo $NEWCOMPOSE_ID|sed -e 's|Fedora-.*-||g')
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 Atomic CloudImages Docker metadata ;
do
$RSYNCPREFIX rsync -avhH $TARGET_DIR/$NEWCOMPOSE_ID/compose/$dir/ /pub/alt/atomic/testing/$SHORTCOMPOSE_ID/$dir/ ;
$RSYNCPREFIX ./releng/scripts/build_composeinfo /pub/alt/atomic/testing/$SHORTCOMPOSE_ID/ --name $NEWCOMPOSE_ID
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
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

View File

@ -32,7 +32,6 @@
<arch>aarch64</arch>
<arch>ppc64</arch>
<arch>ppc64le</arch>
<arch>s390</arch>
<arch>s390x</arch>
</arches>
</variant>
@ -55,7 +54,6 @@
<arch>aarch64</arch>
<arch>ppc64</arch>
<arch>ppc64le</arch>
<arch>s390</arch>
<arch>s390x</arch>
</arches>
<groups>
@ -116,6 +114,7 @@
<group default="true">multimedia</group>
<group default="true">networkmanager-submodules</group>
<group default="true">printing</group>
<group default="true">workstation-ostree-support</group>
<group default="true">workstation-product</group>
<group default="true">arm-tools</group>
<!-- Things needed for installation -->