#!/bin/sh # sparecheck v0.1 # An automatic update script for SpareMiNT # by M.Tarenskeen # **** pathnames and personal preferences **** WORKDIR="/etc/sparemint" SPAREMINT="http://sparemint.atariforge.net/sparemint" URL1="${SPAREMINT}/RPMS/m68kmint" URL2="${SPAREMINT}/RPMS/noarch" URL3="${SPAREMINT}/SRPMS" # The following variables can be "yes" or "no" (lowercase). DOWNLOAD_RPMS="yes" DOWNLOAD_SRPMS="no" INSTALL_AFTER_DOWNLOAD="yes" HANGUP_AFTER_DOWNLOAD="no" # **** The real work starts here **** rm -f ${WORKDIR}/not_installed ${WORKDIR}/updated touch ${WORKDIR}/not_installed ${WORKDIR}/updated rpm -qa > ${WORKDIR}/installed [ -e /var/run/ppp0.pid ] && wget -O $WORKDIR/pkglist $SPAREMINT/pkglist echo echo "Testing packages ..." echo while read package do NAME="${package%-*-*}" if [ $NAME = "XFree86" ] ; then TEST=`rpm -q $NAME 2> /dev/null` else TEST=`grep ^$NAME-[0-9] ${WORKDIR}/installed` fi if [ "$TEST" = "" ]; then echo "$package" >> ${WORKDIR}/not_installed echo "Not installed : $package" elif [ "$TEST" != "$package" ] ; then echo "$package" >> ${WORKDIR}/updated echo "Updated : $package" if [ "$DOWNLOAD_RPMS" = "yes" ] ; then wget -O ${WORKDIR}/${package}.m68kmint.rpm ${URL1}/${package}.m68kmint.rpm || { rm -f ${WORKDIR}/${package}.m68kmint.rpm wget -O ${WORKDIR}/${package}.noarch.rpm ${URL2}/${package}.noarch.rpm ||\ rm -f ${WORKDIR}/${package}.noarch.rpm } fi if [ "$DOWNLOAD_SRPMS" = "yes" ] ; then wget -O ${WORKDIR}/${package}.src.rpm ${URL3}/${package}.src.rpm ||\ rm -f ${WORKDIR}/${package}.src.rpm fi else echo "Installed : $package" fi done < ${WORKDIR}/pkglist [ "$HANGUP_AFTER_DOWNLOAD" = "yes" ] && [ -e /var/run/ppp0.pid ] && kill `cat /var/run/ppp0.pid` if [ "$INSTALL_AFTER_DOWNLOAD" = "yes" ] ; then echo echo "Installing updated package(s) ..." echo while read package; do rpm -Uvh --nodeps ${WORKDIR}/${package}.*.rpm done < ${WORKDIR}/updated fi rpm -qa > ${WORKDIR}/installed echo echo "SPARECHECK READY !" echo echo "A list of updated packages is in ${WORKDIR}/updated" echo "A list of all installed packages is in ${WORKDIR}/installed" echo "A list of uninstalled packages is in ${WORKDIR}/not_installed" exit 0