Skip to content
Snippets Groups Projects
Commit 741d5e77 authored by Lars Beckers's avatar Lars Beckers
Browse files

improve readability and consistency, therby fixing patching bugs

parent 4db7ebf8
Branches
No related tags found
No related merge requests found
......@@ -2,15 +2,14 @@ image: stretch_packages
stages:
- build
- test
before_script:
- export LANG="en_US.UTF-8"
- export DEBIAN_FRONTEND="noninteractive"
- export DEBIAN_PRIORITY="critical"
- export DEBFULLNAME="FSMPI Admin-Team"
- export DEBEMAIL="admin@fsmpi.rwth-aachen.de"
- export QUILT_PATCHES="debian/patches"
variables:
LANG: "en_US.UTF-8"
DEBIAN_FRONTEND: "noninteractive"
DEBIAN_PRIORITY: "critical"
DEBFULLNAME: "FSMPI Admin-Team"
DEBEMAIL: "admin@fsmpi.rwth-aachen.de"
QUILT_PATCHES: "debian/patches"
sssd:
stage: build
......@@ -63,13 +62,3 @@ painintheapt:
artifacts:
paths:
- packages/*
install-grml-zsh-config:
stage: test
script: dpkg -i packages/grml-zsh-config*.deb
only:
- master
install-painintheapt:
stage: test
script: dpkg -i packages/painintheapt*.deb
#!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
VERSION=$(get_sources adcli stretch)
import_patches adcli
ADCLI_VERSION=$(rmadison adcli --architecture=amd64 -s stretch| cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g")
apt-get update
apt-get source --only-source adcli
TARGET_DIR=adcli-$ADCLI_VERSION
cd ${TARGET_DIR}/debian
for patch in ../../patches/adcli/*.patch ; do
quilt import $patch
done
cd ..
debchange --preserve --newversion ${ADCLI_VERSION}-fsmpi "Apply the unreleased upstream-patches, fixing RT#100"
apt-get build-dep -y adcli
fakeroot debian/rules binary
debuild -b -uc -us
cd ..
mkdir debug packages
mv *dbgsym* debug
mv *.deb packages
dch_custom $VERSION "Apply the unreleased upstream-patches, fixing RT#100"
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash
# $1: source package name
# $2: distribution
# ->: version number retrieved
function get_sources() {
local version
apt-get source --only-source -t $2 $1
version=$(rmadison $1 --architecture=all,amd64 -s $2 | head -n1 | cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g")
cd $1-$version
return $version
}
# $1: source package name
# $2: git repository
# ->: version number retrieved
function get_git_sources() {
local version
git clone $2 $1
cd $1
git tag --sort "version:refname" -l | tail -n1 | xargs git checkout
version=$(git tag --sort "version:refname" -l | tail -n1 | sed s/v//)
return $version
}
# $1: patch directory name
function import_patches() {
shopt -s nullglob
for patch in ../patches/$1/*.patch ; do
quilt import $patch
quilt push
done
}
# $1: patch directory name
function apply_patches_manually() {
shopt -s nullglob
for patch in ../patches/$1/*.patch ; do
patch -p1 < $patch
done
}
# $1: official version number
# $2: changelog entry
function dch_custom() {
# TODO consider using local suffixes like backports
debchange --preserve --newversion $1-fsmpi $2
}
function dch_backport() {
local version, name
version=$(cat /etc/os-release | grep VERSION_ID= | sed -E 's/.*([0-9]+).*/\1/'))
name=$(cat /etc/os-release | grep VERSION= | sed 's/.*(\(.*\)).*/\1/')
debchange --local ~bpo$version+ --distribution $name-backports "Rebuild for $name-backports."
}
function install_build_deps() {
mk-build-deps --install --remove --tool "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes"
}
function build() {
debuild -us -uc -nc
}
function test_install() {
debi --with-depends
}
function prepare_artifacts() {
cd ..
mkdir -p packages sources debug
shopt -s nullglob
for f in *dbgsym*.deb ; do
mv -t debug $f
done
for f in *.deb ; do
mv -t packages $f
done
for f in *.tar.gz *.changes *.dsc ; do
mv -t sources $f
done
}
#!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
VERSION=$(get_sources ganeti stretch)
import_patches ganeti
GANETI_VERSION=$(rmadison ganeti -s stretch| cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g")
apt-get source --only-source ganeti
TARGET_DIR=ganeti-$GANETI_VERSION
cd ${TARGET_DIR}/debian
for patch in ../../patches/ganeti/*.patch ; do
quilt import $patch
done
cd ..
function dch() {
debchange --preserve --newversion ${GANETI_VERSION}-fsmpi $1
}
dch "Fix broken ceph support in bdev.py, see GitHub #1233."
dch "Remove blockdev storage from the movable and mirrored devices lists."
dch "Increase maximum disk count per instance."
dch "Add support for disk cache usage with rbd devices."
apt-get build-dep -y ganeti
fakeroot debian/rules binary
debuild -b -uc -us
cd ..
mkdir debug packages
mv *dbgsym* debug
mv *.deb packages
dch_custom $VERSION "Fix broken ceph support in bdev.py, see GitHub #1233."
dch_custom $VERSION "Remove blockdev storage from the movable and mirrored devices lists."
dch_custom $VERSION "Increase maximum disk count per instance."
dch_custom $VERSION "Add support for disk cache usage with rbd devices."
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
git clone https://github.com/grml/grml-etc-core grml-zsh-config
cd grml-zsh-config
git tag --sort "version:refname" -l | tail -n1 | xargs git checkout
GRML_ZSH_CONFIG_VERSION=$(git tag --sort "version:refname" -l | tail -n1 | sed s/v//)
for patch in ../patches/grml-zsh-config/*.patch ; do
patch -p1 < ${patch}
done
VERSION=$(get_git_sources grml-zsh-config https://github.com/grml/grml-etc-core )
apply_patches_manually grml-zsh-config
sed -i s/grml-etc-core/grml-zsh-config/g debian/changelog
debchange --preserve --newversion ${GRML_ZSH_CONFIG_VERSION}-fsmpi "Remove unneeded grml-configs"
apt-get install -y txt2tags debhelper
fakeroot debian/rules binary
debuild -b -uc -us
cd ..
mkdir packages
mv *.deb packages
dch_custom $VERSION "Remove unneeded grml-configs"
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
VERSION=$(get_sources nginx stretch)
NGINX_VERSION=$(rmadison nginx -s stretch| cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g")
apt-get source --only-source nginx
TARGET_DIR=nginx-$NGINX_VERSION
cd ${TARGET_DIR}/debian/modules
git clone "https://github.com/nginx-shib/nginx-http-shibboleth.git"
cd ..
cd debian
cp libnginx-mod.nginx.skeleton libnginx-mod-http-shibboleth.nginx
cd ..
cd modules
git clone "https://github.com/nginx-shib/nginx-http-shibboleth.git"
cd ../..
patch -d . -p0 < ../patches/nginx/00-add-module.patch
debchange --preserve --newversion ${NGINX_VERSION}-fsmpi "Add libnginx-mod-http-shibboleth"
apt-get build-dep -y nginx
fakeroot debian/rules binary
debuild -b -uc -us
cd ..
mkdir debug packages
mv *dbgsym* debug
mv *.deb packages
dch_custom $VERSION "Add libnginx-mod-http-shibboleth"
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
echo "deb-src http://ftp.halifax.rwth-aachen.de/debian/ buster main" > /etc/apt/sources.list.d/buster_src.list
apt-get update
apt-get source --only-source -t buster painintheapt
VERSION=$(rmadison painintheapt --architecture=all -s buster | cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g")
cd painintheapt-$VERSION
VERSION=$(get_sources painintheapt buster)
import_patches painintheapt
for patch in ../patches/painintheapt/*.patch ; do
quilt import $patch
quilt push
done
sed -i '/python3-sleekxmpp/d' debian/control
sed -i 's/Build-Depends: debhelper (>= 11),/Build-Depends: debhelper (>= 10),/g' debian/control
echo "10" > debian/compat
mk-build-deps --install --remove --tool "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes"
dch --local ~bpo9+ --distribution stretch-backports "Rebuild for stretch-backports."
dch --preserve --newversion ${VERSION}-fsmpi "Add HTTP-JSON support."
dch --preserve --newversion ${VERSION}-fsmpi "Remove XMPP support."
debuild -us -uc -nc
debi --with-depends
dch_backport
dch_custom $VERSION "Add HTTP-JSON support."
dch_custom $VERSION "Remove XMPP support."
cd ..
mkdir packages
mv *.deb packages
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
echo "deb-src http://ftp.halifax.rwth-aachen.de/debian/ buster main" > /etc/apt/sources.list.d/buster_src.list
apt-get update
apt-get source --only-source -t buster sssd
SSSD_VERSION=$(rmadison sssd --architecture=amd64 -s buster | cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g")
cd sssd-$SSSD_VERSION
mk-build-deps --install --remove --tool "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes"
dch --local ~bpo9+ --distribution stretch-backports "Rebuild for stretch-backports."
fakeroot debian/rules binary
debuild -us -uc -nc
cd ..
mkdir debug packages
mv *dbgsym* debug
mv *.deb packages
get_sources sssd buster
dch_backport
install_build_deps
build
test_install
prepare_artifacts
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment