forked from mirrored-repos/manjaro-tools
[util] some more calc build deps work; experimental
This commit is contained in:
parent
2f878504f0
commit
72648f7271
1 changed files with 38 additions and 26 deletions
42
lib/util.sh
42
lib/util.sh
|
@ -30,36 +30,48 @@ create_set(){
|
|||
}
|
||||
|
||||
calculate_build_order(){
|
||||
local is_split=false
|
||||
for pkg in $(cat /tmp/${name}.set);do
|
||||
local is_split=false path=/tmp/calc
|
||||
mkdir -p $path
|
||||
#[[ -f $path/*.{sort,set,makedeps,split} ]] &&
|
||||
rm $path/*
|
||||
pacman -Qqg base-devel > $path/base-devel.set
|
||||
|
||||
for pkg in $(cat $1/${name}.set);do
|
||||
cd $pkg
|
||||
source PKGBUILD
|
||||
if [[ -n $pkgbase ]];then
|
||||
is_split=true; echo "$pkgbase" >> /tmp/${name}.split
|
||||
is_split=true; echo "$pkgbase" >> $path/${name}.split
|
||||
fi
|
||||
for m in ${makedepends[@]};do
|
||||
echo $m >> /tmp/${name}.makedeps
|
||||
echo $m >> $path/${name}.makedeps
|
||||
done
|
||||
cd ..
|
||||
done
|
||||
sort -u /tmp/${name}.split > /tmp/${name}.split.sort
|
||||
sort -u /tmp/${name}.makedeps > /tmp/${name}.makedeps.sort
|
||||
[[ -f $path/${name}.split ]] && sort -u $path/${name}.split > $path/${name}.split.sort
|
||||
sort -u $path/${name}.makedeps > $path/${name}.makedeps.sort
|
||||
|
||||
rm /tmp/${name}.split
|
||||
#[[ -f /tmp/${name}.makedeps ]] && rm /tmp/${name}.makedeps
|
||||
[[ -f $path/${name}.split ]] && rm $path/${name}.split
|
||||
|
||||
for d in $(cat /tmp/${name}.makedeps.sort);do
|
||||
for pkg in $(cat /tmp/${name}.set);do
|
||||
for d in $(cat $path/${name}.makedeps.sort);do
|
||||
for pkg in $(cat $1/${name}.set);do
|
||||
if [[ $pkg == $d ]];then
|
||||
echo $d >> /tmp/${name}.makedeps
|
||||
echo $d >> $path/${name}.makedeps
|
||||
fi
|
||||
done
|
||||
done
|
||||
sort -u $path/${name}.makedeps > $path/${name}.makedeps.sort
|
||||
rm $path/${name}.makedeps
|
||||
sort -u $path/${name}.makedeps.sort $path/base-devel.set > $path/filter.set
|
||||
|
||||
|
||||
for b in $(cat $path/base-devel.set);do
|
||||
for m in $(cat $path/filter.set);do
|
||||
if [[ $b == $m ]];then
|
||||
sed "/$m/d" -i $path/filter.set
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
sort -u /tmp/${name}.makedeps > /tmp/${name}.makedeps.sort
|
||||
#[[ -f /tmp/${name}.makedeps ]] && rm /tmp/${name}.makedeps
|
||||
|
||||
rm /tmp/${name}.*sort
|
||||
}
|
||||
|
||||
remove_set(){
|
||||
|
|
Loading…
Reference in a new issue