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 ...@@ -2,15 +2,14 @@ image: stretch_packages
stages: stages:
- build - build
- test
before_script: variables:
- export LANG="en_US.UTF-8" LANG: "en_US.UTF-8"
- export DEBIAN_FRONTEND="noninteractive" DEBIAN_FRONTEND: "noninteractive"
- export DEBIAN_PRIORITY="critical" DEBIAN_PRIORITY: "critical"
- export DEBFULLNAME="FSMPI Admin-Team" DEBFULLNAME: "FSMPI Admin-Team"
- export DEBEMAIL="admin@fsmpi.rwth-aachen.de" DEBEMAIL: "admin@fsmpi.rwth-aachen.de"
- export QUILT_PATCHES="debian/patches" QUILT_PATCHES: "debian/patches"
sssd: sssd:
stage: build stage: build
...@@ -63,13 +62,3 @@ painintheapt: ...@@ -63,13 +62,3 @@ painintheapt:
artifacts: artifacts:
paths: paths:
- packages/* - 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 #!/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") dch_custom $VERSION "Apply the unreleased upstream-patches, fixing RT#100"
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
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 #!/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") 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."
apt-get source --only-source ganeti dch_custom $VERSION "Increase maximum disk count per instance."
TARGET_DIR=ganeti-$GANETI_VERSION dch_custom $VERSION "Add support for disk cache usage with rbd devices."
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
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash #!/bin/bash
source "${BASH_SOURCE%/*}/common.sh"
git clone https://github.com/grml/grml-etc-core grml-zsh-config VERSION=$(get_git_sources grml-zsh-config https://github.com/grml/grml-etc-core )
cd grml-zsh-config apply_patches_manually 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
sed -i s/grml-etc-core/grml-zsh-config/g debian/changelog sed -i s/grml-etc-core/grml-zsh-config/g debian/changelog
debchange --preserve --newversion ${GRML_ZSH_CONFIG_VERSION}-fsmpi "Remove unneeded grml-configs" dch_custom $VERSION "Remove unneeded grml-configs"
apt-get install -y txt2tags debhelper
fakeroot debian/rules binary
debuild -b -uc -us
cd ..
mkdir packages
mv *.deb packages
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash #!/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") cd debian
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 ..
cp libnginx-mod.nginx.skeleton libnginx-mod-http-shibboleth.nginx cp libnginx-mod.nginx.skeleton libnginx-mod-http-shibboleth.nginx
cd modules
cd .. git clone "https://github.com/nginx-shib/nginx-http-shibboleth.git"
cd ../..
patch -d . -p0 < ../patches/nginx/00-add-module.patch patch -d . -p0 < ../patches/nginx/00-add-module.patch
debchange --preserve --newversion ${NGINX_VERSION}-fsmpi "Add libnginx-mod-http-shibboleth" dch_custom $VERSION "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
install_build_deps
build
test_install
prepare_artifacts
#!/bin/bash #!/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 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 update
apt-get source --only-source -t buster painintheapt VERSION=$(get_sources painintheapt buster)
VERSION=$(rmadison painintheapt --architecture=all -s buster | cut -d\| -f2 | sed s"/ //g" | sed s"/\-.*$//g") import_patches painintheapt
cd painintheapt-$VERSION
for patch in ../patches/painintheapt/*.patch ; do
quilt import $patch
quilt push
done
sed -i '/python3-sleekxmpp/d' debian/control sed -i '/python3-sleekxmpp/d' debian/control
sed -i 's/Build-Depends: debhelper (>= 11),/Build-Depends: debhelper (>= 10),/g' debian/control sed -i 's/Build-Depends: debhelper (>= 11),/Build-Depends: debhelper (>= 10),/g' debian/control
echo "10" > debian/compat echo "10" > debian/compat
mk-build-deps --install --remove --tool "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" dch_backport
dch --local ~bpo9+ --distribution stretch-backports "Rebuild for stretch-backports." dch_custom $VERSION "Add HTTP-JSON support."
dch --preserve --newversion ${VERSION}-fsmpi "Add HTTP-JSON support." dch_custom $VERSION "Remove XMPP support."
dch --preserve --newversion ${VERSION}-fsmpi "Remove XMPP support."
debuild -us -uc -nc
debi --with-depends
cd .. install_build_deps
mkdir packages build
mv *.deb packages test_install
prepare_artifacts
#!/bin/bash #!/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 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 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