ek-git-repo-destegi_eklendi

This commit is contained in:
milisbir 2018-10-23 09:24:12 +03:00
parent 74ec6239cb
commit 90d7cb6c60
1 changed files with 73 additions and 8 deletions

81
bin/mps
View File

@ -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(){