genpkg arbeitet jetzt beim Build der Metainformationen parallel.

Weiterhing können mit BIT 256 jetzt die *.dmk einträge auch verweise auf
weitere *.dmk files sein



git-svn-id: svn://svn.compuextreme.de/Viitor/V962/ViitorMake@4593 504e572c-2e33-0410-9681-be2bf7408885
This commit is contained in:
kueller 2009-04-20 09:49:36 +00:00
parent e769e02652
commit 97ae1ba7d5
3 changed files with 122 additions and 258 deletions

View File

@ -187,20 +187,23 @@ for i in `find . -name "*.la"`; do
mv $i $DEVTMPROOT/$DIR
done
mkdir $TMPROOT/../$$
InitDispatch
if [ ! `find . -type f|wc -l` == "0" ]; then
MakeMgtFiles bin
tar -cvf $TMPROOT/../$$/bin.tar .
DispatchCMD "cd $TMPROOT" \
"MakeMgtFiles bin" \
"tar -cvf $TMPROOT/../$$/bin.tar ."
fi
if [ -d $MANTMPROOT ]; then
cd $MANTMPROOT
MakeMgtFiles man
tar -cvf $TMPROOT/../$$/man.tar .
DispatchCMD "cd $MANTMPROOT" \
"MakeMgtFiles man" \
"tar -cvf $TMPROOT/../$$/man.tar ."
fi
if [ -d $DEVTMPROOT ]; then
cd $DEVTMPROOT
MakeMgtFiles dev
tar -cvf $TMPROOT/../$$/dev.tar .
DispatchCMD "cd $DEVTMPROOT" \
"MakeMgtFiles dev" \
"tar -cvf $TMPROOT/../$$/dev.tar ."
fi
EndDispatch
cd $TMPROOT/../$$
tar -jcvf $ARCHIVE .

View File

