summaryrefslogtreecommitdiffstats
path: root/scripts/bootstrap/layman_reinit.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bootstrap/layman_reinit.sh')
-rw-r--r--scripts/bootstrap/layman_reinit.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/bootstrap/layman_reinit.sh b/scripts/bootstrap/layman_reinit.sh
new file mode 100644
index 0000000..ce88379
--- /dev/null
+++ b/scripts/bootstrap/layman_reinit.sh
@@ -0,0 +1,19 @@
+#! /bin/bash
+
+(
+ repos=$(xmllint -xpath "//repo/name/text()|//repo/source/text()" /etc/portage/layman.xml | xargs -n2)
+
+ cd /etc/portage
+
+ layman -d ALL
+ for repo in $(cat /etc/portage/repos.conf/layman.conf | grep -oP "\[\K[^]]*"); do
+ repo_src=$(echo "$repos" | grep -P "^$repo" | awk '{ print $2 }')
+ if [ -n "$repo_src" ]; then
+ layman -a "$repo" -O "$repo_src"
+ else
+ layman -a "$repo"
+ fi
+ done
+
+ git checkout -- layman.xml
+)