summaryrefslogtreecommitdiff
path: root/system/grub4dos/grub4dos.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/grub4dos/grub4dos.SlackBuild')
-rw-r--r--system/grub4dos/grub4dos.SlackBuild77
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