diff options
Diffstat (limited to 'scripts/bootstrap/layman_reinit.sh')
-rw-r--r-- | scripts/bootstrap/layman_reinit.sh | 19 |
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 +) |