--- /dev/null
+#!/bin/bash
+
+remote_directory="ftp://ftp.archlinux.org/other/texlive/"
+local_directory=${PWD}
+page="/tmp/texlive-update"
+pkgs="bibtexextra bin core fontsextra htmlxml latexextra"
+
+wget -O ${page} ${remote_directory} &>/dev/null
+
+page_data=$(cat ${page})
+
+
+for pkg in ${pkgs} ; do
+ echo " :: scanning ${pkg}.."
+
+ unset found_pkg
+
+ for x in {1..250} ; do
+ if [ "${found_pkg}" == "true" ] ; then
+ break
+ fi
+
+ pkg_match_line=$(echo ${page_data} | cut -d\" -f${x})
+ pkg_match_file=$(echo ${pkg_match_line} | grep texlive-${pkg})
+ if [ -n "${pkg_match_file}" ] ; then
+ if [ "${pkg}" == "bin" ] ; then
+ #-source
+ local_revision=$(cat ${local_directory}/texlive-${pkg}/PKGBUILD | grep texlive-${pkg}-source | cut -d- -f4 | cut -d. -f1)
+ if [ -n "$(echo ${pkg_match_file} | grep href | grep source)" ] ; then
+ remote_revision=$(echo ${pkg_match_file} | cut -d- -f4 | cut -d. -f1)
+ ver=$(vercmp ${local_revision} ${remote_revision})
+ if [ "${ver}" == "-1" ] ; then
+ echo " :: !! new texlive-bin-source tarball found"
+ echo " -- local: ${local_revision}"
+ echo " -- remote: ${remote_revision}"
+ sed -i -e "s/${local_revision}/${remote_revision}/g" ${local_directory}/texlive-${pkg}/PKGBUILD
+ fi
+ fi
+ #-texmf
+ local_revision=$(cat ${local_directory}/texlive-${pkg}/PKGBUILD | grep texlive-${pkg}-texmf | cut -d- -f4 | cut -d. -f1)
+ if [ -n "$(echo ${pkg_match_file} | grep href | grep texmf)" ] ; then
+ remote_revision=$(echo ${pkg_match_file} | cut -d- -f4 | cut -d. -f1)
+ ver=$(vercmp ${local_revision} ${remote_revision})
+ if [ "${ver}" == "-1" ] ; then
+ echo " :: !! new texlive-bin-texmf tarball found"
+ echo " -- local: ${local_revision}"
+ echo " -- remote: ${remote_revision}"
+ sed -i -e "s/${local_revision}/${remote_revision}/g" ${local_directory}/texlive-${pkg}/PKGBUILD
+ fi
+ fi
+ #luatext
+ if [ "${found_luatext}" == "true" ] ; then
+ continue
+ fi
+
+ local_revision=$(cat ${local_directory}/texlive-${pkg}/PKGBUILD | grep "luatex-svn" | cut -d- -f2 | cut -d. -f1 | cut -dn -f2)
+ remote_revision=$(echo ${page_data} | sed -e 's/\n//g' -e 's/xz/xz\n/g' -e 's/zip/zip\n/g' -e 's/a>/a>\n/g' -e 's/ref=/ref=\n/g' | grep luatex | cut -d. -f1 | cut -dn -f2 | sed -e 's/ /\n/g' | uniq | grep -v ftp)
+ for match in ${remote_revision} ; do
+ ver=$(vercmp ${local_revision} ${match})
+ if [ "${ver}" == "-1" ] ; then
+ echo " :: !! new luatext tarball found"
+ echo " -- local: ${local_revision}"
+ echo " -- remote: ${match}"
+ sed -i -e "s/${local_revision}/${match}/g" ${local_directory}/texlive-${pkg}/PKGBUILD
+ found_luatext="true"
+ fi
+ done
+ fi
+ elif [ "${pkg}" == "bibtexextra" ] ; then
+ if [ "${found_match}" == "true" ] ; then
+ continue
+ fi
+
+ local_revision=$(cat ${local_directory}/texlive-${pkg}/PKGBUILD | grep pkgver= | cut -d= -f2 | cut -d. -f2)
+ remote_revision=$(echo ${page_data} | sed -e 's/\n//g' -e 's/xz/xz\n/g' -e 's/zip/zip\n/g' -e 's/a>/a>\n/g' -e 's/ref=/ref=\n/g' | grep ${pkg} | cut -d. -f2 | cut -d- -f1 | uniq | grep -v ftp)
+ for match in ${remote_revision} ; do
+ ver=$(vercmp ${local_revision} ${match})
+ if [ "${ver}" == "-1" ] ; then
+ echo " :: !! new tarball found"
+ echo " -- local: ${local_revision}"
+ echo " -- remote: ${match}"
+ sed -i -e "s/${local_revision}/${match}/g" ${local_directory}/texlive-${pkg}/PKGBUILD
+ found_match="true"
+ fi
+ done
+ else
+ if [ "${found_pkg}" == "true" ] ; then
+ break
+ fi
+
+ local_revision=$(cat ${local_directory}/texlive-${pkg}/PKGBUILD | grep pkgver= | cut -d= -f2 | cut -d. -f2)
+ remote_revision=$(echo ${page_data} | sed -e 's/\n//g' -e 's/xz/xz\n/g' -e 's/zip/zip\n/g' -e 's/a>/a>\n/g' -e 's/ref=/ref=\n/g' | grep ${pkg} | cut -d. -f2 | cut -d- -f1 | uniq | grep -v ftp)
+ for match in ${remote_revision} ; do
+ ver=$(vercmp ${local_revision} ${match})
+ if [ "${ver}" == "-1" ] ; then
+ echo " :: !! new tarball found"
+ echo " -- local: ${local_revision}"
+ echo " -- remote: ${match}"
+ sed -i -e "s/${local_revision}/${match}/g" ${local_directory}/texlive-${pkg}/PKGBUILD
+ found_pkg="true"
+ fi
+ done
+ fi
+ done
+done
+