mps-gerek-tespit

This commit is contained in:
milisbir 2018-07-07 15:50:12 +02:00
parent 73c5cef81c
commit eabe978178
1 changed files with 35 additions and 15 deletions

50
bin/mps
View File

@ -1,6 +1,6 @@
#!/bin/bash
versiyon="1.2.1 Milis Paket Sistemi"
versiyon="1.2.2 Milis Paket Sistemi"
iletisim="milisarge@gmail.com"
betikad=${0##*/}
@ -731,31 +731,46 @@ gerekleri_dosyala(){
fi
}
deps_recursive(){
gerekleri_listele(){
local _talimat _deps _temp _pkt _konum _kurkon bagimd
local _ekle=1
[ $1 ] && _pkt=$1 || hata_olustu "_talimat_bulunamadi"
[ $2 ] && _kurkon=$2 || echo "kurkon tanımsız"
[ $3 ] && _depsf=$3 || echo "depsf tanımsız"
printf "-"
[ $4 ] && _basf=$4 || echo "basf tanımsız"
_konum=$(talimat_bul $_pkt)
if [ ! -d $_konum ];then
printf "$_pkt "
hata_olustu "_talimat_bulunamadi"
fi
echo "@${_pkt}@" >> ${_basf}
_talimat="${_konum}/talimat"
[ $_kurkon -eq 1 ] && [ `kurulu_kontrol $_pkt` = "kurulu" ] && _ekle=0
[ $_ekle -eq 1 ] && echo "@$bag@" >> ${_depsf}
_deps=$(cat $_talimat | awk '/^#[[:blank:]]*Gerek*/ {print}' | cut -d':' -f2)
if [ -n "$_deps" ]; then
bagimd=`echo "$_deps" | sed 's/,/ /g'`
for bag in $bagimd;do
#[ $_ekle -eq 1 ] && echo "@$bag@" >> ${_depsf}
_temp=$(grep -rli "@${bag}@" ${_depsf})
[ ! -z $_temp ] || deps_recursive $bag $_kurkon ${_depsf}
if ([ $_kurkon -eq 1 ] && [ -d $VT/$bag ]);then
:
else
_tbas=$(grep "@${bag}@" ${_basf})
if [ -z $_tbas ];then
_temp=$(grep "@${bag}@" ${_depsf})
# onemli not: recursive () içine alınmalı
[ -z ${_temp} ] && (gerekleri_listele $bag $_kurkon ${_depsf} ${_basf})
if [ -z ${_temp} ];then
[ $_ekle -eq 1 ] && (echo "@${bag}@" >> ${_depsf};printf ".")
fi
fi
fi
done
fi
}
deps(){
local _depsf="/tmp/deps"
derleme_listyap(){
local _basf=`mktemp`
local _depsf="gerek.liste"
local _kurkon=0
local _pkt
#[ "$2" = "--normal" ] && cikti_renk_ayarla "$2"
@ -764,13 +779,16 @@ deps(){
$_yaz "$1 $_gerekler_belirleniyor"
[ $2 ] && [ $2 == "--kurulu_atla" ] && _kurkon=1
[ -f ${_depsf} ] && rm -f ${_depsf} && touch ${_depsf}
deps_recursive $_pkt $_kurkon ${_depsf}
gerekleri_listele $_pkt $_kurkon ${_depsf} ${_basf}
echo ${_pkt} >> ${_depsf}
sed -i 's/@//g' ${_depsf}
#printf "\n"
cat ${_depsf}
sed -i '/^\s*$/d' ${_depsf}
printf "\n"
cat ${_depsf} | tr "\n" " ";echo
rm -rf $_basf
}
gerekleri_listele(){
gerekleri_listele_eski(){
derleme_listyap_kontrol
local _paket _konum _pkvt
_konum="$talimatname $ektalimatname"
@ -781,6 +799,7 @@ gerekleri_listele(){
echo $_paket | awk -v arama_konum="$_konum" -v PKVT="$_pkvt" \
'''
function gerekbul(paket,gerekler) {
if (ISLENDI[paket]) {
return
}
@ -822,6 +841,7 @@ gerekleri_listele(){
function talimat_bul(ara){
cmd= "find " arama_konum " -name " ara " | head -n1 "
_bulundu=0
while ( ( cmd | getline talimatyol ) > 0 ) {
_bulundu=1
@ -848,7 +868,7 @@ gerekleri_listele(){
[ -f gerek.liste ] && cat gerek.liste | tr "\n" " ";echo
}
derleme_listyap(){
derleme_listyap_eski(){
[ "$2" = "--normal" ] && cikti_renk_ayarla "$2"
[ "$3" = "--normal" ] && cikti_renk_ayarla "$3"
$_yaz "$1 $_gerekler_belirleniyor"