Fix handling of groff's special patch format. Also, only find the md5sum of the exact package we're downloading, not a spurious copy that has, say, a '.1' or '.2' at the end of the file.
This commit is contained in:
parent
3d82fb5791
commit
cf9cac8e76
1 changed files with 25 additions and 20 deletions
33
jhalfs
33
jhalfs
|
@ -232,6 +232,11 @@ extract_commands() {
|
||||||
echo `grep "glibc" packages | sed 's@glibc@glibc-libidn@'` >> packages
|
echo `grep "glibc" packages | sed 's@glibc@glibc-libidn@'` >> packages
|
||||||
grep "ENTITY" $BOOK/patches.ent | sed -e 's/.* "//' -e 's/">//' >> patches
|
grep "ENTITY" $BOOK/patches.ent | sed -e 's/.* "//' -e 's/">//' >> patches
|
||||||
|
|
||||||
|
# Needed for Groff patchlevel patch
|
||||||
|
GROFFLEVEL=`grep "groff-patchlevel" $BOOK/general.ent | sed -e 's/groff-patchlevel //' -e 's/"//g' \
|
||||||
|
-e 's@<!ENTITY @@' -e 's|>||' `
|
||||||
|
sed -i 's|&groff-patchlevel;|'$GROFFLEVEL'|' patches
|
||||||
|
|
||||||
# Done. Moving on...
|
# Done. Moving on...
|
||||||
echo -ne "done\n"
|
echo -ne "done\n"
|
||||||
get_sources
|
get_sources
|
||||||
|
@ -248,7 +253,7 @@ download() {
|
||||||
DIR=`echo $1 | sed 's@-doc@@;s@-libidn@@'`
|
DIR=`echo $1 | sed 's@-doc@@;s@-libidn@@'`
|
||||||
|
|
||||||
# Find the md5 sum for this package.
|
# Find the md5 sum for this package.
|
||||||
if [ $2 != MD5SUMS ] ; then MD5=`grep " $2" MD5SUMS` ; fi
|
if [ $2 != MD5SUMS ] ; then MD5=`grep " $2$" MD5SUMS` ; fi
|
||||||
|
|
||||||
if [ ! -f $2 ] ; then
|
if [ ! -f $2 ] ; then
|
||||||
case $DL in
|
case $DL in
|
||||||
|
@ -306,34 +311,34 @@ get_sources() {
|
||||||
# Iterate through each package and grab it, along with any patches it needs.
|
# Iterate through each package and grab it, along with any patches it needs.
|
||||||
for i in `cat $JHALFSDIR/packages` ; do
|
for i in `cat $JHALFSDIR/packages` ; do
|
||||||
PKG=`echo $i | sed -e 's/-version.*//' -e 's/-file.*//'`
|
PKG=`echo $i | sed -e 's/-version.*//' -e 's/-file.*//'`
|
||||||
# Needed for Groff patchlevel patch
|
|
||||||
GROFFLEVEL=`grep "groff-patchlevel" $JHALFSDIR/packages | sed -e 's/groff-patchlevel //' -e 's/"//g'`
|
|
||||||
|
|
||||||
# There are some entities that aren't valid packages.
|
# There are some entities that aren't valid packages.
|
||||||
if [ "$PKG" = "expect-lib" -o "$PKG" = "linux-dl" -o "$PKG" = "groff-patchlevel" ] ; then continue ; fi
|
if [ "$PKG" = "expect-lib" -o "$PKG" = "linux-dl" -o "$PKG" = "groff-patchlevel" ] ; then continue ; fi
|
||||||
|
|
||||||
VRS=`echo $i | sed -e 's/.* //' -e 's/"//g'`
|
VRS=`echo $i | sed -e 's/.* //' -e 's/"//g'`
|
||||||
if [ "$PKG" = "tcl" ] ; then
|
case $PKG in
|
||||||
|
tcl)
|
||||||
FILE="$PKG$VRS-src.tar.bz2"
|
FILE="$PKG$VRS-src.tar.bz2"
|
||||||
elif [ "$PKG" = "vim-lang" ] ; then
|
;;
|
||||||
|
vim-lang)
|
||||||
PKG="vim"
|
PKG="vim"
|
||||||
FILE="vim-$VRS-lang.tar.bz2"
|
FILE="vim-$VRS-lang.tar.bz2"
|
||||||
elif [ "$PKG" = "udev-config" ] ; then
|
;;
|
||||||
|
udev-config)
|
||||||
PKG="udev"
|
PKG="udev"
|
||||||
FILE="$VRS"
|
FILE="$VRS"
|
||||||
else
|
;;
|
||||||
|
*)
|
||||||
FILE="$PKG-$VRS.tar.bz2"
|
FILE="$PKG-$VRS.tar.bz2"
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
download $PKG $FILE
|
download $PKG $FILE
|
||||||
for patch in `grep "$PKG-&$PKG" $JHALFSDIR/patches` ; do
|
|
||||||
|
# Download any associated patches
|
||||||
|
for patch in `grep "&$PKG-version" $JHALFSDIR/patches` ; do
|
||||||
PATCH=`echo $patch | sed 's@&'$PKG'-version;@'$VRS'@'`
|
PATCH=`echo $patch | sed 's@&'$PKG'-version;@'$VRS'@'`
|
||||||
download $PKG $PATCH
|
download $PKG $PATCH
|
||||||
done
|
done
|
||||||
# Needed for Groff patchlevel patch
|
|
||||||
for patch in `grep "patchlevel" $JHALFSDIR/patches` ; do
|
|
||||||
PATCH=`echo $patch | sed 's@&'$PKG'-version;-&'$PKG'-patchlevel;@'$VRS'-'$GROFFLEVEL'@'`
|
|
||||||
download $PKG $PATCH
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue