mirror of
https://src.koozali.org/infra/smeserver-koji.git
synced 2024-11-25 02:57:28 +01:00
137 lines
7.5 KiB
Bash
Executable File
137 lines
7.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
set -e
|
|
DEBUG=
|
|
SILENT="-s"
|
|
QUIET="-q"
|
|
for param in $1 $2 ; do
|
|
if [ $param ] ; then
|
|
case $param in
|
|
debug )
|
|
DEBUG="debug" ;;
|
|
esac
|
|
else
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ $DEBUG ] ; then
|
|
set -xe
|
|
SILENT=
|
|
QUIET="-v"
|
|
fi
|
|
|
|
# load required parameters
|
|
SCRIPT_DIR="$(dirname "$(realpath "$0")")"
|
|
if [ ! -f "$SCRIPT_DIR"/koji-parameters.sh ] ; then
|
|
echo "$SCRIPT_DIR/koji-parameters.sh NOT found - aborting"
|
|
exit 1
|
|
fi
|
|
source "$SCRIPT_DIR"/koji-parameters.sh
|
|
|
|
STAGING_RPM_DIR="$KOJI_DIR/work/imported-rpms"
|
|
STAGING_RPM_SRC_DIR="$STAGING_RPM_DIR/src"
|
|
STAGING_RPM_BIN_DIR="$STAGING_RPM_DIR/bin"
|
|
STAGING_RPM_DEBUG_DIR="$STAGING_RPM_DIR/debug"
|
|
|
|
import_koji_pkg() {
|
|
local src_dir="$1"
|
|
local dst_dir="$2"
|
|
local search_pattern="$3"
|
|
cp -r "$src_dir" "$dst_dir"
|
|
chown -R "$HTTPD_USER":"$HTTPD_USER" "$dst_dir"
|
|
find "$dst_dir" -name "$search_pattern" -exec koji import --link {} + > /dev/null
|
|
}
|
|
|
|
if [[ -n "$SRC_RPM_DIR" && -n "$BIN_RPM_DIR" ]]; then
|
|
ADMIN_KOJI_DIR="$(echo ~kojiadmin)/.koji"
|
|
cp -r "$ADMIN_KOJI_DIR" "$HOME/.koji"
|
|
mkdir -p "$STAGING_RPM_DIR"
|
|
chown -R "$HTTPD_USER":"$HTTPD_USER" "$STAGING_RPM_DIR"
|
|
|
|
import_koji_pkg "$SRC_RPM_DIR" "$STAGING_RPM_SRC_DIR" "*.src.rpm"
|
|
import_koji_pkg "$BIN_RPM_DIR" "$STAGING_RPM_BIN_DIR" "*.$RPM_ARCH.rpm"
|
|
if [[ -n "$DEBUG_RPM_DIR" ]]; then
|
|
import_koji_pkg "$DEBUG_RPM_DIR" "$STAGING_RPM_DEBUG_DIR" "*.$RPM_ARCH.rpm"
|
|
fi
|
|
|
|
rm -rf "$STAGING_RPM_DIR" "$HOME/.koji"
|
|
fi
|
|
# Setup sme10 for building
|
|
sme10-os is the parent - all other sme10 repos will inherit most of this...
|
|
RELEASE=10
|
|
PKGMANAGER = "yum"
|
|
BOOTSTRAPIMAGE = "centos:7"
|
|
CHROOTSETUPCMD = ' install @buildsys-build @buildsys scl-utils-build python27-build '
|
|
TAG = "sme$RELEASE-os"
|
|
sudo -u kojiadmin koji add-tag dist-"$TAG"
|
|
sudo -u kojiadmin koji edit-tag dist-"$TAG" -x mock.package_manager=$PKGMANAGER
|
|
sudo -u kojiadmin koji add-tag --parent dist-"$TAG" --arches "$RPM_ARCH" dist-"$TAG"-build
|
|
sudo -u kojiadmin koji add-target dist-"$TAG" dist-"$TAG"-build
|
|
sudo -u kojiadmin koji edit-tag dist-"$TAG" -x mock.bootstrap_image="$BOOTSTRAPIMAGE"
|
|
sudo -u kojiadmin koji edit-tage dist-"$TAG" -x mock.chroot_setup_cmd="$CHROOTSETUPCMD"
|
|
sudo -u kojiadmin koji add-group dist-"$TAG"-build build
|
|
sudo -u kojiadmin koji add-group dist-"$TAG"-build srpm-build
|
|
sudo -u kojiadmin koji add-group-pkg dist-"$TAG"-build build install @buildsys-build @buildsys scl-utils-build python27-build
|
|
sudo -u kojiadmin koji add-group-pkg dist-"$TAG"-build srpm-build rpm-build coreutils cpio curl-bin elfutils file git glibc-utils grep gzip make pigz plzip rpm sed shadow tar unzip wget xz
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build os http://buildsys.koozali.org/build/7/os/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build updates http://buildsys.koozali.org/build/7/updates/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build smeos http://buildsys.koozali.org/build/10/smeos/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build smeupdates http://buildsys.koozali.org/build/10/smeupdates/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build fastrack http://buildsys.koozali.org/build/7/fastrack/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build opt1 http://buildsys.koozali.org/build/7/opt1/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build opt2 http://buildsys.koozali.org/build/7/opt2/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build opt3 http://buildsys.koozali.org/build/7/opt3/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build epel http://download.fedoraproject.org/pub/epel/7/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build openfusion http://repo.openfusion.net/centos7-\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build rpmfusion http://download1.rpmfusion.org/free/el/updates/7/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build sclo-sclo http://mirror.centos.org/centos/7/sclo/\$arch/sclo
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build sclo-rh http://mirror.centos.org/centos/7/sclo/\$arch/rh
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build buildsys-core http://buildsys.koozali.org/build/10/smeserver-core/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build buildsys-contribs http://buildsys.koozali.org/build/10/smeserver-contribs/\$arch/
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build groups http://buildsys.koozali.org/build/10/smeserver-groups/\$arch/
|
|
sudo -u kojiadmin koji regen-repo dist-"$TAG"-build
|
|
# setup the rest of the sme10 repos
|
|
for REPO in (contribs addons updates updates-testing testing) ; do
|
|
TAG = "sme$RELEASE-$REPO"
|
|
sudo -u kojiadmin koji add-tag --parent dist-sme$RELEASE-os dist-"$TAG"
|
|
sudo -u kojiadmin koji regen-repo dist-"$TAG"-build
|
|
done
|
|
# Releases sme11 and sme12 are based on Rocky 8
|
|
PKGMANAGER = "dnf"
|
|
BOOTSTRAPIMAGE = "rocky:8"
|
|
EL = "8"
|
|
CHROOTSETUPCMD = ' install @buildsys-build @buildsys scl-utils-build python27-build '
|
|
for RELEASE in (11 12) ; do
|
|
# Setup the os repo - parent of others who will inherit most properties
|
|
TAG = "sme$RELEASE-os"
|
|
sudo -u kojiadmin koji add-tag dist-"$TAG"
|
|
sudo -u kojiadmin koji edit-tag dist-"$TAG" -x mock.package_manager=$PKGMANAGER
|
|
sudo -u kojiadmin koji add-tag --parent dist-"$TAG" --arches "$RPM_ARCH" dist-"$TAG"-build
|
|
sudo -u kojiadmin koji add-target dist-"$TAG" dist-"$TAG"-build
|
|
sudo -u kojiadmin koji add-group dist-"$TAG"-build build
|
|
sudo -u kojiadmin koji add-group dist-"$TAG"-build srpm-build
|
|
sudo -u kojiadmin koji edit-tag dist-"$TAG" -x mock.bootstrap_image="$BOOTSTRAPIMAGE"
|
|
sudo -u kojiadmin koji edit-tage dist-"$TAG" -x mock.chroot_setup_cmd="$CHROOTSETUPCMD"
|
|
sudo -u kojiadmin koji add-group-pkg dist-"$TAG"-build build install @buildsys-build @buildsys scl-utils-build python27-build"
|
|
sudo -u kojiadmin koji add-group-pkg dist-"$TAG"-build srpm-build coreutils cpio curl-bin elfutils file git glibc-utils grep gzip make pigz plzip rpm rpm-build sed shadow tar unzip wget xz
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build os https://dl.rockylinux.org/pub/rocky/$EL/BaseOS/x86_64/os/
|
|
# mirrorList=http://mirrors.rockylinux.org/mirrorlist?release=$EL&arch=x86_64&repo=BaseOS-$EL
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build appstream https://dl.rockylinux.org/pub/rocky/$EL/AppStream/x86_64/os/
|
|
# mirrorlist = https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=AppStream-8
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build powertools https://dl.rockylinux.org/pub/rocky/$EL/PowerTools/x86_64/os/
|
|
# mirrorlist = https://mirrors.rockylinux.org/mirrorlist?arch=x86_64&repo=PowerTools-$EL
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build epel https://muug.ca/mirror/fedora-epel/8/Everything/x86_64/
|
|
# mirrorList=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-8&arch=x86_64
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build openfusion http://repo.openfusion.net/centos$EL-x86_64
|
|
sudo -u kojiadmin koji add-external-repo -t dist-smeos10-build rpmfusion http://download1.rpmfusion.org/free/el/updates/$EL/x86_64
|
|
sudo -u kojiadmin koji regen-repo dist-"$TAG"-build
|
|
# setup the rest of the repos
|
|
for REPO in (contribs addons updates updates-testing testing) ; do
|
|
TAG = "sme$RELEASE-$REPO"
|
|
sudo -u kojiadmin koji add-tag --parent dist-sme$RELEASE-os dist-"$TAG"
|
|
sudo -u kojiadmin koji regen-repo dist-"$TAG"-build
|
|
done
|
|
done
|