1847 lines
42 KiB
Plaintext
1847 lines
42 KiB
Plaintext
|
#!/bin/bash
|
|||
|
. /etc/mpsd.conf
|
|||
|
if [ -f /etc/mps.conf ];then
|
|||
|
. /etc/mps.conf
|
|||
|
fi
|
|||
|
. /root/bin/fonks.sh
|
|||
|
versiyon="0.9.9"
|
|||
|
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"
|
|||
|
ana_talimatname_dizin="/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"
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
icerik_ekle(){
|
|||
|
paketad=`echo "$1" | cut -d'#' -f1`
|
|||
|
paketad=`basename $paketad`
|
|||
|
ryaz 34 $paketad" paketi kuruluyor-> $kokdizin"
|
|||
|
tar -C /tmp --extract --file=$1 .PRE 1 2> /tmp/$paketad_pre.log
|
|||
|
#kos-kur kontrolu
|
|||
|
if [ -f /tmp/.PRE ];then
|
|||
|
if [ "$kokdizin" == "/" ];then
|
|||
|
bash /tmp/.PRE
|
|||
|
else
|
|||
|
cp /tmp/.PRE $kokdizin/tmp/$paketad.PRE
|
|||
|
fi
|
|||
|
rm /tmp/.PRE
|
|||
|
fi
|
|||
|
mkdir -p kur.$paketad &&
|
|||
|
tar xf $1 -C kur.$paketad &&
|
|||
|
#istenmeyen yerellerin silinmesi
|
|||
|
if [ -d kur.$paketad/usr/share/locale ] && [ "$yerelsil" == "evet" ];then
|
|||
|
for lkl in `ls kur.$paketad/usr/share/locale/`;do
|
|||
|
if [ "$lkl" != "$lokal" ];then rm -r kur.$paketad/usr/share/locale/$lkl; fi
|
|||
|
done
|
|||
|
fi
|
|||
|
#doc dizini silinmesi
|
|||
|
if [ -d kur.$paketad/usr/share/doc ] && [ "$docsil" == "evet" ];then
|
|||
|
rm -r kur.$paketad/usr/share/doc
|
|||
|
fi
|
|||
|
mkdir -p $kokdizin/var/lib/pkg/DB/"$paketad" &&
|
|||
|
cp -v -afr kur.$paketad/* $kokdizin > kur.$paketad/kurulan
|
|||
|
cp kur.$paketad/kurulan /tmp/ &&cat kur.$paketad/kurulan | cut -d '>' -f2 > $kokdizin/var/lib/pkg/DB/"$paketad"/kurulan &&
|
|||
|
#mv kur.$paketad/.MTREE /var/lib/pkg/DB/"$paketad"/files &&
|
|||
|
mv kur.$paketad/.META $kokdizin/var/lib/pkg/DB/"$paketad"/META &&
|
|||
|
|
|||
|
#kur-kos calistirilmasi
|
|||
|
if [ -f kur.$paketad/.POST ];then
|
|||
|
if [ "$kokdizin" == "/" ];then
|
|||
|
bash kur.$paketad/.POST
|
|||
|
else
|
|||
|
cp kur.$paketad/.POST $kokdizin/tmp/$paketad.POST
|
|||
|
fi
|
|||
|
rm kur.$paketad/.POST
|
|||
|
fi
|
|||
|
|
|||
|
rm -r kur.$paketad
|
|||
|
if [ -f $kokdizin/etc/ld.so.conf ];then
|
|||
|
ldconfig -r $kokdizin
|
|||
|
fi
|
|||
|
ryaz 34 $paketad" paketi kuruldu."
|
|||
|
loglama "$paketad paketi kuruldu."
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
paket_sil(){
|
|||
|
local paket kkont sil_onay oto_silme
|
|||
|
paket="$1"
|
|||
|
if [ "$2" ]; then
|
|||
|
oto_silme="$2"
|
|||
|
fi
|
|||
|
if [ "$tpk" = "evet" ] && [ -d "$talimatname_dizin/temel/$1" ];then
|
|||
|
ryaz 31 "$1 temel sistem paketidir.Silinemez!!!"
|
|||
|
hataloglama "$1 temel sistem paketidir.Silinemez!!!"
|
|||
|
else
|
|||
|
kkont=`kurulu_kontrol "$1"`
|
|||
|
if [ "$kkont" = "kurulu" ];then
|
|||
|
if [ -f "/var/lib/pkg/DB/$paket/kurulan" ];then
|
|||
|
#dizin koruma
|
|||
|
kurban_kurtar $1
|
|||
|
cat /var/lib/pkg/DB/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil
|
|||
|
ryaz 31 "ters bagimliliklar"
|
|||
|
ryaz 31 "------------------"
|
|||
|
ters_bagimli_kontrol "$paket"
|
|||
|
ryaz 31 "------------------"
|
|||
|
ryaz 31 "kurban dosyalar"
|
|||
|
ryaz 31 "------------------"
|
|||
|
silme_kurban_kontrol /tmp/$paket.sil
|
|||
|
ryaz 31 "------------------"
|
|||
|
if [ "$oto_silme" = "evet" ];then
|
|||
|
sil_onay="e"
|
|||
|
else
|
|||
|
while true; do
|
|||
|
ryaz 34 $paket" paketi kaldırılsın mı?";read -p "e veya h-> " eh
|
|||
|
case $eh in
|
|||
|
[Ee]* ) sil_onay="e"; break;;
|
|||
|
[Hh]* ) break;;
|
|||
|
* ) echo "e veya h";;
|
|||
|
esac
|
|||
|
done
|
|||
|
fi
|
|||
|
if [ "$sil_onay" = "e" ];then
|
|||
|
[ -f "$talimatname_dizin/genel/$paket/$paket.kos-sil" ] && bash "$talimatname_dizin/genel/$paket/$paket.kos-sil"
|
|||
|
xargs rm -r -f < /tmp/$paket.sil &&
|
|||
|
rm -r -f /var/lib/pkg/DB/"$paket" &&
|
|||
|
[ -f "$talimatname_dizin/genel/$paket/$paket.sil-kos" ] && bash "$talimatname_dizin/genel/$paket/$paket.sil-kos"
|
|||
|
ryaz 34 $paket" paketi silindi."
|
|||
|
loglama "$paket paketi silindi."
|
|||
|
rm -f /tmp/$paket.sil
|
|||
|
else
|
|||
|
rm -f /tmp/$paket.sil
|
|||
|
fi
|
|||
|
|
|||
|
else
|
|||
|
ryaz 31 "kritik mesaj:kurulanlar dosyası yok."
|
|||
|
hataloglama "kritik mesaj:kurulanlar dosyası yok."
|
|||
|
fi
|
|||
|
elif [ "$kkont" = "degil" ];then
|
|||
|
ryaz 32 "paket zaten kurulu değil!"
|
|||
|
hataloglama "paket zaten kurulu değil!"
|
|||
|
else
|
|||
|
ryaz 32 "paket tanımsız!"
|
|||
|
hataloglama "paket tanımsız!"
|
|||
|
fi
|
|||
|
fi
|
|||
|
|
|||
|
}
|
|||
|
paket_ara(){
|
|||
|
paket="$1"
|
|||
|
for pkt in `cat /depo/paketler/paket.vt | grep $paket | awk '{print $1}'`; do
|
|||
|
pakdesc=$(find /root/talimatname -name "$pkt" | xargs -I % sed -n '1{p;q}' %/talimat | sed s'/# Description: //g');
|
|||
|
ryaz 34 "$pkt - $pakdesc";
|
|||
|
done
|
|||
|
}
|
|||
|
kelime_bul(){
|
|||
|
grep --color -H -ri "$1" /root/talimatname/
|
|||
|
}
|
|||
|
paket_bilgi2(){
|
|||
|
local paket kkont
|
|||
|
kkont=`kurulu_kontrol "$1"`
|
|||
|
if [ "$kkont" = "kurulu" ];then
|
|||
|
paket="$1"
|
|||
|
cat /var/lib/pkg/DB/"$paket"/META
|
|||
|
elif [ "$kkont" = "degil" ];then
|
|||
|
echo "paket kurulu değil!"
|
|||
|
else
|
|||
|
echo "paket tanımsız!"
|
|||
|
fi
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
paket_bilgi(){
|
|||
|
local paket kkont
|
|||
|
kkont=`kurulu_kontrol "$1"`
|
|||
|
if [ "$kkont" = "kurulu" ];then
|
|||
|
paket="$1"
|
|||
|
satir=`sed -n '1p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "AD:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '2p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "TN:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '3p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "UR:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '4p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "YP:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '5p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "PK:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '6p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "--:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '7p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "VS:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '8p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "RL:" ${satir:1:${#satir}-1}
|
|||
|
satir=`sed -n '9p' < /var/lib/pkg/DB/"$paket"/META`
|
|||
|
ryaz 32 "DZ:" `date -d @${satir:1:${#satir}-1}`
|
|||
|
elif [ "$kkont" = "degil" ];then
|
|||
|
echo "paket kurulu değil!"
|
|||
|
else
|
|||
|
echo "paket tanımsız!"
|
|||
|
fi
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
yeniden_paketle(){
|
|||
|
cd $1
|
|||
|
bsdtar -r -f ../"$1".mps .META
|
|||
|
bsdtar -r -f ../"$1".mps *
|
|||
|
cd ..
|
|||
|
lzip -9 "$1".mps
|
|||
|
}
|
|||
|
|
|||
|
derleme_listyap_eski(){
|
|||
|
bagimlist=`bagimlilar "$1"`
|
|||
|
|
|||
|
if [ "$bagimlist" != "talimatyok" ];then
|
|||
|
for bagim in $bagimlist;do
|
|||
|
|
|||
|
if [ "`cat tumbag.liste | grep $bagim`" != "$bagim" ];then
|
|||
|
derleme_listyap "$bagim"
|
|||
|
fi
|
|||
|
|
|||
|
done
|
|||
|
|
|||
|
if ! grep -Fxq "$1" tumbag.liste
|
|||
|
then
|
|||
|
ana="`find $talimatname_dizin -name $1`"
|
|||
|
echo ${ana#"$talimatname_dizin"}
|
|||
|
#sadece genel bagimliliklar derlenecek
|
|||
|
echo "$1" >> tumbag.liste
|
|||
|
if [ -d "$talimatname_dizin/genel/$1" ];then
|
|||
|
echo "$1" >> bag.liste
|
|||
|
fi
|
|||
|
fi
|
|||
|
else
|
|||
|
ryaz 31 "$1 talimatı bulunamadı."
|
|||
|
hataloglama "$1 talimatı bulunamadı."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
derleme_listyap_kontrol(){
|
|||
|
|
|||
|
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(){
|
|||
|
|
|||
|
bagimlist=`bagimlilar "$1"`
|
|||
|
#echo $bagimlist
|
|||
|
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`"
|
|||
|
dal="`find $ektalimatname -name $1`"
|
|||
|
if [ ! -z "$ana" -a "$ana" != " " ]; then
|
|||
|
echo ${ana#"$talimatname_dizin"}
|
|||
|
elif [ ! -z "$dal" -a "$dal" != " " ]; then
|
|||
|
echo ${dal#"$ektalimatname"}
|
|||
|
fi
|
|||
|
#sadece genel bagimliliklar derlenecek
|
|||
|
echo "$1" >> tumbag.liste
|
|||
|
if [ -f "$talimatname_dizin/genel/$1/talimat" ];then
|
|||
|
echo "$ana" >> bag.liste
|
|||
|
elif [ -f "$dal/talimat" ];then
|
|||
|
echo "$dal" >> bag.liste
|
|||
|
fi
|
|||
|
fi
|
|||
|
else
|
|||
|
ryaz 31 "$1 talimatı bulunamadı."
|
|||
|
hataloglama "$1 talimatı bulunamadı."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
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 bag.liste
|
|||
|
}
|
|||
|
|
|||
|
# odkp
|
|||
|
oto_derle_kur_paketle(){
|
|||
|
mps -G
|
|||
|
# mps -kur
|
|||
|
paket_inkur_oto $1 &&
|
|||
|
if [ -f "$talimatname_dizin/genel/$1/$1.sira" ];then
|
|||
|
ryaz 32 "sıralı derleme yapılacak."
|
|||
|
paket_derle_liste "$talimatname_dizin/genel/$1/$1.sira"
|
|||
|
else
|
|||
|
paket_derle_kur $1
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
paket_kur_oto(){
|
|||
|
local kpkt pkt pak kliste
|
|||
|
if [ "$1" = "-H" ];then
|
|||
|
ls *.mps.lz > "otokur.list"
|
|||
|
kliste="otokur.list"
|
|||
|
else
|
|||
|
kliste="$1"
|
|||
|
fi
|
|||
|
for kpkt in `cat $kliste`;do
|
|||
|
for pkt in `ls $kpkt* | cut -d'#' -f1`;do
|
|||
|
pak=`ls "$pkt#"*`
|
|||
|
mps -k "$pak" && 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 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
|
|||
|
paket_inkur_oto "$kpkt"
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
# otomatik kontrollu kur
|
|||
|
# -kur
|
|||
|
paket_inkur_oto(){
|
|||
|
local konum anakonum
|
|||
|
derleme_listyap_kontrol
|
|||
|
derleme_listyap "$1" | grep "bulunamadı"
|
|||
|
#derleme_listyap "$1" > mps.log &&
|
|||
|
local kpkt
|
|||
|
for paketkonum in `cat bag.liste`;do
|
|||
|
# önce talimat-anatalimat karşılaştırması yapılır.
|
|||
|
kpkt=`basename $paketkonum`
|
|||
|
konum="`find "$talimatname_dizin" -name $kpkt`"
|
|||
|
anakonum="`find "$ana_talimatname_dizin" -name $kpkt`"
|
|||
|
ekkonum="`find "$ektalimatname" -name $kpkt`"
|
|||
|
if [ -f "$anakonum/talimat" ];then
|
|||
|
if [ "`dosya_karsilastir $konum/talimat $anakonum/talimat`" = "evet" ];then
|
|||
|
mps -ik "$kpkt"
|
|||
|
#ryaz 32 "kurulacak : $kpkt"
|
|||
|
else
|
|||
|
ryaz 31 "$kpkt talimat eşitsizliğinden atlandı."
|
|||
|
fi
|
|||
|
elif [ -f "$ekkonum/talimat" ];then
|
|||
|
mps -ik "$kpkt"
|
|||
|
#ryaz 32 "kurulacak2 : $kpkt"
|
|||
|
else
|
|||
|
ryaz 31 "$kpkt talimatı bulunamadı!"
|
|||
|
fi
|
|||
|
done
|
|||
|
rm -rf *.liste *.eski
|
|||
|
}
|
|||
|
|
|||
|
paket_sil_oto(){
|
|||
|
local spkt
|
|||
|
for spkt in `cat $1`;do
|
|||
|
oto_silme="evet"
|
|||
|
paket_sil "$spkt" "$oto_silme"
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
paket_sil_oto_onayli(){
|
|||
|
local spkt
|
|||
|
cat $1
|
|||
|
for spkt in `cat $1`;do
|
|||
|
paket_sil "$spkt"
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
paketsiz_talimatlar(){
|
|||
|
for talimat in `ls $talimatname_dizin/genel`;do
|
|||
|
if [[ ! $(cat $paketdepo/paket.vt | grep $talimat#) ]] ;then
|
|||
|
ack=`grep -e '# Description:' $talimatname_dizin/genel/$talimat/talimat | cut -d':' -f2`
|
|||
|
printf '%s = %s \n' "$talimat" "$ack"
|
|||
|
fi
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
paket_guncelle(){
|
|||
|
surum_kontrol $1
|
|||
|
devir_kontrol $1
|
|||
|
}
|
|||
|
|
|||
|
paket_guncelle_oto(){
|
|||
|
mps -dly "$1" > /dev/null &&
|
|||
|
local kpkt
|
|||
|
for kpkt in `cat bag.liste`;do
|
|||
|
mps -g "$kpkt"
|
|||
|
done
|
|||
|
rm bag.liste tumbag.liste
|
|||
|
}
|
|||
|
|
|||
|
sistem_guncelle(){
|
|||
|
tarihce_yap
|
|||
|
# güncellemede atlanacak paketler.
|
|||
|
esgec=(xorg xorg-font xorg-proto kernel-lts kernel-lts-src vlc)
|
|||
|
local kpkt
|
|||
|
local pk_guncelle
|
|||
|
mps -GG
|
|||
|
mps -G
|
|||
|
for kpkt in `mps -kl`;do
|
|||
|
pk_guncelle="e"
|
|||
|
case "${esgec[@]}" in *"$kpkt"*) pk_guncelle="h" ;; esac
|
|||
|
if [ "$pk_guncelle" = "e" ];then
|
|||
|
paket_guncelle "$kpkt"
|
|||
|
else
|
|||
|
ryaz 31 $kpkt "güncellemesi atlandı"
|
|||
|
fi
|
|||
|
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
surum_kontrol(){
|
|||
|
local ksurum version pkt dusuk yuksek durum
|
|||
|
durum="belirsiz"
|
|||
|
satir=`sed -n '7p' < /var/lib/pkg/DB/"$1"/META`
|
|||
|
ksurum=${satir:1:${#satir}-1}
|
|||
|
pkt="`find $talimatname_dizin -name $1`"
|
|||
|
source $pkt/talimat
|
|||
|
dusuk=`echo -e "$ksurum\n$version" | sort -V | head -n1`
|
|||
|
|
|||
|
if [ "$ksurum" = "$version" ];then
|
|||
|
durum="guncel"
|
|||
|
ryaz 33 "$1 sürümü güncel"
|
|||
|
else
|
|||
|
if [ "$ksurum" = "$dusuk" ];then
|
|||
|
durum="yukselt"
|
|||
|
else
|
|||
|
durum="dusur"
|
|||
|
fi
|
|||
|
gun_onay="h"
|
|||
|
if [ "$durum" <> "guncel" ];then
|
|||
|
while true; do
|
|||
|
ryaz 34 "$1 sürüm $durum""me işlemi uygulanacak. $ksurum <> $version ";read -p "e veya h-> " eh
|
|||
|
case $eh in
|
|||
|
[Ee]* ) gun_onay="e"; break;;
|
|||
|
[Hh]* ) break;;
|
|||
|
* ) echo "e veya h";;
|
|||
|
esac
|
|||
|
done
|
|||
|
if [ "$gun_onay" = "e" ];then
|
|||
|
paket_sil "$1" "evet"
|
|||
|
paket_inkur_oto $1
|
|||
|
ryaz 33 "$1 sürüm güncellemesi yapıldı"
|
|||
|
else
|
|||
|
ryaz 31 "$1 sürüm güncellemesi yapılmadı"
|
|||
|
hataloglama "$1 sürüm güncellemesi yapılmadı"
|
|||
|
fi
|
|||
|
fi
|
|||
|
fi
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
devir_kontrol(){
|
|||
|
local kdevir release pkt dusuk yuksek durum gun_onay
|
|||
|
durum="belirsiz"
|
|||
|
satir=`sed -n '8p' < /var/lib/pkg/DB/"$1"/META`
|
|||
|
kdevir=${satir:1:${#satir}-1}
|
|||
|
pkt="`find $talimatname_dizin -name $1`"
|
|||
|
source $pkt/talimat
|
|||
|
dusuk=`echo -e "$kdevir\n$release" | sort -V | head -n1`
|
|||
|
|
|||
|
if [ "$kdevir" = "$release" ];then
|
|||
|
durum="guncel"
|
|||
|
ryaz 33 "$1 deviri güncel"
|
|||
|
else
|
|||
|
if [ "$kdevir" = "$dusuk" ];then
|
|||
|
durum="yukselt"
|
|||
|
else
|
|||
|
durum="dusur"
|
|||
|
fi
|
|||
|
gun_onay="h"
|
|||
|
if [ "$durum" <> "guncel" ];then
|
|||
|
while true; do
|
|||
|
ryaz 34 "$1 devir $durum""me işlemi uygulanacak. $kdevir <> $release ";read -p "e veya h-> " eh
|
|||
|
case $eh in
|
|||
|
[Ee]* ) gun_onay="e"; break;;
|
|||
|
[Hh]* ) break;;
|
|||
|
* ) echo "e veya h";;
|
|||
|
esac
|
|||
|
done
|
|||
|
if [ "$gun_onay" = "e" ];then
|
|||
|
paket_sil "$1" "evet"
|
|||
|
paket_inkur_oto $1
|
|||
|
ryaz 33 "$1 devir güncellemesi yapıldı"
|
|||
|
else
|
|||
|
ryaz 31 "$1 devir güncellemesi yapılmadı"
|
|||
|
hataloglama "$1 devir güncellemesi yapılmadı"
|
|||
|
fi
|
|||
|
fi
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
paket_derle(){
|
|||
|
#parametre olarak direk konum gelecek
|
|||
|
#eski derleme kalıntılarını temizle
|
|||
|
if [ -d tmp.* ];then
|
|||
|
rm -r tmp.*
|
|||
|
fi
|
|||
|
kaynakdizin_kontrol
|
|||
|
local konum derleme_onay eh bagimd derpaket
|
|||
|
derleme_onay="h"
|
|||
|
if [ -d "$1" ];then
|
|||
|
konum="$1"
|
|||
|
derpaket=`basename $1`
|
|||
|
else
|
|||
|
konum="`find "$talimatname_dizin" -name $1`"
|
|||
|
#anakonum="`find "$ana_talimatname_dizin" -name $1`"
|
|||
|
derpaket="$1"
|
|||
|
fi
|
|||
|
if [ -d "$konum" ];then
|
|||
|
mkdir -p tmp."$derpaket"
|
|||
|
cp -a $konum/* tmp."$derpaket"/
|
|||
|
cd tmp."$derpaket"
|
|||
|
# önce talimat-anatalimat karşılaştırması yapılır.
|
|||
|
#if [ "`dosya_karsilastir $konum/talimat $anakonum/talimat`" = "degil" ];then
|
|||
|
# zorla_derle="var"
|
|||
|
#fi
|
|||
|
# kurulu ve değişiklik yoksa derlenmez.
|
|||
|
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 "paket zaten 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_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
|
|||
|
}
|
|||
|
|
|||
|
bagimlilar(){
|
|||
|
local bagimd konum
|
|||
|
konum="`find "$talimatname_dizin" -name $1`"
|
|||
|
konumek="`find "$ektalimatname" -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
|
|||
|
elif [ -f "$konumek/talimat" ];then
|
|||
|
bagimd=`cat $konumek/talimat | grep "Depends on" | cut -d':' -f2`
|
|||
|
|
|||
|
if [ -n "$bagimd" ]; then
|
|||
|
bagimd=`echo "$bagimd" | sed 's/,/ /g'`
|
|||
|
#sıralı gösterme
|
|||
|
echo `echo "$bagimd" | sed 's/,/ /g'`
|
|||
|
fi
|
|||
|
else
|
|||
|
echo "talimatyok"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
bagimli_bilgi(){
|
|||
|
local bagimd konum bag
|
|||
|
konum="`find "$talimatname_dizin" -name $1`"
|
|||
|
bagimd=`cat $konum/talimat | grep "Depends" | cut -d':' -f2`
|
|||
|
if [ -n "$bagimd" ]; then
|
|||
|
bagimd=`echo "$bagimd" | sed 's/,/ /g'`
|
|||
|
#sıralı gösterme
|
|||
|
#echo `echo "$bagimd" | sed 's/,/ /g'`
|
|||
|
#kurulu kontrollu gosterim
|
|||
|
for bag in $bagimd;do
|
|||
|
echo $bag "`kurulu_kontrol $bag`"
|
|||
|
done
|
|||
|
fi
|
|||
|
echo "$1" "`kurulu_kontrol $1`"
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
bagimli_bilgi_dosyala(){
|
|||
|
rm -f "$1.gerekler.liste"
|
|||
|
local bagimd konum bag
|
|||
|
konum="`find "$talimatname_dizin" -name $1`"
|
|||
|
bagimd=`cat $konum/talimat | grep "Depends" | cut -d':' -f2`
|
|||
|
if [ -n "$bagimd" ]; then
|
|||
|
bagimd=`echo "$bagimd" | sed 's/,/ /g'`
|
|||
|
#sıralı gösterme
|
|||
|
#echo `echo "$bagimd" | sed 's/,/ /g'`
|
|||
|
#kurulu kontrollu gosterim
|
|||
|
for bag in $bagimd;do
|
|||
|
echo $bag >> "$1.gerekler.liste"
|
|||
|
done
|
|||
|
fi
|
|||
|
echo "$1" >> "$1.gerekler.liste"
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
ters_bagimli(){
|
|||
|
local ara
|
|||
|
ara=" $1 "
|
|||
|
sy=`grep -o "/" <<<"$talimatname_dizin" | wc -l`
|
|||
|
grep -rli "$ara" "$talimatname_dizin" | cut -d'/' -f`expr $sy + 3`
|
|||
|
}
|
|||
|
|
|||
|
silme_kurban_kontrol(){
|
|||
|
local dizin
|
|||
|
for f in $(cat $1) ; do
|
|||
|
dizin="${f%\'}"
|
|||
|
dizin="${dizin#\'}"
|
|||
|
if [ -d "$dizin" ];then
|
|||
|
for g in `ls "$dizin"` ; do
|
|||
|
if ! grep -Fxq " '$dizin/$g'" "$1"
|
|||
|
then
|
|||
|
echo "$dizin/$g"
|
|||
|
fi
|
|||
|
done
|
|||
|
fi
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
# 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
|
|||
|
}
|
|||
|
|
|||
|
kurban_kurtar(){
|
|||
|
local dizin paket
|
|||
|
paket=$1
|
|||
|
if [ -f /var/lib/pkg/DB/$paket/kurulan ];then
|
|||
|
cat /var/lib/pkg/DB/$paket/kurulan | cut -d '>' -f2 > /tmp/$paket.sil
|
|||
|
for f in $(cat /tmp/$paket.sil) ; do
|
|||
|
dizin="${f%\'}"
|
|||
|
dizin="${dizin#\'}"
|
|||
|
if [ -d "$dizin" ];then
|
|||
|
for g in `ls "$dizin"` ; do
|
|||
|
if ! grep -Fxq " '$dizin/$g'" "/tmp/$paket.sil"
|
|||
|
then
|
|||
|
if [ -f /tmp/$paket.kurtar ];then
|
|||
|
rm /tmp/$paket.kurtar
|
|||
|
fi
|
|||
|
echo " '$dizin'" >> "/tmp/$paket.kurtar"
|
|||
|
fi
|
|||
|
done
|
|||
|
fi
|
|||
|
done
|
|||
|
if [ -f /tmp/$paket.kurtar ];then
|
|||
|
mv /var/lib/pkg/DB/$paket/kurulan /var/lib/pkg/DB/$paket/ilk.kurulan
|
|||
|
grep -v -F -x -f "/tmp/$paket.kurtar" "/tmp/$paket.sil" > /var/lib/pkg/DB/$paket/kurulan
|
|||
|
ryaz 32 "$paket kurban dosyaları kurtarıldı."
|
|||
|
else
|
|||
|
ryaz 32 "$paket kurban dosyası yok."
|
|||
|
fi
|
|||
|
rm -f /tmp/$paket.sil
|
|||
|
else
|
|||
|
ryaz 31 "kurulan paket yok!"
|
|||
|
hataloglama "kurulan paket yok!"
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
ters_bagimli_kontrol(){
|
|||
|
ters_bagimli "$1" | sort > tersb.liste
|
|||
|
ls /var/lib/pkg/DB/ | sed "/$1/d" | sort > simdiki.liste
|
|||
|
comm -12 tersb.liste simdiki.liste
|
|||
|
rm tersb.liste simdiki.liste
|
|||
|
}
|
|||
|
|
|||
|
kurulu_kontrol(){
|
|||
|
if [ -d "$kokdizin/var/lib/pkg/DB/$1" ];then
|
|||
|
echo "kurulu"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [[ $(find $talimatname_dizin -name $1) ]];then
|
|||
|
echo "degil"
|
|||
|
else
|
|||
|
echo "tanimsiz"
|
|||
|
fi
|
|||
|
exit 1
|
|||
|
}
|
|||
|
|
|||
|
sistem_kur(){
|
|||
|
local spaket
|
|||
|
for spaket in `cat $1`;do
|
|||
|
./$betikad -ik "$spaket" -kok $2;
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
kaynakdizin_kontrol(){
|
|||
|
if [ ! -d $DERLEME_KAYNAKDIZIN ];then
|
|||
|
mkdir $DERLEME_KAYNAKDIZIN
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
logdizin_kontrol(){
|
|||
|
if [ ! -d $kokdizin$LOGDIZIN ];then
|
|||
|
mkdir $kokdizin$LOGDIZIN
|
|||
|
fi
|
|||
|
if [ ! -d $kokdizin$LOGDIZIN/derleme ];then
|
|||
|
mkdir $kokdizin$LOGDIZIN/derleme
|
|||
|
fi
|
|||
|
if [ ! -f $kokdizin$LOGDIZIN/mps.log ];then
|
|||
|
touch $kokdizin$LOGDIZIN/mps.log
|
|||
|
fi
|
|||
|
if [ ! -f $kokdizin$LOGDIZIN/mps-hata.log ];then
|
|||
|
touch $kokdizin$LOGDIZIN/mps-hata.log
|
|||
|
fi
|
|||
|
if [ ! -f $kokdizin$LOGDIZIN/mps-git.log ];then
|
|||
|
touch $kokdizin$LOGDIZIN/mps-git.log
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
tarihce_dkontrol(){
|
|||
|
if [ ! -d $TARIHCE_DIZIN ];then
|
|||
|
mkdir $TARIHCE_DIZIN
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
temel_tarihce_kontrol(){
|
|||
|
if [ ! -f $TARIHCE_DIZIN/temel-pkvt.tar.lz ];then
|
|||
|
tarihce_olustur "temel"
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
tarihce_liste(){
|
|||
|
tarihce_dkontrol
|
|||
|
ls $TARIHCE_DIZIN/
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
tarihce_yap(){
|
|||
|
tarihce_dkontrol
|
|||
|
local t_isim
|
|||
|
if [ "$temel_tarihce" = "evet" ];then
|
|||
|
t_isim="temel"
|
|||
|
else
|
|||
|
t_isim=`date +%m-%d-%y.%H%M%S`
|
|||
|
fi
|
|||
|
tarihce_olustur "$t_isim"
|
|||
|
}
|
|||
|
|
|||
|
tarihce_olustur(){
|
|||
|
bsdtar -P -r -f $TARIHCE_DIZIN/"$1"-pkvt.tar $VT
|
|||
|
lzip -9 $TARIHCE_DIZIN/"$1"-pkvt.tar
|
|||
|
}
|
|||
|
|
|||
|
tarihce_yukle(){
|
|||
|
tarihce_dkontrol
|
|||
|
local islem_onay cikis
|
|||
|
sil_onay="h"
|
|||
|
if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then
|
|||
|
bsdtar -p -o -C /tmp -xf $TARIHCE_DIZIN/"$1-pkvt.tar.lz" 2>/dev/null
|
|||
|
ls /tmp/var/lib/pkg/DB/ > hedef.pkvt
|
|||
|
ls /var/lib/pkg/DB/ > simdiki.pkvt
|
|||
|
grep -v -F -x -f hedef.pkvt simdiki.pkvt > sil.liste
|
|||
|
grep -v -F -x -f simdiki.pkvt hedef.pkvt > kur.liste
|
|||
|
#rm hedef.pkvt simdiki.pkvt
|
|||
|
rm -r /tmp/var
|
|||
|
cikis=""
|
|||
|
if [ -s sil.liste ];then
|
|||
|
ryaz 32 "silinecekler"
|
|||
|
ryaz 32 "------------"
|
|||
|
cat sil.liste
|
|||
|
fi
|
|||
|
|
|||
|
if [ -s kur.liste ];then
|
|||
|
ryaz 32 "kurulacaklar"
|
|||
|
ryaz 32 "------------"
|
|||
|
cat kur.liste
|
|||
|
fi
|
|||
|
if [ ! -s sil.liste ] && [ ! -s kur.liste ];then
|
|||
|
ryaz 32 "sistem zaten hedef durumda!"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
while true; do
|
|||
|
ryaz 34 "otomatik geri dönüşüm başlasın mı?";read -p "e veya h-> " eh
|
|||
|
case $eh in
|
|||
|
[Ee]* ) islem_onay="e"; break;;
|
|||
|
[Hh]* ) break;;
|
|||
|
* ) echo "e veya h";;
|
|||
|
esac
|
|||
|
done
|
|||
|
if [ "$islem_onay" = "e" ];then
|
|||
|
mps -os sil.liste
|
|||
|
mps -kurul kur.liste
|
|||
|
mv sil.liste silinenler.liste
|
|||
|
mv kur.liste kurulanlar.liste
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
mv sil.liste sil_iptal.liste
|
|||
|
mv kur.liste kur_iptal.liste
|
|||
|
else
|
|||
|
ryaz 31 "ilgili tarihce dosyası bulunamadı!"
|
|||
|
hataloglama "ilgili tarihce dosyası bulunamadı!"
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
tarihce_sil(){
|
|||
|
tarihce_dkontrol
|
|||
|
if [ -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz" ];then
|
|||
|
rm -f $TARIHCE_DIZIN/"$1-pkvt.tar.lz"
|
|||
|
else
|
|||
|
ryaz 31 "ilgili tarihce dosyası bulunamadı!"
|
|||
|
hataloglama "ilgili tarihce dosyası bulunamadı!"
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
sunucu_ayarla(){
|
|||
|
wget -q --spider "$1/paket.vt"
|
|||
|
yenisun="$1"
|
|||
|
if [ $? -eq 0 ]; then
|
|||
|
sed -i.bak 's/^\(sunucu=\).*/\1"xverix\/"/' /etc/mps.conf
|
|||
|
sed -i "s|xverix|$1|" /etc/mps.conf
|
|||
|
mps -sun
|
|||
|
else
|
|||
|
ryaz 31 "Tanımsız paket sunucusu!"
|
|||
|
hataloglama "Tanımsız paket sunucusu!"
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
loglama(){
|
|||
|
logdizin_kontrol
|
|||
|
echo "$(date +'%F %T') $1" >> "$kokdizin/$LOGDIZIN/mps.log"
|
|||
|
}
|
|||
|
|
|||
|
hataloglama(){
|
|||
|
logdizin_kontrol
|
|||
|
echo "$(date +'%F %T') $1" >> "$kokdizin/$LOGDIZIN/mps-hata.log"
|
|||
|
}
|
|||
|
|
|||
|
dosyadan_talimat_islem(){
|
|||
|
local dosya
|
|||
|
dosya=$1
|
|||
|
urlkont='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
|
|||
|
if [[ $dosya =~ $urlkont ]]
|
|||
|
then
|
|||
|
ryaz 32 "talimat linkten cekilecek"
|
|||
|
gdosya=`mktemp`
|
|||
|
wget $2 $dosya -O $gdosya
|
|||
|
dosya=$gdosya
|
|||
|
fi
|
|||
|
if [[ $2 =~ "-6" ]]; then
|
|||
|
ryaz 32 "talimat linkten cekilecek"
|
|||
|
gdosya=`mktemp`
|
|||
|
wget $2 $dosya -O $gdosya
|
|||
|
dosya=$gdosya
|
|||
|
fi
|
|||
|
if [ ! -f $dosya ];then
|
|||
|
ryaz 31 "$dosya talimat dosyasi yok!"
|
|||
|
hataloglama "$dosya talimat dosyasi yok!"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
local paketisim
|
|||
|
paketisim=`grep -ri 'name=' $dosya | cut -d'=' -f 2`
|
|||
|
if [ ! -n "$paketisim" ]; then
|
|||
|
ryaz 31 "paket ismi degiskeni bulunamadı!"
|
|||
|
hataloglama "paket ismi degiskeni bulunamadı!"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [ ! -f /root/talimatname/genel/$paketisim ];then
|
|||
|
mkdir /root/talimatname/genel/$paketisim
|
|||
|
cp -f $dosya /root/talimatname/genel/$paketisim/talimat
|
|||
|
ryaz 32 "$paketisim talimatı hazırlandı."
|
|||
|
else
|
|||
|
ryaz 31 "$paketisim talimatı zaten talimatnamede var!"
|
|||
|
hataloglama "$paketisim talimatı zaten talimatnamede var!"
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
talimat_olustur(){
|
|||
|
if [ "$1" = '?' ];then
|
|||
|
ryaz 34 "kullanım : mps -to paket_ismi"
|
|||
|
else
|
|||
|
local name
|
|||
|
name=$1
|
|||
|
mkdir -p $name
|
|||
|
tee "$name/talimat" > /dev/null <<EOF
|
|||
|
# description:x
|
|||
|
# url:x
|
|||
|
# packager:milisarge
|
|||
|
# Depends on:
|
|||
|
|
|||
|
name=$name
|
|||
|
version=1
|
|||
|
release=1
|
|||
|
source=()
|
|||
|
|
|||
|
build () {
|
|||
|
cd name-version
|
|||
|
./autogen.sh
|
|||
|
./configure --prefix=/usr
|
|||
|
make
|
|||
|
make DESTDIR=$PKG install
|
|||
|
}
|
|||
|
|
|||
|
EOF
|
|||
|
ryaz 34 $name "talimatı oluşturuldu."
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
git_guncelle() {
|
|||
|
kaynakdizin_kontrol
|
|||
|
gitayar_kontrol
|
|||
|
cd $DERLEME_KAYNAKDIZIN
|
|||
|
#git sunucudan guncelleme
|
|||
|
ryaz 33 "git sunucudan güncelleme çekiliyor."
|
|||
|
if [ ! -d milis.git ];then
|
|||
|
git clone $git_sunucu milis.git
|
|||
|
rsync -av /sources/milis.git/rootfs/* /
|
|||
|
else
|
|||
|
cd milis.git
|
|||
|
git pull >& $LOGDIZIN/mps-git.log
|
|||
|
if grep -q "Already\ up-to-date" $LOGDIZIN/mps-git.log; then
|
|||
|
ryaz 32 "git deposu güncel."
|
|||
|
else
|
|||
|
#ryaz 32 `cat $LOGDIZIN/mps-git.log`
|
|||
|
ryaz 32 "git deposu güncellendi."
|
|||
|
fi
|
|||
|
#baslangic betiklerinin guncellenmesi
|
|||
|
rsync -aviz -q --delete /sources/milis.git/rootfs/lib/services/* /lib/services/
|
|||
|
fi
|
|||
|
cd `dirname $talimatname_dizin`
|
|||
|
ryaz 33 "yerele eşitleniyor."
|
|||
|
rm -r $talimatname_dizin
|
|||
|
mkdir -p $talimatname_dizin
|
|||
|
rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/talimatname/ $talimatname_dizin
|
|||
|
rm -r `dirname $talimatname_dizin`/bin/*
|
|||
|
rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/bin/ `dirname $talimatname_dizin`/bin
|
|||
|
rm -r `dirname $talimatname_dizin`/ayarlar/*
|
|||
|
rsync -aviz -q --delete $DERLEME_KAYNAKDIZIN/milis.git/ayarlar/ `dirname $talimatname_dizin`/ayarlar
|
|||
|
#ikili dosyaların /usr/bin altına kısayol atılması
|
|||
|
for i in /root/bin/*; do
|
|||
|
j=`basename $i`
|
|||
|
if [ ! -f /usr/bin/$j ];then
|
|||
|
ln -s /root/bin/$j /usr/bin/$j
|
|||
|
fi
|
|||
|
done
|
|||
|
ryaz 32 "yerele eşitleme tamam."
|
|||
|
}
|
|||
|
|
|||
|
git_proje_kur(){
|
|||
|
local proje proj_dizin git_link
|
|||
|
git_link="https://github.com/milisarge"
|
|||
|
proje="$1"
|
|||
|
proj_dizin="/opt"
|
|||
|
mkdir -p $proj_dizin
|
|||
|
if [ -d "$proj_dizin/$proje" ];then
|
|||
|
cd $proj_dizin/$proje
|
|||
|
git pull
|
|||
|
|
|||
|
if [ -f mops ];then
|
|||
|
. mops
|
|||
|
mops_gun
|
|||
|
fi
|
|||
|
else
|
|||
|
git clone "$git_link/$proje" "$proj_dizin/$proje"
|
|||
|
cd $proj_dizin/$proje
|
|||
|
|
|||
|
if [ -f mops ];then
|
|||
|
. mops
|
|||
|
mops_kur
|
|||
|
mops_sil
|
|||
|
mops_gun
|
|||
|
fi
|
|||
|
fi
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
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
|
|||
|
}
|
|||
|
|
|||
|
paketvt_guncelle(){
|
|||
|
temel_tarihce_kontrol
|
|||
|
wget -q --spider "$sunucu""paket.vt"
|
|||
|
#if wget -P /tmp -q "$sunucu""paket.vt" > /dev/null; then
|
|||
|
if [ $? -eq 0 ]; then
|
|||
|
ryaz 32 $sunucu
|
|||
|
ryaz 32 "paket veritabanı güncelleniyor." "$paketdepo""paket.vt"
|
|||
|
if [ -f "$paketdepo""paket.vt" ];then
|
|||
|
mv "$paketdepo""paket.vt" "$paketdepo""paket.vt.eski"
|
|||
|
fi
|
|||
|
wget -q --show-progress -P "$paketdepo" "$sunucu""paket.vt"
|
|||
|
#rm /tmp/paket.vt*
|
|||
|
mps -kudo
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
ryaz 31 "paket veritabanı güncelleme olumsuz."
|
|||
|
hataloglama "paket veritabanı güncelleme olumsuz."
|
|||
|
}
|
|||
|
|
|||
|
talimat_bilgi(){
|
|||
|
local konum HEAD
|
|||
|
konum="`find "$talimatname_dizin" -name $1`"
|
|||
|
HEAD=`grep -B 12 "build()" $konum/talimat`
|
|||
|
echo $HEAD
|
|||
|
}
|
|||
|
|
|||
|
sistem_kontrol(){
|
|||
|
paketvt_kontrol
|
|||
|
sunucu_kontrol
|
|||
|
}
|
|||
|
|
|||
|
sunucu_kontrol(){
|
|||
|
wget -q --spider $sunucu
|
|||
|
if [ $? -eq 0 ]; then
|
|||
|
ryaz 32 "paket sunucu aktif"
|
|||
|
else
|
|||
|
ryaz 31 "sunucu erişim dışı"
|
|||
|
hataloglama "sunucu erişim dışı"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
gitayar_kontrol(){
|
|||
|
if [ ! -f /root/.gitconfig ];then
|
|||
|
git_ssl_iptal
|
|||
|
git_otokimlik
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
kirik_kontrol_sistem(){
|
|||
|
local onek sonek
|
|||
|
onek="'"
|
|||
|
sonek="'"
|
|||
|
for paket in `ls /var/lib/pkg/DB/`
|
|||
|
do
|
|||
|
ryaz 33 $paket "kontrol ediliyor."
|
|||
|
kirik_kontrol_paket $paket
|
|||
|
ryaz 33 $paket "kontrol edildi."
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
kirik_kontrol_paket(){
|
|||
|
local onek sonek
|
|||
|
onek="'"
|
|||
|
sonek="'"
|
|||
|
for kdosya in `kurulum_dosya_listele $1`
|
|||
|
do
|
|||
|
dosya=${kdosya#$onek}
|
|||
|
dosya=${dosya%$sonek}
|
|||
|
#echo "${dosya}"
|
|||
|
if [ -f $dosya ];then
|
|||
|
if [[ $(milis-ldd -d $dosya | grep not\ found) ]] ;then
|
|||
|
echo $kdosya
|
|||
|
fi
|
|||
|
fi
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
kurulum_dogrulama(){
|
|||
|
for kuruland in `ls $VT`
|
|||
|
do
|
|||
|
if [ ! -f "$VT/$kuruland/kurulan" ]; then
|
|||
|
ryaz 32 "$kuruland hasarlı kurulum tesbiti!"
|
|||
|
rm -r $VT/$kuruland
|
|||
|
mps -i $kuruland
|
|||
|
mps -k "$paketdepo/$kuruland"*.mps.lz
|
|||
|
ryaz 32 "$kuruland hasarlı kurulum onarıldı."
|
|||
|
fi
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
kurulum_dogrulama_icerik(){
|
|||
|
paketadi="$1"
|
|||
|
echo $VT
|
|||
|
tarihce_yap
|
|||
|
if [ -f "$VT/$paketadi/kurulan" ]; then
|
|||
|
cat /var/lib/pkg/DB/$paketadi/kurulan | cut -d '>' -f2 > /tmp/$paketadi.sildog
|
|||
|
for kuruland in `cat /tmp/$paketadi.sildog`
|
|||
|
do
|
|||
|
if [ ! -f "$kuruland" ]; then
|
|||
|
ryaz 32 "$kuruland dosya hasarlı"
|
|||
|
elif [ ! -d "$kuruland" ]; then
|
|||
|
ryaz 32 "$kuruland dizin hasarlı"
|
|||
|
fi
|
|||
|
done
|
|||
|
else
|
|||
|
ryaz 32 "$paketadi hasarlı kurulum tesbiti!"
|
|||
|
#if [ ! -d "$VT/$paketadi" ]; then
|
|||
|
#rm -r $VT/$paketadi
|
|||
|
#fi
|
|||
|
#mps -i $paketadi
|
|||
|
#mps -k "$paketdepo/$paketadi#"*.mps.lz
|
|||
|
ryaz 32 "$paketadi hasarlı kurulum onarıldı."
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
kurulum_dosya_listele(){
|
|||
|
cat "$VT/$1/kurulan"
|
|||
|
}
|
|||
|
|
|||
|
# bir dosyanın kurulmuş hangi pakette olduğunu bulur.
|
|||
|
kurulan_dosya_bul(){
|
|||
|
grep -rli "$1" "$VT/" | cut -d "/" -f6
|
|||
|
}
|
|||
|
|
|||
|
paketvt_kontrol(){
|
|||
|
mkdir -p /depo/paketler
|
|||
|
if [ ! -f /depo/paketler/paket.vt ];then
|
|||
|
touch /depo/paketler/paket.vt
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
pvt_olustur(){
|
|||
|
if [ ! -f paket.vt ];then
|
|||
|
touch paket.vt
|
|||
|
fi
|
|||
|
if [ -f "paket.vt" ];then
|
|||
|
mv "paket.vt" "paket.vt.eski"
|
|||
|
fi
|
|||
|
ryaz 32 "paket.vt oluşturuluyor...."
|
|||
|
for paket in `ls *.mps.lz`
|
|||
|
do
|
|||
|
paketad="`echo $paket|cut -d "#" -f1`"
|
|||
|
shaek=`sha1sum $paket`
|
|||
|
|
|||
|
echo $paketad $shaek >> paket.vt
|
|||
|
done
|
|||
|
ryaz 32 "paket.vt oluşturuldu."
|
|||
|
}
|
|||
|
|
|||
|
paket_indir(){
|
|||
|
local pkt
|
|||
|
if [ -f "$paketdepo""paket.vt" ];then
|
|||
|
pkt=`cat "$paketdepo""paket.vt" | grep "^$1 " | cut -d' ' -f3`
|
|||
|
ekontdeg=`cat "$paketdepo""paket.vt" | grep "^$1 " | cut -d' ' -f2`
|
|||
|
cpaket="${pkt/'#'/'%23'}"
|
|||
|
wget -nc -q --show-progress -P "$paketdepo" "$sunucu$cpaket"
|
|||
|
if [[ "$?" != 0 ]]; then
|
|||
|
ryaz 31 "indirme hatalı"
|
|||
|
hataloglama "indirme hatalı"
|
|||
|
else
|
|||
|
ryaz 34 "$1 indirildi"
|
|||
|
fi
|
|||
|
mkontdeg=`sha1sum "$paketdepo$pkt" | cut -d' ' -f1`
|
|||
|
if [ "$ekontdeg" != "$mkontdeg" ];then
|
|||
|
ryaz 31 "sha1sum uyusmaslik tesbit edildi,paket tekrar indiriliyor."
|
|||
|
hataloglama "sha1sum uyusmaslik tesbit edildi,paket tekrar indiriliyor."
|
|||
|
rm -f "$paketdepo$pkt"
|
|||
|
paket_indir "$1"
|
|||
|
fi
|
|||
|
fi
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
yardim(){
|
|||
|
echo "yardim"
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
ayarlar() {
|
|||
|
|
|||
|
while [ "$1" ]; do
|
|||
|
case $1 in
|
|||
|
-i|--indir)
|
|||
|
ikaynak="ag"
|
|||
|
kurulum_onay="olumsuz";;
|
|||
|
-ik|--inku)
|
|||
|
if [ "$3" == "-kok" ] && [ -d "$4" ]; then
|
|||
|
kokdizin="$4"
|
|||
|
fi
|
|||
|
ikaynak="ag" ;;
|
|||
|
-ikz|--inkuzo)
|
|||
|
ikaynak="ag"
|
|||
|
tekrarkur="evet" ;;
|
|||
|
-k|--yrku)
|
|||
|
if [ "$3" == "-kok" ] && [ -d "$4" ]; then
|
|||
|
kokdizin="$4"
|
|||
|
tekrarkur="evet"
|
|||
|
fi
|
|||
|
ikaynak="yerel" ;;
|
|||
|
-s|sil)
|
|||
|
if [[ "$2" == "py-"* ]]; then
|
|||
|
pypaket=`echo "$2" | cut -d'-' -f 2`
|
|||
|
echo $pypaket "pip2 ile silinecek"
|
|||
|
pip uninstall $pypaket
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [[ "$2" == "py3-"* ]]; then
|
|||
|
pypaket=`echo "$2" | cut -d'-' -f 2`
|
|||
|
echo $pypaket "pip3 ile silinecek"
|
|||
|
pip3 uninstall $pypaket
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
paket_sil "$2" ;;
|
|||
|
-sz|zorsil)
|
|||
|
paket_sil "$2" "evet";;
|
|||
|
-S|silgrub)
|
|||
|
mps -bbd "$2"
|
|||
|
paket_sil_oto_onayli "$2.gerekler.liste" ;;
|
|||
|
-pa|ara)
|
|||
|
paket_ara "$2" ;;
|
|||
|
bul)
|
|||
|
kelime_bul "$2" ;;
|
|||
|
-d|--pkde)
|
|||
|
zorla_derle="yok"
|
|||
|
kurulum_onay="olumsuz"
|
|||
|
paket_derle "$2" ;;
|
|||
|
-zd|--pkzde)
|
|||
|
zorla_derle="evet"
|
|||
|
kurulum_onay="olumsuz"
|
|||
|
paket_derle "$2" ;;
|
|||
|
odkp)
|
|||
|
oto_derle_kur_paketle "$2" ;;
|
|||
|
-dk|--pkdk)
|
|||
|
paket_derle "$2" ;;
|
|||
|
-derlist)
|
|||
|
paket_derle_liste "$2" ;;
|
|||
|
-derle)
|
|||
|
paket_derle_kur "$2" ;;
|
|||
|
-ok|--pkok)
|
|||
|
paket_kur_oto "$2" ;;
|
|||
|
-okz)
|
|||
|
paket_kur_oto_zorla "$2" ;;
|
|||
|
-okl|--pkokl)
|
|||
|
paket_kur_liste "$2" ;;
|
|||
|
-oklz)
|
|||
|
paket_kur_liste_zorla "$2" ;;
|
|||
|
-kh)
|
|||
|
local templist
|
|||
|
templist=`mktemp`
|
|||
|
ls *.mps.lz > $templist
|
|||
|
mps -okz -H $templist ;;
|
|||
|
-ko|--pkko)
|
|||
|
paket_kur_oto2 "$2" ;;
|
|||
|
-kuruld)
|
|||
|
paket_inkur_liste_direk "$2" ;;
|
|||
|
-kurul|kurul)
|
|||
|
if [ -f $PWD/mps-liste ]; then
|
|||
|
paket_inkur_liste mps-liste
|
|||
|
else
|
|||
|
paket_inkur_liste "$2"
|
|||
|
fi ;;
|
|||
|
-kur)
|
|||
|
paket_inkur_oto "$2" ;;
|
|||
|
kur)
|
|||
|
if [[ "$2" == "py-"* ]]; then
|
|||
|
pypaket=`echo "$2" | cut -d'-' -f 2`
|
|||
|
echo $pypaket "pip2 ile kurulacak"
|
|||
|
pip install $pypaket
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [[ "$2" == "py3-"* ]]; then
|
|||
|
pypaket=`echo "$2" | cut -d'-' -f 2`
|
|||
|
echo $pypaket "pip3 ile kurulacak"
|
|||
|
pip3 install $pypaket
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [[ "$2" == *"mps.lz"* ]]; then
|
|||
|
if [ "$3" == "-kok" ] && [ -d "$4" ]; then
|
|||
|
kokdizin="$4"
|
|||
|
tekrarkur="evet"
|
|||
|
fi
|
|||
|
ikaynak="yerel"
|
|||
|
else
|
|||
|
paket_inkur_oto "$2"
|
|||
|
fi ;;
|
|||
|
# özel git projesi kurmak için
|
|||
|
gitkur)
|
|||
|
git_proje_kur "$2" ;;
|
|||
|
# otomatik poroje sistemi
|
|||
|
# özel git projesi kurmak için
|
|||
|
opk)
|
|||
|
op_kur "$2" ;;
|
|||
|
# özel git projesi silmek için
|
|||
|
ops)
|
|||
|
op_sil "$2" ;;
|
|||
|
# ilgili paketin servisini kurar
|
|||
|
serkur)
|
|||
|
servis_kur "$2" ;;
|
|||
|
# ilgili paketin servisini siler
|
|||
|
sersil)
|
|||
|
servis_sil "$2" ;;
|
|||
|
# servislerin mbd kontrolu
|
|||
|
serkon)
|
|||
|
servisler_kontrol ;;
|
|||
|
kurkos)
|
|||
|
local pkt
|
|||
|
pkt="`find $talimatname_dizin -name $2`"
|
|||
|
if [ -f $pkt/$2.kur-kos ];then
|
|||
|
bash $pkt/$2.kur-kos
|
|||
|
else
|
|||
|
ryaz 31 "$2 kur-kos yok!"
|
|||
|
hataloglama "$2 kur-kos yok!"
|
|||
|
fi ;;
|
|||
|
koskur)
|
|||
|
local pkt
|
|||
|
pkt="`find $talimatname_dizin -name $2`"
|
|||
|
if [ -f $pkt/$2.kos-kur ];then
|
|||
|
bash $pkt/$2.kos-kur
|
|||
|
else
|
|||
|
ryaz 31 "$2 kos-kur yok!"
|
|||
|
hataloglama "$2 kos-kur yok!"
|
|||
|
fi ;;
|
|||
|
silkos)
|
|||
|
local pkt
|
|||
|
pkt="`find $talimatname_dizin -name $2`"
|
|||
|
if [ -f $pkt/$2.sil-kos ];then
|
|||
|
bash $pkt/$2.sil-kos
|
|||
|
else
|
|||
|
ryaz 31 "$2 sil-kos yok!"
|
|||
|
hataloglama "$2 sil-kos yok!"
|
|||
|
fi ;;
|
|||
|
kossil)
|
|||
|
local pkt
|
|||
|
pkt="`find $talimatname_dizin -name $2`"
|
|||
|
if [ -f $pkt/$2.kos-sil ];then
|
|||
|
bash $pkt/$2.kos-sil
|
|||
|
else
|
|||
|
ryaz 31 "$2 kos-sil yok!"
|
|||
|
hataloglama "$2 kos-sil yok!"
|
|||
|
fi ;;
|
|||
|
-kdl)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
hataloglama "(-kdl) paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
kurulum_dosya_listele "$2" ;;
|
|||
|
#kırık kontrol paket: bir paketin sistemde kırık kontrolü
|
|||
|
-kkp)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
hataloglama "(-kkp) paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
kirik_kontrol_paket "$2" ;;
|
|||
|
#kırık kontrol sistemi: sistemin bütün paketlerinin kırık kontrolü
|
|||
|
-kks)
|
|||
|
kirik_kontrol_sistem ;;
|
|||
|
-pak|--paketle)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paketlenecek dizin ismi eksik"
|
|||
|
hataloglama "paketlenecek dizin ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
yeniden_paketle "$2" ;;
|
|||
|
-psk|--paksiskur)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket liste yok"
|
|||
|
hataloglama "paket liste yok"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [ ! "$3" ]; then
|
|||
|
ryaz 31 "hedef dizin yok"
|
|||
|
hataloglama "hedef dizin yok"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
sistem_kur "$2" "$3" ;;
|
|||
|
-po)
|
|||
|
pvt_olustur ;;
|
|||
|
-os|--pkos)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "silme listesi yok"
|
|||
|
hataloglama "silme listesi yok"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
paket_sil_oto "$2" ;;
|
|||
|
-kl|--kurulu-liste)
|
|||
|
ls $VT ;;
|
|||
|
-dly|--drly)
|
|||
|
derleme_listyap_kontrol
|
|||
|
derleme_listyap "$2" ;;
|
|||
|
-dlb|--drlb)
|
|||
|
derleme_listbilgi "$2";;
|
|||
|
-b|--pkbl)
|
|||
|
paket_bilgi "$2" ;;
|
|||
|
#sunucu bilgisi alma
|
|||
|
-sun|sunucu)
|
|||
|
ryaz 32 $sunucu ;;
|
|||
|
sun)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "sunucu bilgi eksik"
|
|||
|
hataloglama "sunucu bilgi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
sunucu_ayarla "$2" ;;
|
|||
|
-bb|--pkbb)
|
|||
|
bagimli_bilgi "$2" | column -t;;
|
|||
|
-bbd)
|
|||
|
bagimli_bilgi_dosyala "$2" ;;
|
|||
|
-tb|--pktb)
|
|||
|
ters_bagimli "$2" ;;
|
|||
|
-tbk|--pktbk)
|
|||
|
ters_bagimli_kontrol "$2" ;;
|
|||
|
-talb|--talb)
|
|||
|
talimat_bilgi "$2" | column -t;;
|
|||
|
-to)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "talimat ismi eksik"
|
|||
|
hataloglama "talimat ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
talimat_olustur "$2" ;;
|
|||
|
log)
|
|||
|
local logyardim
|
|||
|
logyardim="mps log zaman durum (ör: mps log 2017-01-01 silindi)"
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "zaman parametresi eksik"
|
|||
|
hataloglama "zaman parametresi eksik"
|
|||
|
ryaz 32 $logyardim
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
if [ ! "$3" ]; then
|
|||
|
ryaz 31 "durum parametresi eksik"
|
|||
|
hataloglama "durum parametresi eksik"
|
|||
|
ryaz 32 $logyardim
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
log_analiz "$2" "$3" ;;
|
|||
|
guncelle)
|
|||
|
mps -GG && mps -G ;;
|
|||
|
-Ggit|-GG)
|
|||
|
git_guncelle ;;
|
|||
|
-G|--pvtg)
|
|||
|
paketvt_guncelle
|
|||
|
mps -kudo ;;
|
|||
|
#komple kurulu sistemin guncellenmesi
|
|||
|
-GS)
|
|||
|
sistem_guncelle ;;
|
|||
|
#tekil temel paket guncelleme-single base package updating
|
|||
|
-tg)
|
|||
|
paket_sil "$2" "evet" && mps -ik $2 ;;
|
|||
|
#tekil paket guncelleme-single package updating
|
|||
|
-g|--pkgu)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
hataloglama "paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
local durum
|
|||
|
durum=`kurulu_kontrol "$2"`
|
|||
|
if [ "$durum" = "kurulu" ]; then
|
|||
|
paket_guncelle "$2"
|
|||
|
elif [ "$durum" = "degil" ]; then
|
|||
|
ryaz 31 "$2 paketi kurulu degil!"
|
|||
|
hataloglama "paketi kurulu degil!"
|
|||
|
else
|
|||
|
ryaz 31 "$2 paketi tanımsız!"
|
|||
|
hataloglama "paketi tanımsız!"
|
|||
|
fi;;
|
|||
|
#bagimliliklariyla beraber paket guncelleme-package updating with depencies
|
|||
|
-go|--pkgo)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
hataloglama "paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
paket_guncelle_oto "$2";;
|
|||
|
-kk|--kurulu-kontrol)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
hataloglama "paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
ryaz 31 `kurulu_kontrol "$2"`;;
|
|||
|
-kudo)
|
|||
|
kurulum_dogrulama ;;
|
|||
|
-kdi)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
kurulum_dogrulama_icerik "$2" ;;
|
|||
|
-kdk)
|
|||
|
kurban_kurtar $2 ;;
|
|||
|
-suko)
|
|||
|
sunucu_kontrol ;;
|
|||
|
-pot)
|
|||
|
paketsiz_talimatlar ;;
|
|||
|
-dota)
|
|||
|
dosyadan_talimat_islem $2 $3 ;;
|
|||
|
-cf|--config-file)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
echo "ayardosyası gerek $1"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
ayar_dosyasi="$2"
|
|||
|
shift ;;
|
|||
|
# bir dosyanın kurulmuş hangi pakette olduğunu bulur
|
|||
|
-hp)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "paket ismi eksik"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
kurulan_dosya_bul "$2";;
|
|||
|
-tro)
|
|||
|
tarihce_yap ;;
|
|||
|
-trot)
|
|||
|
temel_tarihce="evet"
|
|||
|
tarihce_yap ;;
|
|||
|
-try)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "tarihce dosyasi eksik $1"
|
|||
|
hataloglama "tarihce dosyasi eksik $1"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
tarihce_yukle "$2"
|
|||
|
shift ;;
|
|||
|
-trl)
|
|||
|
tarihce_liste ;;
|
|||
|
dos)
|
|||
|
tarihce_yukle "temel" ;;
|
|||
|
-trs)
|
|||
|
if [ ! "$2" ]; then
|
|||
|
ryaz 31 "parametre eksik $1"
|
|||
|
hataloglama "parametre eksik $1"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
tarihce_sil "$2"
|
|||
|
shift ;;
|
|||
|
-v)
|
|||
|
ryaz 33 "$betikad $versiyon $iletisim"
|
|||
|
exit 0 ;;
|
|||
|
-h|--help)
|
|||
|
yardim
|
|||
|
exit 0 ;;
|
|||
|
|
|||
|
esac
|
|||
|
shift
|
|||
|
done
|
|||
|
}
|
|||
|
|
|||
|
yardim() {
|
|||
|
cat <<_EOF
|
|||
|
|
|||
|
$betikad $versiyon Milis Paket Sistemi
|
|||
|
|
|||
|
Secenekler:
|
|||
|
-G ikili paket veritabanını günceller
|
|||
|
-Ggit git sunucusundan talimatname ve sistem gunceller
|
|||
|
-kur paket_ismi ilgili paketi bagimliliklariyla agdan cekip kurar
|
|||
|
-s paket_ismi ilgili paketi kaldirir
|
|||
|
-k paket_ismi yereldeki paketi bagimliliksiz kurar
|
|||
|
-kl kurulu paket listesini verir
|
|||
|
-kk paket_ismi ilgili paketin kurulu olma durumunu verir
|
|||
|
-d paket_ismi ilgili paketin talimat dosyasına göre
|
|||
|
sadece derler,paketler
|
|||
|
-derle paket_ismi ilgili paketin talimat dosyasına göre bagimliliklariyla
|
|||
|
beraber derler,paketler ve kurar.
|
|||
|
|
|||
|
_EOF
|
|||
|
exit 1
|
|||
|
}
|
|||
|
|
|||
|
ana(){
|
|||
|
if [ `id -u` = 0 ] ; then
|
|||
|
ayarlar "$@"
|
|||
|
|
|||
|
if [ "$ikaynak" = "ag" ]; then
|
|||
|
local kontroldeg
|
|||
|
kkont=`kurulu_kontrol "$2"`
|
|||
|
if [ "$kkont" = "degil" ] || [ "$tekrarkur" = "evet" ];then
|
|||
|
pkt=`cat "$paketdepo""paket.vt" | grep "^$2 " | cut -d' ' -f3`
|
|||
|
if [ ! -z "$pkt" -a "$pkt" != "" ]; then
|
|||
|
cpaket="${pkt/'#'/'%23'}"
|
|||
|
ryaz 33 "agdan cekiliyor:" "$2"
|
|||
|
#paket sunucuda varsa
|
|||
|
wget -q --spider "$sunucu$cpaket"
|
|||
|
#if wget -P /tmp -q "$sunucu$cpaket" > /dev/null; then
|
|||
|
if [ $? -eq 0 ]; then
|
|||
|
#wget -P "$paketdepo" "$sunucu$cpaket"
|
|||
|
paket_indir "$2"
|
|||
|
|
|||
|
if [ "$kurulum_onay" = "evet" ];then
|
|||
|
if [ "$tekrarkur" = "evet" ];then
|
|||
|
paket_sil "$2" "evet"
|
|||
|
fi
|
|||
|
icerik_ekle "$paketdepo$pkt"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
else
|
|||
|
ryaz 31 "paket sunucuda yok!"
|
|||
|
hataloglama "paket sunucuda yok!"
|
|||
|
fi
|
|||
|
else
|
|||
|
ryaz 31 "$2 paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )"
|
|||
|
hataloglama "$2 paket sunucuda yok!( mps -G komutuyla güncelleme yapınız. )"
|
|||
|
fi
|
|||
|
else
|
|||
|
ryaz 32 "$2 paketi zaten kurulu!"
|
|||
|
hataloglama "$2 paketi zaten kurulu!"
|
|||
|
fi
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
if [ "$ikaynak" = "yerel" ]; then
|
|||
|
local silme
|
|||
|
pkontrol=`basename $2 | grep -w "mps.lz"`
|
|||
|
if [ ! -z "$pkontrol" -a "$pkontrol" != "" ]; then
|
|||
|
paketad=`echo "$2" | cut -d'#' -f1`
|
|||
|
kkont=`kurulu_kontrol "$paketad"`
|
|||
|
|
|||
|
if [ "$kkont" = "degil" ];then
|
|||
|
icerik_ekle "$2"
|
|||
|
elif [ "$kkont" = "kurulu" ];then
|
|||
|
if [ "$tekrarkur" = "hayir" ];then
|
|||
|
while true; do
|
|||
|
ryaz 31 "$2 paketi zaten kurulu silinip kurulsun mu?"
|
|||
|
read -p "e veya h -> " eh
|
|||
|
case $eh in
|
|||
|
[Ee]* ) silme="e"; break;;
|
|||
|
[Hh]* ) break;;
|
|||
|
* ) echo "e veya h";;
|
|||
|
esac
|
|||
|
done
|
|||
|
fi
|
|||
|
if [ "$silme" = "e" ];then
|
|||
|
ryaz 33 "silinecekelerin kontrolu için"
|
|||
|
paket_sil "$paketad"
|
|||
|
icerik_ekle "$2"
|
|||
|
fi
|
|||
|
else
|
|||
|
icerik_ekle "$2"
|
|||
|
#while true; do
|
|||
|
#ryaz 31 "$2 paketi talimatname dışı.Yine de kurulsun mu? (kokdizin=$kokdizin) "
|
|||
|
#read -p "e veya h -> " eh
|
|||
|
#case $eh in
|
|||
|
#[Ee]* ) icerik_ekle "$2"; break;;
|
|||
|
#[Hh]* ) break;;
|
|||
|
#* ) echo "e veya h";;
|
|||
|
#esac
|
|||
|
#done
|
|||
|
fi
|
|||
|
else
|
|||
|
ryaz 31 "yerelde mps paketi bulunamadı."
|
|||
|
fi
|
|||
|
fi
|
|||
|
else
|
|||
|
sudo mps "$@"
|
|||
|
fi
|
|||
|
}
|
|||
|
ana "$@"
|
|||
|
|
|||
|
|
|||
|
#31 kirmizi
|
|||
|
#32 yesil
|
|||
|
#33 sari
|
|||
|
#34 mavi
|
|||
|
#34 mor
|