From 681971c3dbaecc4841e9fa5683d79b851a4c24b6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 28 Jun 2015 21:37:38 +0100 Subject: renamed buildbot to vasile --- buildbot | 219 --------------------------------------------------------------- vasile | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 219 insertions(+), 219 deletions(-) delete mode 100755 buildbot create mode 100755 vasile 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 diff --git a/vasile b/vasile new file mode 100755 index 0000000..c661b39 --- /dev/null +++ b/vasile @@ -0,0 +1,219 @@ +#!/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 -- cgit v1.2.3