diff --git a/bin/mps b/bin/mps index 1c49017da..c7c3f3e6f 100755 --- a/bin/mps +++ b/bin/mps @@ -167,7 +167,7 @@ derleme_listbilgi(){ ryaz 34 "yapim asamasında" } -paket_derle_oto(){ +paket_derle_liste(){ for dpkt in `cat $1`;do echo $dpkt "derleniyor...." zorla_derle="yok" @@ -175,9 +175,9 @@ paket_derle_oto(){ done } #otomatik derle kontrollu kur -paket_derle_oto2(){ +paket_derle_kur(){ tekrarkur="hayir" - mps -dly "$1" > /dev/null && mps -odk bag.liste + mps -dly "$1" > /dev/null && mps -derlist bag.liste } paket_kur_oto(){ @@ -579,10 +579,10 @@ ayarlar() { paket_derle "$2" ;; -dk|--pkdk) paket_derle "$2" ;; - -odk|--pkodk) - paket_derle_oto "$2" ;; - -odkk|--pkodk2) - paket_derle_oto2 "$2" ;; + -derlist) + paket_derle_liste "$2" ;; + -derle) + paket_derle_kur "$2" ;; -ok|--pkok) paket_kur_oto "$2" ;; -okl|--pkokl) @@ -698,6 +698,21 @@ ayarlar() { shift done } + +yardim() { + cat <<_EOF + +$betikad $versiyon Milis Paket Sistemi + +Secenekler: + -G ikili paket veri tabanini gunceller + -Ggit git sunucusundan talimatname ve sistem gunceller + -kur paket_ismi ilgili paketi bagimliliklariyla agdan cekip kurar + +_EOF + exit 1 +} + ana(){ ayarlar "$@" diff --git a/mps-bootstrap b/mps-bootstrap index ab7e59690..24ff0195b 100755 --- a/mps-bootstrap +++ b/mps-bootstrap @@ -1,7 +1,7 @@ #!/bin/bash #. ./mpsd.conf . ./bin/fonks.sh -versiyon="0.3" +versiyon="0.4" iletisim="milisarge@gmail.com" paketdepo="/tmp/paketler/" sunucu="192.168.1.99:8000/" @@ -86,6 +86,10 @@ paket_sil(){ ryaz 31 "------------------" ters_bagimli_kontrol "$paket" ryaz 31 "------------------" + ryaz 31 "kurban dosyalar" + ryaz 31 "------------------" + silme_kurban_kontrol /tmp/$paket.sil + ryaz 31 "------------------" if [ "$oto_silme" = "evet" ];then sil_onay="e" else @@ -305,6 +309,22 @@ ters_bagimli(){ grep -rli "$ara" "$talimatname_dizin" | cut -d'/' -f`expr $sy + 3` } +silme_kurban_kontrol(){ + local dizin + for f in $(cat $1) ; do + dizin="${f%\'}" + dizin="${dizin#\'}" + if [ -d "$dizin" ];then + for g in `ls "$dizin"` ; do + if ! grep -Fxq " '$dizin/$g'" "$1" + then + echo "$dizin/$g" + fi + done + fi + done +} + ters_bagimli_kontrol(){ ters_bagimli "$1" | sort > tersb.liste ls /var/lib/pkg/DB/ | sed "/$1/d" | sort > simdiki.liste @@ -682,11 +702,12 @@ ana(){ ayarlar "$@" if [ "$ikaynak" = "ag" ]; then + local kontroldeg kkont=`kurulu_kontrol "$2"` if [ "$kkont" = "degil" ] || [ "$tekrarkur" = "evet" ];then echo "agdan cekiliyor:" "$2" pkt=`cat "$paketdepo""paket.vt" | grep "^$2 " | cut -d' ' -f3` - echo $pkt + echo $pkt if [ ! -z "$pkt" -a "$pkt" != "" ]; then cpaket="${pkt/'#'/'%23'}" #paket sunucuda varsa @@ -694,7 +715,12 @@ if [ "$ikaynak" = "ag" ]; then #if wget -P /tmp -q "$sunucu$cpaket" > /dev/null; then if [ $? -eq 0 ]; then wget -nc -P "$paketdepo" "$sunucu$cpaket" - #mv /tmp/$pkt "$paketdepo" + ekontdeg=`cat "$paketdepo""paket.vt" | grep "^$2 " | cut -d' ' -f2` + mkontdeg=`md5sum $pkt | cut -d' ' -f1` + if [ "$ekontdeg" != "$mkontdeg" ];then + rm -f $pkt + wget -nc -P "$paketdepo" "$sunucu$cpaket" + fi if [ "$kurulum_onay" = "evet" ];then if [ "$tekrarkur" = "evet" ];then paket_sil "$2" "evet" @@ -702,6 +728,7 @@ if [ "$ikaynak" = "ag" ]; then icerik_ekle "$paketdepo$pkt" exit 1 fi + fi else ryaz 31 "paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )"