diff options
author | V3n3RiX <venerix@rogentos.ro> | 2016-04-17 12:54:46 +0100 |
---|---|---|
committer | V3n3RiX <venerix@rogentos.ro> | 2016-04-17 12:54:46 +0100 |
commit | cf842e4d5818db14b563eb5b580e138d6fbb46c4 (patch) | |
tree | 87fbb664ceaa202cef37961635dd7b5f56ac0467 /libvasile-kogaion | |
parent | d4d566b85fb34ca4f57fee06c5f4b52bb675d687 (diff) |
change exec name and libname to allow argent to coexist
Diffstat (limited to 'libvasile-kogaion')
-rwxr-xr-x | libvasile-kogaion | 184 |
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" +} |