Anpassung an neue Archiveformat
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/ViitorMake@4876 504e572c-2e33-0410-9681-be2bf7408885
This commit is contained in:
parent
461d2aa794
commit
ac3e085bd3
@ -277,7 +277,7 @@ ArchiveName() {
|
|||||||
else
|
else
|
||||||
ARCHIVENAME=$BASENAME
|
ARCHIVENAME=$BASENAME
|
||||||
fi
|
fi
|
||||||
echo $ARCHIVENAME.tbz
|
echo $ARCHIVENAME.vpg
|
||||||
}
|
}
|
||||||
|
|
||||||
GetSVN() {
|
GetSVN() {
|
||||||
@ -709,3 +709,62 @@ GenDynLib() {
|
|||||||
cd -
|
cd -
|
||||||
rm -r /tmp/libgen$$
|
rm -r /tmp/libgen$$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extractfile() {
|
||||||
|
ARCHIVE=$1
|
||||||
|
EFILE=$2
|
||||||
|
LINE=`head -n 1 $ARCHIVE`
|
||||||
|
case $EFILE in
|
||||||
|
dep)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 1-`
|
||||||
|
;;
|
||||||
|
meta)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 2-`
|
||||||
|
;;
|
||||||
|
bin.drg)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 3-`
|
||||||
|
;;
|
||||||
|
bin.frg)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 4-`
|
||||||
|
;;
|
||||||
|
bin.md5)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 5-`
|
||||||
|
;;
|
||||||
|
bin.tar)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 6-`
|
||||||
|
;;
|
||||||
|
dev.drg)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 7-`
|
||||||
|
;;
|
||||||
|
dev.frg)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 8-`
|
||||||
|
;;
|
||||||
|
dev.md5)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 9-`
|
||||||
|
;;
|
||||||
|
dev.tar)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 10-`
|
||||||
|
;;
|
||||||
|
man.drg)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 11-`
|
||||||
|
;;
|
||||||
|
man.frg)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 12-`
|
||||||
|
;;
|
||||||
|
man.md5)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 13-`
|
||||||
|
;;
|
||||||
|
man.tar)
|
||||||
|
LINE=`echo $LINE|cut -d" " -f 14-`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
BEGSIZE=0
|
||||||
|
for i in $LINE; do
|
||||||
|
(( BEGSIZE = $BEGSIZE + $i ))
|
||||||
|
done
|
||||||
|
SIZE=`echo $LINE|cut -d" " -f1`
|
||||||
|
if [ "$SIZE" -gt "0" ]; then
|
||||||
|
tail -c $BEGSIZE $ARCHIVE | head -c `echo $LINE | cut -d" " -f1`|bzcat
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
140
genpkg
140
genpkg
@ -260,22 +260,21 @@ pkggen() {
|
|||||||
if [ ! "$DSTPKGNAME" ]; then
|
if [ ! "$DSTPKGNAME" ]; then
|
||||||
DSTPKGNAME=`echo $PKGNAME|sed -e "s/\.tbz$//"`
|
DSTPKGNAME=`echo $PKGNAME|sed -e "s/\.tbz$//"`
|
||||||
fi
|
fi
|
||||||
if [ -f $DISTTARGET/$SRCPATH/$DSTPKGNAME.dep ]; then
|
|
||||||
echo "Removing $DSTPKGNAME.dep"
|
|
||||||
rm $DISTTARGET/$SRCPATH/$DSTPKGNAME.dep
|
|
||||||
fi
|
|
||||||
if [ -d /var/install/$DSTPKGNAME ]; then
|
if [ -d /var/install/$DSTPKGNAME ]; then
|
||||||
mv /var/install/$DSTPKGNAME /tmp
|
mv /var/install/$DSTPKGNAME /tmp
|
||||||
fi
|
fi
|
||||||
GenDependics $TMPROOT >/tmp/deps$$
|
GenDependics $TMPROOT >/tmp/deps$$
|
||||||
(( CHECKFLAGS = $MKPKG & 32 ))
|
(( CHECKFLAGS = $MKPKG & 32 ))
|
||||||
|
mkdir -p $TMPROOT/../$$
|
||||||
for i in `cat /tmp/deps$$`; do
|
for i in `cat /tmp/deps$$`; do
|
||||||
if [ "$CHECKFLAGS" == 0 ]; then
|
if [ "$CHECKFLAGS" == 0 ]; then
|
||||||
echo "WARN $i" >>$DISTTARGET/$SRCPATH/$DSTPKGNAME.dep
|
echo "WARN $i" >>$TMPROOT/../$$/dep
|
||||||
else
|
else
|
||||||
echo "FORCE $i" >>$DISTTARGET/$SRCPATH/$DSTPKGNAME.dep
|
echo "FORCE $i" >>$TMPROOT/../$$/dep
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
bzip2 -9 $TMPROOT/../$$/dep
|
||||||
|
mv $TMPROOT/../$$/dep.bz2 $TMPROOT/../$$/dep
|
||||||
cd -
|
cd -
|
||||||
if [ -d /tmp/$DSTPKGNAME ]; then
|
if [ -d /tmp/$DSTPKGNAME ]; then
|
||||||
mv /tmp/$DSTPKGNAME /var/install
|
mv /tmp/$DSTPKGNAME /var/install
|
||||||
@ -346,40 +345,38 @@ pkggen() {
|
|||||||
mkdir -p $DEVTMPROOT/$DIR
|
mkdir -p $DEVTMPROOT/$DIR
|
||||||
mv $i $DEVTMPROOT/$DIR
|
mv $i $DEVTMPROOT/$DIR
|
||||||
done
|
done
|
||||||
mkdir $TMPROOT/../$$
|
|
||||||
sync
|
sync
|
||||||
InitDispatch
|
InitDispatch
|
||||||
if [ ! `find . -type f|wc -l` == "0" ]; then
|
if [ ! `find . -type f|wc -l` == "0" ]; then
|
||||||
DispatchCMD "cd $TMPROOT" \
|
DispatchCMD "cd $TMPROOT" \
|
||||||
"MakeMgtFiles bin" \
|
"MakeMgtFiles bin" \
|
||||||
"tar -cvf $TMPROOT/../$$/bin.tar ." \
|
"tar -jcvf $TMPROOT/../$$/bin.tar ." \
|
||||||
sync
|
sync
|
||||||
fi
|
fi
|
||||||
if [ -d $MANTMPROOT ]; then
|
if [ -d $MANTMPROOT ]; then
|
||||||
DispatchCMD "cd $MANTMPROOT" \
|
DispatchCMD "cd $MANTMPROOT" \
|
||||||
"MakeMgtFiles man" \
|
"MakeMgtFiles man" \
|
||||||
"tar -cvf $TMPROOT/../$$/man.tar ." \
|
"tar -jcvf $TMPROOT/../$$/man.tar ." \
|
||||||
sync
|
sync
|
||||||
fi
|
fi
|
||||||
if [ -d $DEVTMPROOT ]; then
|
if [ -d $DEVTMPROOT ]; then
|
||||||
DispatchCMD "cd $DEVTMPROOT" \
|
DispatchCMD "cd $DEVTMPROOT" \
|
||||||
"MakeMgtFiles dev" \
|
"MakeMgtFiles dev" \
|
||||||
"tar -cvf $TMPROOT/../$$/dev.tar ." \
|
"tar -jcvf $TMPROOT/../$$/dev.tar ." \
|
||||||
sync
|
sync
|
||||||
fi
|
fi
|
||||||
cd $TMPROOT/../$$
|
|
||||||
EndDispatch
|
EndDispatch
|
||||||
sync
|
sync
|
||||||
if ! tar -jcvf $DISTTARGET/$SRCPATH/$PKGNAME .; then
|
cd $TMPROOT/../$$
|
||||||
echo "Somthing get wrong with the package"
|
for i in bin.frg bin.drg bin.md5 man.frg man.drg man.md5 dev.frg dev.drg dev.md5; do
|
||||||
echo "please check and press ENTER after"
|
if [ -f $i ]; then
|
||||||
echo "it is corrected"
|
cd $TMPROOT/../$$
|
||||||
read
|
bzip2 $i
|
||||||
|
mv $i.bz2 $i
|
||||||
fi
|
fi
|
||||||
cd ..
|
done
|
||||||
rm -r $TMPROOT/../$$
|
|
||||||
if [ -f $DISTTARGET/$SRCPATH/$PKGNAME ]; then
|
if [ -f $DISTTARGET/$SRCPATH/$PKGNAME ]; then
|
||||||
METAFILE=$DISTTARGET/$SRCPATH/$DSTPKGNAME.meta
|
METAFILE=$TMPROOT/../$$/meta
|
||||||
if [ "$SHORTNAME" ]; then
|
if [ "$SHORTNAME" ]; then
|
||||||
echo "ModuleName: $SHORTNAME" >$METAFILE
|
echo "ModuleName: $SHORTNAME" >$METAFILE
|
||||||
else
|
else
|
||||||
@ -392,7 +389,7 @@ pkggen() {
|
|||||||
svn info `basename $MODULENAME`|\
|
svn info `basename $MODULENAME`|\
|
||||||
grep "Revision" |\
|
grep "Revision" |\
|
||||||
awk '{print $2}' >>$METAFILE
|
awk '{print $2}' >>$METAFILE
|
||||||
cd -
|
cd - 2>&1 >/dev/null
|
||||||
else
|
else
|
||||||
grep "#Version der Datei: \$Revision" \
|
grep "#Version der Datei: \$Revision" \
|
||||||
$MODULEPATH/`basename $MODULENAME` |\
|
$MODULEPATH/`basename $MODULENAME` |\
|
||||||
@ -417,7 +414,42 @@ pkggen() {
|
|||||||
sed -e "s/^#//" \
|
sed -e "s/^#//" \
|
||||||
-e "s/Kurzbeschreibung://" \
|
-e "s/Kurzbeschreibung://" \
|
||||||
-e "/^$/d" >>$METAFILE
|
-e "/^$/d" >>$METAFILE
|
||||||
|
bzip2 -9 $METAFILE
|
||||||
|
mv $METAFILE.bz2 $METAFILE
|
||||||
fi
|
fi
|
||||||
|
ARCHCONTENTS="bin.drg bin.frg bin.md5 bin.tar dev.drg dev.frg dev.md5 dev.tar man.drg man.frg man.md5 man.tar"
|
||||||
|
cd $TMPROOT/../$$
|
||||||
|
if [ -f dep ]; then
|
||||||
|
LINE="`wc -c dep|awk '{print $1}'` "
|
||||||
|
else
|
||||||
|
LINE="0 "
|
||||||
|
fi
|
||||||
|
if [ -f meta ]; then
|
||||||
|
LINE=$LINE"`wc -c meta|awk '{print $1}'` "
|
||||||
|
else
|
||||||
|
LINE=$LINE"0 "
|
||||||
|
fi
|
||||||
|
for i in $ARCHCONTENTS; do
|
||||||
|
if [ -f $i ]; then
|
||||||
|
LINE=$LINE"`wc -c $i|awk '{print $1}'` "
|
||||||
|
else
|
||||||
|
LINE=$LINE"0 "
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo $LINE >$DISTTARGET/$SRCPATH/$PKGNAME
|
||||||
|
if [ -f dep ]; then
|
||||||
|
cat dep >>$DISTTARGET/$SRCPATH/$PKGNAME
|
||||||
|
fi
|
||||||
|
if [ -f meta ]; then
|
||||||
|
cat meta >>$DISTTARGET/$SRCPATH/$PKGNAME
|
||||||
|
fi
|
||||||
|
for i in $ARCHCONTENTS; do
|
||||||
|
if [ -f $i ]; then
|
||||||
|
cat $i >>$DISTTARGET/$SRCPATH/$PKGNAME
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
rm -r $TMPROOT/../$$
|
||||||
fi
|
fi
|
||||||
(( CHECKFLAGS = $MKPKG & 16 ))
|
(( CHECKFLAGS = $MKPKG & 16 ))
|
||||||
if [ "$CHECKFLAGS" == "0" ]; then
|
if [ "$CHECKFLAGS" == "0" ]; then
|
||||||
@ -439,48 +471,66 @@ pkggen() {
|
|||||||
installpkg -o $INSTALLOPTS $DISTTARGET/$SRCPATH/$PKGNAME
|
installpkg -o $INSTALLOPTS $DISTTARGET/$SRCPATH/$PKGNAME
|
||||||
CheckError "Installation of $PKGNAME failed"
|
CheckError "Installation of $PKGNAME failed"
|
||||||
else
|
else
|
||||||
if [ ! -d /var/install/tmp ]; then
|
|
||||||
mkdir -p /var/install/tmp
|
|
||||||
chmod 1777 /var/install/tmp
|
|
||||||
fi
|
|
||||||
mkdir -p /var/install/tmp/$$
|
|
||||||
cd /var/install/tmp/$$
|
|
||||||
echo "installing $DISTTARGET/$SRCPATH/$PKGNAME"
|
echo "installing $DISTTARGET/$SRCPATH/$PKGNAME"
|
||||||
tar -jxf $DISTTARGET/$SRCPATH/$PKGNAME
|
|
||||||
cd /
|
cd /
|
||||||
for k in /var/install/tmp/$$/*.tar; do
|
for k in bin.tar dev.tar man.tar; do
|
||||||
tar -xf $k
|
case $k in
|
||||||
|
bin.tar)
|
||||||
|
SIZE=`head -n 1 $DISTTARGET/$SRCPATH/$PKGNAME|awk '{print $6}'`
|
||||||
|
;;
|
||||||
|
dev.tar)
|
||||||
|
SIZE=`head -n 1 $DISTTARGET/$SRCPATH/$PKGNAME|awk '{print $10}'`
|
||||||
|
;;
|
||||||
|
man.tar)
|
||||||
|
SIZE=`head -n 1 $DISTTARGET/$SRCPATH/$PKGNAME|awk '{print $14}'`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ "$SIZE" -gt "0" ]; then
|
||||||
|
extractfile $DISTTARGET/$SRCPATH/$PKGNAME $k|tar -xvf -
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
PKGNAME=`echo $PKGNAME|sed -e "s/\.tbz//"`
|
PKGNAME=`echo $PKGNAME|sed -e "s/\.vpg//"`
|
||||||
if [ ! -d /var/install/$PKGNAME ]; then
|
if [ ! -d /var/install/$PKGNAME ]; then
|
||||||
mkdir -p /var/install/$PKGNAME/{dev,bin,man}
|
mkdir -p /var/install/$PKGNAME/{dev,bin,man}
|
||||||
fi
|
fi
|
||||||
if [ -f $DISTTARGET/$SRCPATH/$PKGNAME.meta ]; then
|
extractfile $DISTTARGET/$SRCPATH/$PKGNAME.vpg|\
|
||||||
grep -A 10 -e "^Description:" $DISTTARGET/$SRCPATH/$PKGNAME.meta|\
|
grep -A 10 -e "^Description:" |\
|
||||||
grep -v -e "^Description:" \
|
grep -v -e "^Description:" \
|
||||||
>>$ROOT/var/install/$PKGNAME/description
|
>>$ROOT/var/install/$PKGNAME/description
|
||||||
grep ModuleName $DISTTARGET/$SRCPATH/$PKGNAME.meta|\
|
extractfile $DISTTARGET/$SRCPATH/$PKGNAME.vpg|\
|
||||||
|
grep ModuleName |\
|
||||||
awk '{print $2}' \
|
awk '{print $2}' \
|
||||||
>$ROOT/var/install/$PKGNAME/shortname
|
>$ROOT/var/install/$PKGNAME/shortname
|
||||||
|
if [ "`wc -c $ROOT/var/install/$PKGNAME/description|awk '{print $1}'`" == "0" ]; then
|
||||||
|
rm $ROOT/var/install/$PKGNAME/description
|
||||||
fi
|
fi
|
||||||
|
if [ "`wc -c $ROOT/var/install/$PKGNAME/shortname|awk '{print $1}'`" == "0" ]; then
|
||||||
|
rm $ROOT/var/install/$PKGNAME/shortname
|
||||||
|
fi
|
||||||
|
if [ -f $ROOT/var/install/$PKGNAME/shortname ]; then
|
||||||
SHNAME=`cat $ROOT/var/install/$PKGNAME/shortname`
|
SHNAME=`cat $ROOT/var/install/$PKGNAME/shortname`
|
||||||
for k in bin dev man; do
|
|
||||||
if [ -f /var/install/tmp/$$/$k.tar ]; then
|
|
||||||
if [ -f /var/install/tmp/$$/$k.frg ]; then
|
|
||||||
exec 5</var/install/tmp/$$/$k.frg
|
|
||||||
while read <&5 FILE TYP RIGHT OWNER GROUP; do
|
|
||||||
if [ `fgrep $FILE $ROOT/var/install/tmp/$$/$k.md5|wc -l` -gt 1 ]; then
|
|
||||||
MD5SUM=`grep ${FILE}$ $ROOT/var/install/tmp/$$/$k.md5|awk '{print $1}'`
|
|
||||||
else
|
else
|
||||||
MD5SUM=`fgrep ${FILE} $ROOT/var/install/tmp/$$/$k.md5|awk '{print $1}'`
|
SHNAME=$PKGNAME
|
||||||
|
fi
|
||||||
|
for k in bin dev man; do
|
||||||
|
extractfile $DISTTARGET/$SRCPATH/$PKGNAME.vpg $k.frg >/tmp/$k.frg$$
|
||||||
|
extractfile $DISTTARGET/$SRCPATH/$PKGNAME.vpg $k.md5 >/tmp/$k.md5$$
|
||||||
|
if [ "`wc -c /tmp/$k.frg$$|awk '{print $1}'`" -gt "0" ]; then
|
||||||
|
exec 5</tmp/$k.frg$$
|
||||||
|
while read <&5 FILE TYP RIGHT OWNER GROUP; do
|
||||||
|
if [ `fgrep $FILE /tmp/$k.md5$$|wc -l` -gt 1 ]; then
|
||||||
|
MD5SUM=`grep ${FILE}$ /tmp/$k.md5$$|awk '{print $1}'`
|
||||||
|
else
|
||||||
|
MD5SUM=`fgrep ${FILE} /tmp/$k.md5$$|awk '{print $1}'`
|
||||||
fi
|
fi
|
||||||
echo "PN=$SHNAME;FN=$FILE;FT=$TYP;FR=$RIGHT;FO=$OWNER;FG=$GROUP;FS=$MD5SUM;PK=$PKGNAME" >>/var/install/contents
|
echo "PN=$SHNAME;FN=$FILE;FT=$TYP;FR=$RIGHT;FO=$OWNER;FG=$GROUP;FS=$MD5SUM;PK=$PKGNAME" >>/var/install/contents
|
||||||
done
|
done
|
||||||
exec 5<&-
|
exec 5<&-
|
||||||
fi
|
rm /tmp/$k.frg$$
|
||||||
if [ -f /var/install/tmp/$$/$k.drg ]; then
|
rm /tmp/$k.md5$$
|
||||||
mv /var/install/tmp/$$/$k.drg \
|
extractfile $DISTTARGET/$SRCPATH/$PKGNAME.vpg $k.drg >/var/install/$PKGNAME/$k/DirRights
|
||||||
/var/install/$PKGNAME/$k/DirRights
|
if [ "`wc -c /var/install/$PKGNAME/$k/DirRights|awk '{print $1}'`" == "0" ]; then
|
||||||
|
rm /var/install/$PKGNAME/$k/DirRights
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user