parent
bc9c30f60a
commit
5e9686f23a
@ -1,142 +0,0 @@
|
||||
# Calculate exec=/bin/bash mergepkg(sys-apps/calculate-utils:3)>=3.6.6&&ini(merge-calculate.utils)<3.6.6
|
||||
|
||||
declare -A name_url=()
|
||||
rep_name=( $( /usr/libexec/calculate/cl-variable --value update.cl_update_rep_name | tr "," " " ) )
|
||||
rep_url=( $( /usr/libexec/calculate/cl-variable --value update.cl_update_rep_url | tr "," " " ) )
|
||||
|
||||
convert_layman_to_eselect_repo() {
|
||||
repos="${rep_name[*]}"
|
||||
laymanfn=/etc/portage/repos.conf/layman.conf
|
||||
eselectfn=/etc/portage/repos.conf/eselect-repo.conf
|
||||
# move not calculate repositories from layman to eselect repo
|
||||
if ! [[ -f $eselectfn ]] && [[ -f $laymanfn ]]
|
||||
then
|
||||
sed -rn -f - $laymanfn >> $eselectfn <<-EOF
|
||||
/^\[/ {
|
||||
/\[(${repos// /|})\]/ {
|
||||
b;
|
||||
}
|
||||
p;
|
||||
:a
|
||||
n;
|
||||
/^(sync-type|priority) =/ {
|
||||
ba;
|
||||
}
|
||||
s/layman-type/sync-type/;
|
||||
s,location = /var/lib/layman/,location = /var/db/repos/,;
|
||||
p;
|
||||
/^$/ {
|
||||
b;
|
||||
}
|
||||
ba;
|
||||
}
|
||||
EOF
|
||||
[[ -s $eselectfn ]] || rm -f $eselectfn
|
||||
fi
|
||||
rm -f $laymanfn
|
||||
|
||||
# clear installed repos by layman
|
||||
installedxml=/var/lib/layman/installed.xml
|
||||
cat >$installedxml <<-EOF
|
||||
<repositories encoding="unicode" version="1.0">
|
||||
</repositories>
|
||||
EOF
|
||||
|
||||
# move repos from layman to db/repos
|
||||
sed -n 's/location = //p' $eselectfn |
|
||||
while read line
|
||||
do
|
||||
repospath="$line"
|
||||
laymanpath="${line//\/var\/db\/repos/\/var\/lib\/layman}"
|
||||
if [[ -d $laymanpath ]] && ! [[ -d $repospath ]]
|
||||
then
|
||||
mv $laymanpath $repospath
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
create_repo_calculate() {
|
||||
for k in ${!rep_name[*]}
|
||||
do
|
||||
name_url[${rep_name[$k]}]="${rep_url[$k]}"
|
||||
done
|
||||
|
||||
reposcalculatefn=/etc/portage/repos.conf/zz-calculate.conf
|
||||
gentoofn=/etc/portage/repos.conf/gentoo.conf
|
||||
|
||||
rm -f $gentoofn
|
||||
if [[ -f $reposcalculatefn ]] && grep -F "[calculate]" $reposcalculatefn &>/dev/null
|
||||
then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "Move layman to /var/db/repos"
|
||||
pushd /var/lib/layman &>/dev/null
|
||||
|
||||
cat >$reposcalculatefn <<-EOF
|
||||
[DEFAULT]
|
||||
main-repo = gentoo
|
||||
|
||||
[gentoo]
|
||||
priority = 50
|
||||
sync-uri = ${name_url[gentoo]}
|
||||
location = /usr/portage
|
||||
auto-sync = Yes
|
||||
sync-type = calculate
|
||||
EOF
|
||||
|
||||
for dn in *
|
||||
do
|
||||
if [[ -d $dn ]] && [[ -n ${name_url[$dn]} ]]
|
||||
then
|
||||
cat >>$reposcalculatefn <<-EOF
|
||||
[$dn]
|
||||
priority = 50
|
||||
sync-uri = ${name_url[$dn]}
|
||||
location = /var/db/repos/$dn
|
||||
auto-sync = Yes
|
||||
sync-type = calculate
|
||||
|
||||
EOF
|
||||
if ! [[ -d /var/db/repos/$dn ]]
|
||||
then
|
||||
mv -T /var/lib/layman/$dn /var/db/repos/$dn
|
||||
ln -sfT ../../db/repos/$dn /var/lib/layman/$dn
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
if [[ -d /var/calculate/custom-overlay ]]
|
||||
then
|
||||
cat >>$reposcalculatefn <<-EOF
|
||||
|
||||
[custom]
|
||||
location = /var/calculate/custom-overlay
|
||||
EOF
|
||||
fi
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
change_profile() {
|
||||
if /usr/libexec/calculate/cl-variable --value main.cl_template_path | grep -q var/lib/layman
|
||||
then
|
||||
local current_profile="$(readlink -f /etc/portage/make.profile)"
|
||||
if [[ -d "${current_profile}/20" ]]
|
||||
then
|
||||
echo "Changing profile"
|
||||
ln -sfT $(realpath --relative-to /etc/portage "${current_profile}/20") /etc/portage/make.profile
|
||||
else
|
||||
echo "Failed to upgrade profile to ${current_profile}/20"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
[[ -d /var/db/repos ]] || mkdir -p /var/db/repos
|
||||
|
||||
create_repo_calculate
|
||||
convert_layman_to_eselect_repo
|
||||
change_profile
|
||||
|
||||
true
|
Loading…
Reference in new issue