12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625 |
- #!/bin/bash
- . /etc/mpsd.conf
- if [ -f /etc/mps.conf ];then
- . /etc/mps.conf
- fi
- . /root/bin/fonks.sh
- versiyon="0.9.7"
- 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"
- logdosya=/var/log/mps/mps.log
- #temel paket koruma
- tpk="evet"
- if [ -z ${lokal+:} ]; then
- lokal="tr"
- fi
- if [ -z ${docsil+:} ]; then
- docsil="evet"
- fi
- if [ -z ${yerelsil+:} ]; then
- yerelsil="silme"
- 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
- if [ "$tpk" = "evet" ] && [ -d "$talimatname_dizin/temel/$1" ];then
- ryaz 31 "$1 temel sistem paketidir.Silinemez!!!"
- hataloglama "$1 temel sistem paketidir.Silinemez!!!"
- else
- kkont=`kurulu_kontrol "$1"`
- if [ "$kkont" = "kurulu" ];then
- if [ -f "/var/lib/pkg/DB/$paket/kurulan" ];then
- #dizin koruma
- kurban_kurtar $1
- 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
- fi
-
- else
- ryaz 31 "kritik mesaj:kurulanlar dosyası yok."
- hataloglama "kritik mesaj:kurulanlar dosyası yok."
- fi
- elif [ "$kkont" = "degil" ];then
- ryaz 32 "paket zaten kurulu değil!"
- hataloglama "paket zaten kurulu değil!"
- else
- ryaz 32 "paket tanımsız!"
- hataloglama "paket tanımsız!"
- fi
- fi
- }
- paket_ara(){
- paket="$1"
- for pkt in `cat /depo/paketler/paket.vt | grep $paket | awk '{print $1}'`; do
- pakdesc=$(find /root/talimatname -name "$pkt" | xargs -I % sed -n '1{p;q}' %/talimat | sed s'/# Description: //g');
- ryaz 34 "$pkt - $pakdesc";
- done
- }
- kelime_bul(){
- grep --color -H -ri "$1" /root/talimatname/
- }
- paket_bilgi2(){
- local paket kkont
- kkont=`kurulu_kontrol "$1"`
- if [ "$kkont" = "kurulu" ];then
- paket="$1"
- cat /var/lib/pkg/DB/"$paket"/META
- elif [ "$kkont" = "degil" ];then
- echo "paket kurulu değil!"
- else
- echo "paket tanımsız!"
- 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}`
- elif [ "$kkont" = "degil" ];then
- echo "paket kurulu değil!"
- else
- echo "paket tanımsız!"
- 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ı."
- hataloglama "$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" && mps -derlist bag.liste
- }
- oto_derle_kur_paketle(){
- mps -G
- mps -kur $1 &&
- if [ -f "$talimatname_dizin/genel/$1/$1.sira" ];then
- ryaz 32 "sıralı derleme yapılacak."
- mps -derlist "$talimatname_dizin/genel/$1/$1.sira"
- else
- mps -derle $1
- fi
- }
- paket_kur_oto(){
- local kpkt pkt pak kliste
- if [ "$1" = "-H" ];then
- ls *.mps.lz > "otokur.list"
- kliste="otokur.list"
- else
- kliste="$1"
- fi
- for kpkt in `cat $kliste`;do
- for pkt in `ls $kpkt* | cut -d'#' -f1`;do
- pak=`ls "$pkt#"*`
- mps -k "$pak" && mps -kur "$pkt"
- done
- done
- rm -rf otokur.list
- }
- paket_kur_oto_zorla(){
- local kpkt pkt pak kliste
- if [ "$1" = "-H" ];then
- ls *.mps.lz > "otokur.list"
- kliste="otokur.list"
- else
- kliste="$1"
- fi
- for kpkt in `cat $kliste`;do
- for pkt in `ls $kpkt* | cut -d'#' -f1`;do
- pak=`ls "$pkt#"*`
- paket_sil "$pkt" "evet"
- mps -k "$pak" && mps -kur "$pkt"
- done
- done
- rm -rf otokur.list
- }
- 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 -k "$pak"
- done
- done
- }
- paket_kur_liste_zorla(){
- local kpkt pkt pak
- for kpkt in `cat $1`;do
- for pkt in `ls $kpkt* | cut -d'#' -f1`;do
- pak=`ls "$pkt#"*`
- paket_sil "$kpkt" "evet"
- mps -k "$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" | grep "bulunamadı"
- #derleme_listyap "$1" > mps.log &&
- local kpkt
- for kpkt in `cat bag.liste`;do
- mps -ik "$kpkt"
- done
- rm -rf *.liste *.eski
- }
- paket_sil_oto(){
- local spkt
- for spkt in `cat $1`;do
- oto_silme="evet"
- paket_sil "$spkt" "$oto_silme"
- done
- }
- paket_sil_oto_onayli(){
- local spkt
- cat $1
- for spkt in `cat $1`;do
- paket_sil "$spkt"
- done
- }
- paketsiz_talimatlar(){
- for talimat in `ls $talimatname_dizin/genel`;do
- if [[ ! $(cat $paketdepo/paket.vt | grep $talimat#) ]] ;then
- ack=`grep -e '# Description:' $talimatname_dizin/genel/$talimat/talimat | cut -d':' -f2`
- printf '%s = %s \n' "$talimat" "$ack"
- fi
- 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(){
- # güncellemede atlanacak paketler.
- esgec=(xorg xorg-font xorg-proto kernel-lts vlc)
- local kpkt
- local pk_guncelle
- mps -GG
- mps -G
- for kpkt in `mps -kl`;do
- pk_guncelle="e"
- case "${esgec[@]}" in *"$kpkt"*) pk_guncelle="h" ;; esac
- if [ "$pk_guncelle" = "e" ];then
- paket_guncelle "$kpkt"
- else
- ryaz 31 $kpkt "güncellemesi atlandı"
- fi
-
- 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"
- ryaz 33 "$1 sürümü güncel"
- else
- if [ "$ksurum" = "$dusuk" ];then
- durum="yukselt"
- else
- durum="dusur"
- fi
- gun_onay="h"
- if [ "$durum" <> "guncel" ];then
- while true; do
- ryaz 34 "$1 sürüm $durum""me işlemi uygulanacak. $ksurum <> $version ";read -p "e veya h-> " eh
- case $eh in
- [Ee]* ) gun_onay="e"; break;;
- [Hh]* ) break;;
- * ) echo "e veya h";;
- esac
- done
- if [ "$gun_onay" = "e" ];then
- paket_sil "$1" "evet"
- paket_inkur_oto $1
- ryaz 33 "$1 sürüm güncellemesi yapıldı"
- else
- ryaz 31 "$1 sürüm güncellemesi yapılmadı"
- hataloglama "$1 sürüm güncellemesi yapılmadı"
- fi
- fi
- fi
-
- }
- devir_kontrol(){
- local kdevir release pkt dusuk yuksek durum gun_onay
- 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"
- ryaz 33 "$1 deviri güncel"
- else
- if [ "$kdevir" = "$dusuk" ];then
- durum="yukselt"
- else
- durum="dusur"
- fi
- gun_onay="h"
- if [ "$durum" <> "guncel" ];then
- while true; do
- ryaz 34 "$1 devir $durum""me işlemi uygulanacak. $kdevir <> $release ";read -p "e veya h-> " eh
- case $eh in
- [Ee]* ) gun_onay="e"; break;;
- [Hh]* ) break;;
- * ) echo "e veya h";;
- esac
- done
- if [ "$gun_onay" = "e" ];then
- paket_sil "$1" "evet"
- paket_inkur_oto $1
- ryaz 33 "$1 devir güncellemesi yapıldı"
- else
- ryaz 31 "$1 devir güncellemesi yapılmadı"
- hataloglama "$1 devir güncellemesi yapılmadı"
- fi
- fi
- fi
- }
-
- 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ı."
- hataloglama "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`"
-
- }
- bagimli_bilgi_dosyala(){
- rm -f "$1.gerekler.liste"
- 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 >> "$1.gerekler.liste"
- done
- fi
- echo "$1" >> "$1.gerekler.liste"
-
- }
- 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
- }
- log_analiz(){
- local zaman durum
- zaman=$1
- durum=$2
- if [ -f "/var/log/mps/mps.log" ];then
- cat $logdosya | grep "$zaman" | grep "$durum" | cut -d' ' -f3
- else
- ryaz 31 "mps.log bulunamadı!"
- hataloglama "mps.log bulunamadı!"
- fi
- }
- kurban_kurtar(){
- local dizin paket
- paket=$1
- if [ -f /var/lib/pkg/DB/$paket/kurulan ];then
- cat /var/lib/pkg/DB/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil
- for f in $(cat /tmp/$paket.sil) ; do
- dizin="${f%\'}"
- dizin="${dizin#\'}"
- if [ -d "$dizin" ];then
- for g in `ls "$dizin"` ; do
- if ! grep -Fxq " '$dizin/$g'" "/tmp/$paket.sil"
- then
- if [ -f /tmp/$paket.kurtar ];then
- rm /tmp/$paket.kurtar
- fi
- echo " '$dizin'" >> "/tmp/$paket.kurtar"
- fi
- done
- fi
- done
- if [ -f /tmp/$paket.kurtar ];then
- mv /var/lib/pkg/DB/$paket/kurulan /var/lib/pkg/DB/$paket/ilk.kurulan
- grep -v -F -x -f "/tmp/$paket.kurtar" "/tmp/$paket.sil" > /var/lib/pkg/DB/$paket/kurulan
- ryaz 32 "$paket kurban dosyaları kurtarıldı."
- else
- ryaz 32 "$paket kurban dosyası yok."
- fi
- rm -f /tmp/$paket.sil
- else
- ryaz 31 "kurulan paket yok!"
- hataloglama "kurulan paket yok!"
- fi
- }
- 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
- if [[ $(find $talimatname_dizin -name $1) ]];then
- echo "degil"
- else
- echo "tanimsiz"
- fi
- exit 1
- }
- 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
- if [ ! -f $kokdizin$LOGDIZIN/mps-hata.log ];then
- touch $kokdizin$LOGDIZIN/mps-hata.log
- fi
- if [ ! -f $kokdizin$LOGDIZIN/mps-git.log ];then
- touch $kokdizin$LOGDIZIN/mps-git.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ı!"
- hataloglama "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ı!"
- hataloglama "ilgili tarihce dosyası bulunamadı!"
- fi
- }
- sunucu_ayarla(){
- wget -q --spider "$1/paket.vt"
- yenisun="$1"
- if [ $? -eq 0 ]; then
- sed -i.bak 's/^\(sunucu=\).*/\1"xverix\/"/' /etc/mps.conf
- sed -i "s|xverix|$1|" /etc/mps.conf
- mps -sun
- else
- ryaz 31 "Tanımsız paket sunucusu!"
- hataloglama "Tanımsız paket sunucusu!"
- fi
- }
- loglama(){
- logdizin_kontrol
- echo "$(date +'%F %T') $1" >> "$kokdizin/$LOGDIZIN/mps.log"
- }
- hataloglama(){
- logdizin_kontrol
- echo "$(date +'%F %T') $1" >> "$kokdizin/$LOGDIZIN/mps-hata.log"
- }
- dosyadan_talimat_islem(){
- local dosya
- dosya=$1
- urlkont='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
- if [[ $dosya =~ $urlkont ]]
- then
- ryaz 32 "talimat linkten cekilecek"
- gdosya=`mktemp`
- wget $2 $dosya -O $gdosya
- dosya=$gdosya
- fi
- if [[ $2 =~ "-6" ]]; then
- ryaz 32 "talimat linkten cekilecek"
- gdosya=`mktemp`
- wget $2 $dosya -O $gdosya
- dosya=$gdosya
- fi
- if [ ! -f $dosya ];then
- ryaz 31 "$dosya talimat dosyasi yok!"
- hataloglama "$dosya talimat dosyasi yok!"
- exit 1
- fi
-
- local paketisim
- paketisim=`grep -ri 'name=' $dosya | cut -d'=' -f 2`
- if [ ! -n "$paketisim" ]; then
- ryaz 31 "paket ismi degiskeni bulunamadı!"
- hataloglama "paket ismi degiskeni bulunamadı!"
- exit 1
- fi
- if [ ! -f /root/talimatname/genel/$paketisim ];then
- mkdir /root/talimatname/genel/$paketisim
- cp -f $dosya /root/talimatname/genel/$paketisim/talimat
- ryaz 32 "$paketisim talimatı hazırlandı."
- else
- ryaz 31 "$paketisim talimatı zaten talimatnamede var!"
- hataloglama "$paketisim talimatı zaten talimatnamede var!"
- fi
- }
- talimat_olustur(){
- if [ "$1" = '?' ];then
- ryaz 34 "kullanım : mps -to paket_ismi"
- else
- local name
- name=$1
- mkdir -p $name
- tee "$name/talimat" > /dev/null <<EOF
- # description:x
- # url:x
- # packager:milisarge
- # Depends on:
- name=$name
- version=1
- release=1
- source=()
- build () {
- cd name-version
- ./autogen.sh
- ./configure --prefix=/usr
- make
- make DESTDIR=$PKG install
- }
- EOF
- ryaz 34 $name "talimatı oluşturuldu."
- fi
- }
- 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 >& $LOGDIZIN/mps-git.log
- if grep -q "Already\ up-to-date" $LOGDIZIN/mps-git.log; then
- ryaz 32 "git deposu güncel."
- else
- #ryaz 32 `cat $LOGDIZIN/mps-git.log`
- ryaz 32 "git deposu güncellendi."
- fi
- #baslangic betiklerinin guncellenmesi
- rsync -aviz -q --delete /sources/milis.git/rootfs/lib/services/* /lib/services/
- fi
- cd `dirname $talimatname_dizin`
- ryaz 33 "yerele eşitleniyor."
- rm -r $talimatname_dizin
- mkdir -p $talimatname_dizin
- rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/talimatname/ $talimatname_dizin
- rm -r `dirname $talimatname_dizin`/bin/*
- rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/bin/ `dirname $talimatname_dizin`/bin
- rm -r `dirname $talimatname_dizin`/ayarlar/*
- rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/ayarlar/ `dirname $talimatname_dizin`/ayarlar
- #ikili dosyaların /usr/bin altına kısayol atılması
- for i in /root/bin/*; do
- j=`basename $i`
- if [ ! -f /usr/bin/$j ];then
- ln -s /root/bin/$j /usr/bin/$j
- fi
- done
- ryaz 32 "yerele eşitleme tamam."
- }
- git_proje_kur(){
- local proje proj_dizin git_link
- git_link="https://github.com/milisarge"
- proje="$1"
- proj_dizin="/opt"
- mkdir -p $proj_dizin
- if [ -d "$proj_dizin/$proje" ];then
- cd $proj_dizin/$proje
- git pull
-
- if [ -f mops ];then
- . mops
- mops_gun
- fi
- else
- git clone "$git_link/$proje" "$proj_dizin/$proje"
- cd $proj_dizin/$proje
-
- if [ -f mops ];then
- . mops
- mops_kur
- mops_sil
- mops_gun
- fi
- fi
-
- }
- servis_kur(){
- cd /sources/milis.git/ayarlar/servisler
- if make kur-$1
- then
- ryaz 32 "$1 servisi kuruldu"
- else
- ryaz 31 "$1 servisi kurulum olumsuz!!!"
- hataloglama "$1 servisi kurulum olumsuz!!!"
- fi
- cd -
- }
- servis_sil(){
- cd /sources/milis.git/ayarlar/servisler
- if make sil-$1
- then
- ryaz 32 "$1 servisi silindi"
- else
- ryaz 31 "$1 servisi silme olumsuz!!!"
- hataloglama "$1 servisi silme olumsuz!!!"
- fi
- cd -
- }
- 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 $sunucu
- ryaz 32 "paket veritabanı güncelleniyor." "$paketdepo""paket.vt"
- if [ -f "$paketdepo""paket.vt" ];then
- mv "$paketdepo""paket.vt" "$paketdepo""paket.vt.eski"
- fi
- wget -q --show-progress -P "$paketdepo" "$sunucu""paket.vt"
- #rm /tmp/paket.vt*
- mps -kudo
- exit 1
- fi
- ryaz 31 "paket veritabanı güncelleme olumsuz."
- hataloglama "paket veritabanı güncelleme 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ışı"
- hataloglama "sunucu erişim dışı"
- exit 1
- fi
- }
- gitayar_kontrol(){
- if [ ! -f /root/.gitconfig ];then
- git_ssl_iptal
- git_otokimlik
- fi
- }
- kirik_kontrol_sistem(){
- local onek sonek
- onek="'"
- sonek="'"
- for paket in `ls /var/lib/pkg/DB/`
- do
- ryaz 33 $paket "kontrol ediliyor."
- kirik_kontrol_paket $paket
- ryaz 33 $paket "kontrol edildi."
- done
- }
- kirik_kontrol_paket(){
- local onek sonek
- onek="'"
- sonek="'"
- for kdosya in `kurulum_dosya_listele $1`
- do
- dosya=${kdosya#$onek}
- dosya=${dosya%$sonek}
- #echo "${dosya}"
- if [ -f $dosya ];then
- if [[ $(milis-ldd -d $dosya | grep not\ found) ]] ;then
- echo $kdosya
- fi
- fi
- done
- }
- kurulum_dogrulama(){
- for kuruland in `ls $VT`
- do
- if [ ! -f "$VT/$kuruland/kurulan" ]; then
- ryaz 32 "$kuruland hasarlı kurulum tesbiti!"
- rm -r $VT/$kuruland
- mps -i $kuruland
- mps -k "$paketdepo/$kuruland"*.mps.lz
- ryaz 32 "$kuruland hasarlı kurulum onarıldı."
- fi
- done
- }
- kurulum_dosya_listele(){
- cat "$VT/$1/kurulan"
- }
- # bir dosyanın kurulmuş hangi pakette olduğunu bulur.
- kurulan_dosya_bul(){
- grep -rli "$1" "$VT/" | cut -d "/" -f6
- }
- 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 -q --show-progress -P "$paketdepo" "$sunucu$cpaket"
- if [[ "$?" != 0 ]]; then
- ryaz 31 "indirme hatalı"
- hataloglama "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."
- hataloglama "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|sil)
- if [[ "$2" == "py-"* ]]; then
- pypaket=`echo "$2" | cut -d'-' -f 2`
- echo $pypaket "pip2 ile silinecek"
- pip uninstall $pypaket
- exit 1
- fi
- if [[ "$2" == "py3-"* ]]; then
- pypaket=`echo "$2" | cut -d'-' -f 2`
- echo $pypaket "pip3 ile silinecek"
- pip3 uninstall $pypaket
- exit 1
- fi
- paket_sil "$2" ;;
- -sz|zorsil)
- paket_sil "$2" "evet";;
- -S|silgrub)
- mps -bbd "$2"
- paket_sil_oto_onayli "$2.gerekler.liste" ;;
- -pa|ara)
- paket_ara "$2" ;;
- bul)
- kelime_bul "$2" ;;
- -d|--pkde)
- zorla_derle="yok"
- kurulum_onay="olumsuz"
- paket_derle "$2" ;;
- -zd|--pkzde)
- zorla_derle="evet"
- kurulum_onay="olumsuz"
- paket_derle "$2" ;;
- odkp)
- oto_derle_kur_paketle "$2" ;;
- -dk|--pkdk)
- paket_derle "$2" ;;
- -derlist)
- paket_derle_liste "$2" ;;
- -derle)
- paket_derle_kur "$2" ;;
- -ok|--pkok)
- paket_kur_oto "$2" ;;
- -okz)
- paket_kur_oto_zorla "$2" ;;
- -okl|--pkokl)
- paket_kur_liste "$2" ;;
- -oklz)
- paket_kur_liste_zorla "$2" ;;
- -kh)
- local templist
- templist=`mktemp`
- ls *.mps.lz > $templist
- mps -okz -H $templist ;;
- -ko|--pkko)
- paket_kur_oto2 "$2" ;;
- -kuruld)
- paket_inkur_liste_direk "$2" ;;
- -kurul)
- paket_inkur_liste "$2" ;;
- -kur)
- paket_inkur_oto "$2" ;;
- kur)
- if [[ "$2" == "py-"* ]]; then
- pypaket=`echo "$2" | cut -d'-' -f 2`
- echo $pypaket "pip2 ile kurulacak"
- pip install $pypaket
- exit 1
- fi
- if [[ "$2" == "py3-"* ]]; then
- pypaket=`echo "$2" | cut -d'-' -f 2`
- echo $pypaket "pip3 ile kurulacak"
- pip3 install $pypaket
- exit 1
- fi
- if [[ "$2" == *"mps.lz"* ]]; then
- if [ "$3" == "-kok" ] && [ -d "$4" ]; then
- kokdizin="$4"
- tekrarkur="evet"
- fi
- ikaynak="yerel"
- else
- paket_inkur_oto "$2"
- fi ;;
- #özel git projesi kurmak için
- gitkur)
- git_proje_kur "$2" ;;
- #ilgili paketin servisini kurar
- serkur)
- servis_kur "$2" ;;
- #ilgili paketin servisini siler
- sersil)
- servis_sil "$2" ;;
- kurkos)
- local pkt
- pkt="`find $talimatname_dizin -name $2`"
- if [ -f $pkt/$2.kur-kos ];then
- bash $pkt/$2.kur-kos
- else
- ryaz 31 "$2 kur-kos yok!"
- hataloglama "$2 kur-kos yok!"
- fi ;;
- koskur)
- local pkt
- pkt="`find $talimatname_dizin -name $2`"
- if [ -f $pkt/$2.kos-kur ];then
- bash $pkt/$2.kos-kur
- else
- ryaz 31 "$2 kos-kur yok!"
- hataloglama "$2 kos-kur yok!"
- fi ;;
- silkos)
- local pkt
- pkt="`find $talimatname_dizin -name $2`"
- if [ -f $pkt/$2.sil-kos ];then
- bash $pkt/$2.sil-kos
- else
- ryaz 31 "$2 sil-kos yok!"
- hataloglama "$2 sil-kos yok!"
- fi ;;
- kossil)
- local pkt
- pkt="`find $talimatname_dizin -name $2`"
- if [ -f $pkt/$2.kos-sil ];then
- bash $pkt/$2.kos-sil
- else
- ryaz 31 "$2 kos-sil yok!"
- hataloglama "$2 kos-sil yok!"
- fi ;;
- -kdl)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "(-kdl) paket ismi eksik"
- exit 1
- fi
- kurulum_dosya_listele "$2" ;;
- #kırık kontrol paket: bir paketin sistemde kırık kontrolü
- -kkp)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "(-kkp) paket ismi eksik"
- exit 1
- fi
- kirik_kontrol_paket "$2" ;;
- #kırık kontrol sistemi: sistemin bütün paketlerinin kırık kontrolü
- -kks)
- kirik_kontrol_sistem ;;
- -pak|--paketle)
- if [ ! "$2" ]; then
- ryaz 31 "paketlenecek dizin ismi eksik"
- hataloglama "paketlenecek dizin ismi eksik"
- exit 1
- fi
- yeniden_paketle "$2" ;;
- -psk|--paksiskur)
- if [ ! "$2" ]; then
- ryaz 31 "paket liste yok"
- hataloglama "paket liste yok"
- exit 1
- fi
- if [ ! "$3" ]; then
- ryaz 31 "hedef dizin yok"
- hataloglama "hedef dizin yok"
- exit 1
- fi
- sistem_kur "$2" "$3" ;;
- -po)
- pvt_olustur ;;
- -os|--pkos)
- if [ ! "$2" ]; then
- ryaz 31 "silme listesi yok"
- hataloglama "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 ;;
- sun)
- if [ ! "$2" ]; then
- ryaz 31 "sunucu bilgi eksik"
- hataloglama "sunucu bilgi eksik"
- exit 1
- fi
- sunucu_ayarla "$2" ;;
- -bb|--pkbb)
- bagimli_bilgi "$2" | column -t;;
- -bbd)
- bagimli_bilgi_dosyala "$2" ;;
- -tb|--pktb)
- ters_bagimli "$2" ;;
- -tbk|--pktbk)
- ters_bagimli_kontrol "$2" ;;
- -talb|--talb)
- talimat_bilgi "$2" | column -t;;
- -to)
- if [ ! "$2" ]; then
- ryaz 31 "talimat ismi eksik"
- hataloglama "talimat ismi eksik"
- exit 1
- fi
- talimat_olustur "$2" ;;
- log)
- local logyardim
- logyardim="mps log zaman durum (ör: mps log 2017-01-01 silindi)"
- if [ ! "$2" ]; then
- ryaz 31 "zaman parametresi eksik"
- hataloglama "zaman parametresi eksik"
- ryaz 32 $logyardim
- exit 1
- fi
- if [ ! "$3" ]; then
- ryaz 31 "durum parametresi eksik"
- hataloglama "durum parametresi eksik"
- ryaz 32 $logyardim
- exit 1
- fi
- log_analiz "$2" "$3" ;;
- guncelle)
- mps -GG && mps -G ;;
- -Ggit|-GG)
- git_guncelle ;;
- -G|--pvtg)
- paketvt_guncelle
- mps -kudo ;;
- #komple kurulu sistemin guncellenmesi
- -GS)
- sistem_guncelle ;;
- #tekil paket guncelleme-single package updating
- -g|--pkgu)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "paket ismi eksik"
- exit 1
- fi
- local durum
- durum=`kurulu_kontrol "$2"`
- if [ "$durum" = "kurulu" ]; then
- paket_guncelle "$2"
- elif [ "$durum" = "degil" ]; then
- ryaz 31 "$2 paketi kurulu degil!"
- hataloglama "paketi kurulu degil!"
- else
- ryaz 31 "$2 paketi tanımsız!"
- hataloglama "paketi tanımsız!"
- fi;;
- #bagimliliklariyla beraber paket guncelleme-package updating with depencies
- -go|--pkgo)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "paket ismi eksik"
- exit 1
- fi
- paket_guncelle_oto "$2";;
- -kk|--kurulu-kontrol)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "paket ismi eksik"
- exit 1
- fi
- ryaz 31 `kurulu_kontrol "$2"`;;
- -kudo)
- kurulum_dogrulama ;;
- -kdk)
- kurban_kurtar $2 ;;
- -suko)
- sunucu_kontrol ;;
- -pot)
- paketsiz_talimatlar ;;
- -dota)
- dosyadan_talimat_islem $2 $3 ;;
- -cf|--config-file)
- if [ ! "$2" ]; then
- echo "ayardosyası gerek $1"
- exit 1
- fi
- ayar_dosyasi="$2"
- shift ;;
- # bir dosyanın kurulmuş hangi pakette olduğunu bulur
- -hp)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- exit 1
- fi
- kurulan_dosya_bul "$2";;
- -tro)
- tarihce_yap ;;
- -trot)
- temel_tarihce="evet"
- tarihce_yap ;;
- -try)
- if [ ! "$2" ]; then
- ryaz 31 "tarihce dosyasi eksik $1"
- hataloglama "tarihce dosyasi eksik $1"
- exit 1
- fi
- tarihce_yukle "$2"
- shift ;;
- -trl)
- tarihce_liste ;;
- dos)
- tarihce_yukle "temel" ;;
- -trs)
- if [ ! "$2" ]; then
- ryaz 31 "parametre eksik $1"
- hataloglama "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 veritabanını günceller
- -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(){
- if [ `id -u` = 0 ] ; then
- 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:" "$2"
- #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!"
- hataloglama "paket sunucuda yok!"
- fi
- else
- ryaz 31 "$2 paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )"
- hataloglama "$2 paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )"
- fi
- else
- ryaz 32 "$2 paketi zaten kurulu!"
- hataloglama "$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"
- elif [ "$kkont" = "kurulu" ];then
- 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
- else
- if [ "$tekrarkur" = "evet" ];then
- while true; do
- ryaz 31 "$2 paketi talimatname dışı.Yine de kurulsun mu? (kokdizin=$kokdizin) "
- read -p "e veya h -> " eh
- case $eh in
- [Ee]* ) icerik_ekle "$2"; break;;
- [Hh]* ) break;;
- * ) echo "e veya h";;
- esac
- done
- fi
- fi
- else
- ryaz 31 "yerelde mps paketi bulunamadı."
- fi
- fi
- else
- sudo mps "$@"
- fi
- }
- ana "$@"
- #31 kirmizi
- #32 yesil
- #33 sari
- #34 mavi
- #34 mor
|