Last active
March 12, 2020 13:16
-
-
Save oversider-kosma/2839639151a8f67307069adcd467b122 to your computer and use it in GitHub Desktop.
Builds inside buster-chroot superkaramba and fetch buided package out of chroot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# - create a buster-chroot, | |
# - Build supercaramba there, | |
# - fetch builded binary and required libraries to package | |
# - fetch package out of chroot | |
# - remove chroot | |
set -e | |
CHROOT_DIR='/opt/chroot' | |
ARCH='amd64' | |
if [[ ! -e $CHROOT_DIR/etc/os-release || $(cat $CHROOT_DIR/etc/os-release | grep -c 'buster') -eq 0 ]]; | |
then | |
mkdir $CHROOT_DIR | |
debootstrap --arch=$ARCH --variant=minbase --include=bash buster $CHROOT_DIR | |
cat << EOF > $CHROOT_DIR/root/pre-install.sh | |
#!/bin/bash | |
set -e | |
export LANG=C | |
cat /etc/apt/sources.list | grep "buster main" | sed -e 's/buster/buster-backports/g' >> /etc/apt/sources.list | |
apt-get update | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get install -yq grc wget libpython2.7 checkinstall libxrender-dev libqimageblitz-dev libqimageblitz4 kdelibs5-dev kdelibs5-data kdelibs5-plugins cmake make unzip qt4-qmake | |
EOF | |
mount --bind /proc $CHROOT_DIR/proc | |
mount --bind /dev $CHROOT_DIR/dev | |
chroot $CHROOT_DIR bash /root/pre-install.sh | |
umount $CHROOT_DIR/proc | |
umount $CHROOT_DIR/dev | |
fi | |
cat << EOF1 > $CHROOT_DIR/root/build.sh | |
rm -rf /usr/local/src/superkaramba-15.08.3 || echo 'SRC dir is clear' | |
set -e | |
cd /usr/local/src | |
wget https://github.com/KDE/superkaramba/archive/v15.08.3.zip -O /usr/local/src/v15.08.3.zip | |
unzip -o v15.08.3.zip | |
cd /usr/local/src/superkaramba-15.08.3 | |
cmake . | |
grc make -j $(nproc) | |
echo "Making .deb package" | |
checkinstall -D --install=no --backup=no --default --pkgname=superkaramba --pkgversion=15.08.3~backported > /dev/null | |
mv superkaramba_15.08.3~backported-1_amd64.deb superkaramba_15.08.3~backported-1_amd64_orig.deb | |
set +e | |
rm -rf .DEB || echo '' > /dev/null | |
set -e | |
dpkg-deb -R superkaramba_15.08.3~backported-1_amd64_orig.deb ./DEB | |
mkdir -p ./DEB/usr/lib/x86_64-linux-gnu | |
echo 'Adding libraries to the package' | |
cp -L /usr/lib/libknewstuff2.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkio.so.5 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkdeui.so.5 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkdecore.so.5 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkrosscore.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkde3support.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libplasma.so.3 ./DEB/usr/lib/ | |
cp -L /usr/lib/libqimageblitz.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkpty.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libsolid.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libdlrestrictions.so.1 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkparts.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkdnssd.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libthreadweaver.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkdewebkit.so.5 ./DEB/usr/lib/ | |
cp -L /usr/lib/libknewstuff3.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/libkcmutils.so.4 ./DEB/usr/lib/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtXml.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtSvg.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtDBus.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtCore.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtGui.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtScript.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQt3Support.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libattica.so.0.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtSql.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtDeclarative.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libqca.so.2 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libphonon.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
cp -L /usr/lib/x86_64-linux-gnu/libQtXmlPatterns.so.4 ./DEB/usr/lib/x86_64-linux-gnu/ | |
dpkg-deb -b ./DEB superkaramba_15.08.3~backported-1_amd64.deb | |
EOF1 | |
mount --bind /proc $CHROOT_DIR/proc | |
mount --bind /dev $CHROOT_DIR/dev | |
chroot $CHROOT_DIR bash /root/build.sh | |
umount $CHROOT_DIR/proc | |
umount $CHROOT_DIR/dev | |
cp $CHROOT_DIR/usr/local/src/superkaramba-15.08.3/superkaramba_15.08.3~backported-1_amd64.deb ./ | |
USER=$(ls -ld . | awk '{print $3}') | |
chown $USER:$USER ./superkaramba_15.08.3~backported-1_amd64.deb | |
rm -rf $CHROOT_DIR |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment