summaryrefslogtreecommitdiff
path: root/libvasile-kogaion
diff options
context:
space:
mode:
authorV3n3RiX <venerix@rogentos.ro>2016-04-17 12:54:46 +0100
committerV3n3RiX <venerix@rogentos.ro>2016-04-17 12:54:46 +0100
commitcf842e4d5818db14b563eb5b580e138d6fbb46c4 (patch)
tree87fbb664ceaa202cef37961635dd7b5f56ac0467 /libvasile-kogaion
parentd4d566b85fb34ca4f57fee06c5f4b52bb675d687 (diff)
change exec name and libname to allow argent to coexist
Diffstat (limited to 'libvasile-kogaion')
-rwxr-xr-xlibvasile-kogaion184
1 files changed, 184 insertions, 0 deletions
diff --git a/libvasile-kogaion b/libvasile-kogaion
new file mode 100755
index 0000000..11c3af5
--- /dev/null
+++ b/libvasile-kogaion
@@ -0,0 +1,184 @@
+# generic functions (used for both build && iso creation)
+
+kernelconfig () {
+ if [[ $(zgrep 'CONFIG_OVERLAYFS_FS=' /proc/config.gz) && $(zgrep "CONFIG_SQUASHFS=" /proc/config.gz) && $(zgrep "CONFIG_BLK_DEV_LOOP=" /proc/config.gz) ]] ; then
+ # if you use 3.18 LTS or newer kernels, change CONFIG_OVERLAYFS_FS to CONFIG_OVERLAY_FS
+ echo ""
+ echo "Kernel configuration seems OK, moving on"
+ echo ""
+ sleep 1
+ else
+ echo ""
+ echo "Vasile needs OVERLAYFS && SQUASHFS && LOOP DEVICES to work"
+ echo "Please rebuild the kernel with those activated to use it"
+ echo ""
+ exit 1
+ fi
+}
+
+checkroot () {
+ if [[ "$(whoami)" != root ]] ; then
+ echo ""
+ echo "You're not root?...No cookies for you, go away !!!"
+ echo ""
+ exit 1
+ fi
+}
+
+chrootchecksumx64 () {
+ while : true ; do
+ if [[ -f "$chrootx64" && -f "$chrootx64md5" ]] ; then
+ echo "good, squashed chroot && checksum file found ... verifying integrity"
+ echo ""
+ if [[ "$(md5sum -c "$chrootx64md5")" ]] ; then
+ echo "good, squashed chroot checksum passed ... starting engines"
+ echo ""
+ sleep 1
+ break
+ else
+ echo "ooops, squashed chroot checksum failed ... aborting"
+ exit 1
+ fi
+ else
+ echo "ooops, squashed chroot or checksum file not found ... aborting"
+ exit 1
+ fi
+ done
+}
+
+# build functions
+
+chrootstop () {
+ umount -l "$overlaydir"/proc > /dev/null 2>&1
+ umount -l "$overlaydir"/sys > /dev/null 2>&1
+ umount -l "$overlaydir"/dev/pts > /dev/null 2>&1
+ umount -l "$overlaydir"/dev/shm > /dev/null 2>&1
+ umount -l "$overlaydir"/dev > /dev/null 2>&1
+ umount -l "$overlaydir"/tmp > /dev/null 2>&1
+ umount -l "$overlaydir"/usr/portage/packages > /dev/null 2>&1
+ umount -l "$overlaydir"/usr/portage/distfiles > /dev/null 2>&1
+ umount -l "$overlaydir" > /dev/null 2>&1
+ umount -l "$rodir" > /dev/null 2>&1
+}
+
+chrootstartx64 () {
+ mount -t squashfs "$chrootx64" "$rodir"
+ if [[ "$(uname -r | cut -d . -f1,2)" = "3.14" ]] ; then
+ mount -t overlayfs -o lowerdir="$rodir",upperdir="$rwdir" overlayfs "$overlaydir"
+ else # kernel version equal or above 3.18
+ mount -t overlay -o lowerdir="$rodir",upperdir="$rwdir",workdir="$workdir" overlay "$overlaydir"
+ fi
+ mount -o bind packages "$overlaydir"/usr/portage/packages
+ mount -o bind distfiles "$overlaydir"/usr/portage/distfiles
+ mount -t proc proc "$overlaydir"/proc
+ mount -t sysfs sysfs "$overlaydir"/sys
+ mount -t devtmpfs -o relatime,size=3055348k,nr_inodes=763837,mode=755 none "$overlaydir"/dev
+ mount -t devpts -o nosuid,noexec,relatime,gid=5,mode=620 none "$overlaydir"/dev/pts
+ mount -t tmpfs -o nosuid,nodev none "$overlaydir"/dev/shm
+ mount -t tmpfs -o nosuid,nodev,noexec none "$overlaydir"/tmp
+}
+
+chroottreex64 () {
+ echo "injecting full portage tree into build environment"
+ sleep 1
+ chroot "$overlaydir" su - "$chrootuser" -c "$chroottree"
+}
+
+chrootoverlaysx64 () {
+ echo "injecting "$releasename" "$releasetarget" overlay into build environment"
+ sleep 1
+ chroot "$overlaydir" su - "$chrootuser" -c "$chrootmainoverlay"
+}
+
+chrootbuildsystemx64 () {
+ echo "injecting "$releasename" buildsystem && setting up portage"
+ echo ""
+ sleep 1
+ for cmd in "$chrootbuildgit" "$chrootportageconfig" "$chrootmakeconfx64" "$chrootprofile" "$chrootenvupdate" ; do
+ chroot "$overlaydir" su - "$chrootuser" -c "$cmd"
+ done
+}
+
+chrootbuildx64 () {
+ echo ""
+ echo "Environment is up && running ... building targets"
+ sleep 1
+ chroot "$overlaydir" su - "$chrootuser" -c "$chrootbuildtarget"
+}
+
+chrootx64 () {
+ 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 ""
+ chroot "$overlaydir" su - "$chrootuser"
+}
+
+# iso functions
+
+isostartx64 () {
+ mount -o bind packages "$isosyncdirx64"/usr/portage/packages
+ mount -t proc proc "$isosyncdirx64"/proc
+ mount -t sysfs sysfs "$isosyncdirx64"/sys
+ mount -t devtmpfs -o relatime,size=3055348k,nr_inodes=763837,mode=755 none "$isosyncdirx64"/dev
+ mount -t devpts -o nosuid,noexec,relatime,gid=5,mode=620 none "$isosyncdirx64"/dev/pts
+ mount -t tmpfs -o nosuid,nodev none "$isosyncdirx64"/dev/shm
+ mount -t tmpfs -o nosuid,nodev,noexec none "$isosyncdirx64"/tmp
+}
+
+isostopx64 () {
+ umount -l "$isosyncdirx64"/proc > /dev/null 2>&1
+ umount -l "$isosyncdirx64"/sys > /dev/null 2>&1
+ umount -l "$isosyncdirx64"/dev/pts > /dev/null 2>&1
+ umount -l "$isosyncdirx64"/dev/shm > /dev/null 2>&1
+ umount -l "$isosyncdirx64"/dev > /dev/null 2>&1
+ umount -l "$isosyncdirx64"/tmp > /dev/null 2>&1
+ umount -l "$isosyncdirx64"/usr/portage/packages > /dev/null 2>&1
+}
+
+isooverlaysx64 () {
+ echo "injecting "$releasename" "$releasetarget" overlay into x64 environment"
+ sleep 1
+ chroot "$isosyncdirx64" su - "$isouser" -c "$isomainoverlay"
+}
+
+isobuildsystemx64 () {
+ echo "injecting "$releasename" buildsystem && setting up portage"
+ echo ""
+ sleep 1
+ for cmd in "$isobuildgit" "$isoportageconfig" "$isomakeconfx64" "$isoprofile" "$isoenvupdate" ; do
+ chroot "$isosyncdirx64" su - "$isouser" -c "$cmd"
+ done
+}
+
+isoramfsx64 () {
+ chroot "$isosyncdirx64" su - "$isouser" -c "$isodracutcmd"
+}
+
+systemramfsx64 () {
+ chroot "$isosyncdirx64" su - "$isouser" -c "$dracutcmdx64"
+}
+
+isoefiimgx64 () {
+ chroot "$isosyncdirx64" su - "$isouser" -c "$isoeficmd"
+}
+
+isochrootx64 () {
+ echo -e ""
+ echo -e "DROPPING YOU TO A ROOT SHELL INTO ISO ENVIRONMENT"
+ echo -e "INSTALL APPS & TARGETS & DES YOU WANT INSIDE ISO"
+ echo -e "EXIT WHEN YOU'RE DONE AND I'LL CREATE THE IMAGE"
+ echo -e ""
+ chroot "$isosyncdirx64" su - "$isouser"
+}