#!/bin/bash ### # Database fix script # Copyright (C) Thomas "ShALLaX" Pedley (gentoox@shallax.com) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ### ### # addDatabase function - adds a patch to the database ### addDatabase() { echo $patchname >> /etc/conf.d/magic-database chown root:root /etc/conf.d/magic-database chmod 600 /etc/conf.d/magic-database } ### # queryDatabase function - checks to see which patches are installed ### queryDatabase() { if [ ! -z `grep -m1 -i ${patchname} /etc/conf.d/magic-database 2> /dev/null` ]; then export patchinstalled="true" else export patchinstalled="false" fi chown root:root /etc/conf.d/magic-database chmod 600 /etc/conf.d/magic-database } ### # delDatabase function - removes a patch from the database ### delDatabase() { grep -vi $patchname /etc/conf.d/magic-database >> /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database chown root:root /etc/conf.d/magic-database chmod 600 /etc/conf.d/magic-database } clear echo "Performing database maintenance..." sleep 2 echo -e "" export patchname="xbv2" && delDatabase export patchname="kernel22-2" && delDatabase export patchname="kernel22-3" && delDatabase export patchname="kernel22-4" && queryDatabase if [ $patchinstalled == "true" ]; then delDatabase export patchname="kernel22004" && addDatabase fi export patchname="kerneldownloaded22-2" && delDatabase export patchname="kerneldownloaded22-3" && delDatabase export patchname="kerneldownloaded22-4" && queryDatabase if [ $patchinstalled == "true" ]; then delDatabase export patchname="kerneldownloaded22004" && addDatabase fi export patchname="fstab2" && delDatabase export patchname="raincoat2" && delDatabase export patchname="monitors2" && delDatabase export patchname="mosixemable1" && delDatabase export patchname="neweth01" && queryDatabase if [ $patchinstalled == "true" ]; then delDatabase export patchname="neweth1" && addDatabase fi sed "s/fstab1/fstab-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/ip1/ip-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/xbv1/xbv-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/gpm1/gpm-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/raincoat1/raincoat-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/mkfatx1/fatxmkfs-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/fatx1/fatx-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/blink1/blink-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/xfree1/xfree-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/xvkbdpatch1/xvkbd-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/xfcepatch1/xfce-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/kdepatch1/kde-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/sudo1/sudo-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/monitors1/monitors-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/eject1/eject-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/joyd1/joyd-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/gdm1/gdm-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/keyboardtoggle1/keyboardtoggle-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/displaytools1/displaytools-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/alsa2/alsa-patch2/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/neweth1/neweth-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/openmosix1/openmosix-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/peeper1/peeper-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/dvd1/dvd-patch1/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/kernel22004/kernel-patch22004/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database sed "s/kerneldownloaded22004/kernel-downloaded22004/" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database grep -v "f-drive1" /etc/conf.d/magic-database > /etc/conf.d/magic-database.tmp mv /etc/conf.d/magic-database.tmp /etc/conf.d/magic-database echo "f-drive1" >> /etc/conf.d/magic-database clear