mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
a08c955e30
Fedora 21 is EOL'd as of December 1st, 2015. Announcement: https://lists.fedoraproject.org/pipermail/announce/2015-November/003296.html Fedora 21 will reach end of life on 2015-12-01, and no further updates will be pushed out after that time. Additionally, with the recent release of Fedora 23, no new packages will be added to the Fedora 21 collection. Please see https://fedoraproject.org/wiki/DNF_system_upgrade for more information on upgrading from Fedora 21 to a newer release. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
75 lines
2.3 KiB
Bash
Executable file
75 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
# This script creates the yum repos for the .rpm files generated by hack/make/build-rpm
|
|
#
|
|
# The following can then be used as a yum repo:
|
|
# http://yum.dockerproject.org/repo/$release/$distro/$distro-version
|
|
#
|
|
# For example:
|
|
# http://yum.dockerproject.org/repo/main/fedora/23
|
|
# http://yum.dockerproject.org/repo/testing/centos/7
|
|
# http://yum.dockerproject.org/repo/experimental/fedora/23
|
|
# http://yum.dockerproject.org/repo/main/centos/7
|
|
#
|
|
# ... and so on and so forth for the builds created by hack/make/build-rpm
|
|
|
|
: ${DOCKER_RELEASE_DIR:=$DEST}
|
|
YUMDIR=$DOCKER_RELEASE_DIR/yum/repo
|
|
: ${GPG_KEYID:=releasedocker}
|
|
|
|
# manage the repos for each distribution separately
|
|
distros=( fedora centos opensuse oraclelinux )
|
|
|
|
# get the release
|
|
release="main"
|
|
|
|
if [[ "$VERSION" == *-rc* ]]; then
|
|
release="testing"
|
|
fi
|
|
|
|
if [ $DOCKER_EXPERIMENTAL ] || [[ "$VERSION" == *-dev ]] || [ -n "$(git status --porcelain)" ]; then
|
|
release="experimental"
|
|
fi
|
|
|
|
for distro in "${distros[@]}"; do
|
|
# Setup the yum repo
|
|
REPO=$YUMDIR/$release/$distro
|
|
|
|
for dir in contrib/builder/rpm/$distro-*/; do
|
|
version="$(basename "$dir")"
|
|
suite="${version##*-}"
|
|
|
|
# if the directory does not exist, initialize the yum repo
|
|
if [[ ! -d $REPO/$suite/Packages ]]; then
|
|
mkdir -p "$REPO/$suite/Packages"
|
|
|
|
createrepo --pretty "$REPO/$suite"
|
|
fi
|
|
|
|
# path to rpms
|
|
RPMFILE=( "bundles/$VERSION/build-rpm/$version/RPMS/"*"/docker-engine"*.rpm "bundles/$VERSION/build-rpm/$version/SRPMS/docker-engine"*.rpm )
|
|
|
|
# if we have a $GPG_PASSPHRASE we may as well
|
|
# sign the rpms before adding to repo
|
|
if [ ! -z $GPG_PASSPHRASE ]; then
|
|
# export our key to rpm import
|
|
gpg --armor --export "$GPG_KEYID" > /tmp/gpg
|
|
rpm --import /tmp/gpg
|
|
|
|
# sign the rpms
|
|
echo "yes" | setsid rpm \
|
|
--define "_gpg_name $GPG_KEYID" \
|
|
--define "_signature gpg" \
|
|
--define "__gpg_check_password_cmd /bin/true" \
|
|
--define "__gpg_sign_cmd %{__gpg} gpg --batch --no-armor --passphrase '$GPG_PASSPHRASE' --no-secmem-warning -u '%{_gpg_name}' --sign --detach-sign --output %{__signature_filename} %{__plaintext_filename}" \
|
|
--resign "${RPMFILE[@]}"
|
|
fi
|
|
|
|
# copy the rpms to the packages folder
|
|
cp "${RPMFILE[@]}" "$REPO/$suite/Packages"
|
|
|
|
# update the repo
|
|
createrepo --pretty --update "$REPO/$suite"
|
|
done
|
|
done
|