summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/layman_reinit.sh24
1 files changed, 16 insertions, 8 deletions
diff --git a/scripts/layman_reinit.sh b/scripts/layman_reinit.sh
index 64d14d0..6729149 100644
--- a/scripts/layman_reinit.sh
+++ b/scripts/layman_reinit.sh
@@ -1,13 +1,21 @@
#! /bin/bash
-repos=$(xmllint -xpath "//repo/name/text()|//repo/source/text()" /etc/portage/layman.xml | xargs -n2)
+(
+ repos=$(xmllint -xpath "//repo/name/text()|//repo/source/text()" /etc/portage/layman.xml | xargs -n2)
-layman -d ALL
-git checkout -- /etc/portage/repos.conf/layman.conf
+ cd /etc/portage
+
+ layman -d ALL
+ git checkout -- layman.xml
-for repo in $(cat /etc/portage/repos.conf/layman.conf | grep -oP "\[\K[^]]*"); do
- repo_src=$(echo "$repos" | grep -P "^$repo" | awk '{ print $2 }')
- layman -a "$repo" -O "$repo_src"
-done
+ 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 -- /etc/portage/repos.conf/layman.conf
+ git checkout -- layman.xml
+)