diff options
Diffstat (limited to 'system/grub4dos/grub4dos.SlackBuild')
-rw-r--r-- | system/grub4dos/grub4dos.SlackBuild | 77 |
1 files changed, 27 insertions, 50 deletions
diff --git a/system/grub4dos/grub4dos.SlackBuild b/system/grub4dos/grub4dos.SlackBuild index 4c9d628f87..d800696dab 100644 --- a/system/grub4dos/grub4dos.SlackBuild +++ b/system/grub4dos/grub4dos.SlackBuild @@ -2,43 +2,25 @@ # Slackware build script for grub4dos -# Written by Steven Pledger <slacker4life@rocketmail.com> +# Written by Steven Pledger <spledger91@yahoo.com> PRGNAM=grub4dos -VERSION=${VERSION:-0.4.4} +VERSION=${VERSION:-0.4.5b_2010_10_31} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) ARCH=$( uname -m ) ;; - esac -fi +TARVERSION=$(echo $VERSION | tr '_' '-') +SRCVERSION=$(echo $VERSION | cut -f1 -d_ ) + +# Now using the precompiled binary since Grub4dos doesn't build on other archs anyway +ARCH="i386" CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -# Build Chinese version +# Package Chinese version CHINESE="${CHINESE:-no}" set -e @@ -46,9 +28,9 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION -unzip $CWD/$PRGNAM-$VERSION-src.zip -cd $PRGNAM-$VERSION +rm -rf $PRGNAM-$SRCVERSION +unzip $CWD/$PRGNAM-$TARVERSION.zip +cd $PRGNAM-$SRCVERSION chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -56,37 +38,32 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Included patch that translates to Chinese -[ "$CHINESE" = "yes" ] && patch -p1 < patch-chinese.diff - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -sh configure \ - --enable-preset-menu=preset_menu.lst \ - --build=$ARCH-slackware-linux - -make - -# "make install" installs a lot of Grub legacy stuff not used by grub4dos, so install manually - -# hybrid DOS/Linux executable for installing grub4dos +# bootlace.com is a hybrid DOS/Linux executable for installing grub4dos to MBR/PBR mkdir -p $PKG/usr/sbin -install -m 0755 stage2/bootlace.com $PKG/usr/sbin +install -m 0755 bootlace.com $PKG/usr/sbin -mkdir -p $PKG/usr/share/$PRGNAM -cp -a \ - config.sys default menu.lst grub.pif stage2/grldr stage2/grub.exe \ - stage2/badgrub.exe stage2/grldr.mbr stage2/hmload.com \ - $PKG/usr/share/$PRGNAM +# grldr is the main bootloader file +# grub.exe is a modified version of grldr that can be loaded just like a Linux kernel +mkdir -p $PKG/usr/lib/$PRGNAM +if [ "$CHINESE" = "yes" ]; then + cp -a chinese/grldr chinese/grub.exe $PKG/usr/lib/$PRGNAM +else + cp -a grldr grub.exe $PKG/usr/lib/$PRGNAM +fi + +# This file is needed to savedefault menu entry +cp -a default $PKG/usr/lib/$PRGNAM find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ - COPYING README_GRUB4DOS.txt ChangeLog_GRUB4DOS.txt \ + COPYING README_GRUB4DOS.txt ChangeLog_GRUB4DOS.txt ChangeLog_chenall.txt \ + Get_Source_of_This_Build.txt grub4dos_r55.diff \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat menu.lst > $PKG/usr/doc/$PRGNAM-$VERSION/menu.lst.SAMPLE mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc |