ViitorMake/Scripts/MakePackageList
kueller e4ea1f71fc Neue Version V963
git-svn-id: svn://svn.compuextreme.de/Viitor/V963/ViitorMake@5933 504e572c-2e33-0410-9681-be2bf7408885
2011-01-03 10:48:06 +00:00

110 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.compuextreme.de:/Data/cvs zur Verfügung gestellt
#
#Lage dieser Datei im Archiv: $HeadURL$
#
#(c) 2003 Harald Kueller, Germany
#This program is free software; you can redistribute it and/or
#modify ist 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.
#
#Script:MakePackageList
#Erstellt aus den Informationen der Module sowie den Cluster
#Files von genpkg eine komplette package list als basis fuer
#die Installations Konfiguration files
#
#Letzte Änderung von: $Author$
#Datum der letzten Änderung: $Date$
#Version der Datei: $Revision$
#
MKPKG=0
TMPDIR=/tmp/MakePackageList$$
if [ ! -f $HOME/.ViitorMake ]; then
echo "Please run Scripts/initViitorMake"
echo "From ViitorMake Root Direktory"
echo "This will create a File $HOME/.ViitorMake"
echo "with necessary information for running"
echo "ViitorMake Scripts"
exit 10
fi
source $HOME/.ViitorMake
WDIR=`pwd`
source $VMAKEDIR/defsys
source $VMAKEDIR/functions/functions
mkdir $TMPDIR
find $DISTTARGET -name "*.vpg" |sed -e "s%$DISTTARGET/%%" >/tmp/pkglist$$
while [ "$1" ]; do
sed -e "/^#/d" -e "/^$/d" $1|awk '{print $2}' >/tmp/modlist$$
echo 1>&2 "working on $1"
for j in Boot Tools X11 X11_2; do
for i in `cat /tmp/modlist$$`; do
MODNAME=`basename $i|sed -e "s/src/bin/" -e "s/SRC/BIN/" \
-e "s/source/binary/" -e "s/SOURCE/BINARY/"`
if [ -f $TMPDIR/$MODNAME ]; then
continue
fi
if grep $MODNAME /tmp/pkglist$$ 2>&1 >/dev/null; then
source $i 2>&1 >/dev/null
case `dirname $SRCPATH` in
Base)
CDROM="Boot"
;;
Tools)
CDROM="Tools"
;;
XServ)
CDROM="Tools"
;;
X11)
CDROM="X11"
;;
X11_2)
CDROM="X11_2"
;;
*)
CDROM="Unknown"
;;
esac
if [ "$CDROM" == "$j" ]; then
touch $TMPDIR/$MODNAME
NAME=`ls $DISTTARGET/$SRCPATH/$MODNAME$PATTERN*.vpg 2>/dev/null`
if [ "$NAME" ]; then
echo "$CDROM $SRCPATH/$MODNAME$PATTERN*.vpg"
fi
fi
elif grep PKGNAME $i 2>&1 >/dev/null; then
grep PKGNAME $i >/tmp/execme$$
source /tmp/execme$$
rm /tmp/execme$$
NAME=`ls $DISTTARGET/$SRCPATH/$PKGNAME 2>/dev/null`
if [ "$NAME" ] && [ "$CDROM" == "$j" ]; then
echo "$CDROM $SRCPATH/$PKGNAME"
fi
else
echo 1>&2 "Module $MODNAME not found!"
fi
done
done
shift
done
rm -r $TMPDIR
rm /tmp/pkglist$$
rm /tmp/modlist$$