diff --git a/mps-0.3/mps b/mps-0.3/mps deleted file mode 100755 index fb4112101..000000000 --- a/mps-0.3/mps +++ /dev/null @@ -1,757 +0,0 @@ -#!/bin/bash -. /etc/mpsd.conf -. /root/bin/fonks.sh -versiyon="0.1" -iletisim="milisarge@gmail.com" -paketdepo="/depo/paketler/" -sunucu="192.168.3.193:8000/MPS/" -git_sunucu="https://github.com/milisarge/malfs-milis" -ikaynak="" -betikad=${0##*/} -kurulum_onay="evet" -dokunulmaz="/etc/dokunulmaz" -talimatname_dizin="/root/talimatname" -kokdizin="/" -VT="/var/lib/pkg/DB" -TARIHCE_DIZIN="/var/lib/pkg/tarihce" - - -icerik_ekle(){ - paketad=`echo "$1" | cut -d'#' -f1` - paketad=`basename $paketad` - ryaz 34 $paketad" paketi kuruluyor." - tar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log - #kos-kur kontrolu - if [ -f /tmp/.PRE ];then - bash /tmp/.PRE - rm /tmp/.PRE - fi - mkdir -p tmpk.$paketad - tar xf $1 -C tmpk.$paketad && - mkdir -p /var/lib/pkg/DB/"$paketad" && - cp -avf tmpk.$paketad/* $kokdizin > tmpk.$paketad/kurulan && - cat tmpk.$paketad/kurulan | cut -d '>' -f2 > /var/lib/pkg/DB/"$paketad"/kurulan - #mv tmpk.$paketad/.MTREE /var/lib/pkg/DB/"$paketad"/files && - mv tmpk.$paketad/.META /var/lib/pkg/DB/"$paketad"/META && - - #kur-kos calistirilmasi - if [ -f tmpk.$paketad/.POST ];then - bash tmpk.$paketad/.POST - rm tmpk.$paketad/.POST - fi - #if [ -f $kokdizin.PRE ];then - # rm $kokdizin.PRE - #fi - #if [ -f $kokdizin/.okubeni ];then - # rm $kokdizin/.okubeni - #fi - #if [ -f $kokdizin/.README ];then - # rm $kokdizin/.README - #fi - rm -r tmpk.$paketad - if [ -f /etc/ld.so.conf ];then - ldconfig - fi - ryaz 34 $paketad" paketi kuruldu." -} - -icerik_ekle2(){ - kokdizin=/mnt/lfs - paketad=`echo "$1" | cut -d'#' -f1` - paketad=`basename $paketad` - ryaz 34 $paketad" paketi kuruluyor." - tar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log - #kos-kur kontrolu - if [ -f /tmp/.PRE ];then - bash /tmp/.PRE - rm /tmp/.PRE - fi - mkdir -p tmpk.$paketad - tar xf $1 -C tmpk.$paketad && - mkdir -p $kokdizin/var/lib/pkg/DB/"$paketad" && - cp -avf tmpk.$paketad/* $kokdizin > tmpk.$paketad/kurulan && - cat tmpk.$paketad/kurulan | cut -d '>' -f2 > $kokdizin/var/lib/pkg/DB/"$paketad"/kurulan - #mv tmpk.$paketad/.MTREE /var/lib/pkg/DB/"$paketad"/files && - mv tmpk.$paketad/.META $kokdizin/var/lib/pkg/DB/"$paketad"/META && - - #kur-kos calistirilmasi - if [ -f tmpk.$paketad/.POST ];then - bash tmpk.$paketad/.POST - rm tmpk.$paketad/.POST - fi - #if [ -f $kokdizin.PRE ];then - # rm $kokdizin.PRE - #fi - #if [ -f $kokdizin/.okubeni ];then - # rm $kokdizin/.okubeni - #fi - #if [ -f $kokdizin/.README ];then - # rm $kokdizin/.README - #fi - rm -r tmpk.$paketad - if [ -f /etc/ld.so.conf ];then - ldconfig - fi - ryaz 34 $paketad" paketi kuruldu." -} - -paket_siles(){ - local paket kkont sil_onay - if [ -f $dokunulmaz ];then - kkont=`kurulu_kontrol "$1"` - if [ "$kkont" = "kurulu" ];then - paket="$1" - ryaz 34 $paket" paketi siliniyor." - #while IFS='' read -r line || [[ -n "$line" ]]; do - while read -r dosya - do - touch /tmp/$paket.sil - if [[ $(grep -c $dosya $dokunulmaz) -eq 0 ]]; then - echo "/$dosya" >> /tmp/$paket.sil - #guvenlik amacli simdilik kapali - #rm -r -f /$dosya - fi - done < /var/lib/pkg/DB/"$paket"/files - while true; do - read -p "$1 paketi kaldırılsın mı?" eh - case $eh in - [Ee]* ) sil_onay="e"; break;; - [Hh]* ) break;; - * ) echo "e veya h";; - esac - done - if [ "$sil_onay" = "e" ];then - xargs rm -r -f < /tmp/$paket.sil && - rm -r -f /var/lib/pkg/DB/"$paket" && - ryaz 34 $paket" paketi silindi." - fi - rm -f /tmp/$paket.sil - else - ryaz 31 "paket zaten kurulu değil!" - fi - else - echo "kritik mesaj:$dokunulmaz dosyası yok." - #tamirat - cp /root/ayarlar/dokunulmaz /etc/ - echo "dokunulmazlık tamiri yapıldı.,komutu yineleyiniz." - fi - -} - -paket_sil(){ - local paket kkont sil_onay oto_silme - paket="$1" - if [ "$2" ]; then - oto_silme="$2" - fi - kkont=`kurulu_kontrol "$1"` - if [ "$kkont" = "kurulu" ];then - if [ -f "/var/lib/pkg/DB/$paket/kurulan" ];then - cat /var/lib/pkg/DB/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil - ryaz 31 "ters bagimliliklar" - ryaz 31 "------------------" - ters_bagimli_kontrol "$paket" - ryaz 31 "------------------" - if [ "$oto_silme" = "evet" ];then - sil_onay="e" - else - while true; do - ryaz 34 $paket" paketi kaldırılsın mı?";read -p "e veya h-> " eh - case $eh in - [Ee]* ) sil_onay="e"; break;; - [Hh]* ) break;; - * ) echo "e veya h";; - esac - done - fi - if [ "$sil_onay" = "e" ];then - xargs rm -r -f < /tmp/$paket.sil && - rm -r -f /var/lib/pkg/DB/"$paket" && - ryaz 34 $paket" paketi silindi." - fi - rm -f /tmp/$paket.sil - else - ryaz 31 "kritik mesaj:kurulanlar dosyası yok." - fi - else - ryaz 32 "paket zaten kurulu değil!" - fi - -} - -paket_bilgi(){ - local paket kkont - kkont=`kurulu_kontrol "$1"` - if [ "$kkont" = "kurulu" ];then - paket="$1" - cat /var/lib/pkg/DB/"$paket"/META - else - echo "paket kurulu değil!" - fi - -} - -yeniden_paketle(){ - cd $1 - bsdtar -r -f ../"$1".mps .META - bsdtar -r -f ../"$1".mps * - cd .. - lzip -9 "$1".mps -} - -derleme_listyap(){ - bagimlist=`bagimlilar "$1"` - for bagim in $bagimlist;do - if [ "`cat derleme.liste | grep $bagim`" != "$bagim" ];then - derleme_listyap "$bagim" - fi - done - #if [ "`cat derleme.liste | grep $1`" != "$1" ];then - # echo "derleme.liste yazılıyor:" "$1" - # echo "$1" >> derleme.liste - #fi - if ! grep -Fxq "$1" derleme.liste - then - # echo "pas" - #else - ana="`find $talimatname_dizin -name $1`" - echo ${ana#"$talimatname_dizin"} - #sadece genel bagimliliklar derlenecek - echo "$1" >> derleme.liste - if [ -d "$talimatname_dizin/genel/$1" ];then - echo "$1" >> genel.derleme.liste - fi - fi -} - -derleme_listbilgi(){ - ryaz 34 "yapim asamasında" -} - -paket_derle_oto(){ - for dpkt in `cat $1`;do - echo $dpkt "derleniyor...." - zorla_derle="yok" - paket_derle $dpkt - done -} -#otomatik derle kontrollu kur -paket_derle_oto2(){ - mps -dly "$1" > /dev/null && mps -odk genel.derleme.liste -} - -paket_kur_oto(){ - local kpkt pkt pak - for kpkt in `cat $1`;do - for pkt in `ls $kpkt* | cut -d'#' -f1`;do - pak=`ls "$pkt#"*` - mps -k "$pak" - done - done -} - -paket_kur_liste(){ - local kpkt pkt pak - for kpkt in `cat $1`;do - for pkt in `ls $kpkt* | cut -d'#' -f1`;do - pak=`ls "$pkt#"*` - mps -k2 "$pak" - done - done -} - -#otomatik kontrollu kur -paket_kur_oto2(){ - mps -dly "$1" > /dev/null && mps -ok genel.derleme.liste -} - -paket_diskur_oto(){ - local kpkt pkt pak - for kpkt in `cat $1`;do - mps -ik "$kpkt" - done -} - -#otomatik kontrollu kur -paket_diskur_oto2(){ - mps -dly "$1" > /dev/null && mps -oik genel.derleme.liste -} - -paket_sil_oto(){ - local spkt - for spkt in `cat $1`;do - oto_silme="evet" - paket_sil "$spkt" "$oto_silme" - done -} - -paket_derle(){ - #eski derleme kalıntılarını temizle - if [ -d tmp.* ];then - rm -r tmp.* - fi - kaynakdizin_kontrol - local konum derleme_onay eh bagimd - derleme_onay="h" - konum="`find "$talimatname_dizin" -name $1`" - if [ -d "$konum" ];then - mkdir -p tmp."$1" - cp -a $konum/* tmp."$1"/ - cd tmp."$1" - if [ "`kurulu_kontrol "$1"`" = "kurulu" ] && [ "$zorla_derle" = "yok" ];then - derleme_onay="h" - else - echo "-----" - derleme_onay="e" - fi - if [ "$derleme_onay" = "e" ];then - ryaz 33 "$1" "derleniyor...." - #mpsd -d > /dev/null - #mpsd -d - echo "------------------------" - mpsd -d 2>&1|tee /tmp/"$1".log - if ( grep "^=======>" /tmp/"$1".log| tail -1 |grep "ERROR" > /dev/null);then - echo "derleme sisteminde hata oluştu -----> " /tmp/"$1".log - exit 1 - fi - if [ "$kurulum_onay" = "evet" ];then - for kpkt in `ls $1* | cut -d'#' -f1`;do - mps -k "$kpkt#"* - done - fi - mv *.mps.lz ../ - else - ryaz 32 "paket zaten kurulu,yine de derlemek için: - mps -zd $1" - fi - cd .. - rm -r tmp."$1" - else - ryaz 31 "talimat dosyası bulunamadı." - fi - -} - - -bagimlilar(){ - local bagimd konum - konum="`find "$talimatname_dizin" -name $1`" - bagimd=`cat $konum/talimat | grep "Depends on" | cut -d':' -f2` - if [ -n "$bagimd" ]; then - bagimd=`echo "$bagimd" | sed 's/,/ /g'` - #sıralı gösterme - echo `echo "$bagimd" | sed 's/,/ /g'` - fi -} - -bagimli_bilgi(){ - local bagimd konum bag - konum="`find "$talimatname_dizin" -name $1`" - bagimd=`cat $konum/talimat | grep "Depends" | cut -d':' -f2` - if [ -n "$bagimd" ]; then - bagimd=`echo "$bagimd" | sed 's/,/ /g'` - #sıralı gösterme - #echo `echo "$bagimd" | sed 's/,/ /g'` - #kurulu kontrollu gosterim - for bag in $bagimd;do - echo $bag "`kurulu_kontrol $bag`" - done - fi - echo "$1" "`kurulu_kontrol $1`" - -} - -ters_bagimli(){ - local ara - ara=" $1 " - sy=`grep -o "/" <<<"$talimatname_dizin" | wc -l` - grep -rli "$ara" "$talimatname_dizin" | cut -d'/' -f`expr $sy + 3` -} - -ters_bagimli_kontrol(){ - ters_bagimli "$1" | sort > tersb.liste - ls /var/lib/pkg/DB/ | sed "/$1/d" | sort > simdiki.liste - comm -12 tersb.liste simdiki.liste - rm tersb.liste simdiki.liste -} - -kurulu_kontrol(){ - if [ -d "/var/lib/pkg/DB/$1" ];then - echo "kurulu" - exit 1 - fi - echo "degil" -} - -kaynakdizin_kontrol(){ - if [ ! -d $DERLEME_KAYNAKDIZIN ];then - mkdir $DERLEME_KAYNAKDIZIN - fi -} - -tarihce_dkontrol(){ - if [ ! -d $TARIHCE_DIZIN ];then - mkdir $TARIHCE_DIZIN - fi -} - -tarihce_liste(){ - tarihce_dkontrol - ls $TARIHCE_DIZIN/ - -} - -tarihce_yap(){ - tarihce_dkontrol - local t_isim - if [ "$temel_tarihce" = "evet" ];then - t_isim="temel" - else - t_isim=`date +%m-%d-%y.%H%M%S` - fi - bsdtar -P -r -f $TARIHCE_DIZIN/"$t_isim"-pkvt.tar $VT - lzip -9 $TARIHCE_DIZIN/"$t_isim"-pkvt.tar -} - -tarihce_yukle(){ - tarihce_dkontrol - local islem_onay cikis - sil_onay="h" - if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then - bsdtar -p -o -C /tmp -xf $TARIHCE_DIZIN/"$1-pkvt.tar.lz" 2>/dev/null - ls /tmp/var/lib/pkg/DB/ > hedef.pkvt - ls /var/lib/pkg/DB/ > simdiki.pkvt - grep -vf hedef.pkvt simdiki.pkvt > sil.liste - grep -vf simdiki.pkvt hedef.pkvt > kur.liste - rm hedef.pkvt simdiki.pkvt - rm -r /tmp/var - cikis="" - if [ -s sil.liste ];then - ryaz 32 "silinecekler" - ryaz 32 "------------" - cat sil.liste - fi - - if [ -s kur.liste ];then - ryaz 32 "kurulacaklar" - ryaz 32 "------------" - cat kur.liste - fi - if [ ! -s sil.liste ] && [ ! -s kur.liste ];then - ryaz 32 "sistem zaten hedef durumda!" - exit 1 - fi - while true; do - ryaz 34 "otomatik geri dönüşüm başlasın mı?";read -p "e veya h-> " eh - case $eh in - [Ee]* ) islem_onay="e"; break;; - [Hh]* ) break;; - * ) echo "e veya h";; - esac - done - if [ "$islem_onay" = "e" ];then - mps -os sil.liste - mps -ok kur.liste - mv sil.liste silinenler.liste - mv kur.liste kurulanlar.liste - exit 1 - fi - mv sil.liste sil_iptal.liste - mv kur.liste kur_iptal.liste - else - ryaz 31 "ilgili tarihce dosyası bulunamadı!" - fi -} - -tarihce_sil(){ - tarihce_dkontrol - if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then - rm -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" - else - ryaz 31 "ilgili tarihce dosyası bulunamadı!" - fi -} - -log_tutma(){ - echo "$(date +'%F %T') - $1 - paket" >> test.log -} - -git_guncelle() { - kaynakdizin_kontrol - cd $DERLEME_KAYNAKDIZIN - #git sunucudan guncelleme - ryaz 33 "git sunucudan güncelleme çekiliyor." - if [ ! -d milis.git ];then - git clone $git_sunucu milis.git - else - cd milis.git - git pull - fi - ryaz 33 "yerele eşitleniyor." - rm -r $talimatname_dizin/* - rsync -a $DERLEME_KAYNAKDIZIN/milis.git/talimatname/ $talimatname_dizin - rm -r `dirname $talimatname_dizin`/bin/* - rsync -a $DERLEME_KAYNAKDIZIN/milis.git/bin/ `dirname $talimatname_dizin`/bin -} - -paketvt_guncelle(){ - wget -q --spider "$sunucu""paket.vt" - #if wget -P /tmp -q "$sunucu""paket.vt" > /dev/null; then - if [ $? -eq 0 ]; then - ryaz 32 "paket veritabanı guncellenıyor." "$paketdepo""paket.vt" - if [ -f "$paketdepo""paket.vt" ];then - mv "$paketdepo""paket.vt" "$paketdepo""paket.vt.eski" - fi - wget -P "$paketdepo" "$sunucu""paket.vt" - #rm /tmp/paket.vt* - exit 1 - fi - ryaz 31 "paket veritabanı guncelleme olumsuz." -} - -talimat_bilgi(){ - local konum HEAD - konum="`find "$talimatname_dizin" -name $1`" - HEAD=`grep -B 12 "build()" $konum/talimat` - echo $HEAD -} - -sistem_kontrol(){ - paketvt_kontrol - sunucu_kontrol -} - -sunucu_kontrol(){ - wget -q --spider $sunucu - if [ $? -eq 0 ]; then - ryaz 32 "paket sunucu aktif" - else - ryaz 31 "sunucu erişim dışı" - exit 1 - fi -} - -paketvt_kontrol(){ - mkdir -p /depo/paketler - if [ ! -f /depo/paketler/paket.vt ];then - touch /depo/paketler/paket.vt - fi -} - -yardim(){ - echo "yardim" -} - - -ayarlar() { - - while [ "$1" ]; do - case $1 in - -i|--indir) - ikaynak="ag" - kurulum_onay="olumsuz";; - -ik|--inku) - ikaynak="ag" ;; - -k|--yrku) - ikaynak="yerel" ;; - -k2|--yrku2) - ikaynak="yerel2" ;; - -sil|--pksl) - paket_siles "$2" ;; - -s|--pksil) - paket_sil "$2" ;; - -d|--pkde) - zorla_derle="yok" - kurulum_onay="olumsuz" - paket_derle "$2" ;; - -zd|--pkzde) - zorla_derle="evet" - kurulum_onay="olumsuz" - paket_derle "$2" ;; - -dk|--pkdk) - paket_derle "$2" ;; - -odk|--pkodk) - paket_derle_oto "$2" ;; - -odkk|--pkodk2) - paket_derle_oto2 "$2" ;; - -ok|--pkok) - paket_kur_oto "$2" ;; - -okl|--pkokl) - paket_kur_liste "$2" ;; - -ko|--pkko) - paket_kur_oto2 "$2" ;; - -oik|--pkok2) - paket_diskur_oto "$2" ;; - -iko|--pkko2) - paket_diskur_oto2 "$2" ;; - -pak|--paketle) - yeniden_paketle "$2" ;; - -os|--pkos) - if [ ! "$2" ]; then - ryaz 31 "silme listesi yok" - exit 1 - fi - paket_sil_oto "$2" ;; - -kl|--kurulu-liste) - ls $VT ;; - -dly|--drly) - if [ -f derleme.liste ];then - mv derleme.liste derleme.liste.eski - fi - if [ -f genel.derleme.liste ];then - mv genel.derleme.liste genel.derleme.liste.eski - fi - touch derleme.liste - touch genel.derleme.liste - derleme_listyap "$2" ;; - -dlb|--drlb) - derleme_listbilgi "$2";; - -b|--pkbl) - paket_bilgi "$2" ;; - -bb|--pkbb) - bagimli_bilgi "$2" | column -t;; - -tb|--pktb) - ters_bagimli "$2" ;; - -tbk|--pktbk) - ters_bagimli_kontrol "$2" ;; - -talb|--talb) - talimat_bilgi "$2" | column -t;; - -Ggit|--gitgun) - git_guncelle ;; - -G|--pvtg) - paketvt_guncelle ;; - -g|--pkgu) - if [ ! "$2" ]; then - ryaz 31 "paket ismi eksik" - exit 1 - fi - paket_guncelle "$2";; - -kk|--kurulu-kontrol) - if [ ! "$2" ]; then - ryaz 31 "paket ismi eksik" - exit 1 - fi - ryaz 31 `kurulu_kontrol "$2"`;; - -suko) - sunucu_kontrol ;; - -cf|--config-file) - if [ ! "$2" ]; then - echo "ayardosyası gerek $1" - exit 1 - fi - ayar_dosyasi="$2" - shift ;; - -tro) - tarihce_yap ;; - -trot) - temel_tarihce="evet" - tarihce_yap ;; - -try) - if [ ! "$2" ]; then - ryaz 31 "tarihce dosyasi eksik $1" - exit 1 - fi - tarihce_yukle "$2" - shift ;; - -trl) - tarihce_liste ;; - -trs) - if [ ! "$2" ]; then - ryaz 31 "parametre eksik $1" - exit 1 - fi - tarihce_sil "$2" - shift ;; - -v) - ryaz 33 "$betikad $versiyon $iletisim" - exit 0 ;; - -h|--help) - yardim - exit 0 ;; - - esac - shift - done -} -ana(){ -ayarlar "$@" - -if [ "$ikaynak" = "ag" ]; then - - echo "agdan cekiliyor:" "$2" - - pkt=`cat "$paketdepo""paket.vt" | grep "^$2 " | cut -d' ' -f3` - echo $pkt - if [ ! -z "$pkt" -a "$pkt" != "" ]; then - cpaket="${pkt/'#'/'%23'}" - #paket sunucuda varsa - wget -q --spider "$sunucu$cpaket" - #if wget -P /tmp -q "$sunucu$cpaket" > /dev/null; then - if [ $? -eq 0 ]; then - wget -nc -P "$paketdepo" "$sunucu$cpaket" - #mv /tmp/$pkt "$paketdepo" - if [ "$kurulum_onay" = "evet" ];then - kkont=`kurulu_kontrol "$2"` - if [ "$kkont" = "degil" ];then - icerik_ekle "$paketdepo$pkt" - exit 1 - else - ryaz 31 "paket zaten kurulu!" - fi - fi - fi - fi - exit 1 - -fi - -if [ "$ikaynak" = "yerel" ]; then - local silme - pkontrol=`basename $2 | grep -w "mps.lz"` - if [ ! -z "$pkontrol" -a "$pkontrol" != "" ]; then - paketad=`echo "$2" | cut -d'#' -f1` - kkont=`kurulu_kontrol "$paketad"` - if [ "$kkont" = "degil" ];then - icerik_ekle "$2" - else - while true; do - ryaz 31 "$2 paketi zaten kurulu silinip kurulsun mu?" - read -p "e veya h -> " eh - case $eh in - [Ee]* ) silme="e"; break;; - [Hh]* ) break;; - * ) echo "e veya h";; - esac - done - if [ "$silme" = "e" ];then - ryaz 33 "silinecekelerin kontrolu için" - paket_sil "$paketad" - icerik_ekle "$2" - fi - fi - else - ryaz 31 "yerelde mps paketi bulunamadı." - fi -fi - -if [ "$ikaynak" = "yerel2" ]; then - local silme - pkontrol=`basename $2 | grep -w "mps.lz"` - if [ ! -z "$pkontrol" -a "$pkontrol" != "" ]; then - paketad=`echo "$2" | cut -d'#' -f1` - kkont=`kurulu_kontrol "$paketad"` - icerik_ekle2 "$2" - else - ryaz 31 "yerelde mps paketi bulunamadı." - fi -fi - -} -ana "$@" - - -#31 kirmizi -#32 yesil -#33 sari -#34 mavi -#34 mor diff --git a/mps-0.3/fonks.sh b/mps-0.6/fonks.sh similarity index 100% rename from mps-0.3/fonks.sh rename to mps-0.6/fonks.sh diff --git a/mps-0.6/mps b/mps-0.6/mps new file mode 100755 index 000000000..0f0d20489 --- /dev/null +++ b/mps-0.6/mps @@ -0,0 +1,990 @@ +#!/bin/bash +. /etc/mpsd.conf +if [ -f /etc/mps.conf ];then +. /etc/mps.conf +fi +. /root/bin/fonks.sh +versiyon="0.6" +iletisim="milisarge@gmail.com" +paketdepo="/depo/paketler/" +if [ -z ${sunucu+:} ]; then + sunucu="127.0.0.1:8000/" +fi +#sunucu="http://milis.gungre.ch/packages/" +git_sunucu="https://github.com/milisarge/malfs-milis" +ikaynak="" +betikad=${0##*/} +kurulum_onay="evet" +talimatname_dizin="/root/talimatname" +kokdizin="/" +VT="/var/lib/pkg/DB" +TARIHCE_DIZIN="/var/lib/pkg/tarihce" +LOGDIZIN="/var/log/mps" +tekrarkur="hayir" +if [ -z ${lokal+:} ]; then + lokal="tr" +fi +if [ -z ${docsil+:} ]; then + docsil="evet" +fi +if [ -z ${yerelsil+:} ]; then + yerelsil="evet" +fi + + +icerik_ekle(){ + paketad=`echo "$1" | cut -d'#' -f1` + paketad=`basename $paketad` + ryaz 34 $paketad" paketi kuruluyor-> $kokdizin" + tar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log + #kos-kur kontrolu + if [ -f /tmp/.PRE ];then + if [ "$kokdizin" == "/" ];then + bash /tmp/.PRE + else + cp /tmp/.PRE $kokdizin/tmp/$paketad.PRE + fi + rm /tmp/.PRE + fi + mkdir -p kur.$paketad && + tar xf $1 -C kur.$paketad && + #istenmeyen yerellerin silinmesi + if [ -d kur.$paketad/usr/share/locale ] && [ "$yerelsil" == "evet" ];then + for lkl in `ls kur.$paketad/usr/share/locale/`;do + if [ "$lkl" != "$lokal" ];then rm -r kur.$paketad/usr/share/locale/$lkl; fi + done + fi + #doc dizini silinmesi + if [ -d kur.$paketad/usr/share/doc ] && [ "$docsil" == "evet" ];then + rm -r kur.$paketad/usr/share/doc + fi + mkdir -p $kokdizin/var/lib/pkg/DB/"$paketad" && + cp -v -afr kur.$paketad/* $kokdizin > kur.$paketad/kurulan + cp kur.$paketad/kurulan /tmp/ &&cat kur.$paketad/kurulan | cut -d '>' -f2 > $kokdizin/var/lib/pkg/DB/"$paketad"/kurulan && + #mv kur.$paketad/.MTREE /var/lib/pkg/DB/"$paketad"/files && + mv kur.$paketad/.META $kokdizin/var/lib/pkg/DB/"$paketad"/META && + + #kur-kos calistirilmasi + if [ -f kur.$paketad/.POST ];then + if [ "$kokdizin" == "/" ];then + bash kur.$paketad/.POST + else + cp kur.$paketad/.POST $kokdizin/tmp/$paketad.POST + fi + rm kur.$paketad/.POST + fi + + rm -r kur.$paketad + if [ -f $kokdizin/etc/ld.so.conf ];then + ldconfig -r $kokdizin + fi + ryaz 34 $paketad" paketi kuruldu." + loglama "$paketad paketi kuruldu." + +} + +paket_sil(){ + local paket kkont sil_onay oto_silme + paket="$1" + if [ "$2" ]; then + oto_silme="$2" + fi + kkont=`kurulu_kontrol "$1"` + if [ "$kkont" = "kurulu" ];then + if [ -f "/var/lib/pkg/DB/$paket/kurulan" ];then + cat /var/lib/pkg/DB/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil + ryaz 31 "ters bagimliliklar" + 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 + while true; do + ryaz 34 $paket" paketi kaldırılsın mı?";read -p "e veya h-> " eh + case $eh in + [Ee]* ) sil_onay="e"; break;; + [Hh]* ) break;; + * ) echo "e veya h";; + esac + done + fi + if [ "$sil_onay" = "e" ];then + xargs rm -r -f < /tmp/$paket.sil && + rm -r -f /var/lib/pkg/DB/"$paket" && + ryaz 34 $paket" paketi silindi." + loglama "$paket paketi silindi." + rm -f /tmp/$paket.sil + else + rm -f /tmp/$paket.sil + exit 1 + fi + + else + ryaz 31 "kritik mesaj:kurulanlar dosyası yok." + fi + else + ryaz 32 "paket zaten kurulu değil!" + fi + +} + +paket_bilgi2(){ + local paket kkont + kkont=`kurulu_kontrol "$1"` + if [ "$kkont" = "kurulu" ];then + paket="$1" + cat /var/lib/pkg/DB/"$paket"/META + else + echo "paket kurulu değil!" + fi + +} + +paket_bilgi(){ + local paket kkont + kkont=`kurulu_kontrol "$1"` + if [ "$kkont" = "kurulu" ];then + paket="$1" + satir=`sed -n '1p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "AD:" ${satir:1:${#satir}-1} + satir=`sed -n '2p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "TN:" ${satir:1:${#satir}-1} + satir=`sed -n '3p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "UR:" ${satir:1:${#satir}-1} + satir=`sed -n '4p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "YP:" ${satir:1:${#satir}-1} + satir=`sed -n '5p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "PK:" ${satir:1:${#satir}-1} + satir=`sed -n '6p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "--:" ${satir:1:${#satir}-1} + satir=`sed -n '7p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "VS:" ${satir:1:${#satir}-1} + satir=`sed -n '8p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "RL:" ${satir:1:${#satir}-1} + satir=`sed -n '9p' < /var/lib/pkg/DB/"$paket"/META` + ryaz 32 "DZ:" `date -d @${satir:1:${#satir}-1}` + else + echo "paket kurulu değil!" + fi + +} + +yeniden_paketle(){ + cd $1 + bsdtar -r -f ../"$1".mps .META + bsdtar -r -f ../"$1".mps * + cd .. + lzip -9 "$1".mps +} + +derleme_listyap(){ + bagimlist=`bagimlilar "$1"` + + if [ "$bagimlist" != "talimatyok" ];then + for bagim in $bagimlist;do + + if [ "`cat tumbag.liste | grep $bagim`" != "$bagim" ];then + derleme_listyap "$bagim" + fi + + done + + if ! grep -Fxq "$1" tumbag.liste + then + ana="`find $talimatname_dizin -name $1`" + echo ${ana#"$talimatname_dizin"} + #sadece genel bagimliliklar derlenecek + echo "$1" >> tumbag.liste + if [ -d "$talimatname_dizin/genel/$1" ];then + echo "$1" >> bag.liste + fi + fi + else + ryaz 31 "$1 talimatı bulunamadı." + exit 1 + fi +} + +derleme_listbilgi(){ + ryaz 34 "yapim asamasında" +} + +paket_derle_liste(){ + for dpkt in `cat $1`;do + echo $dpkt "derleniyor...." + zorla_derle="yok" + paket_derle $dpkt + done +} +#otomatik derle kontrollu kur +paket_derle_kur(){ + tekrarkur="hayir" + mps -dly "$1" > /dev/null && mps -derlist bag.liste +} + +paket_kur_oto(){ + local kpkt pkt pak + for kpkt in `cat $1`;do + for pkt in `ls $kpkt* | cut -d'#' -f1`;do + pak=`ls "$pkt#"*` + mps -k "$pak" + done + done +} + +paket_kur_liste(){ + local kpkt pkt pak + for kpkt in `cat $1`;do + for pkt in `ls $kpkt* | cut -d'#' -f1`;do + pak=`ls "$pkt#"*` + mps -k2 "$pak" + done + done +} + +#otomatik kontrollu kur +paket_kur_oto2(){ + mps -dly "$1" > /dev/null && mps -ok bag.liste +} + +paket_inkur_liste_direk(){ + local kpkt + for kpkt in `cat $1`;do + mps -ik "$kpkt" + done +} + +paket_inkur_liste(){ + local kpkt + for kpkt in `cat $1`;do + mps -kur "$kpkt" + done +} + +#otomatik kontrollu kur +paket_inkur_oto(){ + mps -dly "$1" > /dev/null && + local kpkt + for kpkt in `cat bag.liste`;do + mps -ik "$kpkt" + done + rm bag.liste tumbag.liste +} + +paket_sil_oto(){ + local spkt + for spkt in `cat $1`;do + oto_silme="evet" + paket_sil "$spkt" "$oto_silme" + done +} + +paket_guncelle(){ + surum_kontrol $1 + devir_kontrol $1 +} + +paket_guncelle_oto(){ + mps -dly "$1" > /dev/null && + local kpkt + for kpkt in `cat bag.liste`;do + mps -g "$kpkt" + done + rm bag.liste tumbag.liste +} + +sistem_guncelle(){ + local kpkt + for kpkt in `mps -kl`;do + mps -g "$kpkt" + done +} + +surum_kontrol(){ + local ksurum version pkt dusuk yuksek durum + durum="belirsiz" + satir=`sed -n '7p' < /var/lib/pkg/DB/"$1"/META` + ksurum=${satir:1:${#satir}-1} + pkt="`find $talimatname_dizin -name $1`" + source $pkt/talimat + dusuk=`echo -e "$ksurum\n$version" | sort -V | head -n1` + + if [ "$ksurum" = "$version" ];then + durum="guncel" + else + if [ "$ksurum" = "$dusuk" ];then + durum="yukselt" + else + durum="dusur" + fi + + if [ "$durum" <> "guncel" ];then + mps -s $1 + mps -ik $1 + fi + fi + ryaz 33 "$1 surum kontrolu $ksurum & $version $durum" +} + +devir_kontrol(){ + local kdevir release pkt dusuk yuksek durum + durum="belirsiz" + satir=`sed -n '8p' < /var/lib/pkg/DB/"$1"/META` + kdevir=${satir:1:${#satir}-1} + pkt="`find $talimatname_dizin -name $1`" + source $pkt/talimat + dusuk=`echo -e "$kdevir\n$release" | sort -V | head -n1` + + if [ "$kdevir" = "$release" ];then + durum="guncel" + else + if [ "$kdevir" = "$dusuk" ];then + durum="yukselt" + else + durum="dusur" + fi + + if [ "$durum" <> "guncel" ];then + mps -s $1 + mps -ik $1 + fi + fi + ryaz 33 "$1 devir kontrolu $kdevir & $release $durum" +} + +paket_derle(){ + #eski derleme kalıntılarını temizle + if [ -d tmp.* ];then + rm -r tmp.* + fi + kaynakdizin_kontrol + local konum derleme_onay eh bagimd + derleme_onay="h" + konum="`find "$talimatname_dizin" -name $1`" + if [ -d "$konum" ];then + mkdir -p tmp."$1" + cp -a $konum/* tmp."$1"/ + cd tmp."$1" + if [ "`kurulu_kontrol "$1"`" = "kurulu" ] && [ "$zorla_derle" = "yok" ];then + derleme_onay="h" + else + echo "-----" + derleme_onay="e" + fi + if [ "$derleme_onay" = "e" ];then + ryaz 33 "$1" "derleniyor...." + #mpsd -d > /dev/null + #mpsd -d + echo "------------------------" + mpsd -d 2>&1|tee /tmp/"$1".log + if ( grep "^=======>" /tmp/"$1".log| tail -1 |grep "ERROR" > /dev/null);then + echo "derleme sisteminde hata oluştu -----> " /tmp/"$1".log + exit 1 + fi + if [ "$kurulum_onay" = "evet" ];then + for kpkt in `ls $1* | cut -d'#' -f1`;do + mps -k "$kpkt#"* + done + fi + mv *.mps.lz ../ + else + ryaz 32 "paket zaten kurulu,yine de derlemek için: + mps -zd $1" + fi + cd .. + rm -r tmp."$1" + else + ryaz 31 "talimat dosyası bulunamadı." + fi + +} + + +bagimlilar(){ + local bagimd konum + konum="`find "$talimatname_dizin" -name $1`" + if [ -f "$konum/talimat" ];then + bagimd=`cat $konum/talimat | grep "Depends on" | cut -d':' -f2` + + if [ -n "$bagimd" ]; then + bagimd=`echo "$bagimd" | sed 's/,/ /g'` + #sıralı gösterme + echo `echo "$bagimd" | sed 's/,/ /g'` + fi + else + echo "talimatyok" + exit 1 + fi +} + +bagimli_bilgi(){ + local bagimd konum bag + konum="`find "$talimatname_dizin" -name $1`" + bagimd=`cat $konum/talimat | grep "Depends" | cut -d':' -f2` + if [ -n "$bagimd" ]; then + bagimd=`echo "$bagimd" | sed 's/,/ /g'` + #sıralı gösterme + #echo `echo "$bagimd" | sed 's/,/ /g'` + #kurulu kontrollu gosterim + for bag in $bagimd;do + echo $bag "`kurulu_kontrol $bag`" + done + fi + echo "$1" "`kurulu_kontrol $1`" + +} + +ters_bagimli(){ + local ara + ara=" $1 " + sy=`grep -o "/" <<<"$talimatname_dizin" | wc -l` + 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 + comm -12 tersb.liste simdiki.liste + rm tersb.liste simdiki.liste +} + +kurulu_kontrol(){ + if [ -d "$kokdizin/var/lib/pkg/DB/$1" ];then + echo "kurulu" + exit 1 + fi + echo "degil" +} + +sistem_kur(){ + local spaket + for spaket in `cat $1`;do + ./$betikad -ik "$spaket" -kok $2; + done +} + +kaynakdizin_kontrol(){ + if [ ! -d $DERLEME_KAYNAKDIZIN ];then + mkdir $DERLEME_KAYNAKDIZIN + fi +} + +logdizin_kontrol(){ + if [ ! -d $kokdizin$LOGDIZIN ];then + mkdir $kokdizin$LOGDIZIN + fi + if [ ! -d $kokdizin$LOGDIZIN/derleme ];then + mkdir $kokdizin$LOGDIZIN/derleme + fi + if [ ! -f $kokdizin$LOGDIZIN/mps.log ];then + touch $kokdizin$LOGDIZIN/mps.log + fi +} + +tarihce_dkontrol(){ + if [ ! -d $TARIHCE_DIZIN ];then + mkdir $TARIHCE_DIZIN + fi +} + +temel_tarihce_kontrol(){ + if [ ! -f $TARIHCE_DIZIN/temel-pkvt.tar.lz ];then + tarihce_olustur "temel" + fi +} + +tarihce_liste(){ + tarihce_dkontrol + ls $TARIHCE_DIZIN/ + +} + +tarihce_yap(){ + tarihce_dkontrol + local t_isim + if [ "$temel_tarihce" = "evet" ];then + t_isim="temel" + else + t_isim=`date +%m-%d-%y.%H%M%S` + fi + tarihce_olustur "$t_isim" +} + +tarihce_olustur(){ + bsdtar -P -r -f $TARIHCE_DIZIN/"$1"-pkvt.tar $VT + lzip -9 $TARIHCE_DIZIN/"$1"-pkvt.tar +} + +tarihce_yukle(){ + tarihce_dkontrol + local islem_onay cikis + sil_onay="h" + if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then + bsdtar -p -o -C /tmp -xf $TARIHCE_DIZIN/"$1-pkvt.tar.lz" 2>/dev/null + ls /tmp/var/lib/pkg/DB/ > hedef.pkvt + ls /var/lib/pkg/DB/ > simdiki.pkvt + grep -v -F -x -f hedef.pkvt simdiki.pkvt > sil.liste + grep -v -F -x -f simdiki.pkvt hedef.pkvt > kur.liste + #rm hedef.pkvt simdiki.pkvt + rm -r /tmp/var + cikis="" + if [ -s sil.liste ];then + ryaz 32 "silinecekler" + ryaz 32 "------------" + cat sil.liste + fi + + if [ -s kur.liste ];then + ryaz 32 "kurulacaklar" + ryaz 32 "------------" + cat kur.liste + fi + if [ ! -s sil.liste ] && [ ! -s kur.liste ];then + ryaz 32 "sistem zaten hedef durumda!" + exit 1 + fi + while true; do + ryaz 34 "otomatik geri dönüşüm başlasın mı?";read -p "e veya h-> " eh + case $eh in + [Ee]* ) islem_onay="e"; break;; + [Hh]* ) break;; + * ) echo "e veya h";; + esac + done + if [ "$islem_onay" = "e" ];then + mps -os sil.liste + mps -kurul kur.liste + mv sil.liste silinenler.liste + mv kur.liste kurulanlar.liste + exit 1 + fi + mv sil.liste sil_iptal.liste + mv kur.liste kur_iptal.liste + else + ryaz 31 "ilgili tarihce dosyası bulunamadı!" + fi +} + +tarihce_sil(){ + tarihce_dkontrol + if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then + rm -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" + else + ryaz 31 "ilgili tarihce dosyası bulunamadı!" + fi +} + +loglama(){ + logdizin_kontrol + echo "$(date +'%F %T') $1" >> "$kokdizin/$LOGDIZIN/mps.log" +} + +git_guncelle() { + kaynakdizin_kontrol + gitayar_kontrol + cd $DERLEME_KAYNAKDIZIN + #git sunucudan guncelleme + ryaz 33 "git sunucudan güncelleme çekiliyor." + if [ ! -d milis.git ];then + git clone $git_sunucu milis.git + rsync -av /sources/milis.git/rootfs/* / + else + cd milis.git + git pull + fi + ryaz 33 "yerele eşitleniyor." + rm -r $talimatname_dizin/* + rsync -a $DERLEME_KAYNAKDIZIN/milis.git/talimatname/ $talimatname_dizin + rm -r `dirname $talimatname_dizin`/bin/* + rsync -a $DERLEME_KAYNAKDIZIN/milis.git/bin/ `dirname $talimatname_dizin`/bin + rm -r `dirname $talimatname_dizin`/ayarlar/* + rsync -a $DERLEME_KAYNAKDIZIN/milis.git/ayarlar/ `dirname $talimatname_dizin`/ayarlar +} + +paketvt_guncelle(){ + temel_tarihce_kontrol + wget -q --spider "$sunucu""paket.vt" + #if wget -P /tmp -q "$sunucu""paket.vt" > /dev/null; then + if [ $? -eq 0 ]; then + ryaz 32 "paket veritabanı guncellenıyor." "$paketdepo""paket.vt" + if [ -f "$paketdepo""paket.vt" ];then + mv "$paketdepo""paket.vt" "$paketdepo""paket.vt.eski" + fi + wget -P "$paketdepo" "$sunucu""paket.vt" + #rm /tmp/paket.vt* + exit 1 + fi + ryaz 31 "paket veritabanı guncelleme olumsuz." +} + +talimat_bilgi(){ + local konum HEAD + konum="`find "$talimatname_dizin" -name $1`" + HEAD=`grep -B 12 "build()" $konum/talimat` + echo $HEAD +} + +sistem_kontrol(){ + paketvt_kontrol + sunucu_kontrol +} + +sunucu_kontrol(){ + wget -q --spider $sunucu + if [ $? -eq 0 ]; then + ryaz 32 "paket sunucu aktif" + else + ryaz 31 "sunucu erişim dışı" + exit 1 + fi +} + +gitayar_kontrol(){ + if [ ! -f /root/.gitconfig ];then + git_ssl_iptal + git_otokimlik + fi +} + +paketvt_kontrol(){ + mkdir -p /depo/paketler + if [ ! -f /depo/paketler/paket.vt ];then + touch /depo/paketler/paket.vt + fi +} + +pvt_olustur(){ + if [ ! -f paket.vt ];then + touch paket.vt + fi + if [ -f "paket.vt" ];then + mv "paket.vt" "paket.vt.eski" + fi + ryaz 32 "paket.vt oluşturuluyor...." + for paket in `ls *.mps.lz` + do + paketad="`echo $paket|cut -d "#" -f1`" + shaek=`sha1sum $paket` + + echo $paketad $shaek >> paket.vt + done + ryaz 32 "paket.vt oluşturuldu." +} + +paket_indir(){ + local pkt + if [ -f "$paketdepo""paket.vt" ];then + pkt=`cat "$paketdepo""paket.vt" | grep "^$1 " | cut -d' ' -f3` + ekontdeg=`cat "$paketdepo""paket.vt" | grep "^$1 " | cut -d' ' -f2` + cpaket="${pkt/'#'/'%23'}" + wget -nc -P "$paketdepo" "$sunucu$cpaket" &> /dev/null + if [[ "$?" != 0 ]]; then + ryaz 31 "indirme hatalı" + else + ryaz 34 "$1 indirildi" + fi + mkontdeg=`sha1sum "$paketdepo$pkt" | cut -d' ' -f1` + if [ "$ekontdeg" != "$mkontdeg" ];then + ryaz 31 "sha1sum uyusmaslik tesbit edildi,paket tekrar indiriliyor." + rm -f "$paketdepo$pkt" + paket_indir "$1" + fi + fi + + +} + +yardim(){ + echo "yardim" +} + + +ayarlar() { + + while [ "$1" ]; do + case $1 in + -i|--indir) + ikaynak="ag" + kurulum_onay="olumsuz";; + -ik|--inku) + if [ "$3" == "-kok" ] && [ -d "$4" ]; then + kokdizin="$4" + fi + ikaynak="ag" ;; + -ikz|--inkuzo) + ikaynak="ag" + tekrarkur="evet" ;; + -k|--yrku) + if [ "$3" == "-kok" ] && [ -d "$4" ]; then + kokdizin="$4" + tekrarkur="evet" + fi + ikaynak="yerel" ;; + -s|--pksil) + paket_sil "$2" ;; + -d|--pkde) + zorla_derle="yok" + kurulum_onay="olumsuz" + paket_derle "$2" ;; + -zd|--pkzde) + zorla_derle="evet" + kurulum_onay="olumsuz" + paket_derle "$2" ;; + -dk|--pkdk) + paket_derle "$2" ;; + -derlist) + paket_derle_liste "$2" ;; + -derle) + paket_derle_kur "$2" ;; + -ok|--pkok) + paket_kur_oto "$2" ;; + -okl|--pkokl) + paket_kur_liste "$2" ;; + -ko|--pkko) + paket_kur_oto2 "$2" ;; + -kuruld) + paket_inkur_liste_direk "$2" ;; + -kurul) + paket_inkur_liste "$2" ;; + -kur) + paket_inkur_oto "$2" ;; + -pak|--paketle) + if [ ! "$2" ]; then + ryaz 31 "paketlenecek dizin ismi eksik" + exit 1 + fi + yeniden_paketle "$2" ;; + -psk|--paksiskur) + if [ ! "$2" ]; then + ryaz 31 "paket liste yok" + exit 1 + fi + if [ ! "$3" ]; then + ryaz 31 "hedef dizin yok" + exit 1 + fi + sistem_kur "$2" "$3" ;; + -po) + pvt_olustur ;; + -os|--pkos) + if [ ! "$2" ]; then + ryaz 31 "silme listesi yok" + exit 1 + fi + paket_sil_oto "$2" ;; + -kl|--kurulu-liste) + ls $VT ;; + -dly|--drly) + if [ -f tumbag.liste ];then + mv tumbag.liste tumbag.liste.eski + fi + if [ -f bag.liste ];then + mv bag.liste bag.liste.eski + fi + touch tumbag.liste + touch bag.liste + derleme_listyap "$2" ;; + -dlb|--drlb) + derleme_listbilgi "$2";; + -b|--pkbl) + paket_bilgi "$2" ;; + #sunucu bilgisi alma + -sun|--sunucu) + ryaz 32 $sunucu ;; + -bb|--pkbb) + bagimli_bilgi "$2" | column -t;; + -tb|--pktb) + ters_bagimli "$2" ;; + -tbk|--pktbk) + ters_bagimli_kontrol "$2" ;; + -talb|--talb) + talimat_bilgi "$2" | column -t;; + -Ggit|-GG) + git_guncelle ;; + -G|--pvtg) + paketvt_guncelle ;; + #komple kurulu sistemin guncellenmesi + -GS) + sistem_guncelle ;; + #tekil paket guncelleme-single package updating + -g|--pkgu) + if [ ! "$2" ]; then + ryaz 31 "paket ismi eksik" + exit 1 + fi + paket_guncelle "$2";; + #bagimliliklariyla beraber paket guncelleme-package updating with depencies + -go|--pkgo) + if [ ! "$2" ]; then + ryaz 31 "paket ismi eksik" + exit 1 + fi + paket_guncelle_oto "$2";; + -kk|--kurulu-kontrol) + if [ ! "$2" ]; then + ryaz 31 "paket ismi eksik" + exit 1 + fi + ryaz 31 `kurulu_kontrol "$2"`;; + -suko) + sunucu_kontrol ;; + -cf|--config-file) + if [ ! "$2" ]; then + echo "ayardosyası gerek $1" + exit 1 + fi + ayar_dosyasi="$2" + shift ;; + -tro) + tarihce_yap ;; + -trot) + temel_tarihce="evet" + tarihce_yap ;; + -try) + if [ ! "$2" ]; then + ryaz 31 "tarihce dosyasi eksik $1" + exit 1 + fi + tarihce_yukle "$2" + shift ;; + -trl) + tarihce_liste ;; + -trs) + if [ ! "$2" ]; then + ryaz 31 "parametre eksik $1" + exit 1 + fi + tarihce_sil "$2" + shift ;; + -v) + ryaz 33 "$betikad $versiyon $iletisim" + exit 0 ;; + -h|--help) + yardim + exit 0 ;; + + esac + shift + done +} + +yardim() { + cat <<_EOF + +$betikad $versiyon Milis Paket Sistemi + +Secenekler: + -G ikili paket veritabanini gunceller + -Ggit git sunucusundan talimatname ve sistem gunceller + -kur paket_ismi ilgili paketi bagimliliklariyla agdan cekip kurar + -s paket_ismi ilgili paketi kaldirir + -k paket_ismi yereldeki paketi bagimliliksiz kurar + -kl kurulu paket listesini verir + -kk paket_ismi ilgili paketin kurulu olma durumunu verir + -d paket_ismi ilgili paketin talimat dosyasına göre + sadece derler,paketler + -derle paket_ismi ilgili paketin talimat dosyasına göre bagimliliklariyla + beraber derler,paketler ve kurar. + +_EOF + exit 1 +} + +ana(){ +ayarlar "$@" + +if [ "$ikaynak" = "ag" ]; then + local kontroldeg + kkont=`kurulu_kontrol "$2"` + if [ "$kkont" = "degil" ] || [ "$tekrarkur" = "evet" ];then + pkt=`cat "$paketdepo""paket.vt" | grep "^$2 " | cut -d' ' -f3` + if [ ! -z "$pkt" -a "$pkt" != "" ]; then + cpaket="${pkt/'#'/'%23'}" + ryaz 33 "agdan cekiliyor:" "$cpaket" + #paket sunucuda varsa + wget -q --spider "$sunucu$cpaket" + #if wget -P /tmp -q "$sunucu$cpaket" > /dev/null; then + if [ $? -eq 0 ]; then + #wget -P "$paketdepo" "$sunucu$cpaket" + paket_indir "$2" + + if [ "$kurulum_onay" = "evet" ];then + if [ "$tekrarkur" = "evet" ];then + paket_sil "$2" "evet" + fi + icerik_ekle "$paketdepo$pkt" + exit 1 + fi + else + ryaz 31 "paket sunucuda yok!" + fi + else + ryaz 31 "paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )" + fi + else + ryaz 32 "$2 paketi zaten kurulu!" + fi + exit 1 +fi + +if [ "$ikaynak" = "yerel" ]; then + local silme + pkontrol=`basename $2 | grep -w "mps.lz"` + if [ ! -z "$pkontrol" -a "$pkontrol" != "" ]; then + paketad=`echo "$2" | cut -d'#' -f1` + kkont=`kurulu_kontrol "$paketad"` + if [ "$kkont" = "degil" ];then + icerik_ekle "$2" + else + if [ "$tekrarkur" = "hayir" ];then + while true; do + ryaz 31 "$2 paketi zaten kurulu silinip kurulsun mu?" + read -p "e veya h -> " eh + case $eh in + [Ee]* ) silme="e"; break;; + [Hh]* ) break;; + * ) echo "e veya h";; + esac + done + fi + if [ "$silme" = "e" ];then + ryaz 33 "silinecekelerin kontrolu için" + paket_sil "$paketad" + icerik_ekle "$2" + fi + fi + else + ryaz 31 "yerelde mps paketi bulunamadı." + fi +fi + +} +ana "$@" + + +#31 kirmizi +#32 yesil +#33 sari +#34 mavi +#34 mor diff --git a/mps-0.3/mpsd b/mps-0.6/mpsd similarity index 98% rename from mps-0.3/mpsd rename to mps-0.6/mpsd index aed58767f..90a24465a 100755 --- a/mps-0.3/mpsd +++ b/mps-0.6/mpsd @@ -831,22 +831,22 @@ build_package() { j=0 done #dil desteginin eklenmesi-geri kalanın temizlenmesi - if [ ! "$PAKET_LOKAL" == "hepsi" ];then - local lokaldizin - if [ -d usr/share/locale ];then - lokaldizin="usr/share/locale" - fi - if [ -d opt/*/usr/share/locale ];then - lokaldizin="opt/*/usr/share/locale" - fi - for DIR in `ls $lokaldizin` ; do - if [[ "$PAKET_LOKAL" == *"$DIR"* ]]; then - echo $DIR "dil paketi ekleniyor" - else - rm -rf $lokaldizin/$DIR - fi - done - fi + #if [ ! "$PAKET_LOKAL" == "hepsi" ];then + # local lokaldizin + # if [ -d usr/share/locale ];then + # lokaldizin="usr/share/locale" + # fi + # if [ -d opt/*/usr/share/locale ];then + # lokaldizin="opt/*/usr/share/locale" + # fi + # for DIR in `ls $lokaldizin` ; do + # if [[ "$PAKET_LOKAL" == *"$DIR"* ]]; then + # echo $DIR "dil paketi ekleniyor" + # else + # rm -rf $lokaldizin/$DIR + # fi + # done + #fi if [ "`ls|wc -l`" != "0" ]; then bsdtar -r -f $PKGMK_PACKAGE_DIR/${name}#$version-${PKGMK_ARCH}.${PKT_UZANTISI} * diff --git a/mps-0.3/mpsd.conf b/mps-0.6/mpsd.conf similarity index 100% rename from mps-0.3/mpsd.conf rename to mps-0.6/mpsd.conf diff --git a/mps-0.3/onmpsd.conf b/mps-0.6/onmpsd.conf similarity index 100% rename from mps-0.3/onmpsd.conf rename to mps-0.6/onmpsd.conf