diff options
author | V3n3RiX <venerix@rogentos.ro> | 2015-06-28 21:37:38 +0100 |
---|---|---|
committer | V3n3RiX <venerix@rogentos.ro> | 2015-06-28 21:37:38 +0100 |
commit | 681971c3dbaecc4841e9fa5683d79b851a4c24b6 (patch) | |
tree | 6e03e5b3f40fda00c81f6c9e17bd2f26cc74c440 /buildbot | |
parent | 28c078da4c3fc14ced0c2afcd72d26861a3620d2 (diff) |
renamed buildbot to vasile
Diffstat (limited to 'buildbot')
-rwxr-xr-x | buildbot | 219 |
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 |