diff --git a/bin/mps b/bin/mps index 5ee836a1d..f9bba7abe 100755 --- a/bin/mps +++ b/bin/mps @@ -1234,7 +1234,7 @@ t_indeks(){ #surum=$(grep -ri ^"surum=" $konum/talimat | cut -d '=' -f2 | awk '{ sub(/[ \t]+$/, ""); print }') surum=$(grep -ri ^"surum=" $konum/talimat | cut -d '=' -f2 | tr -d [:space:]) devir=$(grep -ri ^"devir=" $konum/talimat | cut -d '=' -f2 | tr -d [:space:]) - echo "$isim -> $surum-$devir" >> $dosya_sirasiz + echo "$isim@$surum-$devir" >> $dosya_sirasiz done < "$dosya" sort $dosya_sirasiz > $dosya_t @@ -1242,44 +1242,57 @@ t_indeks(){ } k_indeks(){ - + # karşılaştırma dosyası -sıralı dönüş verecek [ -z $1 ] && exit 1 + # sistemde kurulum sıralı dosya dönüş verecek + [ -z $2 ] && exit 1 local dosya_k="$1" - local dosya=`mktemp` + local dosya="$2" local dosya_sirasiz=`mktemp` [ -f $dosya ] && rm -rf $dosya - ls -d $VT/* > $dosya + ls -rct $VT > $dosya for _esgec in `echo ${esgec} | tr " " "\n"`;do - _satirno=$(grep -wxnr "$VT/${_esgec}" ${dosya} | cut -d':' -f1) + _satirno=$(grep -wxnr "${_esgec}" ${dosya} | cut -d':' -f1) [ ! -z ${_satirno} ] && sed -i "${_satirno}d" ${dosya} done - while IFS='' read -r konum || [[ -n "$konum" ]]; do + while IFS='' read -r kpaket || [[ -n "$kpaket" ]]; do # Surum-Devir - satir=$(sed -n '1p' < $konum/META) + satir=$(sed -n '1p' < $VT/${kpaket}/META) isim=${satir:1:${#satir}-1} - satir=$(sed -n '7p' < $konum/META) + satir=$(sed -n '7p' < $VT/${kpaket}/META) surum=${satir:1:${#satir}-1} - satir=$(sed -n '8p' < $konum/META) + satir=$(sed -n '8p' < $VT/${kpaket}/META) devir=${satir:1:${#satir}-1} - echo "$isim -> $surum-$devir" >> $dosya_sirasiz + echo "$isim@$surum-$devir" >> $dosya_sirasiz done < "$dosya" sort $dosya_sirasiz > $dosya_k - rm -f $dosya $dosya_sirasiz + echo "kurulu_sira: $dosya" + rm -f $dosya_sirasiz } guncelleme_tespit(){ local dosya_t=`mktemp` local dosya_k=`mktemp` + local dosya_kurs=`mktemp` + local dosya_g=`mktemp` t_indeks $dosya_t & - k_indeks $dosya_k & + k_indeks $dosya_k $dosya_kurs & wait $(jobs -p) set -x - grep -vxFf $dosya_t $dosya_k + grep -vxFf $dosya_t $dosya_k > $dosya_g + for _kurulu in $(cat $dosya_kurs);do + for _gunc in $(cat $dosya_g);do + if [ "${_gunc}@" =~ "^${_kurulu}" ];then + echo ${_gun} + sed -i '/${_gun}/d' $dosya_g + fi + done + done } sistem_guncelle_uygula(){