From 8edaafd6b9b08c1dce18204c203af9233f8fe1c5 Mon Sep 17 00:00:00 2001 From: milisbir Date: Thu, 2 Nov 2017 00:37:36 +0200 Subject: [PATCH] talimat-surum-takip --- bin/mps | 29 +++++++++++- bin/surum_karsilastir | 75 ++++++++++++++++++++++++++++++++ talimatname/genel/b/babl/talimat | 36 ++++++++++----- 3 files changed, 128 insertions(+), 12 deletions(-) create mode 100755 bin/surum_karsilastir diff --git a/bin/mps b/bin/mps index 10368cdec..9b98a66aa 100755 --- a/bin/mps +++ b/bin/mps @@ -4,7 +4,7 @@ if [ -f /etc/mps.conf ];then . /etc/mps.conf fi . /root/bin/fonks.sh -versiyon="1.1.4 Milis Paket Sistemi" +versiyon="1.1.5 Milis Paket Sistemi" iletisim="milisarge@gmail.com" paketdepo="/depo/paketler/" if [ -z ${sunucu+:} ]; then @@ -930,7 +930,24 @@ devir_kontrol(){ fi fi } - + +talimat_surum_takip(){ + local konum + konum=$(talimat_bul $1) + if [[ $konum == "-1" || $konum == "0" ]];then + ryaz 31 "$1 $_talimat_bulunamadi" + exit 1 + else + source $konum/talimat + if [ "`type -t surum_takip`" = "function" ];then + ryaz 32 "$1 paketinin kaynak kod arşivleri inceleniyor..." + surum_takip + else + ryaz 31 "$1 talimatının sürüm takip işlevi yok!" + fi + fi +} + paket_derle(){ #parametre olarak direk konum gelecek #eski derleme kalıntılarını temizle @@ -2504,6 +2521,14 @@ ayarlar() { fi kurulan_dosya_bul "$2" exit 0 ;; + ### mps tsk talimat = ilgili talimatın yeni sürümü olup olmadığını kontrol eder. + tsk) + if [ ! "$2" ]; then + ryaz 31 "paket ismi eksik" + exit 1 + fi + talimat_surum_takip "$2" + exit 0 ;; -tro) tarihce_yap exit 0 ;; diff --git a/bin/surum_karsilastir b/bin/surum_karsilastir new file mode 100755 index 000000000..dd6a7632f --- /dev/null +++ b/bin/surum_karsilastir @@ -0,0 +1,75 @@ +#!/bin/bash +function trs() { + local string="$1" + declare -A translate + translate=( ["a"]="0" + ["b"]="1" + ["c"]="2" + ["d"]="3" + ["e"]="4" + ["f"]="5" + ["g"]="6" + ["h"]="7" + ["i"]="8" + ["j"]="9" + ["k"]="10" + ["l"]="11" + ["m"]="12" + ["n"]="13" + ["o"]="14" + ["p"]="15" + ["q"]="16" + ["r"]="17" + ["s"]="18" + ["t"]="19" + ["u"]="20" + ["v"]="21" + ["w"]="22" + ["x"]="23" + ["y"]="24" + ["z"]="25") + for i in "${!translate[@]}"; do + string="$(sed -e "s/$i/${translate[$i]}/g" <<< "$string")" + done + echo "$string" +} + +function surum_karsilastir(){ + #$1 mevcut $2 enson + if [[ $1 == $2 ]];then + return 0 + fi + + #tireleri noktayla değiştir. + V1=`echo $1 | sed 's/\-/\./g'` + V2=`echo $2 | sed 's/\-/\./g'` + V1=`trs $V1` + V2=`trs $V2` + + local IFS=. + local i ver1=($V1) ver2=($V2) + + # boş sahaların 0 ile doldurulması + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if [[ -z ${ver2[i]} ]] + then + # boş sahalarn sıfırla doldurulması + ver2[i]=0 + fi + if ((10#${ver1[i]} > 10#${ver2[i]})) + then + return 1 # > + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + return 2 # < + fi + done + return 0 # = +} +surum_karsilastir $1 $2 diff --git a/talimatname/genel/b/babl/talimat b/talimatname/genel/b/babl/talimat index dbce05d3c..eb23ed363 100644 --- a/talimatname/genel/b/babl/talimat +++ b/talimatname/genel/b/babl/talimat @@ -9,14 +9,30 @@ devir=1 kaynak=(http://download.gimp.org/pub/$isim/0.1/$isim-$surum.tar.bz2) derle() { -cd $isim-$surum -./configure --prefix=/usr --disable-docs -make -make DESTDIR=$PKG install -install -v -m755 -d \ -$PKG/usr/share/gtk-doc/html/babl/graphics -install -v -m644 docs/*.{css,html} \ -$PKG/usr/share/gtk-doc/html/babl -install -v -m644 docs/graphics/*.{html,png,svg} \ -$PKG/usr/share/gtk-doc/html/babl/graphics + cd $isim-$surum + ./configure --prefix=/usr --disable-docs + make + make DESTDIR=$PKG install +} + +function surum_takip +{ + SURUM_LISTE=http://download.gimp.org/pub/babl/0.1/ + + SURUMLER=`curl -L -s $SURUM_LISTE | sed -ne'/'"${isim}"'-[0-9.]*.tar.\(gz\|xz\|bz2\)/p' | sed -e 's/.*'"${isim}"'/'"${isim}"'/g;s/.tar.\(gz\|xz\|bz2\).*/.tar.\1/g' | sort | uniq` + ENSON=0 + + for i in ${SURUMLER[@]};do + msurum=`echo $i | sed -e 's/'"${isim}"'-//g; s/.tar.*//g'` + surum_karsilastir $ENSON $msurum + if [ $? -eq 2 ];then + ENSON=$msurum + fi + done + + surum_karsilastir $surum $ENSON + if [ $? -eq 2 ];then + echo "$isim: mevcut sürüm : $surum" + echo "$isim: yeni sürüm : $ENSON" + fi }