summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@rogentos.ro>2016-04-17 12:27:28 +0100
committerV3n3RiX <venerix@rogentos.ro>2016-04-17 12:27:28 +0100
commit049bae8660e0734be5be8f9e1052f69e9983868a (patch)
treece9db5af3e2d25a9200eeec46a38755949d51a50
parent01c51c734d7cd9ea570f7acf26837a03fffd5141 (diff)
lets try to inject portage tree on the fly
-rwxr-xr-xdevmod14
-rwxr-xr-xlibvasile12
-rwxr-xr-xusermod22
-rwxr-xr-xvasile1
4 files changed, 49 insertions, 0 deletions
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"