@ -454,82 +454,12 @@ ClearHostSysNameing() {
cd $CURDIR
}
#No Reference in any module found -> sheduled for deletion
ClearTargetNameing() {
DESTDIR=$1
echo "You use the Function ClearTargetNameing"
echo "Please report the usage of ClearTargetNameing"
echo "Cause this function is sheduled for deletion"
echo "Press Enter to continue"
read
CURDIR=`pwd`
cd $DESTDIR
for i in `find . -name "$TARGET*"`; do
NEWNAME=`basename $i`
PATHNAME=`dirname $i`
NEWNAME=`echo $NEWNAME|sed -e "s/$TARGET-//"`
if [ -f $i ]; then
ln $i $PATHNAME/$NEWNAME
fi
done
}
MakeCheck() {
if [ "$CHECK" == "true" ]; then
make $*
fi
}
NoOpt() {
echo "This module use the old Function NoOpt"
echo "Please Remove this Option from module"
echo "Cause this is no longer any supportet"
echo "function to switch optimisation off"
echo "use modification of $BUILDOPTIONS instead"
echo "Press Enter to continue"
read
case $1 in
"0")
CFLAGS=$STCFLAGS
CXXFLAGS=$STCXXFLAGS
unset STCFLAGS STCXXFLAGS
;;
"2")
STCFLAGS=$CFLAGS
STCXXFLAGS=$CXXFLAGS
unset CFLAGS CXXFLAGS
;;
*)
STCFLAGS=$CFLAGS
STCXXFLAGS=$CXXFLAGS
case $CPU in
P)
CFLAGS="-march=pentium -mfpmath=387"
;;
K6)
CFLAGS="-march=k6 -m3dnow -mfpmath=387"
;;
PII)
CFLAGS="-march=pentiumpro -mmmx -msse -mieee-fp -mfpmath=sse,387"
;;
PIII)
CFLAGS="-march=pentium3 -mmmx -msse -msse2 -mieee-fp -mfpmath=sse,387"
;;
K7)
CFLAGS="-march=athlon -mmmx -msse -m3dnow -mieee-fp -mfpmath=sse,387"
;;
XP)
CFLAGS="-march=athlon-xp -mmmx -msse -msse2 -m3dnow -mieee-fp -mfpmath=sse,387"
;;
K8)
CFLAGS="-march=k8 -mmmx -msse -msse2 -m3dnow -mieee-fp -mfpmath=sse,387"
;;
esac
CXXFLAGS=$CFLAGS
;;
esac
}
RestoreOpt() {
CFLAGS=$STCFLAGS
@ -537,64 +467,6 @@ RestoreOpt() {
unset STCFLAGS STCXXFLAGS
}
UseKernelh() {
echo "The is no reason to use UseKernelh longer, since we use"
echo "the patched Kernel Headers from linuxfromscratch now"
echo "please check the module, and try do remove this function"
echo "press enter to continue"
read
if [ "$1" == "1" ]; then
if [ -d /usr/include/linux.orig ]; then
echo "Error something get wrong with /usr/include/linux!"
exit
else
mv /usr/include/linux{,.orig}
ln -s ../src/linux/include/linux /usr/include/linux
fi
else
if [ -d /usr/include/linux.orig ]; then
rm /usr/include/linux
mv /usr/include/linux.orig /usr/include/linux
else
echo "Error something get wrong with /usr/include/linux!"
exit
fi
fi
}
InstallOldKernelh() {
echo "The is no reason to use UseKernelh longer, since we use"
echo "the patched Kernel Headers from linuxfromscratch now"
echo "please check the module, and try do remove this function"
echo "press enter to continue"
read
if [ "$1" == "1" ]; then
if [ ! -d /usr/src/linux_sdk ] && [ ! -d /usr/src/linux.default ]; then
mv /usr/src/linux /usr/src/linux.default
cd /
tar -jxvf $PKGSTARTDIR/helpers/linux_sdk.tbz usr/src/linux
cd -
else
if [ ! -d /usr/src/linux.default ] && [ -d /usr/src/linux_sdk ]; then
mv /usr/src/linux /usr/src/linux.default
mv /usr/src/linux_sdk /usr/src/linux
else
echo "somthing get wrong with linux includes"
echo "please check and press enter"
read
fi
fi
(( CLEANUP_FLAGS = $CLEANUP_FLAGS | 4 ))
else
if [ ! -d /usr/src/linux_sdk ] && [ -d /usr/src/linux.default ]; then
mv /usr/src/linux /usr/src/linux_sdk
fi
if [ ! -d /usr/src/linux ] && [ -d /usr/src/linux.default ]; then
mv /usr/src/linux.default /usr/src/linux
fi
fi
}
CleanTextFiles() {
cd $TMPROOT
for i in `find . -type f`; do
@ -604,33 +476,6 @@ CleanTextFiles() {
cd -
}
UseOldGcc() {
echo "The is no reason to use UseOldGcc longer, since we use"
echo "we define the CC Variable with the cc to use"
echo "press enter to continue"
read
if [ "$1" == "1" ]; then
export STOREPATH=$PATH
export PATH=/opt/gcc-2.95.3/bin:$PATH
(( CLEANUP_FLAGS = $CLEANUP_FLAGS | 8 ))
NoOpt 2
elif [ "$1" == "2" ]; then
export STOREPATH=$PATH
export PATH=/opt/gcc-3/bin:$PATH
(( CLEANUP_FLAGS = $CLEANUP_FLAGS | 8 ))
if echo $CFLAGS|grep k8 2>&1 >/dev/null; then
STCFLAGS=$CFLAGS
STCXXFLAGS=$CXXFLAGS
CFLAGS=`echo $CFLAGS|sed -e "s/-march=k8/-march=athlon/"`
CXXFLAGS=$CFLAGS
export CXXFLAGS CFLAGS
fi
else
export PATH=$STOREPATH
unset STOREPATH
fi
}
CheckFlag() {
FLAG=$1
CHECK=$2
@ -643,44 +488,6 @@ CheckFlag() {
fi
}
SetOptFlags() {
echo "This module use the old Function NoOpt"
echo "Please Remove this Option from module"
echo "Cause this is no longer any supportet"
echo "function to switch optimisation off"
echo "use modification of $BUILDOPTIONS instead"
echo "Press Enter to continue"
read
SYSARCH=`echo $TARGET|cut -d"-" -f 1`
case "$SYSARCH" in
i586)
CFLAGS="-O3 -march=pentium"
CXXFLAGS=$CFLAGS
;;
i686)
CFLAGS="-O3 -march=pentiumpro -mmmx -msse -miee-fp=sse"
CXXFLAGS=$CFLAGS
;;
athlon)
CFLAGS="-O3 -march=athlon -mmmx -msse -m3dnow -mieee-fp -mfpmath=sse"
CXXFLAGS=$CFLAGS
;;
athlon_xp)
CFLAGS="-O3 -march=athlon-xp -mmmx -msse -msse2 -m3dnow -mieee-fp -mfpmath=sse"
CXXFLAGS=$CFLAGS
;;
x86_64)
CFLAGS="-O3 -march=athlon-xp -mmmx -msse -msse2 -m3dnow -mieee-fp -mfpmath=sse -m64"
CXXFLAGS=$CFLAGS
;;
*)
CFLAGS="-O3"
CXXFLAGS=$CFLAGS
;;
esac
}
GetFlags() {
RightString=$1
ReadBit[1]=`echo $1|cut -c2`
@ -749,25 +556,25 @@ MakeMgtFiles() {
sed -e "s/\.\//\//" >$TMPROOT/../$$/$FilePrefix.md5
find . -type d -ls|\
awk '{ if ( $11 != "." ) print $3,$5,$6,$11 }' |\
sed -e "s/\.\//\//" >/tmp/DirRight$$
exec 3</tmp/DirRight$$
sed -e "s/\.\//\//" >/tmp/DirRight$$.$FilePrefix
exec 3</tmp/DirRight$$.$FilePrefix
while read <&3 RIGHTS USERID GROUPID NAME; do
echo "$NAME `GetFlags $RIGHTS` $USERID $GROUPID"
done >$TMPROOT/../$$/$FilePrefix.drg
exec 3>&-
find . -type f -ls|\
awk '{ print $3,$5,$6,$11 }' |\
sed -e "s/\.\//\//" >/tmp/FileRight$$
sed -e "s/\.\//\//" >/tmp/FileRight$$.$FilePrefix
find . -type l -ls|\
awk '{ print $3,$5,$6,$11 }' |\
sed -e "s/\.\//\//" >>/tmp/FileRight$$
exec 3</tmp/FileRight$$
sed -e "s/\.\//\//" >>/tmp/FileRight$$.$FilePrefix
exec 3</tmp/FileRight$$.$FilePrefix
while read <&3 RIGHTS USERID GROUPID NAME; do
echo "$NAME `GetFlags $RIGHTS` $USERID $GROUPID"
echo "$NAME `echo $RIGHTS|cut -c1` `GetFlags $RIGHTS` $USERID $GROUPID"
done >$TMPROOT/../$$/$FilePrefix.frg
exec 3>&-
rm /tmp/DirRight$$
rm /tmp/FileRight$$
rm /tmp/DirRight$$.$FilePrefix
rm /tmp/FileRight$$.$FilePrefix
}
X11R7_Fix() {
@ -797,35 +604,70 @@ SetConfig() {
esac
}
Fix_Input_h () {
echo "The is no reason to use UseKernelh longer, since we use"
echo "the patched Kernel Headers from linuxfromscratch now"
echo "please check the module, and try do remove this function"
echo "press enter to continue"
read
case $1 in
1)
(( CLEANUP_FLAGS = $CLEANUP_FLAGS | 32 ))
if [ ! -f /usr/src/linux_sdk ]; then
InstallOldKernelh 1
InstallOldKernelh 0
fi
cd /usr/src/linux/include/linux
if [ ! -f input.h.orig ]; then
mv input.h input.h.orig
cp ../../../linux_sdk/include/linux/input.h .
else
echo "Something wrong with Fix_Input_h. please"
echo "Check include linux/input.h and linux/input.h.orig"
fi
cd - 2>&1 >/dev/null
;;
*)
if [ -f /usr/src/linux/include/linux/input.h.orig ]; then
rm /usr/src/linux/include/linux/input.h
mv /usr/src/linux/include/linux/input.h.orig \
/usr/src/linux/include/linux/input.h
fi
;;
esac
MakeFifo() {
TMPFILE=`mktemp`
rm $TMPFILE
mkfifo --mode=600 $TMPFILE
echo $TMPFILE
return 0
}
ExecCommand() {
echo "1" >&8
while true; do
read <&9 COMMAND
if [ "$COMMAND" == "wshutdown" ]; then
return 0
else
IFS=";"
for i in `echo $COMMAND|awk -F" && " '{print $1";"$2";"$3";"$4";"$5";"$6 }'`; do
unset IFS
$i
IFS=";"
done
fi
echo "1" >&8
done
}
InitDispatch() {
FREEF=`MakeFifo`
CMDF=`MakeFifo`
exec 8<>$FREEF
exec 9<>$CMDF
EXECPROCNUM=$NUMCPU
NUMCMD=1
while [ ${NUMCMD} -le $EXECPROCNUM ]; do
ExecCommand &
(( NUMCMD++ ))
done
}
DispatchCMD() {
read <&8 FREE
NUM=1
while [ "$1" ]; do
if [ "$NUM" == "1" ]; then
echo -n "$1" >&9
NUM=0
else
echo -n " && $1" >&9
fi
shift
done
echo "" >&9
}
EndDispatch() {
NUMCMD=0
EXECPROCNUM=$NUMCPU
while [ ${NUMCMD} -le $EXECPROCNUM ]; do
echo "wshutdown" >&9
(( NUMCMD++ ))
done
wait
exec 8<&-
exec 9<&-
rm $CMDF
rm $FREEF
}

55
genpkg
View File

@ -1,4 +1,5 @@
#!/bin/bash
#set -x
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
#dieses Framework wird im CVS Repository
#:pserver:cvs.tramp-bbs.de/opt/cvs zur Verfügung gestellt
@ -343,22 +344,27 @@ pkggen() {
done
mkdir $TMPROOT/../$$
sync
InitDispatch
if [ ! `find . -type f|wc -l` == "0" ]; then
MakeMgtFiles bin
tar -cvf $TMPROOT/../$$/bin.tar .
DispatchCMD "cd $TMPROOT" \
"MakeMgtFiles bin" \
"tar -cvf $TMPROOT/../$$/bin.tar ." \
sync
fi
if [ -d $MANTMPROOT ]; then
cd $MANTMPROOT
MakeMgtFiles man
tar -cvf $TMPROOT/../$$/man.tar .
DispatchCMD "cd $MANTMPROOT" \
"MakeMgtFiles man" \
"tar -cvf $TMPROOT/../$$/man.tar ." \
sync
fi
if [ -d $DEVTMPROOT ]; then
cd $DEVTMPROOT
MakeMgtFiles dev
tar -cvf $TMPROOT/../$$/dev.tar .
DispatchCMD "cd $DEVTMPROOT" \
"MakeMgtFiles dev" \
"tar -cvf $TMPROOT/../$$/dev.tar ." \
sync
fi
cd $TMPROOT/../$$
EndDispatch
sync
if ! tar -jcvf $DISTTARGET/$SRCPATH/$PKGNAME .; then
echo "Somthing get wrong with the package"
@ -442,13 +448,13 @@ pkggen() {
fi
for k in bin dev man; do
if [ -f /var/install/tmp/$$/$k.tar ]; then
if [ -f /var/install/tmp/$$/$k.md5 ]; then
mv /var/install/tmp/$$/$k.md5 \
/var/install/$PKGNAME/$k/chksums
fi
if [ -f /var/install/tmp/$$/$k.frg ]; then
mv /var/install/tmp/$$/$k.frg \
/var/install/$PKGNAME/$k/FileRights
exec 5</var/install/tmp/$$/$k.frg
while read <&5 FILE TYP RIGHT OWNER GROUP; do
MD5SUM=`grep $FILE $ROOT/var/install/tmp/$$/$k.md5|awk '{print $1}'`
echo "PN=$SHNAME;FN=$FILE;FT=$TYP;FR=$RIGHT;FO=$OWNER;FG=$GROUP;FS=$MD5SUM;PK=$PKGNAME" >>/var/install/contents
done
exec 5<&-
fi
if [ -f /var/install/tmp/$$/$k.drg ]; then
mv /var/install/tmp/$$/$k.drg \
@ -609,14 +615,23 @@ if [ ! "$C_FLAG" == "0" ]; then
NOGEN=1
INSTALL=1
fi
(( C_FLAG = $OPT & 256 ))
if [ ! "$C_FLAG" == "0" ]; then
MODCLUSTER=1
fi
(( C_FLAG = $OPT & 1 ))
if [ ! "$C_FLAG" == "0" ]; then
NOTMP=1
fi
if [ "$DEBUG" == "1" ]; then
if [ ! "$NOGEN" == "1" ]; then
echo "Generate Module $MODULE with"
echo "makeforce=$FORCEMAKE, installforce=$FORCEINSTALL"
if [ "$MODCLUSTER" == "1" ]; then
echo "Generate Cluster Module $MODULE"
echo "with genpkg option $PKGGENOPT"
else
echo "Generate Module $MODULE with"
echo "makeforce=$FORCEMAKE, installforce=$FORCEINSTALL"
fi
echo "Please press Enter to continue"
fi
if [ "$INSTALL" == "1" ]; then
@ -648,8 +663,12 @@ if [ ! "$C_FLAG" == "0" ]; then
source `dirname $MODULE`/.init
fi
if [ ! "$NOGEN" == "1" ]; then
PKGGENOPT="$PKGGENOPT"m
if [ ! "$DEBUG" == "1" ]; then
if [ "$MODCLUSTER" == "1" ]; then
PKGGENOPT="$PKGGENOPT"c
else
PKGGENOPT="$PKGGENOPT"m
fi
if [ ! "$DEBUG" == "1" ] || [ "$MODCLUSTER" == "1" ]; then
$ABSPROG -$PKGGENOPT $MODULE
elif [ "$NOTMP" = "1" ]; then
$ABSPROG -$PKGGENOPT $MODULE