From 049bae8660e0734be5be8f9e1052f69e9983868a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 17 Apr 2016 12:27:28 +0100 Subject: lets try to inject portage tree on the fly --- devmod | 14 ++++++++++++++ libvasile | 12 ++++++++++++ usermod | 22 ++++++++++++++++++++++ vasile | 1 + 4 files changed, 49 insertions(+) create mode 100755 devmod create mode 100755 usermod diff --git a/devmod b/devmod new file mode 100755 index 0000000..b44f15c --- /dev/null +++ b/devmod @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +fetch_portage_tree() { + cd /usr/portage && git init + git remote add origin git://anongit.gentoo.org/repo/gentoo.git + git pull --depth=1 origin master + git branch -u origin/master master +} + +main() { + fetch_portage_tree +} + +main diff --git a/libvasile b/libvasile index f2a99cb..3259c2d 100755 --- a/libvasile +++ b/libvasile @@ -103,6 +103,12 @@ chrootstartx64 () { mount -t tmpfs -o nosuid,nodev,noexec none "$overlaydir"/tmp } +chroottreex64 () { + echo "injecting full portage tree into x64 environment" + sleep 1 + chroot "$overlaydir" su - "$chrootuser" -c "$chroottree" +} + chrootoverlaysx64 () { echo "injecting "$releasename" "$releasetarget" overlay into x64 environment" sleep 1 @@ -163,6 +169,12 @@ chrootstartx86 () { mount -t tmpfs -o nosuid,nodev,noexec none "$overlaydir"/tmp } +chrottreex86 () { + echo "injecting full portage tree into x86 environment" + sleep 1 + linux32 chroot "$overlaydir" su - "$chrootuser" -c "$chroottree" +} + chrootoverlaysx86 () { echo "injecting "$releasename" "$releasetarget" overlay into x86 environment" sleep 1 diff --git a/usermod b/usermod new file mode 100755 index 0000000..a47193a --- /dev/null +++ b/usermod @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +fetch_portage_tree() { + if [[ ! -d /usr/portage/.git ]] ; then + cd /usr/portage && git init > /dev/null 2>&1 + git remote add origin git://anongit.gentoo.org/repo/gentoo.git + git config core.sparsecheckout true + echo "profiles/*" >> .git/info/sparse-checkout + echo "metadata/*" >> .git/info/sparse-checkout + echo "eclass/*" >> .git/info/sparse-checkout + echo ".gitignore" >> .git/info/sparse-checkout + git pull --depth=1 origin master > /dev/null 2>&1 + git branch -u origin/master master > /dev/null 2>&1 + rm -rf /usr/portage/profiles/updates > /dev/null 2>&1 + fi +} + +main() { + fetch_portage_tree +} + +main diff --git a/vasile b/vasile index cda6e07..d99f4f9 100755 --- a/vasile +++ b/vasile @@ -43,6 +43,7 @@ export local overlaydir="overlaydir" export local chrootuser="root" export local chroottarget="${@:2}" export local chrootbuildtarget="emerge -kav "$chroottarget"" +export local chroottree="/usr/share/vasile/devmod" export local chrootmainoverlay="layman -f -a "$releasename"-"$releasetarget" -o https://gitlab.com/"$releasename"/"$releasename"-"$releasetarget"/raw/master/overlay.xml" export local chrootbuildgit="cd /opt && git clone https://gitlab.com/"$releasename"/"$releasename"-build.git" export local chrootportageconfig="ln -sf /opt/"$releasename"-build/conf/intel/portage /etc/portage" -- cgit v1.2.3