From eabe97817890cef8471f301df04570a821cf3258 Mon Sep 17 00:00:00 2001 From: milisbir Date: Sat, 7 Jul 2018 15:50:12 +0200 Subject: [PATCH] mps-gerek-tespit --- bin/mps | 50 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/bin/mps b/bin/mps index bb3f40b0f..e97257420 100755 --- a/bin/mps +++ b/bin/mps @@ -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"