summaryrefslogtreecommitdiff
path: root/contrib/source-checker/bump.preferred-xorg-versions-live.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/source-checker/bump.preferred-xorg-versions-live.sh')
-rwxr-xr-xcontrib/source-checker/bump.preferred-xorg-versions-live.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/contrib/source-checker/bump.preferred-xorg-versions-live.sh b/contrib/source-checker/bump.preferred-xorg-versions-live.sh
new file mode 100755
index 0000000000..c5c0b198b0
--- /dev/null
+++ b/contrib/source-checker/bump.preferred-xorg-versions-live.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+DATE=`date +%Y%m%d`
+SCRDIR=`dirname $0`
+DIR=${SCRDIR}/${DATE}
+PREFIX=http://xorg.freedesktop.org/releases/individual/
+GRPS="app data doc driver font lib proto util xserver"
+OETREE=${SCRDIR}/../..
+PREFS_LIVE=${OETREE}/conf/distro/include/preferred-xorg-versions-live.inc
+BBS=${OETREE}/recipes/xorg-
+OUT_LOG=${DIR}.log
+OUT_CMD=${DIR}.cmd
+
+export LC_ALL=c
+
+mkdir -p ${DIR}
+
+function latest {
+ IN=$1
+ OUT=$2
+ echo "Parsing latest from ${IN} to ${OUT}"
+ sed "s/<a href=\"/\nPKG=/g" ${IN} | grep "^PKG=" | sed "s/^\([^\"]*\)\">.*$/\1/g" | grep "bz2$" | sort -V > ${IN}.tmp
+ for PKG in `sed "s/^\(.*\)-\([^-]*\)$/\1/g" ${IN}.tmp | sort -u`; do
+ grep ${PKG} ${IN}.tmp | tail -n 1 | sed 's/xorg-server/xserver-xorg/g' >> ${OUT};
+ done
+}
+
+function updateVersions {
+ PKG=$1
+ GRP=$2
+ VER=$3
+ BB_VER=`ls -1 ${BBS}${GRP}/${PKG}_*.bb 2>/dev/null | sed "s%${BBS}${GRP}/${PKG}_%%g; s%.bb$%%g" | grep -v X11R7.0 | grep -v cvs | grep -v git | grep -v svn | sort -V | tail -n 1`
+ #echo ${GRP}/${PKG}/${VER} ${PREF_VER} ${BB_VER}
+ echo "PREFERRED_VERSION_${PKG} ?= \"${VER}\"" >> ${PREFS_LIVE}
+ if [[ -n ${BB_VER} && ${BB_VER} != ${VER} ]] ; then
+ echo "bump: $GRP ${PKG} ${BB_VER} -> ${VER}" | tee -a ${OUT_LOG}
+ echo "cp ${BBS}${GRP}/${PKG}_${BB_VER}.bb ${BBS}${GRP}/${PKG}_${VER}.bb" >> ${OUT_CMD}
+ fi
+ if [[ -z ${BB_VER} ]] ; then
+ echo "new ${GRP} ${PKG}/${VER}" | tee -a ${OUT_LOG}
+ fi
+}
+
+for GRP in ${GRPS}; do
+ if [[ ! -e ${DIR}/${GRP}.html ]] ; then
+ wget http://xorg.freedesktop.org/releases/individual/${GRP} -O ${DIR}/${GRP}.html
+ fi
+ latest ${DIR}/${GRP}.html ${DIR}/${GRP}.txt
+ sed "s/PKG=/${GRP}\//g; s/-\([^-]*\).tar.bz2$/\/\1/g;" ${DIR}/${GRP}.txt | gawk '{ print tolower($0) }' >> ${DIR}/latest.txt
+done
+
+sort -u ${DIR}/latest.txt > ${DIR}/latest.sort.txt
+
+echo "#`date`" > ${PREFS_LIVE}
+
+echo "#`date`" > ${OUT_LOG}
+echo "#`date`" > ${OUT_CMD}
+
+cat ${DIR}/latest.sort.txt | while read LINE; do
+ #echo ${LINE};
+ PKG=`echo ${LINE} | sed "s%^\(.*\)\/\(.*\)\/\(.*\)$%\2%g;"`
+ GRP=`echo ${LINE} | sed "s%^\(.*\)\/\(.*\)\/\(.*\)$%\1%g;"`
+ VER=`echo ${LINE} | sed "s%^\(.*\)\/\(.*\)\/\(.*\)$%\3%g;"`
+ updateVersions ${PKG} ${GRP} ${VER}
+ updateVersions ${PKG}-native ${GRP} ${VER}
+done
+
+echo "Check ${OUT_LOG} if there is something new and interesting"
+echo "You can update prefs or copy bbfiles with commands from ${OUT_CMD}"