summaryrefslogtreecommitdiff
path: root/buildbot
diff options
context:
space:
mode:
authorV3n3RiX <venerix@rogentos.ro>2015-06-28 21:37:38 +0100
committerV3n3RiX <venerix@rogentos.ro>2015-06-28 21:37:38 +0100
commit681971c3dbaecc4841e9fa5683d79b851a4c24b6 (patch)
tree6e03e5b3f40fda00c81f6c9e17bd2f26cc74c440 /buildbot
parent28c078da4c3fc14ced0c2afcd72d26861a3620d2 (diff)
renamed buildbot to vasile
Diffstat (limited to 'buildbot')
-rwxr-xr-xbuildbot219
1 files changed, 0 insertions, 219 deletions
diff --git a/buildbot b/buildbot
deleted file mode 100755
index c661b39..0000000
--- a/buildbot
+++ /dev/null
@@ -1,219 +0,0 @@
-#!/usr/bin/env bash
-#
-# Script to build Kogaion Linux packages in a clean squashfs + overlayfs chroot
-# Using predefined targets : kernel.target, libs.target, x11.target, sound.target, artwork.target etc
-# Targets are passed as arguments, and will remain private...for now (not all of them are stable yet)
-# Author : V3n3RiX @ RogentOS
-# Dependencies : squashfs + overlayfs kernel support
-
-
-# env mount variables
-export local rodir="rodir"
-export local rwdir="rwdir"
-export local overlaydir="overlaydir"
-
-# env user variable
-export local envkogaionuser="root"
-
-# env target variable (can be a single package, multiple packages, or a target file passed as parameter)
-export local envkogaiontarget="$@"
-export local envkogaionbuildtarget="emerge -av "$envkogaiontarget""
-
-# env buildsystem variables
-export local envkogaionportageconfig="ln -sf /opt/build/conf/intel/portage /etc/portage"
-export local envkogaionbuildgit="cd /opt && git clone https://github.com/Rogentos/build.git"
-export local envkogaionoverlay="layman -f -a kogaion -o https://raw.github.com/Rogentos/kogaion/master/overlay.xml"
-export local envkogaiondesktopoverlay="layman -f -a kogaion-desktop -o https://raw.github.com/Rogentos/kogaion-desktop/master/overlay.xml"
-
-
-envcheckroot () {
- if [[ "$(whoami)" != root ]] ; then
- echo ""
- echo "You're not root?...No cookies for you, go away !!!"
- echo ""
- exit 1
- fi
-}
-
-envkogaionsquashfsintegrity () {
- # our bare metal buildserver is x86_64 but we want to build 32bit packages as well
- # run this script with linux32 to fool it we run i686 and to build 32bit packages
- while : true ; do
- if [[ "$(uname -m)" = "x86_64" ]] ; then
- export local sqfsroot="kogaiondevelx64.squashfs"
- export local sqfsrootmd5file=""$sqfsroot".md5"
- export local sqfsrootmd5="$(cat "$sqfsrootmd5file" | awk {'print $1'})"
- if [[ -f "$sqfsroot" && -f "$sqfsrootmd5file" ]] ; then
- echo "Good, x86_64 squashed chroot && checksum file FOUND ... verifying integrity"
- echo ""
- if [[ "$(md5sum "$sqfsroot" | awk {'print $1'})" = "$sqfsrootmd5" ]] ; then
- echo "Good, x86_64 squashed chroot checksum PASSED ... starting environment"
- echo ""
- sleep 1
- break
- else
- echo "Ooops, x86_64 squashed chroot checksum FAILED ... aborting"
- exit 1
- fi
- else
- echo "Ooops, x86_64 squashed chroot or checksum file NOT FOUND ... aborting"
- exit 1
- fi
- elif [[ "$(uname -m)" = "i686" ]] ; then
- export local sqfsroot="kogaiondevelx86.squashfs"
- export local sqfsrootmd5file=""$sqfsroot".md5"
- export local sqfsrootmd5="$(cat "$sqfsrootmd5file" | awk {'print $1'})"
- if [[ -f "$sqfsroot" && -f "$sqfsrootmd5file" ]] ; then
- echo "Good, i686 squashed chroot && checksum file FOUND ... verifying integrity"
- echo ""
- if [[ "$(md5sum "$sqfsroot" | awk {'print $1'})" = "$sqfsrootmd5" ]] ; then
- echo "Good, i686 squashed chroot checksum PASSED ... starting environment"
- echo ""
- sleep 1
- break
- else
- echo "Ooops, i686 squashed chroot checksum FAILED ... aborting"
- fi
- else
- echo "Ooops, i686 squashed chroot of checksum file NOT FOUND ... aborting"
- exit 1
- fi
- fi
- done
-}
-
-envkogaionstart () {
- # mount ro squashfs chroot + add rw overlayfs layer to enable clean package building
- mount -t squashfs "$sqfsroot" "$rodir"
- mount -t overlayfs -o lowerdir="$rodir",upperdir="$rwdir" overlayfs "$overlaydir"
- mount -o bind /proc "$overlaydir"/proc
- mount -o bind /sys "$overlaydir"/sys
- mount -o bind /dev "$overlaydir"/dev
- mount -o bind /dev/pts "$overlaydir"/dev/pts
- mount -o bind /dev/shm "$overlaydir"/dev/shm
- mount -o bind /tmp "$overlaydir"/tmp
-}
-
-envkogaionstop () {
- # umount squashfs + overlayfs chroot
- umount -l "$overlaydir"/proc
- umount -l "$overlaydir"/sys
- umount -l "$overlaydir"/dev/pts
- umount -l "$overlaydir"/dev/shm
- umount -l "$overlaydir"/dev
- umount -l "$overlaydir"/tmp
- umount -l "$overlaydir"
- umount -l "$rodir"
-}
-
-envkogaionbuild () {
- # build packages in squashfs + overlayfs chroot
- if [[ "$(uname -m)" = "x86_64" ]] ; then
- echo ""
- echo "Environment is UP && RUNNING ... building targets"
- sleep 1
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionbuildtarget"
- elif [[ "$(uname -m)" = "i686" ]] ; then
- echo ""
- echo "Environment is UP && RUNNING ... building targets"
- sleep 1
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionbuildtarget"
- fi
-}
-
-envkogaionchroot() {
- # enter squashfs + overlayfs chroot to push packages, or debug build errors
- echo -e ""
- echo -e "#################################################################"
- echo -e "# ENTERING CHROOT ENV FOR YOU TO PUSH BUILT PACKAGES #"
- echo -e "# OR TO FIX EVENTUAL BUILD ERRORS #"
- echo -e "#################################################################"
- echo -e "# !!! WARNING !!! WARNING !!! WARNING !!! #"
- echo -e "#################################################################"
- echo -e "# NEXT RUN OF THIS SCRIPT WILL DESTROY ALL YOUR WORK #"
- echo -e "# DO NOT EXIT CHROOT UNTIL ALL PACKAGES ARE PUSHED TO REPOS #"
- echo -e "# OR, IN CASE OF BUILD FAILURES, UNTIL ALL FIXES ARE COMMITED #"
- echo -e "#################################################################"
- echo -e "# !!! WARNING !!! WARNING !!! WARNING !!! #"
- echo -e "#################################################################"
- echo -e ""
- echo -e ""
- if [[ "$(uname -m)" = "x86_64" ]] ; then
- chroot "$overlaydir" su - "$envkogaionuser"
- elif [[ "$(uname -m)" = "i686" ]] ; then
- linux32 chroot "$overlaydir" su - "$envkogaionuser"
- fi
-}
-
-envkogaionbuildsystem() {
- # since squashed chroot is barebones, we need to set it up
- # add our overlays && set up our buildsystem
- if [[ "$(uname -m)" = "x86_64" ]] ; then
- export local envkogaionmakeconf="ln -sf /opt/build/conf/intel/portage/make.conf.amd64 /etc/portage/make.conf"
- export local envkogaionprofile="eselect profile set 1"
- echo "Adding Kogaion Linux Main Overlay"
- sleep 1
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionoverlay"
- echo "Adding Kogaion Linux Desktop Overlay"
- sleep 1
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaiondesktopoverlay"
- echo "Adding Kogaion Linux X86_64 Buildsystem && Setting up Portage && Setting up make.conf"
- echo ""
- sleep 1
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionbuildgit"
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionportageconfig"
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionmakeconf"
- chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionprofile"
- elif [[ "$(uname -m)" = "i686" ]] ; then
- export local envkogaionmakeconf="ln -sf /opt/build/conf/intel/portage/make.conf.x86 /etc/portage/make.conf"
- export local envkogaionprofile="eselect profile set 1"
- echo "Adding Kogaion Linux Main Overlay"
- sleep 1
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionoverlay"
- echo "Adding Kogaion Linux Desktop Overlay"
- sleep 1
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaiondesktopoverlay"
- echo "Adding Kogaion Linux i686 Buildsystem && Setting up Portage && Setting up make.conf"
- echo ""
- sleep 1
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionbuildgit"
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionportageconfig"
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionmakeconf"
- linux32 chroot "$overlaydir" su - "$envkogaionuser" -c "$envkogaionprofile"
- fi
-
-}
-
-envkogaionprepare () {
- # check our environment for sanity
- # if safe, trigger start && break the loop to build packages
- # else trigger stop && cleanup && check again
- while : true ; do
- if [[ ! -d "$rodir" && ! -d "$rwdir" && ! -d "$overlaydir" ]] ; then
- for i in "$rodir" "$rwdir" "$overlaydir" ; do
- mkdir "$i"
- done
- envkogaionstart
- break
- elif [[ -d "$rodir" && -d "$rwdir" && -d "$overlaydir" ]] ; then
- envkogaionstop
- for i in "$rodir" "$rwdir" "$overlaydir" ; do
- rm -rf "$i"
- done
- continue
- fi
- done
-}
-
-main () {
- if envcheckroot ; then
- envkogaionsquashfsintegrity
- envkogaionprepare
- envkogaionbuildsystem
- envkogaionbuild
- envkogaionchroot
- fi
-}
-
-main
-exit 0