From 41a291fb5da77cce320a66d29401459609f37aca Mon Sep 17 00:00:00 2001 From: milisbir Date: Thu, 12 Jul 2018 10:52:46 +0200 Subject: [PATCH] mps-awk --- bin/mps | 62 +++++++++++++++++---------------------------------------- 1 file changed, 18 insertions(+), 44 deletions(-) mode change 100755 => 100644 bin/mps diff --git a/bin/mps b/bin/mps old mode 100755 new mode 100644 index b3545d0d4..bb3f40b0f --- a/bin/mps +++ b/bin/mps @@ -1,6 +1,6 @@ #!/bin/bash -versiyon="1.2.2 Milis Paket Sistemi" +versiyon="1.2.1 Milis Paket Sistemi" iletisim="milisarge@gmail.com" betikad=${0##*/} @@ -731,47 +731,31 @@ gerekleri_dosyala(){ fi } -gerekleri_listele(){ +deps_recursive(){ 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" - [ $4 ] && _basf=$4 || echo "basf tanımsız" + printf "-" _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 - 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 + #[ $_ekle -eq 1 ] && echo "@$bag@" >> ${_depsf} + _temp=$(grep -rli "@${bag}@" ${_depsf}) + [ ! -z $_temp ] || deps_recursive $bag $_kurkon ${_depsf} done fi + } - -derleme_listyap(){ - derleme_listyap_kontrol - local _basf=`mktemp` - local _depsf="gerek.liste" +deps(){ + local _depsf="/tmp/deps" local _kurkon=0 local _pkt #[ "$2" = "--normal" ] && cikti_renk_ayarla "$2" @@ -780,16 +764,13 @@ derleme_listyap(){ $_yaz "$1 $_gerekler_belirleniyor" [ $2 ] && [ $2 == "--kurulu_atla" ] && _kurkon=1 [ -f ${_depsf} ] && rm -f ${_depsf} && touch ${_depsf} - gerekleri_listele $_pkt $_kurkon ${_depsf} ${_basf} - echo ${_pkt} >> ${_depsf} + deps_recursive $_pkt $_kurkon ${_depsf} sed -i 's/@//g' ${_depsf} - sed -i '/^\s*$/d' ${_depsf} - printf "\n" - cat ${_depsf} | tr "\n" " ";echo - rm -rf $_basf + #printf "\n" + cat ${_depsf} } -gerekleri_listele_eski(){ +gerekleri_listele(){ derleme_listyap_kontrol local _paket _konum _pkvt _konum="$talimatname $ektalimatname" @@ -800,7 +781,6 @@ gerekleri_listele_eski(){ echo $_paket | awk -v arama_konum="$_konum" -v PKVT="$_pkvt" \ ''' function gerekbul(paket,gerekler) { - if (ISLENDI[paket]) { return } @@ -842,7 +822,6 @@ gerekleri_listele_eski(){ function talimat_bul(ara){ cmd= "find " arama_konum " -name " ara " | head -n1 " - _bulundu=0 while ( ( cmd | getline talimatyol ) > 0 ) { _bulundu=1 @@ -869,7 +848,7 @@ gerekleri_listele_eski(){ [ -f gerek.liste ] && cat gerek.liste | tr "\n" " ";echo } -derleme_listyap_eski(){ +derleme_listyap(){ [ "$2" = "--normal" ] && cikti_renk_ayarla "$2" [ "$3" = "--normal" ] && cikti_renk_ayarla "$3" $_yaz "$1 $_gerekler_belirleniyor" @@ -878,15 +857,10 @@ derleme_listyap_eski(){ # -derlist paket_derle_liste(){ - local dpkt dpktyer - for dpkt in `cat $1`;do + for dpktyer in `cat $1`;do + dpkt=`basename $dpktyer` echo $dpkt "derleniyor...." zorla_derle="yok" - dpktyer=$(talimat_bul $_pkt) - if [ ! -d $dpktyer ];then - printf "$dpkt " - hata_olustu "_talimat_bulunamadi" - fi paket_derle $dpktyer done } @@ -896,7 +870,7 @@ paket_derle_liste(){ paket_derle_kur(){ tekrarkur="hayir" derleme_listyap_kontrol - derleme_listyap "$1" && paket_derle_liste gerek.liste + derleme_listyap "$1" && paket_derle_liste gerek.konum.liste } # odkp