1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842 |
- #!/bin/bash
- . /etc/mpsd.conf
- if [ -f /etc/mps.conf ];then
- . /etc/mps.conf
- fi
- . /root/bin/fonks.sh
- versiyon="1.1.7 Milis Paket Sistemi"
- iletisim="milisarge@gmail.com"
- paketdepo="/depo/paketler/"
- if [ -z ${sunucu+:} ]; then
- sunucu="127.0.0.1:8000/"
- fi
- if [ -z ${git_sunucu+:} ]; then
- git_sunucu="https://github.com/milisarge/malfs-milis"
- fi
- ikaynak=""
- betikad=${0##*/}
- kurulum_onay="evet"
- talimatname="/root/talimatname"
- anatalimatname="/sources/milis.git/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
- if [ -z ${tpk+:} ]; then
- lokal="evet"
- fi
- if [ -z ${lokal+:} ]; then
- lokal="tr"
- fi
- if [ -z ${docsil+:} ]; then
- docsil="evet"
- fi
- if [ -z ${yerelsil+:} ]; then
- yerelsil="silme"
- fi
- if [ -z ${ektalimatname+:} ]; then
- ektalimatname="/root/talimatlar"
- [ ! -d /root/talimatlar ] && mkdir -p /root/talimatlar
- fi
- if [ -z ${sunucular+:} ]; then
- declare -a sunucular=("paketler.milislinux.org")
- awk ' {print;} NR == 1 { print "sunucular=(paketler.milislinux.org/)"; }' /etc/mps.conf > /etc/mps2.conf
- mv /etc/mps2.conf /etc/mps.conf
- fi
- if [ -z ${silme_esgec+:} ]; then
- declare -a silme_esgec=()
- fi
- # Türkçe Mesajlar
- _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ı!"
- _dosya_yolu_bulunamadi="dosya yolu bulunamadı!"
- _shasum_uyumsuzluk="shasum uyumsuzluğu tespit edildi!"
- _gerekler_belirleniyor="bağımlılıkları belirleniyor."
- _paket_kuruldu="paketi kuruldu."
- _paket_kurulu_degil="paketi kurulu değil!"
- _paket_silindi="paketi silindi."
- _paket_silinsinmi="paketi kaldırılsın mı?"
- _paket_tanimsiz="paketi tanımsız!"
- _paket_bulunamadi="ilgili paket bulunamadı!"
- _paketvt_guncelleniyor="paket veritabanı güncelleniyor."
- _paket_onbellek_depoda_var="paketi önbellek depoda bulunmakta."
- _paket_depoda_yok="paket depoda bulunmuyor ve gereksiz,"
- _siliniyor="siliniyor"
- _git_guncelleniyor="git sunucudan güncelleme çekiliyor."
- _git_guncel="git deposu güncel"
- _git_guncellendi="git deposu güncellendi."
- _yerel_esitlendi="yerele eşitleme tamam."
- _yerel_esitleniyor="yerele eşitleniyor."
- _devir_kontrol_iptal="devir kontrolü iptal edildi!"
- _surum_kontrol_iptal="sürüm kontrolü iptal edildi!"
- _zaten="zaten"
- icerik_ekle(){
- if [ -f "$1" ];then
- paketad=`echo "$1" | cut -d'#' -f1`
- paketad=`basename $paketad`
- ryaz 34 $paketad" paketi kuruluyor-> $kokdizin"
- if [ -f /usr/bin/bsdtar ];then
- bsdtar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log
- else
- tar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log
- fi
- #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 &&
- if [ -f /usr/bin/bsdtar ];then
- bsdtar xf $1 -C kur.$paketad
- else
- tar xf $1 -C kur.$paketad
- fi
- #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$VT/"$paketad" &&
- cp -v -afr kur.$paketad/* $kokdizin > kur.$paketad/kurulan
- cp kur.$paketad/kurulan /tmp/ &&cat kur.$paketad/kurulan | cut -d '>' -f2 > $kokdizin$VT/"$paketad"/kurulan &&
- #mv kur.$paketad/.MTREE $VT/"$paketad"/files &&
- mv kur.$paketad/.META $kokdizin$VT/"$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" $_paket_kuruldu"
- loglama "$paketad $_paket_kuruldu"
- else
- ryaz 31 "icerik_ekle:paket konum parametresi boş!!!"
- exit 1
- fi
-
- }
- paket_sil(){
- local paket kkont sil_onay oto_silme
- local _etkilenen=()
- paket="$1"
- tersbag_goster="hayir"
- if [ "$2" ]; then
- oto_silme="$2"
- fi
- if [ "$3" ]; then
- tersbag_goster="evet"
- fi
- if [ "$tpk" = "evet" ] && [ -d "$talimatname/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 "$VT/$paket/kurulan" ];then
- #dizin koruma
- etkilenen_kurtar $1
- cat $VT/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil
- if [ "$tersbag_goster" = "evet" ];then
- ryaz 31 "ters bagimliliklar"
- ryaz 31 "------------------"
- ters_bagimli_bilgi "$paket"
- ryaz 31 "------------------"
- fi
- #_etkilenen=$(silme_etkilenen_kontrol /tmp/$paket.sil $paket)
-
- #if [ -f "${_etkilenen[0]}" ];then
- ryaz 31 "etkilenen dosyalar"
- ryaz 31 "------------------"
- silme_etkilenen_kontrol /tmp/$paket.sil $paket
- ryaz 31 "------------------"
- #fi
- if [ "$oto_silme" = "evet" ];then
- sil_onay="e"
- else
- while true; do
- ryaz 34 $paket" $_paket_silinsinmi";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
- _konum=$(talimat_bul $paket)
- [ -f "$_konum/$paket.kos-sil" ] && bash "$_konum/$paket.kos-sil"
- xargs rm -r -f < /tmp/$paket.sil &&
- rm -r -f "$VT/$paket" &&
- [ -f "$_konum/$paket.sil-kos" ] && bash "$_konum/$paket.sil-kos"
- ryaz 34 $paket" $_paket_silindi"
- loglama "$paket $_paket_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 "$_zaten $_paket_kurulu_degil"
- hataloglama "$_zaten $_paket_kurulu_degil"
- else
- ryaz 32 "$_paket_tanimsiz"
- hataloglama "$_paket_tanimsiz"
- fi
- fi
- }
- paket_ara(){
- paket="$1"
- for pkt in `cat /depo/paketler/paket*.vt | grep $paket | awk '{print $1}'`; do
- pakdesc=$(find $talimatname -name "$pkt" | xargs -I % sed -n '1{p;q}' %/talimat | sed s'/# Tanım: //g');
- ryaz 34 "$pkt - $pakdesc";
- done
- }
- paket_liste(){
- mps_paketler_listesi="/tmp/mps_paketler_listesi"
- local cikti _grup
- _grup="yok"
- cikti="--normal"
- if [ "$1" ]; then
- if [ "$1" == "--json" ];then
- cikti="--json"
- else
- _grup="$1"
- fi
- fi
- if [ "$2" ]; then
- cikti="$2"
- fi
- #echo "cikti:$cikti"
- #echo "grup:$_grup"
- #exit 1
- if [ $_grup == "yok" ];then
- if [ $cikti == "--json" ];then
- [ -f $mps_paketler_listesi ] && rm -rf $mps_paketler_listesi
- for pkt in $(cat /depo/paketler/paket*.vt | awk '{print $1}'); do
- printf "$pkt," >> $mps_paketler_listesi
- done
- sed -i s'/.$//' $mps_paketler_listesi
- else
- cat /depo/paketler/paket*.vt | awk '{print $1}'
- fi
- else
- if [ $cikti == "--json" ];then
- grup_paketler_liste $_grup $cikti
- else
- grup_paketler_liste $_grup
- fi
- fi
- }
- paket_grup_liste(){
- mps_paket_grup_listesi="/tmp/mps_paket_grup_listesi"
- local cikti
- cikti="normal"
- if [ "$1" ]; then
- cikti="$1"
- fi
- _gruplar=`grep -ri "Grup:" $talimatname/* $ektalimatname/* | cut -d':' -f3 | sed 's/^ *//;s/ *$//' | sort -u`
- if [ $cikti == "--json" ];then
- [ -f $mps_paket_grup_listesi ] && rm -rf $mps_paket_grup_listesi
- #printf "[" >> $mps_paket_grup_listesi
- for grp in $(grep -ri "Grup:" $talimatname/* $ektalimatname/* | cut -d':' -f3 | sed 's/^ *//;s/ *$//' | sort -u); do
- printf "$grp," >> $mps_paket_grup_listesi
- done
- sed -i s'/.$//' $mps_paket_grup_listesi
- #printf "]" >> $mps_paket_grup_listesi
- else
- echo $_gruplar
- fi
- }
- grup_paketler_liste(){
- mps_grup_paketler_listesi="/tmp/mps_grup_paketler_listesi"
- local cikti _grup _paketler
- _grup="$1"
- cikti="normal"
- if [ "$2" ]; then
- cikti="$2"
- fi
- _paketler=`grep -rli "Grup: $_grup" $talimatname/* $ektalimatname/* | cut -d':' -f3 | sed 's/^ *//;s/ *$//' | xargs -I {} dirname {} | xargs -I {} basename {} | sort -u`
- if [ $cikti == "--json" ];then
- [ -f $mps_grup_paketler_listesi ] && rm -rf $mps_grup_paketler_listesi
- #printf "[" >> $mps_paket_grup_listesi
- for pkt in $(grep -rli "Grup: $_grup" $talimatname/* $ektalimatname/* | cut -d':' -f3 | sed 's/^ *//;s/ *$//' | xargs -I {} dirname {} | xargs -I {} basename {} | sort -u); do
- printf "$pkt," >> $mps_grup_paketler_listesi
- done
- sed -i s'/.$//' $mps_grup_paketler_listesi
- #printf "]" >> $mps_paket_grup_listesi
- else
- echo $_paketler
- fi
- }
- kelime_bul(){
- grep --color -H -ri "$1" $talimatname
- grep --color -H -ri "$1" $ektalimatname
- }
- paket_bilgi2(){
- local paket kkont
- kkont=`kurulu_kontrol "$1"`
- if [ "$kkont" = "kurulu" ];then
- paket="$1"
- cat "$VT/$paket"/META
- elif [ "$kkont" = "degil" ];then
- echo "$_paket_kurulu_degil"
- else
- echo "$_paket_tanimsiz"
- fi
- }
- paket_bilgi(){
- local paket kkont cikti _yaz _yaz_uyari _yaz_son
- cikti="--renkli"
- _yaz_son=""
- if [ "$2" ]; then
- cikti="$2"
- fi
- if [ $cikti == "--html" ];then
- _yaz="echo"
- _yaz_uyari="echo"
- _yaz_son="<br>"
- elif [ $cikti == "--renkli" ];then
- _yaz="ryaz 32"
- _yaz_uyari="ryaz 31"
- else
- cikti="normal"
- fi
-
- kkont=`kurulu_kontrol "$1"`
- if [ "$kkont" = "kurulu" ];then
- paket="$1"
- satir=`sed -n '1p' < $VT/"$paket"/META`
- $_yaz "ADI :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '2p' < $VT/"$paket"/META`
- $_yaz "TANIM :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '3p' < $VT/"$paket"/META`
- $_yaz "URL :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '5p' < $VT/"$paket"/META`
- $_yaz "PAKETÇİ :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '6p' < $VT/"$paket"/META`
- satir=${satir:1:${#satir}-1}
- printf -v boyut '%d\n' "$satir" 2>/dev/null
- if [ $boyut -lt 1048576 ];then
- boyut=$(($boyut/1024))
- _ek="kb"
- else
- boyut=$(($boyut/1024/1024))
- _ek="mb"
- fi
- $_yaz "KUR BOYUT :" "$boyut $_ek (tahmini)" #$_yaz_son
- satir=`sed -n '7p' < $VT/"$paket"/META`
- $_yaz "SÜRÜM :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '8p' < $VT/"$paket"/META`
- $_yaz "DEVİR :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '9p' < $VT/"$paket"/META`
- $_yaz "PAKETLENME :" `date -d @${satir:1:${#satir}-1}` #$_yaz_son
- satir=`sed -n '10p' < $VT/"$paket"/META`
- $_yaz "MİMARİ :" ${satir:1:${#satir}-1} #$_yaz_son
- satir=`sed -n '11p' < $VT/"$paket"/META`
- $_yaz "GRUP :" ${satir:1:${#satir}-1} #$_yaz_son
- elif [ "$kkont" = "degil" ];then
- _konum=$(talimat_bul $1)
- _ad=$(grep -ri "isim=" $_konum/talimat | head -1 | cut -d '=' -f2)
- _tanim=$(grep -ri "# Tanım:" $_konum/talimat | cut -d ':' -f2-)
- _url=$(grep -ri "# Url:" $_konum/talimat | cut -d ':' -f2-)
- _paketci=$(grep -ri "# Paketçi:" $_konum/talimat | cut -d ':' -f2-)
- _surum=$(grep -ri "surum=" $_konum/talimat | head -1 | cut -d '=' -f2)
- _devir=$(grep -ri "devir=" $_konum/talimat | head -1 | cut -d '=' -f2)
- _grup=$(grep -ri "# Grup:" $_konum/talimat | head -1 | cut -d ':' -f2)
- $_yaz "ADI :" ${_ad} #$_yaz_son
- $_yaz "TANIM :" ${_tanim} #$_yaz_son
- $_yaz "URL :" ${_url} #$_yaz_son
- $_yaz "PAKETÇİ :" ${_paketci} #$_yaz_son
- $_yaz "SÜRÜM :" ${_surum} #$_yaz_son
- $_yaz "DEVİR :" ${_devir} #$_yaz_son
- $_yaz "GRUP :" ${_grup} #$_yaz_son
- $_yaz_uyari "$1 $_paket_kurulu_degil"
- else
- $_yaz_uyari "$1 $_paket_tanimsiz"
- fi
- }
- paket_bilgi_html(){
- _dosya=$1
- icerik="<table border=1>"
- while IFS='' read -r satir || [[ -n "$line" ]]; do
- icerik+="<tr>"
- _sutun_baslik="$(echo $satir | cut -d':' -f1)"
- _sutun_deger="$(echo $satir | cut -d':' -f2-)"
-
- #icerik+="<td>$_sutun_deger</td>"
- if [ "${_sutun_baslik}" != "${_sutun_deger}" ];then
- icerik+="<td>$_sutun_baslik</td>"
- icerik+="<td>$_sutun_deger</td>"
- fi
- icerik+="</tr>"
- done < "$_dosya"
-
- if [[ "${_sutun_baslik}" == *"${_paket_kurulu_degil}"* ]] || [[ "${_sutun_baslik}" == *"${_paket_tanimsiz}"* ]];then
- icerik+="<tr bgcolor='red'><td>DURUM</td><td>${_sutun_baslik}</td></tr>"
- else
- icerik+="<tr bgcolor='green'><td>DURUM</td><td>kurulu</td></tr>"
- fi
- icerik+="</table>"
- echo "$icerik" > $_dosya.html
- }
- yeniden_paketle(){
- cd $1
- bsdtar -r -f ../"$1".mps .META
- bsdtar -r -f ../"$1".mps *
- cd ..
- lzip -9 "$1".mps
- }
- talimat_bul(){
- if [ -z "$1" ];then echo "$_paket_adi_gerekli";exit 1;fi
- local _apaket="$1"
- _bulunan=()
- #_bulunan=$(find $talimatname $ektalimatname -name $_apaket)
- _bulunan=()
- while IFS= read -r -d $'\0'; do
- _bulunan+=("$REPLY")
- done < <(find $talimatname $ektalimatname -name ${_apaket} -print0)
- if [ ${#_bulunan[@]} -gt 1 ];then echo "$(date +'%F %T') ${_apaket} $_talimat_sayisi_fazla" >> $LOGDIZIN/mps-hata.log;fi
- if [ ${_bulunan[0]} ] ; then
- if [ -f "${_bulunan[0]}/talimat" ];then
- echo "${_bulunan[0]}"
- else
- echo "0"
- fi
- else
- echo "-1"
- fi
- }
- paket_analiz(){
- _gcc_uyumsuz_paketler="/tmp/gcc_uyumsuz_paketler"
- _pkvt="paket.vt"
- if [ -z "$1" ];then echo "$_paket_adi_gerekli";exit 1;fi
- local pkt _apaket _konum
- pkt=$1
- if [ -f $pkt ];then
- _apaket=$(basename $pkt |cut -d'#' -f 1)
- _konum=$(anatalimat_bul $_apaket)
- _depo_sha=$(cat "$paketdepo$_pkvt" | grep " $_apaket#" | cut -d' ' -f2)
- _paket_sha=$(sha1sum $pkt | cut -d ' ' -f1)
- if [[ $_konum != "-1" && $_konum != "0" ]];then
- source $_konum/talimat
- if [ -f $pkt ];then
- bsdtar xf $pkt .META
- if [ -f $PWD/.META ];then
- mv .META /tmp/$_apaket.META
- satir=$(sed -n '7p' < /tmp/$_apaket.META)
- psurum=${satir:1:${#satir}-1}
- satir2=$(sed -n '8p' < /tmp/$_apaket.META)
- pdevir=${satir2:1:${#satir2}-1}
- deposurum=`echo -e "$surum" | sort -V | head -n1`
- depodevir=`echo -e "$devir" | sort -V | head -n1`
- _surumbilgi="gereken_sürüm:$deposurum ! paket_sürüm:$psurum"
- _devirbilgi="gereken_devir:$depodevir ! paket_devir:$pdevir"
- ryaz 33 "$pkt"
- if [ "$deposurum" != "$psurum" ];then
- ryaz 31 "$_surumbilgi"
- echo "$pkt" >> $_gcc_uyumsuz_paketler
- fi
- if [ "$depodevir" != "$pdevir" ];then
- ryaz 31 "$_devirbilgi"
- echo "$pkt" >> $_gcc_uyumsuz_paketler
- fi
- if [ "$_paket_sha" != "$_depo_sha" ];then
- ryaz 31 "$_shasum_uyumsuzluk"
- echo "$pkt" >> $_gcc_uyumsuz_paketler
- fi
- else
- ryaz 31 "$_apaket depoda yok. mps -i $_apaket"
- fi
- else
- ryaz 31 "$_apaket depoda yok. mps -i $_apaket"
- fi
- else
- ryaz 31 "$1 $_talimat_bulunamadi"
- fi
- rm -f /tmp/$_apaket.META
- else
- ryaz 31 "$pkt $_dosya_yolu_bulunamadi"
- exit 0
- fi
- }
- paketdepo_analiz(){
- paketvt_guncelle
- _aranandepo=$1
- _uyumsuz_paketler="/tmp/uyumsuz_paketler"
- if [[ -d $_aranandepo && ! -f $_aranandepo ]];then
- rm -f $_uyumsuz_paketler
- _gcc_uyumsuz_paketler="/tmp/gcc_uyumsuz_paketler"
- for pkt in $(ls $_aranandepo*mps.lz);do
- paket_analiz $pkt
- echo "-"
- done
- echo "tarama bitti"
- sort -u $_gcc_uyumsuz_paketler > $_uyumsuz_paketler
- echo "file://$_uyumsuz_paketler"
- exit 0
- else
- ryaz 31 "$1 $_dizin_bulunamadi"
- exit 1
- fi
- }
- anatalimat_bul(){
- if [ -z "$1" ];then echo "$_paket_adi_gerekli";exit 1;fi
- local _apaket="$1"
- _bulunan=()
- _bulunan=()
- while IFS= read -r -d $'\0'; do
- _bulunan+=("$REPLY")
- done < <(find $anatalimatname -name ${_apaket} -print0)
- if [ ${#_bulunan[@]} -gt 1 ];then echo "$(date +'%F %T') ${_apaket} $_talimat_sayisi_fazla" >> $LOGDIZIN/mps-hata.log;fi
- if [ ${_bulunan[0]} ] ; then
- if [ -f "${_bulunan[0]}/talimat" ];then
- echo "${_bulunan[0]}"
- else
- echo "0"
- fi
- else
- echo "-1"
- fi
- }
- derleme_listyap_kontrol(){
-
- if [ -f tumgerekler.liste ];then
- mv tumgerekler.liste tumgerekler.eski.liste
- fi
- if [ -f gerek.liste ];then
- mv gerek.liste gerek.eski.liste
- fi
- touch tumgerekler.liste
- touch gerek.liste
- }
- gerekleri_dosyala(){
- local _altgerek _konum
- _altgerek="$1"
- _konum=$(talimat_bul $_altgerek)
- if [[ $konum != "-1" && $konum != "0" ]];then
- printf "."
- echo "$_altgerek" >> tumgerekler.liste
- if [ ! -d "$talimatname/temel/$_altgerek" ];then
- echo "$_konum" >> gerek.liste
- fi
- else
- ryaz 31 "$1 $_talimat_bulunamadi"
- fi
- }
- dly_yeni(){
- dlymap["$1"]=1
- altgerekler=($(bagimlilar $1))
- if [[ "$altgerekler" != "0" && "$altgerekler" != "-1" ]];then
- for altgerek in ${altgerekler[@]};do
- if [[ ! ${dlymap["$altgerek"]} ]] ; then
- dly_yeni $altgerek
- fi
- done
- dlyD+=("$1")
- gerekleri_dosyala "$1"
- else
- ryaz 31 "$1 talimatı bulunamadı."
- exit 1
- fi
- }
- kly_yeni(){
- #[ ! ${klyD[0]} ] && klyD+=("$1")
- [ ! -d "$VT/$1" ] && klymap["$1"]=1
- altgerekler=($(bagimlilar $1))
- if [[ "$altgerekler" != "0" && "$altgerekler" != "-1" ]];then
- for altgerek in ${altgerekler[@]};do
- if [ ! -d "$VT/$altgerek" ] ;then
- if [[ ! ${klymap["$altgerek"]} ]] ; then
- #klyD+=("$altgerek")
- #echo ${klyD[-1]}
- kly_yeni $altgerek
- fi
- fi
- done
- klyD+=("$1")
- gerekleri_dosyala ${klyD[-1]}
- else
- ryaz 31 "$1 talimatı bulunamadı."
- exit 1
- fi
- }
- derleme_listyap(){
- ryaz 32 "$1 $_gerekler_belirleniyor"
- local pkt dlyp
- dlyD=()
- declare -A dlymap
- derleme_listyap_kontrol
- dly_yeni $1
- echo "${dlyD[@]}"
- }
- kurulum_listyap(){
- klyD=()
- declare -A klymap
- kly_yeni "$1"
- }
- derleme_listbilgi(){
- ryaz 34 "yapim asamasında"
- }
- # -derlist
- paket_derle_liste(){
- for dpktyer in `cat $1`;do
- dpkt=`basename $dpktyer`
- echo $dpkt "derleniyor...."
- zorla_derle="yok"
- paket_derle $dpktyer
- done
- }
- #otomatik derle kontrollu kur
- # -derle
- paket_derle_kur(){
- tekrarkur="hayir"
- derleme_listyap_kontrol
- derleme_listyap "$1" && paket_derle_liste gerek.liste
- }
- # odkp
- oto_derle_kur_paketle(){
- paketvt_guncelle
- # mps -kur
- _konum=$(talimat_bul $1)
- paket_inkur_oto $1 &&
- if [ -f "$_konum/$1.sira" ];then
- ryaz 32 "sıralı derleme yapılacak."
- paket_derle_liste "$_konum/$1.sira"
- else
- paket_derle_kur $1
- fi
- rm -rf {gerek.eski,gerek,kurulanlar,silinenler,tumgerekler.eski,tumgerekler}.liste
- }
- 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" && paket_inkur_oto "$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" && paket_inkur_oto "$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(){
- derleme_listyap_kontrol
- derleme_listyap "$1" > /dev/null && mps -ok gerek.liste
- }
- paket_inkur_liste_direk(){
- local kpkt
- for kpkt in `cat $1`;do
- agdan_kur "$kpkt"
- done
- }
- paket_inkur_liste(){
- local kpkt
- for kpkt in `cat $1`;do
- paket_inkur_oto "$kpkt"
- done
- }
- # otomatik kontrollu kur
- # -kur
- paket_inkur_oto(){
- local konum anakonum kurdurum
- derleme_listyap_kontrol
- #derleme_listyap "$1" | grep "bulunamadı"
- kurulum_listyap "$1" | grep "bulunamadı"
- local kpkt
- for paketkonum in `cat gerek.liste`;do
- # önce talimat-anatalimat karşılaştırması yapılır.
- kpkt=`basename $paketkonum`
- konum="`find "$talimatname" -name $kpkt`"
- anakonum="`find "$anatalimatname" -name $kpkt`"
- ekkonum="`find "$ektalimatname" -name $kpkt`"
- if [ -f "$anakonum/talimat" ];then
- if [ "`dosya_karsilastir $konum/talimat $anakonum/talimat`" = "evet" ];then
- agdan_kur "$kpkt"
- else
- ryaz 31 "$kpkt talimat eşitsizliğinden atlandı."
- fi
- elif [ -f "$ekkonum/talimat" ];then
- agdan_kur "$kpkt"
- else
- ryaz 31 "$kpkt talimatı bulunamadı!"
- fi
- done
- if [ $(kurulu_kontrol $1) = "degil" ];then
- kurdurum="kurulu değil"
- elif [ $(kurulu_kontrol $1) = "kurulu" ];then
- kurdurum="kurulu"
- ryaz 32 "\n$1 $kurdurum "
- else
- kurdurum="$_paket_tanimsiz"
- fi
- rm -rf *.liste
- }
- 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
- #for spkt in `perl -e 'print reverse <>' $1`;do
- for spkt in $(tac $1);do
- paket_sil "$spkt" "hayir" "evet"
- done
- }
- paket_sil_gerekli(){
- local _onay
- if [ -d $VT/$1 ];then
- bagimli_bilgi_dosyala "$1"
- rm -f /tmp/$1.silinecekler
- touch /tmp/$1.silinecekler
- for pkaltb in $(cat /tmp/$1.gerekler.liste);do
- if [ -d $VT/$pkaltb ];then
- tbsonuc=()
- tbsonuc=$(ters_bagimli_bilgi $pkaltb "kurulu")
- if [ ${#tbsonuc[0]} = 0 ];then
- ryaz 32 "$pkaltb silinebilir."
- echo "$pkaltb" >> /tmp/$1.silinecekler
- elif [ "$tbsonuc" = "$1" ];then
- ryaz 32 "$pkaltb silinebilir."
- echo "$pkaltb" >> /tmp/$1.silinecekler
- else
- ryaz 31 "$pkaltb silinemez."
- echo "ters gerekleri: $tbsonuc"
- fi
- else
- ryaz 32 "$_zaten $pkaltb $_paket_kurulu_degil"
- fi
- done
- _onay="onay"
- # otomatik onay verme durum kontrolü
- if [ ! -z "$2" ];then _onay="$2";fi
- #cat /tmp/$1.silinecekler
- if [ $_onay = "oto" ];then
- paket_sil_oto "/tmp/$1.silinecekler"
- else
- paket_sil_oto_onayli "/tmp/$1.silinecekler"
- fi
- else
- ryaz 32 "$_zaten $1 $_paket_kurulu_degil"
- exit 1
- fi
- }
- paketsiz_talimatlar(){
- for talimatyol in `( ls -d $talimatname/genel/*/* & ls -d $ektalimatname/*/* ) | cat`;do
- #echo $talimat
- if [ -d $talimatyol ];then
- talimat=$(basename $talimatyol)
- if [[ ! $(cat $paketdepo/paket*.vt | grep $talimat#) ]] ;then
- if [ -d $talimatname/*/*/$talimat ];then
- ack=`grep -e '# Tanım:' $talimatname/genel/*/$talimat/talimat | cut -d':' -f2`
- elif [ -d $ektalimatname/*/$talimat ];then
- ack=`grep -e '# Tanım:' $ektalimatname/*/$talimat/talimat | cut -d':' -f2`
- fi
- printf '%s = %s \n' "$talimat" "$ack"
- fi
- fi
- done
- }
- paket_guncelle(){
- surum_kontrol $1 $2
- if [ -d "$VT/$1" ];then
- devir_kontrol $1 $2
- fi
- }
- paket_guncelle_oto(){
- derleme_listyap "$1" > /dev/null &&
- local kpkt
- for kpkt in `cat gerek.liste`;do
- durum=`kurulu_kontrol "$kpkt"`
- if [ "$durum" = "kurulu" ]; then
- paket_guncelle "$kpkt"
- fi
- done
- rm gerek.liste tumgerekler.liste
- }
- dongu_gosterge(){
- count=0
- total=$1
- pstr="[=======================================================================]"
- while [ $count -lt $total ]; do
- sleep 0.5 # yapılacak iş veya uyutulur.
- count=$(( $count + 1 ))
- pd=$(( $count * 73 / $total ))
- printf "\r%3d.%1d%% %.${pd}s" $(( $count * 100 / $total )) $(( ($count * 1000 / $total) % 10 )) $pstr
- done
- }
- guncelleme_tespit(){
- local _konum
- guncelleme_dosya="/tmp/mps.guncellenecekler"
- rm -f $guncelleme_dosya
- touch $guncelleme_dosya
- for kpaket in $(ls $VT/);do
- satir=$(sed -n '7p' < $VT/$kpaket/META)
- surum=${satir:1:${#satir}-1}
- satir2=$(sed -n '8p' < $VT/$kpaket/META)
- devir=${satir2:1:${#satir2}-1}
- #deposurum=$(grep " $kpaket#" /depo/paketler/paket.vt | cut -d' ' -f3 | cut -d'#' -f 2 | cut -d'-' -f1)
- _konum=$(talimat_bul $kpaket)
- if [[ "$_konum" = "0" || "$_konum" = "-1" ]];then
- ryaz 31 "$kpaket $_talimat_bulunamadi $_surum_kontrol_iptal"
- exit 1
- fi
-
- source $_konum/talimat
- deposurum=`echo -e "$surum" | sort -V | head -n1`
- depodevir=`echo -e "$devir" | sort -V | head -n1`
- #echo $kpaket " : $surum ---> $deposurum" "$devir ---> $depodevir"
- #sleep 3
- if [ "$surum" != "$deposurum" ];then
- printf "$kpaket -surum: ";echo "$surum ---> $deposurum"
- echo $kpaket >> $guncelleme_dosya
- elif [ "$devir" != "$depodevir" ];then
- printf "$kpaket -devir: ";echo "$devir ---> $depodevir"
- echo $kpaket >> $guncelleme_dosya
- fi
- done
- }
- sistem_guncelle(){
- count=0
- esgec=(xorg xorg-app xorg-font xorg-proto kernel-lts kernel-lts-src vlc)
- local kpkt
- local pk_guncelle
- total=`ls $VT | wc -l`
- pstr="[=======================================================================]"
- git_guncelle
- paketvt_guncelle
- GS_CIKTI="H"
- while [ $count -lt $total ]; do
- count=$(( $count + 1 ))
- pd=$(( $count * 73 / $total ))
- printf "\r%3d.%1d%% %.${pd}s" $(( $count * 100 / $total )) $(( ($count * 1000 / $total) % 10 )) $pstr
- kpkt=$(ls -rct $VT | tr " " "\n" | sed -n ${count}'p')
- pk_guncelle="e"
- if [[ "${esgec[*]}" =~ "${kpkt}" ]];then
- pk_guncelle="h"
- fi
- if [ "$pk_guncelle" = "e" ];then
- paket_guncelle "$kpkt" $GS_CIKTI
- #printf "."
- else
- [ $GS_CIKTI = "E" ] && ryaz 31 $kpkt "güncellemesi atlandı"
- #ryaz 31 "$kpkt atlandı"
- fi
- done
- ryaz 32 "\nSistem Güncellemesi Tamamlandı."
- }
- surum_kontrol(){
- local _konum pk_sil _paket
- _paket=$1
- GS_CIKTI="E"
- if [ "$2" ]; then
- GS_CIKTI="$2"
- fi
- local ksurum surum pkt dusuk yuksek durum
- durum="belirsiz"
- satir=`sed -n '7p' < $VT/$_paket/META`
- ksurum=${satir:1:${#satir}-1}
-
-
- _konum=$(talimat_bul $_paket)
- if [[ "$_konum" = "0" || "$_konum" = "-1" ]];then
- ryaz 31 "$_paket $_talimat_bulunamadi $_surum_kontrol_iptal"
- pk_sil="e"
- case "${silme_esgec[@]}" in *"$_paket"*) pk_sil="h" ;; esac
- if [ "$pk_sil" = "e" ];then
- ryaz 32 "$_paket $_paket_depoda_yok $_siliniyor"
- mps -sz $_paket
- else
- ryaz 32 "$_paket silinmesi es geçildi"
- fi
-
- else
-
- source $_konum/talimat
- dusuk=`echo -e "$ksurum\n$surum" | sort -V | head -n1`
-
- if [ "$ksurum" = "$surum" ];then
- durum="guncel"
- [ $GS_CIKTI = "E" ] && ryaz 33 "$_paket sürümü güncel"
- #printf "."
- else
- if [ "$ksurum" = "$dusuk" ];then
- durum="yukselt"
- else
- durum="dusur"
- fi
- gun_onay="h"
- if [ "$durum" != "guncel" ];then
- while true; do
- printf "\n"
- ryaz 34 "$_paket sürüm $durum""me işlemi uygulanacak. $ksurum <> $surum ";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
- if [ -d "$talimatname/temel/$_paket" ]; then
- kurulum_dogrulama_icerik $_paket
- tpk="hayir"
- paket_sil "$_paket" "evet"
- paket_indir $_paket
- pkt=`cat "$paketdepo""paket.vt" | grep "^$_paket " | cut -d' ' -f3`
- icerik_ekle "$paketdepo$pkt"
- else
- paket_sil "$_paket" "evet"
- paket_inkur_oto $_paket
- fi
- ryaz 33 "$_paket sürüm güncellemesi yapıldı"
- else
- ryaz 31 "$_paket sürüm güncellemesi yapılmadı"
- hataloglama "$_paket sürüm güncellemesi yapılmadı"
- fi
- fi
- fi
- fi
-
- }
- devir_kontrol(){
- local _konum pk_sil _paket
- _paket="$1"
- GS_CIKTI="E"
- if [ "$2" ]; then
- GS_CIKTI="$2"
- fi
- local kdevir devir pkt dusuk yuksek durum gun_onay
- durum="belirsiz"
- satir=`sed -n '8p' < $VT/$_paket/META`
- kdevir=${satir:1:${#satir}-1}
-
- _konum=$(talimat_bul $_paket)
- if [[ "$_konum" = "0" || "$_konum" = "-1" ]];then
- ryaz 31 "$_paket $_talimat_bulunamadi $_devir_kontrol_iptal"
- pk_sil="e"
- case "${silme_esgec[@]}" in *"$_paket"*) pk_sil="h" ;; esac
- if [ "$pk_sil" = "e" ];then
- ryaz 32 "$_paket $_paket_depoda_yok $_siliniyor"
- mps -sz $_paket
- else
- ryaz 32 "$_paket silinmesi es geçildi"
- fi
-
- else
-
- source $_konum/talimat
- dusuk=`echo -e "$kdevir\n$devir" | sort -V | head -n1`
-
- if [ "$kdevir" = "$devir" ];then
- durum="guncel"
- [ $GS_CIKTI = "E" ] && ryaz 33 "$_paket deviri güncel"
- #printf "."
- else
- if [ "$kdevir" = "$dusuk" ];then
- durum="yukselt"
- else
- durum="dusur"
- fi
- gun_onay="h"
- if [ "$durum" != "guncel" ];then
- while true; do
- printf "\n"
- ryaz 34 "$_paket devir $durum""me işlemi uygulanacak. $kdevir <> $devir ";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 "$_paket" "evet"
- paket_inkur_oto $_paket
- ryaz 33 "$_paket devir güncellemesi yapıldı"
- else
- ryaz 31 "$_paket devir güncellemesi yapılmadı"
- hataloglama "$_paket devir güncellemesi yapılmadı"
- fi
- fi
- fi
- fi
- }
- talimat_surum_takip(){
- local konum _takip_uzanti
- _takip_uzanti=".takip"
- konum=$(talimat_bul $1)
- if [[ $konum == "-1" || $konum == "0" ]];then
- ryaz 31 "$1 $_talimat_bulunamadi"
- exit 1
- else
- if [ -f "$konum/$1$_takip_uzanti" ];then
- source $konum/$1$_takip_uzanti
- if [ "`type -t surum_takip`" = "function" ];then
- ryaz 32 "$1 paketinin kaynak kod arşivleri inceleniyor..."
- surum_takip
- else
- ryaz 31 "$1 talimatının sürüm takip işlevi yok!"
- fi
- else
- ryaz 31 "$1 talimatının takip betiği yok!"
- fi
- fi
- }
- kaynak_kod_indir(){
- local konum adres adres2
- _kk_indir="wget --no-check-certificate -q --show-progress"
- konum=$(talimat_bul $1)
- if [[ $konum == "-1" || $konum == "0" ]];then
- ryaz 31 "$1 $_talimat_bulunamadi"
- exit 1
- else
- source $konum/talimat
- for adres in $kaynak;do
-
- urlkont='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
- if [[ $adres =~ $urlkont ]];then
- if [[ $adres =~ "::" ]];then
- adres2=$(echo $adres | cut -d':' -f-2)
- ryaz 32 "$adres2 indiriliyor."
- $_kk_indir $adres2
- else
- ryaz 32 "$adres indiriliyor."
- $_kk_indir $adres
- fi
- else
- ryaz 32 "$adres kopyalanıyor."
- [ -f $konum/$adres ] && cp $konum/$adres .
- fi
- done
- fi
- }
- paket_derle(){
- #parametre olarak direk konum gelecek
- #eski derleme kalıntılarını temizle
- rm -rf tmp.*
- kaynakdizin_kontrol
- local konum derleme_onay eh bagimd derpaket
- derleme_onay="h"
- if [ -d "$1" ];then
- konum="$1"
- derpaket=`basename $1`
- else
- konum=$(talimat_bul $1)
- if [[ $konum == "-1" || $konum == "0" ]];then
- ryaz 31 "$1 $_talimat_bulunamadi"
- exit 1
- fi
- derpaket="$1"
- fi
- if [ -d "$konum" ];then
- mkdir -p tmp."$derpaket"
- cp -a $konum/* tmp."$derpaket"/
- cd tmp."$derpaket"
-
- if [ "`kurulu_kontrol "$derpaket"`" = "kurulu" ] && [ "$zorla_derle" = "yok" ];then
- derleme_onay="h"
- else
- derleme_onay="e"
- fi
- if [ "$derleme_onay" = "e" ];then
- ryaz 33 "$derpaket" "derleniyor...."
- echo "------------------------"
- mpsd -d 2>&1|tee /tmp/"$derpaket".log
- if ( grep "^=======>" /tmp/"$derpaket".log| tail -1 |grep "ERROR" > /dev/null);then
- echo "derleme sisteminde hata oluştu -----> " /tmp/"$derpaket".log
- exit 1
- fi
- if [ "$kurulum_onay" = "evet" ];then
- for kpkt in `ls $derpaket* | cut -d'#' -f1`;do
- mps -k "$kpkt#"*
- done
- fi
- mv *.mps.lz ../
- else
- ryaz 32 "$_zaten $_paket_kurulu,yine de derlemek için:
- mps -zd $derpaket"
- fi
- cd ..
- rm -r tmp."$derpaket"
- else
- ryaz 31 "talimat dosyası bulunamadı."
- hataloglama "talimat dosyası bulunamadı."
- fi
- }
- bagimlilar_eski(){
- local bagimd konum
- konum="`find "$talimatname" -name $1`"
- konumek="`find "$ektalimatname" -name $1`"
- if [ -f "$konum/talimat" ];then
- bagimd=`cat $konum/talimat | grep "Gerekler" | cut -d':' -f2`
-
- if [ -n "$bagimd" ]; then
- bagimd=`echo "$bagimd" | sed 's/,/ /g'`
- #sıralı gösterme
- echo `echo "$bagimd" | sed 's/,/ /g'`
- fi
- elif [ -f "$konumek/talimat" ];then
- bagimd=`cat $konumek/talimat | grep "Gerekler" | 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
- }
- ##_ bagimlilar() : talimatta yer alan gereklerin listesinin alınması.
- bagimlilar(){
- local bagimd konum
- konum=$(talimat_bul $1)
- if [[ $konum != "-1" && $konum != "0" ]];then
- bagimd=`cat $konum/talimat | grep "Gerekler" | cut -d':' -f2`
- bagimd=$(echo "$bagimd" | sed 's/,/ /g')
- echo "$bagimd"
- else
- echo "$konum"
- fi
- }
- ters_bagimli_bilgi(){
- local gtbpaket _sadece_kurulu
- _sadece_kurulu="hepsi"
- gtbpaket=$1
- if [ ! -z "$2" ];then _sadece_kurulu="$2";fi
- tbgdosya=$(mktemp)
- grep -rli "\s${gtbpaket}\s.*Gerekler\|Gerekler.*\s${gtbpaket}\s" $talimatname > $tbgdosya ;
- grep -rli "\s${gtbpaket}\s.*Gerekler\|Gerekler.*\s${gtbpaket}\s" $ektalimatname >> $tbgdosya ;
- grep -rli "\s${gtbpaket}\s.*Gerekler\|Gerekler.*\s${gtbpaket}$" $ektalimatname >> $tbgdosya ;
- grep -rli "\s${gtbpaket}\s.*Gerekler\|Gerekler.*\s${gtbpaket}$" $talimatname >> $tbgdosya ;
- cat $tbgdosya | xargs -I {} dirname {} | xargs -I {} basename {} | sort > /tmp/${gtbpaket}.tb.txt
- rm -f $tbgdosya
- [ -f /tmp/${gtbpaket}.tbk.txt ] && rm -f /tmp/${gtbpaket}.tbk.txt
- if [ $_sadece_kurulu = "kurulu" ];then
- for _kurulu_pkt in $(cat /tmp/${gtbpaket}.tb.txt);do
- if [ -d $VT/$_kurulu_pkt ];then
- echo "$_kurulu_pkt" >> /tmp/${gtbpaket}.tbk.txt
- fi
- done
- [ -f /tmp/${gtbpaket}.tbk.txt ] && cat "/tmp/${gtbpaket}.tbk.txt"
- else
- cat "/tmp/${gtbpaket}.tb.txt"
- fi
- rm -rf $tbgdizin
- }
- kirik_ters_bagimli_bilgi(){
- ryaz 32 "Aşağıdaki kurulu ters bağımlılıklarda kırılım araması yapılacaktır."
- ters_bagimli_bilgi $1
- ryaz 32 "........"
- talimatlar=$(cat /tmp/$1.tb.txt)
- for tal in $talimatlar;do
- #paket kuruluysa kontrolu yapılacak
- if [ -d "$VT/$tal" ];then
- ryaz 34 "$tal paketi araştırılıyor:"
- kirik_kontrol_paket $tal
- ryaz 34 "--------------------------"
- fi
- done
- }
- bagimli_bilgi(){
- local bagimd konum bag
- bkonum="`find "$talimatname" -name $1`"
- bekkonum="`find "$ektalimatname" -name $1`"
- if [ $bkonum ];then
- konum=$bkonum
- elif [ $bekkonum ];then
- konum=$bekkonum
- else
- ryaz 31 "$1 talimatı bulunamadı!"
- exit 1
- fi
- bagimd=`cat $konum/talimat | grep "Gerekler" | 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
- if [ "$2" = "dogrula" ];then
- kurulum_dogrulama_icerik "$bag"
- else
- echo "$bag" "`kurulu_kontrol $bag`"
- fi
- done
- fi
- if [ "$2" = "dogrula" ];then
- kurulum_dogrulama_icerik "$1"
- else
- echo "$1" "`kurulu_kontrol $1`"
- fi
- }
- bagimli_bilgi_dosyala(){
- rm -f "/tmp/$1.gerekler.liste"
- local bagimd konum bag
- bkonum="`find "$talimatname" -name $1`"
- bekkonum="`find "$ektalimatname" -name $1`"
- if [ $bkonum ];then
- konum=$bkonum
- elif [ $bekkonum ];then
- konum=$bekkonum
- else
- ryaz 31 "$1 talimatı bulunamadı!"
- exit 1
- fi
- bagimd=`cat $konum/talimat | grep "Gerekler" | 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 >> "/tmp/$1.gerekler.liste"
- done
- fi
- echo "$1" >> "/tmp/$1.gerekler.liste"
-
- }
- 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
- }
- # bir paket ile kurulacak yeni paketlerin listesini verir.
- yeni_kurulacak_paketler(){
- [ -f /tmp/mevcut_kurulu.liste ] && rm -rf /tmp/mevcut_kurulu.liste
- ls $VT > /tmp/mevcut_kurulu.liste
- derleme_listyap $1 &> /dev/null
- comm -13 <(sort /tmp/mevcut_kurulu.liste) <(sort tumgerekler.liste)
- [ -f tumgerekler.liste ] && rm -rf tumgerekler.liste
- [ -f gerek.liste ] && rm -rf gerek.liste
- }
- # iki dosyanın içerik karşılaştırması yapar.
- dosya_karsilastir(){
- if cmp -s "$1" "$2"
- then
- echo "evet"
- else
- echo "degil"
- fi
- }
- 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
- }
- etkilenen_kurtar(){
- local dizin paket
- paket=$1
- if [ -f $VT/$paket/kurulan ];then
- cat $VT/$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 $VT/$paket/kurulan $VT/$paket/ilk.kurulan
- grep -v -F -x -f "/tmp/$paket.kurtar" "/tmp/$paket.sil" > $VT/$paket/kurulan
- ryaz 32 "$paket etkilenen dosyaları kurtarıldı."
- else
- ryaz 32 "$paket etkilenen dosyası yok."
- fi
- rm -f /tmp/$paket.sil
- else
- ryaz 31 "kurulan paket yok!"
- hataloglama "kurulan paket yok!"
- fi
- }
- ters_bagimli_kontrol(){
- ters_bagimli_bilgi $1
- cat /tmp/${1}.tb.txt | sort > tersb.liste
- ls $VT/ | sed "/$1/d" | sort > simdiki.liste
- comm -12 tersb.liste simdiki.liste
- rm tersb.liste simdiki.liste
- }
- kurulu_kontrol(){
- local _konum _apaket
- _apaket=$1
- if [ -d "$kokdizin$VT/$_apaket" ];then
- echo "kurulu"
- exit 0
- fi
- _konum=$(talimat_bul $_apaket)
- if [[ "$_konum" = "0" || "$_konum" = "-1" ]];then
- echo "tanimsiz"
- else
- echo "degil"
- 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$VT/ > hedef.pkvt
- ls $VT/ > 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
- [ -f $PWD/hedef.pkvt ] && rm $PWD/hedef.pkvt
- [ -f $PWD/simdiki.pkvt ] && rm $PWD/simdiki.pkvt
- }
- 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
- }
- sunucu_ayarla_y(){
- wget -q --spider "$1/paket.vt"
- yenisun="$1"
- if [ $? -eq 0 ]; then
- source /etc/mps.conf
- ydizi=("${sunucular[@]}")
- ydizi[0]="$1"
- echo ${ydizi[@]}
- esnc=${sunucular[0]}
- ysnc=${ydizi[0]}
- sed -i "/^sunucular/s/"${esnc}"\'"$ysnc"'/g" /etc/mps.conf
- else
- ryaz 31 "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"
- }
- indir_talimat_paketle(){
- local dosya _ip _talkonum
- _wget="wget --quiet --no-check-certificate"
- if [ ! -z "$1" ];then dosya=$1;else ryaz 31 "link parametre eksik";exit 1;fi
- if [ ! -z "$2" ];then _ip=$2;else ryaz 31 "ip tipi parametresi eksik";exit 1;fi
- if [ ! -z "$3" ];then _talkonum=$3;else ryaz 31 "talimatname konum parametre eksik";exit 1;fi
-
- urlkont='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
- if [[ $dosya =~ $urlkont ]];then
- gdosya=`mktemp`
- if [[ $_ip =~ "-6" ]]; then
- ryaz 32 "talimat ipv6 linkten cekilecek"
- $_wget $_ip $dosya -O $gdosya
- else
- ryaz 32 "talimat ipv4 linkten cekilecek"
- $_wget $_ip $dosya -O $gdosya
- fi
- dosya=$gdosya
- else
- ryaz 31 "link geçersiz"
- exit 1
- fi
-
- if [ ! -f $dosya ];then
- ryaz 31 "$dosya talimat dosyasi yok!"
- exit 1
- fi
-
- local _isim
- _isim=()
- _isim=`grep 'name=' $dosya | cut -d'=' -f 2`
- paketisim="${_isim[0]}"
- if [ ! -n "$paketisim" ]; then
- ryaz 31 "paket ismi degiskeni bulunamadı!"
- exit 1
- fi
- if [ ! -d $_talkonum/${paketisim:0:1}/$paketisim ];then
- mkdir -p $_talkonum/${paketisim:0:1}/$paketisim
- cp -f $dosya $_talkonum/${paketisim:0:1}/$paketisim/talimat
- talimat_degisken_cevrim $_talkonum/${paketisim:0:1}/$paketisim/talimat
- ryaz 32 "$paketisim talimatı hazırlandı."
- else
- ryaz 31 "$paketisim talimatı zaten talimatnamede var!"
- fi
- }
- talimat_degisken_cevrim(){
- _dosya=$1
- if [ -f $_dosya ];then
- sed -i 's/name=/isim=/g' $_dosya
- sed -i 's/$name/$isim/g' $_dosya
- sed -i 's/${name}/${isim}/g' $_dosya
- sed -i 's/version=/surum=/g' $_dosya
- sed -i 's/$version/$surum/g' $_dosya
- sed -i 's/${version}/${surum}/g' $_dosya
- sed -i 's/${version%.*}/${surum%.*}/g' $_dosya
- sed -i 's/release=/devir=/g' $_dosya
- sed -i 's/$release/$devir/g' $_dosya
- sed -i 's/${release}/${devir}/g' $_dosya
- sed -i 's/source=/kaynak=/g' $_dosya
- sed -i 's/build()/derle()/g' $_dosya
- sed -i 's/build ()/derle()/g' $_dosya
- sed -i 's/Description:/Tanım:/g' $_dosya
- sed -i 's/Description=/Tanım:/g' $_dosya
- sed -i 's/Url=/Url:/g' $_dosya
- sed -i 's/description:/Tanım:/g' $_dosya
- sed -i 's/Description :/Tanım:/g' $_dosya
- sed -i 's/Packager:/Paketçi:/g' $_dosya
- sed -i 's/packager:/Paketçi:/g' $_dosya
- sed -i 's/Packagers:/Paketçi:/g' $_dosya
- sed -i 's/Packager :/Paketçi:/g' $_dosya
- sed -i 's/Depends on:/Gerekler:/g' $_dosya
- sed -i 's/Depends:/Gerekler:/g' $_dosya
- sed -i 's/Depends on :/Gerekler:/g' $_dosya
- sed -i '/Maintainer:/d' $_dosya
- sed -i '/Optional:/d' $_dosya
- else
- ryaz 31 "ilgili talimat dosyası bulunamadı."
- fi
- }
- talimat_olustur(){
- if [ "$1" = '?' ];then
- ryaz 34 "kullanım : mps -to paket_ismi"
- else
- local isim
- isim=$1
- mkdir -p $isim
- tee "$isim/talimat" > /dev/null <<EOF
- # Tanım: paket açıklaması
- # Url: paketin ilgili web sayfası
- # Paketçi: paketçi
- # Gerekler:
- isim=$isim
- surum=1
- devir=1
- kaynak=()
- derle() {
- cd \$isim-\$surum
- ./autogen.sh
- ./configure --prefix=/usr
- make
- make DESTDIR=\$PKG install
- }
- EOF
- ryaz 34 $isim "talimatı oluşturuldu."
- fi
- }
- git_guncelle() {
- kaynakdizin_kontrol
- gitayar_kontrol
- cd $DERLEME_KAYNAKDIZIN
- #git sunucudan guncelleme
- ryaz 33 "$_git_guncelleniyor"
- 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_guncel"
- else
- #ryaz 32 `cat $LOGDIZIN/mps-git.log`
- ryaz 32 "$_git_guncellendi"
- fi
- #baslangic betiklerinin guncellenmesi
- rsync -aviz -q --delete /sources/milis.git/rootfs/lib/services/* /lib/services/
- fi
- cd `dirname $talimatname`
- ryaz 33 "$_yerel_esitleniyor"
- rm -r $talimatname
- mkdir -p $talimatname
- rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/talimatname/ $talimatname
- rm -r `dirname $talimatname`/bin/*
- rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/bin/ `dirname $talimatname`/bin
- rm -r `dirname $talimatname`/ayarlar/*
- rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/ayarlar/ `dirname $talimatname`/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 "$_yerel_esitlendi"
- }
- 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
-
- }
- op_kur(){
- local mopsyol mops
- mops=$1
- mopsyol="~/mops/$mops"
- # talimatnameye bak
- if [ -d $mopsyol ]; then
- $mopsyol/talimat kur
- # yerelde ara
- elif [ -f $PWD/"$mops" ]; then
- ./"$mops" kur
- else
- ryaz 31 "$1 mops talimatı bulunamadı!"
- fi
-
- }
- op_sil(){
- local mopsyol mops
- mops=$1
- mopsyol="~/mops/$mops"
- # talimatnameye bak
- if [ -d $mopsyol ]; then
- $mopsyol/talimat sil
- # yerelde ara
- elif [ -f $PWD/"$mops" ]; then
- ./"$mops" sil
- else
- ryaz 31 "$1 mops talimatı bulunamadı!"
- 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 -
- }
- servisler_kontrol(){
- servisler=`ls /sources/milis.git/ayarlar/servisler/mbd/init.d`
- for ser in $(ls /etc/init.d/) ; do
- if [ ! -f /sources/milis.git/ayarlar/servisler/mbd/init.d/$ser ];then
- printf "%12s %s\n" "$ser mbd kaydı bulunamadı!"
- else
- if cmp -s "/sources/milis.git/ayarlar/servisler/mbd/init.d/$ser" "$ser"
- then
- printf "%12s %s\n" "$ser" "mbd uyumsuz"
- else
- #ryaz 32 "$ser mbd +++++"
- printf "%12s %s\n" "$ser" "mbd +++++"
- fi
- fi
- done
- }
- talimat_bilgi(){
- local _konum _apaket
- _apaket=$1
- _konum=$(talimat_bul $_apaket)
- if [[ "$_konum" = "0" || "$_konum" = "-1" ]];then
- ryaz 31 "$_apaket $_paket_tanimsiz"
- exit 1
- else
- grep "build()" -B 12 $_konum/talimat |sed '$ d'
- ryaz 32 "file://$_konum/talimat"
- ryaz 32 "https://raw.githubusercontent.com/milisarge/malfs-milis/master/$(echo $_konum | cut -d'/' -f3-6)/talimat"
- fi
- }
- sistem_kontrol(){
- paketvt_kontrol
- sunucu_kontrol
- }
- sunucu_kontrol(){
- uzunluk=${#sunucular[@]}
- for ((i=1;i<=$uzunluk;i++)); do
- pktsunucu=${sunucular[$i-1]}
- wget --no-check-certificate -q --spider "$pktsunucu/paket.vt"
- if [ $? -eq 0 ]; then
- ryaz 32 "$pktsunucu paket sunucu aktif"
- else
- ryaz 31 "$pktsunucu sunucu erişim dışı"
- fi
- done
- }
- 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 $VT/`
- 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
- paket_indir $kuruland
- mps -k "$paketdepo/$kuruland"*.mps.lz
- ryaz 32 "$kuruland hasarlı kurulum onarıldı."
- fi
- done
- }
- paket_icerik_dogrulama(){
- local dosyayol kontpaketadi tempmpslz pidanayol
- kontpaketadi="$1"
- if [ -f "$paketdepo/$kontpaketadi#"*.mps.lz ];then
- tempmpslz=$(mktemp)
- if [ -d $2 ];then
- pidanayol="$2"
- tar tf "$paketdepo/$kontpaketadi#"*.mps.lz > $tempmpslz
- IFS=''
- while read dosyayol;do
- if [ ! -f $pidanayol$dosyayol ] && [ ! -d $pidanayol$dosyayol ] && [ $dosyayol != ".MTREE" ] && [ $dosyayol != ".META" ]; then
- ryaz 31 "$pidanayol$dosyayol hasarlı"
- while true; do
- ryaz 34 $kontpaketadi" paketi yenilensin mi?";read -p "e veya h-> " eh
- case $eh in
- [Ee]* ) tekrarkur="evet";agdan_kur "$kontpaketadi";break;;
- [Hh]* ) break;;
- * ) echo "e veya h";;
- esac
- done
- fi
- done < $tempmpslz
- else
- ryaz 31 "$2 kök dizini bulunamadı!"
- exit 1
- fi
- else
- ryaz 31 "$1 paketi bulunamadı!"
- exit 1
- fi
- }
- kurulum_dogrulama_icerik_tum(){
- ryaz 33 "paket veritabanı yedekleniyor"
- tarihce_yap
- for kurulanpak in `ls $VT`
- do
- if [ -f "$VT/$kurulanpak/kurulan" ]; then
- kurulum_dogrulama_icerik $kurulanpak
- ryaz 32 "$kurulanpak kurulum icerik onarıldı."
- fi
- done
- }
- chr_yordam() {
- [ "$1" -lt 256 ] || return 1
- printf "\\$(printf '%03o' "$1")"
- }
- ord_yordam() {
- LC_CTYPE=C printf '%d' "'$1"
- }
- kurulum_dogrulama_icerik(){
- paketadi="$1"
- onar="hayir"
- #echo $VT
- #tarihce_yap
- ryaz 33 "$paketadi içeriği kontrol ediliyor."
- if [ -f "$VT/$paketadi/kurulan" ]; then
- ilksatir=`head -n 1 $VT/$paketadi/kurulan`
- if [[ `echo ${ilksatir}` =~ ^‘ ]] ; then
- ryaz 32 "temel sistem paket kurulan hatası düzeltildi!"
- sed -i 's/‘/'\''\//;s/’/'\''/' $VT/$paketadi/kurulan
- fi
- #for dosyayol in $(cat $VT/$paketadi/kurulan);do
- while read dosyayol; do
- #for dosyayol in $(<$VT/$paketadi/kurulan);do
- dosyayol=$(echo $dosyayol | sed 's/^.\(.*\).$/\1/')
- netdosyayol="${dosyayol:1:${#dosyayol}-1}"
- if [ ! -f $dosyayol ] && [ ! -d $dosyayol ] ; then
- ryaz 31 "$dosyayol hasarlı"
- onar="evet"
- fi
- done < $VT/$paketadi/kurulan
- if [ $onar = "evet" ];then
- ryaz 34 "$paketadi hasarlı dosya barındırıyor,düzeltilsin mi?";read -p "e veya h-> " eh
- case $eh in
- [Ee]* ) tekrarkur="evet";agdan_kur "$paketadi";;
- [Hh]* ) ryaz 31 "$paketadi pas geçildi.";;
- * ) echo "e veya h";;
- esac
- fi
-
- ryaz 32 "$paketadi kurulum doğrulama tamamlandı."
- elif [ -d "$VT/$paketadi" ]; then
- cp -rf $VT $VT.yedek
- ryaz 31 "$paketadi hasarlı kurulum tesbiti!"
- #onarma
- rm -r $VT/$paketadi
- paket_indir $paketadi
- mps -k "$paketdepo/$paketadi#"*.mps.lz
- ryaz 32 "$paketadi hasarlı kurulum onarıldı."
- else
- ryaz 31 "$paketadi $_paket_kurulu_degil"
- fi
- }
- tamir_temel_kurulan(){
- if [ ! -d $VT ] ; then
- ryaz 31 "paket kurulum vt bulunamadı!"
- exit 1
- fi
- for paketadi in `ls $VT`
- do
- sed -i 's/‘/'\''\//;s/’/'\''/' $VT/$paketadi/kurulan
- done
- }
- depo_paketler_liste(){
- ls $paketdepo*.mps.lz
- }
- depo_paketler_sil(){
- while true; do
- pktsay="0"
- [[ $(ls $paketdepo*.mps.lz) ]] && pktsay=$(ls $paketdepo/*.mps.lz | wc -l)
- ryaz 34 "$paketdepo altındaki $pktsay paket silinecek?";read -p "e veya h-> " eh
- case $eh in
- [Ee]* ) rm $paketdepo/*.mps.lz;ryaz 32 "$paketdepo paketler temizlendi."; break;;
- [Hh]* ) break;;
- * ) echo "e veya h";;
- esac
- 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."
- }
- paketvt_guncelle(){
- uzunluk=${#sunucular[@]}
- #for snc in "${sunucular[@]}"
- for ((i=1;i<=$uzunluk;i++)); do
- pktsunucu=${sunucular[$i-1]}
- pkvt=""
- if [ $i = 1 ];then
- pktvt="paket.vt"
- else
- pktvt="paket${i-1}.vt"
- fi
- wget --no-check-certificate -q --spider "$pktsunucu""paket.vt"
- if [ $? -eq 0 ]; then
- ryaz 32 $pktsunucu
- ryaz 32 "$_paketvt_guncelleniyor" "$paketdepo""$pktvt"
- if [ -f "$paketdepo""$pktvt" ];then
- mv "$paketdepo""$pktvt" "$paketdepo""$pktvt.eski"
- fi
- wget --no-check-certificate -q --show-progress -P "$paketdepo" "$pktsunucu""paket.vt" -O "$paketdepo""$pktvt"
- #rm /tmp/paket.vt*
- else
- ryaz 31 "$pktsunucu paket veritabanı güncelleme olumsuz."
- hataloglama "paket veritabanı güncelleme olumsuz."
- fi
- done
-
- }
- paket_indir(){
- if [ -f "$paketdepo""paket.vt" ];then
- local pkt
- uzunluk=${#sunucular[@]}
- #paketin paketin sunucularında aranaması,buldugu sunucudan indirmesi
- for ((i=1;i<=$uzunluk;i++)); do
- pktsunucu=${sunucular[$i-1]}
- pkvt=""
- if [ $i = 1 ];then
- pktvt="paket.vt"
- else
- pktvt="paket${i-1}.vt"
- fi
- pkt=`cat "$paketdepo$pktvt" | grep "^$1 " | cut -d' ' -f3`
- #ryaz 32 "$1 paketi $pktsunucu altında aranıyor"
- if [ $pkt ];then
- #ryaz 32 "$1 paketi $pktsunucu altında bulundu"
- ekontdeg=`cat "$paketdepo$pktvt" | grep "^$1 " | cut -d' ' -f2`
- cpaket="${pkt/'#'/'%23'}"
- #paketin sunucuda varlık kontrolu
- wget -q --spider "$pktsunucu$cpaket"
- if [ $? -eq 0 ]; then
- wget --no-check-certificate -nc -q --show-progress -P "$paketdepo" "$pktsunucu$cpaket"
- if [[ "$?" != 0 ]]; then
- ryaz 31 "indirme hatalı"
- hataloglama "indirme hatalı"
- else
- mkontdeg=`sha1sum "$paketdepo$pkt" | cut -d' ' -f1`
- if [ "$ekontdeg" != "$mkontdeg" ];then
- ryaz 31 "$_shasum_uyumsuzluk,paket tekrar indiriliyor."
- hataloglama "sha1sum uyusmaslik tespit edildi,paket tekrar indiriliyor."
- rm -f "$paketdepo$pkt"
- paket_indir "$1"
- #else
- #ryaz 32 "$_zaten $1 $_paket_onbellek_depoda_var"
- fi
- fi
- else
- ryaz 31 "$1 paketi bulunamadı $pktsunucu dan silinmiş olmalı!"
- fi
- else
- ryaz 31 "$pktsunucu $1 paketi bulunmuyor!"
- fi
- done
- else
- ryaz 31 "$paketdepo altında paket.vt dosyanız yok.Güncelleme yapınız!"
- fi
- }
- yerelden_kur(){
- local silme
- pkontrol=`basename $1 | grep -w "mps.lz"`
- if [ ! -z "$pkontrol" -a "$pkontrol" != "" ]; then
- paketad=`echo "$1" | cut -d'#' -f1`
- kkont=`kurulu_kontrol "$paketad"`
-
- if [ "$kkont" = "degil" ];then
- icerik_ekle "$1"
- elif [ "$kkont" = "kurulu" ];then
- if [ "$tekrarkur" = "hayir" ];then
- while true; do
- ryaz 31 "$1 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 "$1"
- fi
- else
- icerik_ekle "$1"
- #while true; do
- #ryaz 31 "$1 paketi talimatname dışı.Yine de kurulsun mu? (kokdizin=$kokdizin) "
- #read -p "e veya h -> " eh
- #case $eh in
- # [Ee]* ) icerik_ekle "$1"; break;;
- # [Hh]* ) break;;
- # * ) echo "e veya h";;
- #esac
- #done
- fi
- else
- ryaz 31 "yerelde mps paketi bulunamadı."
- fi
- }
- agdan_kur(){
- local kontroldeg
- kkont=`kurulu_kontrol "$1"`
- if [ "$kkont" = "degil" ] || [ "$tekrarkur" = "evet" ];then
- paket_indir "$1"
- if [ $(find $paketdepo -name $1#* | head -1) ];then
- if [ -f $(ls -1t "$paketdepo$1#"* | head -1) ];then
- if [ "$kurulum_onay" = "evet" ];then
- if [ "$tekrarkur" = "evet" ];then
- paket_sil "$1" "evet"
- 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)
- if [ $surumler = 1 ];then
- icerik_ekle $(ls "$paketdepo$1#"*)
- elif [ $surumler -gt 1 ];then
- ryaz 31 "$1 paketinin birden fazla sürümü var!"
- kurulacak_guncel_paket=$(ls -1t "$paketdepo$1#"* | head -1)
- ryaz 32 "$kurulacak_guncel_paket sürümü kuruluyor"
- icerik_ekle $kurulacak_guncel_paket
- fi
- fi
- else
- ryaz 31 "$1 indirme hatası"
- fi
- fi
- elif [ "$kkont" = "kurulu" ];then
- #ryaz 32 "$1 paketi zaten kurulu!"
- printf "."
- else
- ryaz 31 "tanımsız paket veya tekrar kurulum iptali var!"
- fi
- }
- ayarlar() {
-
- while [ "$1" ]; do
- case $1 in
- ### Milis_Paket_Sistemi_Yardim
- ### --------------------------
- ### mps -i paketismi = sadece paketi indirir,paket kurulmaz.
- -i|--indir)
- kurulum_onay="olumsuz"
- paket_indir "$2"
- exit 0 ;;
- ### mps -ik paketismi = ilgili paketi indirirve kurar.
- -ik|--inku)
- if [ "$3" == "-kok" ] && [ -d "$4" ]; then
- kokdizin="$4"
- fi
- agdan_kur "$2" ;;
- ### mps -ikz|yekur paketismi = ilgili indirip tekrardan kurar,kurulu olmasına bakılmaz.
- -ikz|yekur)
- tekrarkur="evet"
- agdan_kur "$2" ;;
- ### mps -k paketismi..mps.lz = yerel dizindeki paketi kurar.
- -k)
- if [ "$3" == "-kok" ] && [ -d "$4" ]; then
- kokdizin="$4"
- tekrarkur="evet"
- fi
- yerelden_kur "$2" ;;
- ### mps sil|-s paketismi = ilgili paketi onaylı kaldırır.
- -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"
- exit 0 ;;
- ### mps zorsil|-sz paketismi = ilgili paketi onaysız kaldırır.
- -sz|zorsil)
- paket_sil "$2" "evet"
- 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"
- exit 0 ;;
- ### mps -S paketismi = ilgili paketi altbağımlılıklarını da sorarak kaldırır.
- -S)
- paket_sil_gerekli "$2"
- exit 0 ;;
- ### mps -Sz paketismi = ilgili paketi altbağımlılıklarını da sormadan sırayla kaldırır.
- -Sz)
- paket_sil_gerekli "$2" "oto"
- exit 0 ;;
- ### mps ara aranan = paket isimleri ve açıklamalarında anahtar kelime arar.
- -pa|ara)
- paket_ara "$2"
- exit 0 ;;
- ### mps bul aranan = talimat dosyaları içinde anahtar kelimeyi arar.
- bul)
- kelime_bul "$2"
- exit 0 ;;
- ### mps -d paketisimi = sadece paketi bağımlıksız derler.Genelde bağımlılığı olmayan paketler için kullanılır.
- -d|--pkde)
- zorla_derle="yok"
- kurulum_onay="olumsuz"
- paket_derle "$2"
- exit 0 ;;
- ### mps -zd paketismi = Pake kurulu olsa bile derleme yapılır.Bağımlıksız derleme için kullanılır.
- -zd|--pkzde)
- zorla_derle="evet"
- kurulum_onay="olumsuz"
- paket_derle "$2"
- exit 0 ;;
- ### mps odkp paketismi = bir paketi bağımlılık zinciri çıkarıp gereklileri önce kurar gerekli olanları derler,paketler ve kurar.
- odkp)
- if [ -d "$talimatname/temel/$2" ] ; then
- ryaz 31 "temel paket için odkp kullanılamaz!"
- exit 1
- fi
- oto_derle_kur_paketle "$2"
- exit 0 ;;
- -dk|--pkdk)
- paket_derle "$2" ;;
- ### mps -derlist liste = verilen liste dosyasındaki paketleri derler.Alt alta yazılı olmalıdır.
- -derlist)
- paket_derle_liste "$2" ;;
- ### mps derle paketismi = paketismi için bağımlılık zinciri çıkarıp gerekli tüm paketleri derler,paketler ve kurar.
- derle)
- paket_derle_kur "$2"
- exit 0 ;;
- -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" ;;
- ### mps kurul liste = verilen liste dosyasındaki paketleri kurar.Alt alta yazılı olmalıdır.
- kurul)
- if [ -f $PWD/mps-liste ]; then
- paket_inkur_liste mps-liste
- else
- paket_inkur_liste "$2"
- fi ;;
- -kur)
- paket_inkur_oto "$2" ;;
- ### mps gkur paketismi = git-paketvt günceller ve yerelde mps.lz varsa yereldekini yoksa sunucudan paketi indirip kurar.
- gkur)
- git_guncelle && paketvt_guncelle && paket_inkur_oto "$2" ;;
- ### mps kur paketismi = yerelde mps.lz varsa yereldekini yoksa sunucudan paketi indirip kurar.
- kur)
- if [[ "$2" == "py-"* ]]; then
- pypaket=`echo "$2" | cut -d'-' -f 2`
- echo $pypaket "pip2 ile kurulacak"
- pip install $pypaket
- exit 0
- fi
- if [[ "$2" == "py3-"* ]]; then
- pypaket=`echo "$2" | cut -d'-' -f 2`
- echo $pypaket "pip3 ile kurulacak"
- pip3 install $pypaket
- exit 0
- fi
- if [[ "$2" == *"mps.lz"* ]]; then
- if [ "$3" == "-kok" ] && [ -d "$4" ]; then
- kokdizin="$4"
- tekrarkur="evet"
- fi
- yerelden_kur "$2"
- else
- paket_inkur_oto "$2"
- fi
- exit 0 ;;
- ### mps kaynak paketismi = ilgili paketin kaynak kodunu indirir.
- kaynak)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- exit 1
- fi
- kaynak_kod_indir "$2"
- exit 0 ;;
- # özel git projesi kurmak için
- gitkur)
- git_proje_kur "$2" ;;
- # otomatik proje sistemi
- # özel git projesi kurmak için
- opk)
- op_kur "$2" ;;
- # özel git projesi silmek için
- ops)
- op_sil "$2" ;;
- ### mps serkur paketismi = ilgili paketin servisini kurar
- serkur)
- servis_kur "$2"
- exit 0 ;;
- ### mps sersil paketismi = ilgili paketin servisini siler
- sersil)
- servis_sil "$2"
- exit 0 ;;
- ### mps serkon paketismi = servislerin değişmemezlik kontrolünü yapar.
- serkon)
- servisler_kontrol
- exit 0 ;;
- ### mps kurkos paketismi = ilgili paketin kurulumdan sonraki çalışması gereken betiğini çalıştırır.
- kurkos)
- local pkt
- pkt=$(talimat_bul $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!"
- exit 1
- fi;;
- ### mps koskur paketismi = ilgili paketin kurulumdan önceki çalışması gereken betiğini çalıştırır.
- koskur)
- local pkt
- pkt=$(talimat_bul $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!"
- exit 1
- fi ;;
- ### mps silkos paketismi = ilgili paketin silindikten sonraki çalışması gereken betiğini çalıştırır.
- silkos)
- local pkt
- pkt=$(talimat_bul $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!"
- exit 1
- fi ;;
- ### mps kossil paketismi = ilgili paketin silindikten önceki çalışması gereken betiğini çalıştırır.
- kossil)
- local pkt
- pkt=$(talimat_bul $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!"
- exit 1
- fi ;;
- ### mps -kdl paketismi = ilgili paketin sistemdeki kurulmuş olması gereken dosyalarını gösterir.
- -kdl)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "(-kdl) paket ismi eksik"
- exit 1
- fi
- kurulum_dosya_listele "$2"
- exit 0 ;;
- ### mps -kkp paketismi = ilgili paketin çalışması için eksik olan dosyaları tespit eder.
- -kkp)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "(-kkp) paket ismi eksik"
- exit 1
- fi
- kirik_kontrol_paket "$2"
- exit 0 ;;
- ### mps kirma paketismi = ilgili paketin sistemde kırdığı paketler tespit edilir.
- kirma)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- hataloglama "(kirma) paket ismi eksik"
- exit 1
- fi
- kirik_ters_bagimli_bilgi "$2"
- exit 0 ;;
- ### mps -kks . = sistemde kurulu tüm paketlerin kırık kontrolünü yapar.Eksik dosyaları tespit eder.
- -kks)
- kirik_kontrol_sistem
- exit 0 ;;
- -pak|--paketle)
- if [ ! "$2" ]; then
- ryaz 31 "paketlenecek dizin ismi eksik"
- hataloglama "paketlenecek dizin ismi eksik"
- exit 1
- fi
- yeniden_paketle "$2"
- exit 0 ;;
- -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"
- exit 0 ;;
- -po)
- pvt_olustur ;;
- -os|--pkos)
- if [ ! "$2" ]; then
- ryaz 31 "silme listesi yok"
- hataloglama "silme listesi yok"
- exit 1
- fi
- paket_sil_oto "$2" ;;
- ### mps liste . = sistemde kurulu olan paket listesini verir.
- -kl|liste)
- ls $VT ;;
- ### mps paketler grup_ismi = paket deposundaki paket listesini verir.(grup_ismi verilmezse tüm paketler)
- -ptl|paketler)
- paket_liste "$2" "$3"
- exit 0 ;;
- ### mps gruplar . = paket deposundaki paket grup listesini verir.
- -pgl|gruplar)
- paket_grup_liste "$2"
- exit 0 ;;
- ### mps -dly paketismi = ilgili paketin genel ve tüm bağımlılık listesini verir,oluşturur.
- -dly|dliste)
- derleme_listyap "$2"
- exit 0 ;;
- ### mps -kly paketismi = ilgili paketin ve kurulması gereken altgereklerini verir,oluştur.
- -kly)
- kurulum_listyap "$2" ;;
- ### mps -ykp paketismi = ilgili paketin kurulmak istenirse,kurulacak yeni paketleri listeler.
- -ykp)
- yeni_kurulacak_paketler "$2"
- exit 0 ;;
- #sunucu bilgisi alma
- -sun2|sunucu)
- ryaz 32 $sunucu ;;
- ### mps sunucular . = paket sunucularını verir.
- -sun|sunucular)
- ryaz 32 ${sunucular[@]} ;;
- sun)
- if [ ! "$2" ]; then
- ryaz 31 "sunucu bilgi eksik"
- hataloglama "sunucu bilgi eksik"
- exit 1
- fi
- sunucu_ayarla "$2" ;;
- -bb|bagbil)
- bagimli_bilgi "$2" | column -t;;
- -bbdog|bdogrula)
- bagimli_bilgi "$2" "dogrula";;
- -bbd)
- bagimli_bilgi_dosyala "$2" ;;
- ### mps -tb talimatismi = ilgili talimata gerek duyan(ters-gerekler) talimatları listeler.
- -tb|tersbag)
- ters_bagimli_bilgi "$2"
- exit 0;;
- -tbk)
- ters_bagimli_kontrol "$2" ;;
- ### mps pka paketismi = ilgili paketin depo-gitdepo uyumluluğunu kontrol eder.
- pka)
- paket_analiz "$2"
- exit 0;;
- ### mps pda paketdepo = paketlerin olduğu dizindeki paketlerin depo-gitdepo uyumluluğunu kontrol eder.
- pda)
- paketdepo_analiz "$2"
- exit 0 ;;
- ### mps tbilgi paketismi = ilgili paketin talimat bilgilerini verir.
- tbilgi)
- talimat_bilgi "$2"
- exit 0 ;;
- ### mps -b paketismi = ilgili paketin kurulum bilgilerini verir.
- -b)
- if [ $2 ];then
- touch "/tmp/mps_paket_bilgi_$2"
- paket_bilgi "$2" "$3" | tee "/tmp/mps_paket_bilgi_$2"
- [ $2 = "--html" ]; paket_bilgi_html "/tmp/mps_paket_bilgi_$2"
- else
- ryaz 31 "paket ismi eksik"
- exit 1
- fi
- exit 0 ;;
- ### mps bilgi paketismi = ilgili paketin talimat ve kurulum bilgilerini verir.
- bilgi)
- paket_bilgi "$2"
- talimat_bilgi "$2"
- exit 0 ;;
- -to)
- if [ ! "$2" ]; then
- ryaz 31 "talimat ismi eksik"
- hataloglama "talimat ismi eksik"
- exit 1
- fi
- talimat_olustur "$2"
- exit 0 ;;
- ### mps log yyyy-aa-gg olay = mps.log verisi çekmek için (ör: mps log 2017-01-01 silindi)
- 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" ;;
- ### mps guncelle . = paket veritabanı ve git güncellemesi-talimatname bilgilerini günceller.
- guncelle)
- mps -GG && mps -G
- 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
- mps -kudo
- exit 0 ;;
- ### mps tespit . = tüm sistemin güncellemesi için güncellenecek paket listesini gösterir.
- tespit)
- guncelleme_tespit
- exit 0 ;;
- ### mps yukselt . = tüm sistemin güncellemesini gerçekleştirir.
- -GS|yukselt)
- sistem_guncelle
- 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
- 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 $_paket_kurulu_degil"
- hataloglama "$2 $_paket_kurulu_degil"
- else
- ryaz 31 "$2 $_paket_tanimsiz"
- hataloglama "$_paket_tanimsiz"
- fi
- exit 0 ;;
- #bagimliliklariyla beraber paket guncelleme-package updating with depencies
- -go|--pkgo)
- if [ ! "$2" ]; then
- ryaz 31 "$_paket_adi_gerekli"
- exit 1
- fi
- paket_guncelle_oto "$2";;
- ### mps -kk paketismi = ilgili paketin kurulu olma durumunu gösterir.
- -kk|--kurulu-kontrol)
- if [ ! "$2" ]; then
- ryaz 31 "$_paket_adi_gerekli"
- exit 1
- fi
- ryaz 31 `kurulu_kontrol "$2"`
- exit 0 ;;
- -kudo)
- kurulum_dogrulama
- exit 0 ;;
- -kdi|dogrula)
- if [ ! "$2" ]; then
- ryaz 31 "$_paket_adi_gerekli"
- exit 1
- fi
- kurulum_dogrulama_icerik "$2" ;;
- -pid|pdogrula)
- kokdzn=""
- if [ ! "$2" ]; then
- ryaz 31 "$_paket_adi_gerekli"
- exit 1
- elif [ ! "$3" ]; then
- kokdzn="/"
- else
- kokdzn="$3"
- fi
- paket_icerik_dogrulama "$2" "$kokdzn";;
- -kdit|tumdogrula)
- kurulum_dogrulama_icerik_tum
- exit 0 ;;
- -kdk)
- etkilenen_kurtar $2 ;;
- -suko)
- sunucu_kontrol ;;
- ### mps -pot . = talimatı olup ta paketi henüz depoda yer almayan talimatları listeler.
- -pot)
- paketsiz_talimatlar
- exit 0 ;;
- -dpl|deplist)
- depo_paketler_liste
- exit 0 ;;
- -dps|depsil)
- depo_paketler_sil
- exit 0 ;;
- ### mps link url_adres = verilen url adresindeki talimatı ektalimatname/topluluk altına inidirir.
- link)
- mkdir -p $ektalimatname/topluluk
- indir_talimat_paketle $2 "-4" "$ektalimatname/topluluk"
- exit 0 ;;
- ti)
- indir_talimat_paketle $2 "-4" "$talimatname/genel"
- exit 0 ;;
- -cf|--config-file)
- if [ ! "$2" ]; then
- echo "ayardosyası gerek $1"
- exit 1
- fi
- ayar_dosyasi="$2"
- shift ;;
- ### mps -hp aranan = ilgili aranan ifadenin hangi paketlerde olabileceğini listeler.
- -hp)
- if [ ! "$2" ]; then
- ryaz 31 "paket ismi eksik"
- exit 1
- fi
- kurulan_dosya_bul "$2"
- exit 0 ;;
- ### mps tgs talimat = ilgili talimatın kaynak kodunun yeni sürümü olup olmadığını kontrol eder.
- tgs)
- if [ ! "$2" ]; then
- ryaz 31 "talimat ismi eksik"
- exit 1
- fi
- talimat_surum_takip "$2"
- exit 0 ;;
- -tro)
- tarihce_yap
- exit 0 ;;
- -trot)
- temel_tarihce="evet"
- tarihce_yap
- exit 0 ;;
- -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 ;;
- ### mps tdc talimat_dosyası = ilgili talimat dosyasının Türkçe değişken çevrimii yapar.
- tdc)
- talimat_degisken_cevrim $2
- exit 0 ;;
- -tamir-tk)
- tamir_temel_kurulan ;;
- dos)
- tarihce_yukle "temel"
- exit 0 ;;
- -trs)
- if [ ! "$2" ]; then
- ryaz 31 "parametre eksik $1"
- hataloglama "parametre eksik $1"
- exit 1
- fi
- tarihce_sil "$2"
- shift ;;
- ### mps -v . = mps sürüm bilgilerini gösterir.
- -v)
- ryaz 33 "$betikad $versiyon $iletisim"
- exit 0 ;;
-
- -y|-h|yardim)
- yardim_icerik
- exit 0 ;;
- *)
- ryaz 31 "Geçersiz Parametre! --> mps yardim "
- exit 0 ;;
- esac
- shift
- done
- }
- yardim_icerik(){
- cat /root/bin/mps | sed -e 's/^[ \t]*//' | sed -n '/^###/p' | sed '/ /s/^###//g' | awk '{split($0,a,"="); printf "%-6s %-13s %-18s %-40s \n",$1,$2,$3,a[2]}'
- }
- ana(){
- if [ `id -u` = 0 ] ; then
- ayarlar "$@"
- else
- sudo mps "$@"
- fi
- }
- ana "$@"
- #31 kirmizi
- #32 yesil
- #33 sari
- #34 mavi
- #34 mor
|