mps temizlik

This commit is contained in:
Furkan Kalkan 2016-12-01 12:03:21 +03:00
parent dd72ee9922
commit 8c9b13ae8b
5 changed files with 0 additions and 2837 deletions

View File

@ -1,244 +0,0 @@
#!/bin/sh
. /usr/bin/gettext.sh
alias sed="busybox sed"
# Internal
lgettext() { gettext -d 'x' "$@"; }
translate_query() {
case $1 in
y) lgettext "y";;
Y) lgettext "Y";;
n) lgettext "n";;
N) lgettext "N";;
# Support other cases but keep them untranslated.
*) echo "$1" ;;
esac
}
okmsg="$(lgettext 'Done')"
ermsg="$(lgettext 'Failed')"
: ${okcolor=32}
: ${ercolor=31}
: ${decolor=36}
# Parse cmdline options and store values in a variable.
for opt in "$@"; do
opt_name="${opt%%=*}"; opt_name="$(echo -n "${opt_name#--}" | tr -c 'a-zA-Z0-9' '_')"
case "$opt" in
--[0-9]*=*) export _$opt_name="${opt#*=}" ;;
--[0-9]*) export _$opt_name=yes ;;
--*=*) export $opt_name="${opt#*=}" ;;
--*) export $opt_name=yes ;;
esac
done
[ "$HTTP_REFERER" ] && output='html'
# i18n functions
_() { local T="$1"; shift; printf "$(eval_gettext "$T")" "$@"; echo; }
_n() { local T="$1"; shift; printf "$(eval_gettext "$T")" "$@"; }
_p() { local S="$1" P="$2" N="$3"; shift 3; printf "$(ngettext "$S" "$P" "$N")" "$@"; }
# Get terminal columns
get_cols() { stty size 2>/dev/null | awk -vc=$cols 'END{print c?c:($2 && $2<80)?$2:80}'; }
# Last command status
status() {
local ret_code=$?
[ -n "$quiet" -a "$ret_code" -eq 0 ] && return
[ -n "$quiet" ] && action "$saved_action" no-quiet
case $ret_code in
0) local msg="$okmsg" color="$okcolor";;
*) local msg="$ermsg" color="$ercolor";;
esac
case $output in
raw|gtk) echo " $msg";;
html) echo " <span class=\"float-right color$color\">$msg</span>";;
*) echo -e "[ \\033[1;${color}m$msg\\033[0;39m ]";;
esac
}
# Line separator
separator() {
[ -n "$quiet" ] && return
case $output in
gtk) echo '--------';;
html) echo -n '<hr/>';;
*) printf "%$(get_cols)s\n" | tr ' ' "${1:-=}";;
esac
}
# New line
newline() {
[ -z "$quiet" ] && echo
}
# Display a bold message
boldify() {
[ -n "$quiet" ] && return
case $output in
raw) echo "$@" ;;
gtk) echo "<b>$@</b>" ;;
html) echo "<strong>$@</strong>" ;;
*) echo -e "\\033[1m$@\\033[0m" ;;
esac
}
# renkli mesaj
ryaz() {
[ -n "$quiet" ] && return
: ${color=$1}
shift
case $output in
raw|gtk) echo "$@";;
html) echo -n "<span class=\"color$color\">$@</span>";;
*) case $color in
0*) echo -e "\\033[${color:-38}m$@\\033[39m";;
*) echo -e "\\033[1;${color:-38}m$@\\033[0;39m";;
esac;;
esac
unset color
}
# Indent text
indent() {
[ -n "$quiet" ] && return
local in="$1"
shift
echo -e "\033["$in"G $@";
}
# Extended MeSsaGe output
emsg() {
[ -n "$quiet" ] && return
local sep="\n$(separator)\n"
case $output in
raw)
echo "$@" | sed -e 's|<b>||g; s|</b>||g; s|<c [0-9]*>||g; \
s|</c>||g; s|<->|'$sep'|g; s|<n>|\n|g; s|<i [0-9]*>| |g' ;;
gtk)
echo "$@" | sed -e 's|<c [0-9]*>||g; s|</c>||g; s|<->|'$sep'|g; \
s|<n>|\n|g; s|<i [0-9]*>| |g' ;;
html)
echo "$@" | sed -e 's|<b>|<strong>|g; s|</b>|</strong>|g; \
s|<c \([0-9]*\)>|<span class="color\1">|g; s|</c>|</span>|g; \
s|<n>|<br/>|g; s|<->|<hr/>|g; s|<i [0-9]*>| |g' ;;
*)
echo -en "$(echo "$@" | sed -e 's|<b>|\\033[1m|g; s|</b>|\\033[0m|g;
s|<c 0\([0-9]*\)>|\\033[\1m|g; s|<c \([1-9][0-9]*\)>|\\033[1;\1m|g;
s|</c>|\\033[0;39m|g; s|<n>|\n|g;
s|<->|'$sep'|g; s|<i \([0-9]*\)>|\\033[\1G|g')"
[ "$1" != "-n" ] && echo
;;
esac
}
# Check if user is logged as root
check_root() {
if [ $(id -u) -ne 0 ]; then
lgettext "You must be root to execute:"; echo " $(basename $0) $@"
exit 1
fi
}
# Display debug info when --debug is used.
debug() {
[ -n "$debug" ] && echo "$(colorize $decolor 'DEBUG:') $1"
}
# Confirmation
confirm() {
if [ -n "$yes" ]; then
true
else
if [ -n "$1" ]; then
echo -n "$1 "
else
echo -n " ($(translate_query y)/$(translate_query N)) ? "
fi
read answer
[ "$answer" == "$(translate_query y)" ]
fi
}
# Log islemleri
log() {
echo "$(date '+%F %R') : $@" >> ${faaliyet:-/var/log/islem.log}
}
# Print two-column list of options with descriptions
optlist() {
[ -n "$quiet" ] && return
local in="$(echo "$1" | sed 's| *| |g')" w=$(get_cols) col1=1 line
IFS=$'\n'
for line in $in; do
col=$(echo -n "$line" | cut -f1 | wc -m)
[ $col -gt $col1 ] && col1=$col
done
echo "$in" | sed 's|\t|&\n|' | fold -sw$((w - col1 - 4)) | \
sed "/\t/!{s|^.*$|[$((col1 + 4))G&|g}" | sed "/\t$/{N;s|.*| &|;s|\t\n||}"
}
# Wrap words in long terminal message
longline() {
[ -n "$quiet" ] && return
local w=$(get_cols)
echo -e "$@" | fold -sw$w
}
# Print localized title
title() {
[ -n "$quiet" ] && return
case $output in
html) echo "<section><header>$(_ "$@")</header><pre class=\"scroll\">";;
*) newline; boldify "$(_ "$@")"; separator;;
esac
}
# Print footer
footer() {
[ -n "$quiet" ] && return
case $output in
html) echo "</pre><footer>$1</footer></section>";;
*) separator; echo "$1"; [ -n "$1" ] && newline;;
esac
}
# Print current action
saved_action=''
action() {
saved_action="$1"
[ -n "$quiet" -a -z "$2" ] && return
local w c scol msg chars
w=$(_ 'w'); w=${w/w/10}
c=$(get_cols)
scol=$(( $c - $w ))
msg="$(_n "$@" | fold -sw$scol)"
chars=$(echo -n "$msg" | tail -n1 | wc -m)
msg="$(printf '%s%'$(( $scol - $chars ))'s' "$msg" '')"
case $output in
raw|gtk|html) echo -n "$msg";;
*) echo -ne "\033[0;33m$msg\033[0m";;
esac
}
# Print long line as list item
itemize() {
[ -n "$quiet" ] && return
case $output in
gtk) echo "$@";;
*)
local inp="$@" w=$(get_cols) first offset
first="$(echo -e "$inp" | fold -sw$w | head -n1)"
echo "$first"
cols1="$(echo "${first:1}" | wc -c)"
offset=$(echo "$first" | sed -n 's|^\([^:\*-]*[:\*-]\).*$|\1|p' | wc -m)
echo "${inp:$cols1}" | fold -sw$((w - offset)) | awk \
'($0){printf "%'$offset's%s\n","",$0}'
;;
esac
}

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +0,0 @@
export CFLAGS="-O2 -pipe"
export CXXFLAGS="${CFLAGS}"
case "`uname -m`" in
"x86_64"|"")
export MAKEFLAGS="-j5"
;;
"i686")
export MAKEFLAGS="-j2"
export CFLAGS="${CFLAGS} -m32"
export CXXFLAGS="${CXXFLAGS} -m32"
export LDFLAGS="${LDFLAGS} -m32"
;;
*)
echo "bilinmeyen mimari..cıkılıyor."
exit 1
;;
esac
DERLEME_SANTIYE="/tmp/work"
DERLEME_KAYNAKDIZIN="/sources"
PKGMK_SYNC_FILES="yok"
PKT_SIKISTIRMA="evet"
DOSYAIZLEME_YOKSAY="evet"
PKGMK_UPDATE_INDEX="evet"
PKGMK_KEEP_SOURCES="evet"
MD5SUM_YOKSAY="evet"
PKGMK_CLEAN="yok"
PAKET_GRUPLAR=()
PAKET_LOKAL="tr"
KOLEKSIYON_YOKSAY="yok"
SURUM_YOKSAY="yok"

View File

@ -1,32 +0,0 @@
export CFLAGS="-O2 -pipe"
export CXXFLAGS="${CFLAGS}"
case "`uname -m`" in
"x86_64"|"")
export MAKEFLAGS="-j5"
;;
"i686")
export MAKEFLAGS="-j2"
export CFLAGS="${CFLAGS} -m32"
export CXXFLAGS="${CXXFLAGS} -m32"
export LDFLAGS="${LDFLAGS} -m32"
;;
*)
echo "bilinmeyen mimari..cıkılıyor."
exit 1
;;
esac
DERLEME_SANTIYE="/tmp/work"
DERLEME_KAYNAKDIZIN="/sources"
PKGMK_SYNC_FILES="yok"
PKT_SIKISTIRMA="evet"
DOSYAIZLEME_YOKSAY="evet"
PKGMK_UPDATE_INDEX="evet"
PKGMK_KEEP_SOURCES="evet"
MD5SUM_YOKSAY="evet"
PKGMK_CLEAN="yok"
PAKET_GRUPLAR=(devel service)
PAKET_LOKAL="tr"
KOLEKSIYON_YOKSAY="yok"
SURUM_YOKSAY="evet"
PAKETSIZ_DERLEME="evet"