diff --git a/bin/mps b/bin/mps index cb219dab7..e7284a528 100755 --- a/bin/mps +++ b/bin/mps @@ -139,6 +139,12 @@ fi esgec="xorg xorg-app" kurulum_onay="evet" +# Bir paketin silinme onayı 1 ise silme onaylanır. +onayli_sil=1 +# Bir paketin silinirken etkilenen dizin kontrolü +silme_etki_kontrol=1 +# Bir paketin silinirken ters gereklerinin gösterilmesi +silme_tersbag=0 VT="/var/lib/pkg/DB" TARIHCE_DIZIN="/var/lib/pkg/tarihce" @@ -297,31 +303,30 @@ icerik_ekle(){ } -paket_sil(){ - local paket kkont sil_onay oto_silme _silinecekler _sek - [ -z $1 ] && hata_olustu "_paket_adi_gerekli" || paket=$1 - tersbag_goster="hayir" - _silinecekler=/tmp/$paket.sil - _sek=1 - cikti="--renkli" - if [ "$2" ]; then - if [ "$2" == "--renksiz" ];then - cikti_renk_ayarla "--renksiz" - else - oto_silme="$2" - fi - if [ "$2" == "--sekyok" ];then - _sek=0 - fi +# paket silme işlevinin parametrelerinin işlenmesi +_paket_sil_args(){ + if [[ "${args}" =~ "--onayla" ]];then + _arg="--onayla";_arg_sil + onayli_sil=0 + fi + + if [[ "${args}" =~ "--sekyok" ]];then + _arg="--sekyok";_arg_sil + silme_etki_kontrol=0 fi - if [ "$3" ]; then - if [ "$3" == "--renksiz" ];then - cikti_renk_ayarla "--renksiz" - else - tersbag_goster="evet" - fi + if [[ "${args}" =~ "--tersbag" ]];then + _arg="--tersbag";_arg_sil + silme_tersbag=1 fi +} + +paket_sil(){ + local paket kkont sil_onay _silinecekler _sek + # paket silinmesi için gelen parametrelerin işlenmesi + _paket_sil_args + [ -z $1 ] && hata_olustu "_paket_adi_gerekli" || paket=$1 + _silinecekler=/tmp/$paket.sil if [ "$tpk" = "evet" ] && [ -d "$talimatname/temel/$1" ];then $_yaz_uyari "$1 temel sistem paketidir.Silinemez!!!" @@ -333,7 +338,7 @@ paket_sil(){ #eski dizin koruma #etkilenen_kurtar $1 $cikti cat $VT/$paket/kurulan | cut -d '>' -f2 > ${_silinecekler} - if [ "$tersbag_goster" = "evet" ];then + if [ ${silme_tersbag} -eq 1 ];then $_yaz_uyari "ters bagimliliklar" $_yaz_uyari "------------------" ters_bagimli_bilgi "$paket" @@ -348,10 +353,10 @@ paket_sil(){ do sed -i '\|'\'${_kkurtar}\''|d' ${_silinecekler} done - # diğer paketler için - else - [ ${_sek} -eq 1 ] && silme_etkilenme_tespit $paket + silme_etki_kontrol=0 fi + # diğer paketler için + [ ${silme_etki_kontrol} -eq 1 ] && silme_etkilenme_tespit $paket # silme listesi güncelleme - dizin koruma # bir paket silinirken dizin yapısındaki diğer paketlerin dosyaları korunacak. if [ -f /tmp/${paket}_kd.liste ];then @@ -362,7 +367,7 @@ paket_sil(){ #else #$_yaz_bilgi "kurtarılacak dosya yok." fi - if [ "$oto_silme" = "evet" ];then + if [ ${onayli_sil} -eq 0 ];then sil_onay="e" else while true; do @@ -943,7 +948,7 @@ paket_kur_oto_zorla(){ for _kpkt in `cat $_kliste`;do for _pkt in `ls $_kpkt* | cut -d'#' -f1`;do _pak=`ls "$_pkt#"*` - paket_sil "$_pkt" "evet" + paket_sil "$_pkt" "--onayla" echo $_pak yerelden_kur "$_pak" && paket_inkur_oto "$_pkt" done @@ -966,7 +971,7 @@ paket_kur_liste_zorla(){ for kpkt in `cat $1`;do for pkt in `ls $kpkt* | cut -d'#' -f1`;do pak=`ls "$pkt#"*` - paket_sil "$kpkt" "evet" + paket_sil "$kpkt" "--onayla" yerelden_kur "$pak" done done @@ -1046,8 +1051,7 @@ paket_inkur_oto(){ paket_sil_oto(){ local spkt for spkt in `cat $1`;do - oto_silme="evet" - paket_sil "$spkt" "$oto_silme" + paket_sil "$spkt" "--onayla" done } @@ -1055,7 +1059,7 @@ paket_sil_oto_onayli(){ local spkt #for spkt in `perl -e 'print reverse <>' $1`;do for spkt in $(tac $1);do - paket_sil "$spkt" "hayir" "evet" + paket_sil "$spkt" "--tersbag" done } @@ -1505,7 +1509,7 @@ surum_kontrol(){ if [ "$pk_sil" = "e" ];then $_yaz "$_paket $_paket_depoda_yok $_siliniyor" - paket_sil "$_paket" "evet" + paket_sil "$_paket" "--onayla" else $_yaz "$_paket silinmesi es geçildi" fi @@ -1545,12 +1549,12 @@ surum_kontrol(){ if [ -d "$talimatname/temel/$_paket" ]; then kurulum_dogrulama_icerik $_paket tpk="hayir" - paket_sil "$_paket" "evet" + paket_sil "$_paket" "--onayla" paket_indir $_paket pkt=`cat "$paketdepo""paket.vt" | grep "^$_paket " | cut -d' ' -f3` icerik_ekle "${paketdepo}${pkt}" else - paket_sil "$_paket" "evet" + paket_sil "$_paket" "--onayla" paket_inkur_oto $_paket fi $_yaz_tm "$_paket sürüm güncellemesi yapıldı" @@ -1595,7 +1599,7 @@ devir_kontrol(){ if [ "$pk_sil" = "e" ];then $_yaz "$_paket $_paket_depoda_yok $_siliniyor" - paket_sil "$_paket" "evet" + paket_sil "$_paket" "--onayla" else $_yaz "$_paket silinmesi es geçildi" fi @@ -1631,7 +1635,7 @@ devir_kontrol(){ gun_onay="e" fi if [ "$gun_onay" = "e" ];then - paket_sil "$_paket" "evet" + paket_sil "$_paket" "--onayla" paket_inkur_oto "$_paket" $_yaz_bilgi "$_paket devir güncellemesi yapıldı" else @@ -2014,26 +2018,6 @@ bagimli_bilgi_dosyala(){ fi } -silme_etkilenen_kontrol(){ - paketet="$2" - mkdir -p /var/lib/pkg/etkilenen - mkdir -p /var/lib/pkg/etkilenen/$paketet - 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" - cp -rf "$dizin/$g" /var/lib/pkg/etkilenen/$paketet - fi - done - fi - done -} - # güncellemelerin alınması talimatname üzerinden guncellemeler(){ #diff --changed-group-format='***%>' --unchanged-group-format='' --new-group-format='+++%>' \ @@ -3147,7 +3131,7 @@ agdan_kur(){ if [ -f $(ls -1t "$paketdepo$1#"* | head -1) ];then if [ "$kurulum_onay" = "evet" ];then if [ "$tekrarkur" = "evet" ];then - paket_sil "$1" "evet" + paket_sil "$1" "--onayla" fi #depo/paketler altında birden fazla sürüm kontrolü yapılır,güncel olan seçilir. surumler=$(ls "$paketdepo$1#"* | wc -l) @@ -3223,16 +3207,13 @@ ayarlar() { yerelden_kur $args exit 0 ;; ### mps sil|-s paketismi = ilgili paketi onaylı kaldırır. + ### mps sil|-s paketismi = --onayla -> onaysız kaldırır. (zorla silme) -s|sil) paket_sil $args exit 0 ;; - ### mps zorsil|-sz paketismi = ilgili paketi onaysız kaldırır. - -sz|zorsil) - paket_sil "$2" "evet" "$3" - exit 0 ;; ### mps gsil paketismi = ilgili paketi güvenli(ters bağımlılıklarına da bakarak) kaldırır. gsil) - paket_sil "$2" "hayir" "evet" + paket_sil "$2" "--tersbag" exit 0 ;; ### mps -S paketismi = ilgili paketi altbağımlılıklarını da sorarak kaldırır. ### mps -S paketismi = ve oto eklenirse ilgili paketi altbağımlılıklarını da sormadan sırayla kaldırır. @@ -3642,15 +3623,15 @@ ayarlar() { kurulum_dogrulama; #guncelleme_tespit; exit 0 ;; - ### mps -GG . = git güncellemelerini ve talimatname bilgilerini günceller. - -Ggit|-GG) - git_guncelle - exit 0 ;; ### mps -G . = paket veritabanı bilgilerini günceller. -G|--pvtg) paketvt_guncelle kurulum_dogrulama exit 0 ;; + ### mps -GG . = git güncellemelerini ve talimatname bilgilerini günceller. + -Ggit|-GG) + git_guncelle + exit 0 ;; ### mps -GGG . = ek git repo bilgilerini günceller. -GGG) git_ek_guncelle @@ -3670,9 +3651,6 @@ ayarlar() { -GS|yukselt) sistem_guncelle $args exit 0 ;; - #tekil temel paket guncelleme-single base package updating - -tg) - paket_sil "$2" "evet" && mps -ik $2 ;; ### mps -g paketismi = ilgili paketi tekil günceller. -g|--pkgu) git_guncelle && paketvt_guncelle @@ -3729,7 +3707,12 @@ ayarlar() { exit 0 ;; ### mps -set paketismi = ilgili paket silindiğinde etkilenen paketleri ve konumları tespit eder. -set) - silme_etkilenme $args + [ -z $2 ] && hata_olustu "_paket_adi_gerekli" + if [ `kurulu_kontrol $1` == "kurulu" ];then + silme_etkilenme_tespit $args + else + $_yaz "$2 $_paket_kurulu_degil" + fi exit 0 ;; ### mps -suko . = sunucuların erişim kontrolünü yapar. -suko)