From 90d7cb6c60590830dd6b9e4c2480e793cf92f563 Mon Sep 17 00:00:00 2001 From: milisbir Date: Tue, 23 Oct 2018 09:24:12 +0300 Subject: [PATCH] ek-git-repo-destegi_eklendi --- bin/mps | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/bin/mps b/bin/mps index ce2c0df12..6db937189 100755 --- a/bin/mps +++ b/bin/mps @@ -1,6 +1,6 @@ #!/bin/bash -versiyon="1.2.1 Milis Paket Sistemi" +versiyon="1.2.3 Milis Paket Sistemi" iletisim="milisarge@gmail.com" betikad=${0##*/} @@ -52,17 +52,32 @@ if [ -z ${hesap_repo+:} ]; then hesap_repo="milislinux/milis" fi +# kaynak kodların indiği dizin +if [ -z ${kaynak_dizin+:} ]; then + kaynak_dizin="/sources" +fi + +# resmi git reposu adresi if [ -z ${git_repo+:} ]; then git_repo="${git_sunucu}/${hesap_repo}" fi +# resmi git reposuna ek takip edilecek talimatname depoları +if [ -z ${git_ekrepo+:} ]; then + git_ekrepo="" +fi + +# ek git repolarının kayıt edildiği konum +if [ -z ${git_yereldepo+:} ]; then + git_ekyereldepo="${kaynak_dizin}" +fi + +# resmi git reposunun kayıt edildiği konum if [ -z ${git_yereldepo+:} ]; then git_yereldepo="/sources/milis.git" fi -if [ -z ${kaynak_dizin+:} ]; then - kaynak_dizin="/sources" -fi + if [ -z ${anatalimatname+:} ]; then anatalimatname="${git_yereldepo}/talimatname" @@ -135,6 +150,7 @@ _paket_adi_gerekli="paket ismi eksik!" _dizin_bulunamadi="dizin bulunamadı!" _talimat_sayisi_fazla="talimatnameler altında birden fazla talimat mevcut!" _talimat_bulunamadi="ilgili talimat bulunamadı!" +_ek_talimatname_bulunamadi="git_ekrepo değişkeni tanımsız veya ek git reposu tanımlı değil." _talimatsiz_dizin="ilgili dizinde talimat bulunamadı!" _dosya_yolu_bulunamadi="dosya yolu bulunamadı!" _shasum_uyumsuzluk="shasum uyumsuzluğu tespit edildi!" @@ -1300,7 +1316,7 @@ guncelleme_tespit(){ grep -nr "^${_gpaket}@" $dosya_ks >> $dosya_son done # güncellenecek paketlerin-kurulum sırasına göre sıralanıp, sadeleştirilmesi - sort -g $dosya_son | cut -d':' -f2 | cut -d'@' -f1 > $dosya_sonuc + sort $dosya_son | cut -d':' -f2 | cut -d'@' -f1 > $dosya_sonuc # geçici dosyaların silinmesi rm -f @dosya_t @dosya_k @dosya_ks @dosya_g @dosya_son # güncellenecek paket listesi yazdırılması @@ -2009,7 +2025,7 @@ dosya_karsilastir(){ # ip bulma ip_bul(){ - url='[a www.google.com]' + url='[a www.milislinux.org]' domain=`echo $url | sed 's-^[^/]*/*\([^/]*\)/\?.*$-\1-'` echo "< $domain" ipaddr=`ping -c 1 $domain | sed -n 's@^.*(\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*$@\1@p' | head -1` @@ -2479,6 +2495,8 @@ git_guncelle() { else $_yaz "$_yerel_esitlendi_olumsuz" fi + # ek git depolarının güncellenmesi + [[ ! -z ${git_ekrepo} ]] && git_ek_guncelle } git_proje_kur(){ @@ -2857,6 +2875,48 @@ pvt_olustur(){ $_yaz "paket.vt oluşturuldu." } +git_ek_guncelle(){ + #echo $git_ekrepo + local _hesap _repo_ad _repo_hash + if [[ ! -z ${git_ekrepo} ]];then + local _repolar=$(echo ${git_ekrepo} | tr " " "\n") + # ek git repolarının sırayla güncelleme işlemi + for _repo in ${_repolar}; do + #echo $_repo + _repo_hash="$(printf '%s' "${_repo}" | md5sum | cut -d' ' -f1)" + _hesap="$(basename $(dirname ${_repo}))" + _repo_ad="$(basename ${_repo})" + _repo_islem=${_hesap}-${_repo_ad}-${_repo_hash} + #git deponun sunucudan güncellenmesi + $_yaz_bilgi "$_git_guncelleniyor : $_repo" + if [ $(sunucu_erisim ${_repo}) = "aktif" ];then + if [ ! -d ${git_ekyereldepo}/${_repo_islem} ];then + git clone ${_repo} ${git_ekyereldepo}/${_repo_islem} + else + cd ${git_ekyereldepo}/${_repo_islem} + git pull >& $LOGDIZIN/${_repo_islem}-git.log + if grep -q "Already\ up-to-date" $LOGDIZIN/${_repo_islem}-git.log; then + $_yaz "$_git_guncel" + else + $_yaz "$_git_guncellendi" + fi + fi + # reponun ek-talimatname altına eşitlenmesi + [ -d ${ektalimatname}/${_repo_islem} ] && rm -rf ${ektalimatname}/${_repo_islem} + mkdir ${ektalimatname}/${_repo_islem} + # repo altındaki talimat içeren dizinlerin kopyalanması + for talimatd in $(find ${git_ekyereldepo}/${_repo_islem}/ -name talimat | xargs -I {} dirname {});do + cp -r ${talimatd} ${ektalimatname}/${_repo_islem}/ + done + else + $_yaz_uyari "${_repo} erişim olumsuz.Uzaktan güncelleme alınamadı." + fi + done + else + $_yaz_uyari "${_ek_talimatname_bulunamadi}" + fi +} + paketvt_guncelle(){ local _bakim _sunucular _bakim _sira _sunucular=$(echo ${sunucular} | tr " " "\n") @@ -3527,6 +3587,11 @@ ayarlar() { paketvt_guncelle kurulum_dogrulama exit 0 ;; + ### mps -GGG . = ek git repo güncellemelerini günceller. + -GGG) + [ "$2" ] && cikti_renk_ayarla "$2" + git_ek_guncelle + exit 0 ;; ### mps tespit . = tüm sistemin güncellemesi için güncellenecek paket listesini gösterir. tespit) [ "$2" ] && cikti_renk_ayarla "$2" @@ -3710,7 +3775,7 @@ ayarlar() { ### mps -v . = mps sürüm bilgisini gösterir. -v) $_yaz_bilgi "$betikad $versiyon $iletisim $shelltip" - #echo "$betikad $versiyon $iletisim $shelltip" | bilgi_kutusu + echo "$betikad $versiyon $iletisim $shelltip" | bilgi_kutusu exit 0 ;; -y|-h|yardim) @@ -3733,7 +3798,7 @@ bilgi_kutusu() { yad --title="$title" --window-icon="$icon" \ --geometry='600x220+0-24' --fore='#ffffff' --back='#000033' \ --text-info --fontname=monospace --wrap $opts \ - --button='gtk-close:1' + --button='gtk-close:1:' } ana(){