1164 lines
		
	
	
	
		
			25 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			1164 lines
		
	
	
	
		
			25 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | ||
| . /etc/mpsd.conf
 | ||
| if [ -f /etc/mps.conf ];then
 | ||
| . /etc/mps.conf
 | ||
| fi
 | ||
| . /root/bin/fonks.sh
 | ||
| versiyon="0.8.1"
 | ||
| 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"
 | ||
| #temel paket koruma
 | ||
| tpk="evet"
 | ||
| if [ -z ${lokal+:} ]; then
 | ||
| 	lokal="tr"
 | ||
| fi
 | ||
| if [ -z ${docsil+:} ]; then
 | ||
| 	docsil="evet"
 | ||
| fi
 | ||
| if [ -z ${yerelsil+:} ]; then
 | ||
| 	yerelsil="evet"
 | ||
| fi
 | ||
| 
 | ||
| 
 | ||
| icerik_ekle(){
 | ||
| 	paketad=`echo "$1" | cut -d'#' -f1`	
 | ||
| 	paketad=`basename $paketad`
 | ||
| 	ryaz 34 $paketad" paketi kuruluyor-> $kokdizin" 
 | ||
| 	tar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log
 | ||
| 	#kos-kur kontrolu
 | ||
| 	if [ -f /tmp/.PRE ];then
 | ||
| 		if [ "$kokdizin" == "/" ];then
 | ||
| 			bash  /tmp/.PRE
 | ||
| 		else
 | ||
| 			cp /tmp/.PRE $kokdizin/tmp/$paketad.PRE
 | ||
| 		fi
 | ||
| 		rm  /tmp/.PRE
 | ||
| 	fi
 | ||
| 	mkdir -p kur.$paketad &&
 | ||
| 	tar xf $1 -C kur.$paketad && 
 | ||
| 	#istenmeyen yerellerin silinmesi
 | ||
| 	if [ -d kur.$paketad/usr/share/locale ] && [ "$yerelsil" == "evet" ];then
 | ||
| 		for lkl in `ls kur.$paketad/usr/share/locale/`;do
 | ||
| 			if [ "$lkl" != "$lokal" ];then rm -r kur.$paketad/usr/share/locale/$lkl; fi
 | ||
| 		done
 | ||
| 	fi
 | ||
| 	#doc dizini silinmesi
 | ||
| 	if [ -d kur.$paketad/usr/share/doc ] && [ "$docsil" == "evet" ];then
 | ||
| 		rm -r kur.$paketad/usr/share/doc
 | ||
| 	fi
 | ||
| 	mkdir -p $kokdizin/var/lib/pkg/DB/"$paketad" && 
 | ||
| 	cp -v -afr kur.$paketad/* $kokdizin > kur.$paketad/kurulan 
 | ||
| 	cp kur.$paketad/kurulan /tmp/ &&cat kur.$paketad/kurulan | cut -d '>' -f2 > $kokdizin/var/lib/pkg/DB/"$paketad"/kurulan &&
 | ||
| 	#mv  kur.$paketad/.MTREE /var/lib/pkg/DB/"$paketad"/files &&
 | ||
| 	mv  kur.$paketad/.META $kokdizin/var/lib/pkg/DB/"$paketad"/META &&
 | ||
| 	
 | ||
| 	#kur-kos calistirilmasi
 | ||
| 	if [ -f kur.$paketad/.POST ];then
 | ||
| 		if [ "$kokdizin" == "/" ];then
 | ||
| 			bash  kur.$paketad/.POST
 | ||
| 		else
 | ||
| 			cp kur.$paketad/.POST $kokdizin/tmp/$paketad.POST
 | ||
| 		fi
 | ||
| 		rm  kur.$paketad/.POST
 | ||
| 	fi
 | ||
| 	
 | ||
| 	rm -r kur.$paketad
 | ||
| 	if [ -f $kokdizin/etc/ld.so.conf ];then
 | ||
| 		ldconfig -r $kokdizin
 | ||
| 	fi
 | ||
| 	ryaz 34 $paketad" paketi kuruldu."
 | ||
| 	loglama "$paketad paketi kuruldu."
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| paket_sil(){
 | ||
| 	local paket kkont sil_onay oto_silme
 | ||
| 	paket="$1"
 | ||
| 	if [ "$2" ]; then
 | ||
| 		oto_silme="$2"
 | ||
| 	fi
 | ||
| 	if [ "$tpk" = "evet" ] && [ -d "$talimatname_dizin/temel/$1" ];then
 | ||
| 		ryaz 31 "$1 temel sistem paketidir.Silinemez!!!"
 | ||
| 	else
 | ||
| 		kkont=`kurulu_kontrol "$1"`
 | ||
| 		if [ "$kkont" = "kurulu" ];then
 | ||
| 			if [ -f "/var/lib/pkg/DB/$paket/kurulan" ];then
 | ||
| 				cat /var/lib/pkg/DB/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil
 | ||
| 				ryaz 31 "ters bagimliliklar"
 | ||
| 				ryaz 31 "------------------"
 | ||
| 				ters_bagimli_kontrol "$paket"
 | ||
| 				ryaz 31 "------------------"
 | ||
| 				ryaz 31 "kurban dosyalar"
 | ||
| 				ryaz 31 "------------------"
 | ||
| 				silme_kurban_kontrol /tmp/$paket.sil
 | ||
| 				ryaz 31 "------------------"
 | ||
| 				if [ "$oto_silme" = "evet" ];then
 | ||
| 					sil_onay="e"
 | ||
| 				else
 | ||
| 					while true; do
 | ||
| 						ryaz 34 $paket" paketi kaldırılsın mı?";read -p "e veya h-> " eh
 | ||
| 						case $eh in
 | ||
| 							[Ee]* ) sil_onay="e"; break;;
 | ||
| 							[Hh]* ) break;;
 | ||
| 							* ) echo "e veya h";;
 | ||
| 						esac
 | ||
| 					done
 | ||
| 				fi
 | ||
| 				if [ "$sil_onay" = "e" ];then
 | ||
| 					xargs rm -r -f < /tmp/$paket.sil &&
 | ||
| 					rm -r -f /var/lib/pkg/DB/"$paket" &&
 | ||
| 					ryaz 34 $paket" paketi silindi."
 | ||
| 					loglama "$paket paketi silindi."
 | ||
| 					rm -f /tmp/$paket.sil
 | ||
| 				else
 | ||
| 					rm -f /tmp/$paket.sil
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				
 | ||
| 			else
 | ||
| 				ryaz 31 "kritik mesaj:kurulanlar dosyası yok." 
 | ||
| 			fi
 | ||
| 		else
 | ||
| 			ryaz 32 "paket zaten kurulu değil!"
 | ||
| 		fi
 | ||
| 	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
 | ||
| 	else
 | ||
| 		echo "paket kurulu değil!"
 | ||
| 	fi
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| paket_bilgi(){
 | ||
| 	local paket kkont
 | ||
| 	kkont=`kurulu_kontrol "$1"`
 | ||
| 	if [ "$kkont" = "kurulu" ];then
 | ||
| 		paket="$1"
 | ||
| 		satir=`sed -n '1p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "AD:" ${satir:1:${#satir}-1} 
 | ||
| 		satir=`sed -n '2p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "TN:" ${satir:1:${#satir}-1} 
 | ||
| 		satir=`sed -n '3p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "UR:" ${satir:1:${#satir}-1} 
 | ||
| 		satir=`sed -n '4p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "YP:" ${satir:1:${#satir}-1} 
 | ||
| 		satir=`sed -n '5p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "PK:" ${satir:1:${#satir}-1} 
 | ||
| 		satir=`sed -n '6p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "--:" ${satir:1:${#satir}-1} 
 | ||
| 		satir=`sed -n '7p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "VS:" ${satir:1:${#satir}-1}
 | ||
| 		satir=`sed -n '8p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "RL:" ${satir:1:${#satir}-1}
 | ||
| 		satir=`sed -n '9p' <  /var/lib/pkg/DB/"$paket"/META`
 | ||
| 		ryaz 32 "DZ:" `date -d @${satir:1:${#satir}-1}`
 | ||
| 	else
 | ||
| 		echo "paket kurulu değil!"
 | ||
| 	fi
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| yeniden_paketle(){
 | ||
| 		cd $1
 | ||
| 		bsdtar -r -f  ../"$1".mps .META
 | ||
| 		bsdtar -r -f  ../"$1".mps *
 | ||
| 		cd ..
 | ||
| 		lzip -9 "$1".mps
 | ||
| }
 | ||
| 
 | ||
| derleme_listyap(){
 | ||
| 	bagimlist=`bagimlilar "$1"`
 | ||
| 
 | ||
| 	if [ "$bagimlist" != "talimatyok" ];then
 | ||
| 		for bagim in $bagimlist;do
 | ||
| 			
 | ||
| 			if [ "`cat tumbag.liste | grep $bagim`" != "$bagim" ];then
 | ||
| 				derleme_listyap "$bagim"
 | ||
| 			fi
 | ||
| 			
 | ||
| 		done
 | ||
| 		
 | ||
| 		if  ! grep -Fxq "$1" tumbag.liste
 | ||
| 		then
 | ||
| 			ana="`find $talimatname_dizin -name $1`"
 | ||
| 			echo ${ana#"$talimatname_dizin"}
 | ||
| 			#sadece genel bagimliliklar derlenecek
 | ||
| 			echo "$1" >> tumbag.liste 
 | ||
| 			if [ -d "$talimatname_dizin/genel/$1" ];then
 | ||
| 				echo "$1" >> bag.liste 
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		ryaz 31 "$1 talimatı bulunamadı."
 | ||
| 		exit 1 
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| derleme_listbilgi(){
 | ||
| 	ryaz 34 "yapim asamasında"
 | ||
| }
 | ||
| 
 | ||
| paket_derle_liste(){
 | ||
| 	for dpkt in `cat $1`;do
 | ||
| 		echo $dpkt "derleniyor...."
 | ||
| 		zorla_derle="yok"
 | ||
| 		paket_derle $dpkt
 | ||
| 	done
 | ||
| }
 | ||
| #otomatik derle kontrollu kur
 | ||
| paket_derle_kur(){
 | ||
| 	tekrarkur="hayir"
 | ||
| 	mps -dly "$1"  && mps -derlist bag.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" && 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" > /dev/null &&
 | ||
| 	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_guncelle(){
 | ||
| 	surum_kontrol $1
 | ||
| 	devir_kontrol $1
 | ||
| }
 | ||
| 
 | ||
| paket_guncelle_oto(){
 | ||
| 	mps -dly "$1" > /dev/null &&
 | ||
| 	local kpkt
 | ||
| 	for kpkt in `cat bag.liste`;do
 | ||
| 		mps -g "$kpkt"
 | ||
| 	done
 | ||
| 	rm bag.liste tumbag.liste
 | ||
| }
 | ||
| 
 | ||
| sistem_guncelle(){
 | ||
| 	local kpkt
 | ||
| 	for kpkt in `mps -kl`;do
 | ||
| 		mps -g "$kpkt"
 | ||
| 	done
 | ||
| }
 | ||
| 
 | ||
| surum_kontrol(){
 | ||
| 	local ksurum version pkt dusuk yuksek durum
 | ||
| 	durum="belirsiz"
 | ||
| 	satir=`sed -n '7p' <  /var/lib/pkg/DB/"$1"/META`
 | ||
| 	ksurum=${satir:1:${#satir}-1} 
 | ||
| 	pkt="`find $talimatname_dizin -name $1`"
 | ||
| 	source $pkt/talimat
 | ||
| 	dusuk=`echo -e "$ksurum\n$version" | sort -V | head -n1`
 | ||
| 	
 | ||
| 	if [ "$ksurum" = "$version" ];then
 | ||
| 		durum="guncel"
 | ||
| 	else
 | ||
| 		if [ "$ksurum" = "$dusuk" ];then
 | ||
| 			durum="yukselt"
 | ||
| 		else
 | ||
| 			durum="dusur"
 | ||
| 		fi
 | ||
| 
 | ||
| 		if [ "$durum" <> "guncel" ];then
 | ||
| 			mps -s $1
 | ||
| 			mps -ik $1
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 	ryaz 33 "$1 surum kontrolu $ksurum & $version $durum" 
 | ||
| }
 | ||
| 
 | ||
| devir_kontrol(){
 | ||
| 	local kdevir release pkt dusuk yuksek durum
 | ||
| 	durum="belirsiz"
 | ||
| 	satir=`sed -n '8p' <  /var/lib/pkg/DB/"$1"/META`
 | ||
| 	kdevir=${satir:1:${#satir}-1} 
 | ||
| 	pkt="`find $talimatname_dizin -name $1`"
 | ||
| 	source $pkt/talimat
 | ||
| 	dusuk=`echo -e "$kdevir\n$release" | sort -V | head -n1`
 | ||
| 	
 | ||
| 	if [ "$kdevir" = "$release" ];then
 | ||
| 		durum="guncel"
 | ||
| 	else
 | ||
| 		if [ "$kdevir" = "$dusuk" ];then
 | ||
| 			durum="yukselt"
 | ||
| 		else
 | ||
| 			durum="dusur"
 | ||
| 		fi
 | ||
| 		
 | ||
| 		if [ "$durum" <> "guncel" ];then
 | ||
| 			mps -s $1
 | ||
| 			mps -ik $1
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 	ryaz 33 "$1 devir kontrolu $kdevir & $release $durum" 
 | ||
| }
 | ||
|    
 | ||
| paket_derle(){
 | ||
| 	#eski derleme kalıntılarını temizle
 | ||
| 	if [ -d tmp.* ];then
 | ||
| 		rm -r tmp.*
 | ||
| 	fi
 | ||
| 	kaynakdizin_kontrol
 | ||
| 	local konum derleme_onay eh bagimd
 | ||
| 	derleme_onay="h"
 | ||
| 	konum="`find "$talimatname_dizin" -name $1`"
 | ||
| 	if [ -d "$konum" ];then
 | ||
| 		mkdir -p tmp."$1" 
 | ||
| 		cp -a $konum/* tmp."$1"/
 | ||
| 		cd tmp."$1"
 | ||
| 		if [ "`kurulu_kontrol "$1"`" = "kurulu" ] && [ "$zorla_derle" = "yok" ];then
 | ||
| 			derleme_onay="h"
 | ||
| 		else
 | ||
| 			echo "-----"
 | ||
| 			derleme_onay="e"
 | ||
| 		fi 
 | ||
| 		if [ "$derleme_onay" = "e" ];then
 | ||
| 			ryaz 33 "$1" "derleniyor...."
 | ||
| 			#mpsd -d > /dev/null
 | ||
| 			#mpsd -d
 | ||
| 			echo "------------------------"
 | ||
| 			mpsd -d 2>&1|tee /tmp/"$1".log
 | ||
| 			if ( grep "^=======>" /tmp/"$1".log| tail -1 |grep "ERROR"  > /dev/null);then
 | ||
| 				echo "derleme sisteminde hata oluştu -----> " /tmp/"$1".log
 | ||
| 				exit 1
 | ||
| 			fi
 | ||
| 			if [ "$kurulum_onay" = "evet" ];then
 | ||
| 				for kpkt in `ls $1* | cut -d'#' -f1`;do
 | ||
| 					mps -k "$kpkt#"*
 | ||
| 				done	
 | ||
| 			fi
 | ||
| 			mv *.mps.lz ../
 | ||
| 		else
 | ||
| 			ryaz 32 "paket zaten kurulu,yine de derlemek için:
 | ||
| 			mps -zd $1"
 | ||
| 		fi 
 | ||
| 		cd ..
 | ||
| 		rm -r tmp."$1"
 | ||
| 	else
 | ||
| 		ryaz 31 "talimat dosyası bulunamadı."
 | ||
| 	fi
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| bagimlilar(){
 | ||
| 	local bagimd konum
 | ||
| 	konum="`find "$talimatname_dizin" -name $1`"
 | ||
| 	if [ -f "$konum/talimat" ];then
 | ||
| 		bagimd=`cat $konum/talimat | grep "Depends on" | cut -d':' -f2`
 | ||
| 											   
 | ||
| 		if [ -n "$bagimd" ]; then
 | ||
| 			bagimd=`echo "$bagimd" | sed 's/,/ /g'`
 | ||
| 			#sıralı gösterme
 | ||
| 			echo `echo "$bagimd" | sed 's/,/ /g'`
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		echo "talimatyok"
 | ||
| 		exit 1
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| bagimli_bilgi(){
 | ||
| 	local bagimd konum bag
 | ||
| 	konum="`find "$talimatname_dizin" -name $1`"
 | ||
| 	bagimd=`cat $konum/talimat | grep "Depends" | cut -d':' -f2`
 | ||
| 	if [ -n "$bagimd" ]; then
 | ||
| 		bagimd=`echo "$bagimd" | sed 's/,/ /g'`
 | ||
| 		#sıralı gösterme
 | ||
| 		#echo `echo "$bagimd" | sed 's/,/ /g'`
 | ||
| 		#kurulu kontrollu gosterim
 | ||
| 		for bag in $bagimd;do
 | ||
| 			echo $bag "`kurulu_kontrol $bag`"
 | ||
| 		done
 | ||
| 	fi
 | ||
| 	echo "$1" "`kurulu_kontrol $1`"
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| ters_bagimli(){
 | ||
| 	local ara
 | ||
| 	ara=" $1 "
 | ||
| 	sy=`grep -o "/" <<<"$talimatname_dizin" | wc -l`
 | ||
| 	grep -rli "$ara" "$talimatname_dizin" | cut -d'/' -f`expr $sy + 3`
 | ||
| }
 | ||
| 
 | ||
| silme_kurban_kontrol(){
 | ||
| 	local dizin
 | ||
| 	for f in $(cat $1) ; do 
 | ||
| 		dizin="${f%\'}"
 | ||
| 		dizin="${dizin#\'}"
 | ||
| 		if [ -d "$dizin" ];then
 | ||
| 			for g in `ls "$dizin"` ; do 
 | ||
| 				if ! grep -Fxq " '$dizin/$g'" "$1"
 | ||
| 				then
 | ||
| 					echo "$dizin/$g"
 | ||
| 				fi
 | ||
| 			done
 | ||
| 		fi
 | ||
| 	done
 | ||
| }
 | ||
| 
 | ||
| ters_bagimli_kontrol(){
 | ||
| 	ters_bagimli "$1" | sort > tersb.liste
 | ||
| 	ls /var/lib/pkg/DB/ | sed  "/$1/d" | sort  > simdiki.liste
 | ||
| 	comm -12 tersb.liste simdiki.liste
 | ||
| 	rm tersb.liste simdiki.liste
 | ||
| }
 | ||
| 
 | ||
| kurulu_kontrol(){
 | ||
| 	if [ -d "$kokdizin/var/lib/pkg/DB/$1" ];then
 | ||
| 		echo "kurulu"
 | ||
| 		exit 1
 | ||
| 	fi
 | ||
| 	echo "degil"
 | ||
| }
 | ||
| 
 | ||
| sistem_kur(){
 | ||
| 	local spaket
 | ||
| 	for spaket in `cat $1`;do 
 | ||
| 		./$betikad -ik "$spaket" -kok $2;
 | ||
| 	done
 | ||
| }
 | ||
| 
 | ||
| kaynakdizin_kontrol(){
 | ||
| 	if [ ! -d $DERLEME_KAYNAKDIZIN ];then
 | ||
| 		mkdir $DERLEME_KAYNAKDIZIN
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| logdizin_kontrol(){
 | ||
| 	if [ ! -d $kokdizin$LOGDIZIN ];then
 | ||
| 		mkdir $kokdizin$LOGDIZIN	
 | ||
| 	fi
 | ||
| 	if [ ! -d $kokdizin$LOGDIZIN/derleme ];then
 | ||
| 		mkdir $kokdizin$LOGDIZIN/derleme
 | ||
| 	fi
 | ||
| 	if [ ! -f $kokdizin$LOGDIZIN/mps.log ];then
 | ||
| 		touch $kokdizin$LOGDIZIN/mps.log
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| tarihce_dkontrol(){
 | ||
| 	if [ ! -d $TARIHCE_DIZIN ];then
 | ||
| 		mkdir $TARIHCE_DIZIN
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| temel_tarihce_kontrol(){
 | ||
| 	if [ ! -f $TARIHCE_DIZIN/temel-pkvt.tar.lz ];then
 | ||
| 		tarihce_olustur "temel"
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| tarihce_liste(){
 | ||
| 	tarihce_dkontrol
 | ||
| 	ls $TARIHCE_DIZIN/
 | ||
| 
 | ||
| }
 | ||
| 
 | ||
| tarihce_yap(){
 | ||
| 	tarihce_dkontrol
 | ||
| 	local t_isim
 | ||
| 	if [ "$temel_tarihce" = "evet" ];then
 | ||
| 		t_isim="temel"
 | ||
| 	else
 | ||
| 		t_isim=`date +%m-%d-%y.%H%M%S`
 | ||
| 	fi
 | ||
| 	tarihce_olustur "$t_isim"
 | ||
| }
 | ||
| 
 | ||
| tarihce_olustur(){
 | ||
| 	bsdtar -P -r -f $TARIHCE_DIZIN/"$1"-pkvt.tar $VT
 | ||
| 	lzip -9 $TARIHCE_DIZIN/"$1"-pkvt.tar
 | ||
| }
 | ||
| 
 | ||
| tarihce_yukle(){
 | ||
| 	tarihce_dkontrol
 | ||
| 	local islem_onay cikis
 | ||
| 	sil_onay="h"
 | ||
| 	if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then
 | ||
| 		bsdtar -p -o -C /tmp -xf $TARIHCE_DIZIN/"$1-pkvt.tar.lz" 2>/dev/null
 | ||
| 		ls /tmp/var/lib/pkg/DB/ > hedef.pkvt
 | ||
| 		ls /var/lib/pkg/DB/ > simdiki.pkvt
 | ||
| 		grep -v -F -x -f hedef.pkvt simdiki.pkvt > sil.liste
 | ||
| 		grep -v -F -x -f simdiki.pkvt hedef.pkvt > kur.liste
 | ||
| 		#rm hedef.pkvt simdiki.pkvt
 | ||
| 		rm -r /tmp/var
 | ||
| 		cikis=""
 | ||
| 		if [ -s sil.liste ];then
 | ||
| 			ryaz 32 "silinecekler"
 | ||
| 			ryaz 32 "------------"
 | ||
| 			cat sil.liste
 | ||
| 		fi
 | ||
| 		
 | ||
| 		if [ -s kur.liste ];then
 | ||
| 			ryaz 32 "kurulacaklar"
 | ||
| 			ryaz 32 "------------"
 | ||
| 			cat kur.liste
 | ||
| 		fi
 | ||
| 		if [ ! -s sil.liste ] && [ ! -s kur.liste ];then
 | ||
| 			ryaz 32 "sistem zaten hedef durumda!"
 | ||
| 			exit 1
 | ||
| 		fi
 | ||
| 		while true; do
 | ||
| 			ryaz 34 "otomatik geri dönüşüm başlasın mı?";read -p "e veya h-> " eh
 | ||
| 			case $eh in
 | ||
| 				[Ee]* ) islem_onay="e"; break;;
 | ||
| 				[Hh]* ) break;;
 | ||
| 				* ) echo "e veya h";;
 | ||
| 			esac
 | ||
| 		done
 | ||
| 		if [ "$islem_onay" = "e" ];then
 | ||
| 			mps -os sil.liste
 | ||
| 			mps -kurul kur.liste
 | ||
| 			mv sil.liste silinenler.liste
 | ||
| 			mv kur.liste kurulanlar.liste
 | ||
| 			exit 1
 | ||
| 		fi
 | ||
| 		mv sil.liste sil_iptal.liste	
 | ||
| 		mv kur.liste kur_iptal.liste	
 | ||
| 	else
 | ||
| 		ryaz 31 "ilgili tarihce dosyası bulunamadı!"
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| tarihce_sil(){
 | ||
| 	tarihce_dkontrol
 | ||
| 	if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then
 | ||
| 		rm -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz"
 | ||
| 	else
 | ||
| 		ryaz 31 "ilgili tarihce dosyası bulunamadı!"
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| loglama(){
 | ||
| 	logdizin_kontrol
 | ||
| 	echo "$(date +'%F %T') $1" >> "$kokdizin/$LOGDIZIN/mps.log"
 | ||
| }
 | ||
| 
 | ||
| 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
 | ||
| 	fi
 | ||
| 	ryaz 33 "yerele eşitleniyor."
 | ||
| 	rm -r $talimatname_dizin/*
 | ||
| 	rsync -a $DERLEME_KAYNAKDIZIN/milis.git/talimatname/ $talimatname_dizin
 | ||
| 	rm -r `dirname $talimatname_dizin`/bin/*
 | ||
| 	rsync -a $DERLEME_KAYNAKDIZIN/milis.git/bin/ `dirname $talimatname_dizin`/bin
 | ||
| 	rm -r `dirname $talimatname_dizin`/ayarlar/*
 | ||
| 	rsync -a $DERLEME_KAYNAKDIZIN/milis.git/ayarlar/ `dirname $talimatname_dizin`/ayarlar
 | ||
| 	#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
 | ||
| }
 | ||
| 
 | ||
| paketvt_guncelle(){
 | ||
| 	temel_tarihce_kontrol
 | ||
| 	wget -q --spider "$sunucu""paket.vt"
 | ||
| 	#if wget -P /tmp -q "$sunucu""paket.vt" > /dev/null; then
 | ||
| 	if [ $? -eq 0 ]; then	
 | ||
| 		ryaz 32 "paket veritabanı guncellenıyor." "$paketdepo""paket.vt"
 | ||
| 		if [ -f "$paketdepo""paket.vt" ];then
 | ||
| 			mv "$paketdepo""paket.vt" "$paketdepo""paket.vt.eski"
 | ||
| 		fi
 | ||
| 		wget -q --show-progress -P "$paketdepo" "$sunucu""paket.vt"
 | ||
| 		#rm /tmp/paket.vt*
 | ||
| 		mps -kudo
 | ||
| 		exit 1
 | ||
| 	fi
 | ||
| 	ryaz 31 "paket veritabanı guncelleme olumsuz."
 | ||
| }
 | ||
| 
 | ||
| talimat_bilgi(){
 | ||
| 	local konum HEAD
 | ||
| 	konum="`find "$talimatname_dizin" -name $1`"
 | ||
| 	HEAD=`grep -B 12 "build()" $konum/talimat`
 | ||
| 	echo $HEAD
 | ||
| }
 | ||
| 
 | ||
| sistem_kontrol(){
 | ||
| 	paketvt_kontrol
 | ||
| 	sunucu_kontrol
 | ||
| }
 | ||
| 
 | ||
| sunucu_kontrol(){
 | ||
| 	wget -q --spider $sunucu
 | ||
| 	if [ $? -eq 0 ]; then
 | ||
| 		ryaz 32 "paket sunucu aktif"
 | ||
| 	else
 | ||
| 		ryaz 31 "sunucu erişim dışı"
 | ||
| 		exit 1
 | ||
| 	fi
 | ||
| }	
 | ||
| 
 | ||
| gitayar_kontrol(){
 | ||
| 	if [ ! -f /root/.gitconfig ];then
 | ||
| 		git_ssl_iptal
 | ||
| 		git_otokimlik
 | ||
| 	fi
 | ||
| }
 | ||
| 
 | ||
| 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"
 | ||
| }
 | ||
| 
 | ||
| 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ı"
 | ||
| 		else
 | ||
| 			ryaz 34 "$1 indirildi"
 | ||
| 		fi
 | ||
| 		mkontdeg=`sha1sum "$paketdepo$pkt" | cut -d' ' -f1`
 | ||
| 		if [ "$ekontdeg" != "$mkontdeg" ];then
 | ||
| 			ryaz 31 "sha1sum uyusmaslik tesbit edildi,paket tekrar indiriliyor."
 | ||
| 			rm -f "$paketdepo$pkt" 
 | ||
| 			paket_indir "$1" 
 | ||
| 		fi
 | ||
| 	fi
 | ||
| 	
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| yardim(){
 | ||
|  echo "yardim"
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| ayarlar() {
 | ||
| 	
 | ||
| 	while [ "$1" ]; do
 | ||
| 		case $1 in
 | ||
| 			-i|--indir)
 | ||
| 				ikaynak="ag" 
 | ||
| 				kurulum_onay="olumsuz";;
 | ||
| 			-ik|--inku)
 | ||
| 				if [ "$3" == "-kok" ] && [ -d "$4" ]; then
 | ||
| 					kokdizin="$4"
 | ||
| 				fi
 | ||
| 				ikaynak="ag" ;;
 | ||
| 			-ikz|--inkuzo)
 | ||
| 				ikaynak="ag" 
 | ||
| 				tekrarkur="evet" ;;
 | ||
| 			-k|--yrku)
 | ||
| 				if [ "$3" == "-kok" ] && [ -d "$4" ]; then
 | ||
| 					kokdizin="$4"
 | ||
| 					tekrarkur="evet"
 | ||
| 				fi
 | ||
| 				ikaynak="yerel" ;;
 | ||
| 			-s|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";;	
 | ||
| 			-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" ;;
 | ||
| 			-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 ;;
 | ||
| 			-kdl)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "paket ismi eksik"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				kurulum_dosya_listele "$2" ;;	
 | ||
| 			-pak|--paketle)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "paketlenecek dizin ismi eksik"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				yeniden_paketle "$2" ;;
 | ||
| 			-psk|--paksiskur)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "paket liste yok"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				if [ ! "$3" ]; then
 | ||
| 					ryaz 31 "hedef dizin yok"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				sistem_kur "$2" "$3" ;;
 | ||
| 			-po)
 | ||
| 				pvt_olustur ;;
 | ||
| 			-os|--pkos)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "silme listesi yok"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				paket_sil_oto "$2" ;;	
 | ||
| 			-kl|--kurulu-liste)
 | ||
| 				ls $VT ;;	
 | ||
| 			-dly|--drly)
 | ||
| 				if [ -f tumbag.liste ];then
 | ||
| 					mv tumbag.liste tumbag.liste.eski
 | ||
| 				fi
 | ||
| 				if [ -f bag.liste ];then
 | ||
| 					mv bag.liste bag.liste.eski
 | ||
| 				fi
 | ||
| 				touch tumbag.liste 
 | ||
| 				touch bag.liste 
 | ||
| 				derleme_listyap "$2" ;;	
 | ||
| 			-dlb|--drlb)
 | ||
| 				derleme_listbilgi "$2";;	
 | ||
| 			-b|--pkbl)
 | ||
| 				paket_bilgi "$2" ;;
 | ||
| 			#sunucu bilgisi alma
 | ||
| 			-sun|--sunucu)
 | ||
| 				ryaz 32 $sunucu ;;
 | ||
| 			-bb|--pkbb)
 | ||
| 				bagimli_bilgi "$2" | column -t;;
 | ||
| 			-tb|--pktb)
 | ||
| 				ters_bagimli "$2" ;;
 | ||
| 			-tbk|--pktbk)
 | ||
| 				ters_bagimli_kontrol "$2" ;;
 | ||
| 			-talb|--talb)
 | ||
| 				talimat_bilgi "$2" | column -t;;
 | ||
| 			-to)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "talimat ismi eksik"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				talimat_olustur "$2" ;;
 | ||
| 			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"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				paket_guncelle "$2";;
 | ||
| 			#bagimliliklariyla beraber paket guncelleme-package updating with depencies
 | ||
| 			-go|--pkgo)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "paket ismi eksik"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				paket_guncelle_oto "$2";;
 | ||
| 			-kk|--kurulu-kontrol)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "paket ismi eksik"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				ryaz 31 `kurulu_kontrol "$2"`;;
 | ||
| 			-kudo)
 | ||
| 				kurulum_dogrulama ;;
 | ||
| 			-suko)
 | ||
| 				sunucu_kontrol ;;
 | ||
| 			-cf|--config-file)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					echo "ayardosyası gerek $1"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 				ayar_dosyasi="$2"
 | ||
| 				shift ;;
 | ||
| 			-tro)
 | ||
| 				tarihce_yap ;;
 | ||
| 			-trot)
 | ||
| 				temel_tarihce="evet"
 | ||
| 				tarihce_yap ;;
 | ||
| 			-try)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "tarihce dosyasi eksik $1"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 					tarihce_yukle "$2"
 | ||
| 					shift ;;
 | ||
| 			-trl)
 | ||
| 				tarihce_liste ;;
 | ||
| 			-trs)
 | ||
| 				if [ ! "$2" ]; then
 | ||
| 					ryaz 31 "parametre eksik $1"
 | ||
| 					exit 1
 | ||
| 				fi
 | ||
| 					tarihce_sil "$2"
 | ||
| 					shift ;;
 | ||
| 			-v)
 | ||
| 				ryaz 33 "$betikad $versiyon  $iletisim" 
 | ||
| 				exit 0 ;;
 | ||
| 			-h|--help)
 | ||
| 				yardim
 | ||
| 				exit 0 ;;
 | ||
| 			
 | ||
| 		esac
 | ||
| 		shift
 | ||
| 	done
 | ||
| }
 | ||
| 
 | ||
| yardim() {
 | ||
|     cat <<_EOF
 | ||
|     
 | ||
| $betikad $versiyon Milis Paket Sistemi
 | ||
| 
 | ||
| Secenekler:
 | ||
|  -G			ikili paket 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(){
 | ||
| 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!"
 | ||
| 			fi
 | ||
| 		else
 | ||
| 			ryaz 31 "paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )"
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		ryaz 32 "$2 paketi zaten kurulu!"
 | ||
| 	fi
 | ||
| 	exit 1
 | ||
| fi
 | ||
| 
 | ||
| if [ "$ikaynak" = "yerel" ]; then
 | ||
| 	local silme
 | ||
| 	pkontrol=`basename $2 | grep -w "mps.lz"`
 | ||
| 	if [ ! -z "$pkontrol" -a "$pkontrol" != "" ]; then
 | ||
| 		paketad=`echo "$2" | cut -d'#' -f1`	
 | ||
| 		kkont=`kurulu_kontrol "$paketad"`
 | ||
| 		if [ "$kkont" = "degil" ];then
 | ||
| 			icerik_ekle "$2"
 | ||
| 		else
 | ||
| 			echo $tekrarkur
 | ||
| 			if [ "$tekrarkur" = "hayir" ];then
 | ||
| 				while true; do
 | ||
| 					ryaz 31 "$2 paketi zaten kurulu silinip kurulsun mu?"
 | ||
| 					read -p "e veya h -> " eh
 | ||
| 					case $eh in
 | ||
| 						[Ee]* ) silme="e"; break;;
 | ||
| 						[Hh]* ) break;;
 | ||
| 						* ) echo "e veya h";;
 | ||
| 					esac
 | ||
| 				done
 | ||
| 			fi
 | ||
| 			if [ "$silme" = "e" ];then
 | ||
| 				ryaz 33 "silinecekelerin kontrolu için"
 | ||
| 				paket_sil "$paketad"
 | ||
| 				icerik_ekle "$2"
 | ||
| 			fi
 | ||
| 		fi
 | ||
| 	else
 | ||
| 		ryaz 31 "yerelde mps paketi bulunamadı."
 | ||
| 	fi
 | ||
| fi
 | ||
| 
 | ||
| }
 | ||
| ana "$@"
 | ||
| 
 | ||
| 
 | ||
| #31 kirmizi
 | ||
| #32 yesil
 | ||
| #33 sari
 | ||
| #34 mavi
 | ||
| #34 mor
 |