diff options
author | B. Watson <yalhcru@gmail.com> | 2022-02-10 15:33:47 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-02-12 13:32:49 +0700 |
commit | ed93848ce597bcc1a39bb720a994b5e0a19394c0 (patch) | |
tree | 5686fbadf96b39a89c5e9921e5aea7b35fd69465 /system | |
parent | 96d63f87e28a8175c1c21f4c8a12f565fd9df055 (diff) |
system/mbootpack: Fix 15.0 build.
Signed-off-by: B. Watson <yalhcru@gmail.com>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system')
-rw-r--r-- | system/mbootpack/README | 13 | ||||
-rw-r--r-- | system/mbootpack/mbootpack.SlackBuild | 37 |
2 files changed, 30 insertions, 20 deletions
diff --git a/system/mbootpack/README b/system/mbootpack/README index d22e86a4c7e6d..d613e4069ec3b 100644 --- a/system/mbootpack/README +++ b/system/mbootpack/README @@ -1,8 +1,9 @@ mbootpack (Multiboot kernel and modules) -This is a tool that takes a multiboot kernel and modules (e.g. a Xen VMM, -linux kernel and initrd), and packages them up as a single file that looks -like a bzImage linux kernel. The aim is to allow you to boot multiboot -kernels (in particular, Xen) using bootloaders that don't support multiboot -(i.e. pretty much anything except GRUB and SYSLINUX). This is, as you might -expect, pretty grim stuff, involving lots of lovely 16-bit real-mode code. +This is a tool that takes a multiboot kernel and modules (e.g. a Xen +VMM, linux kernel and initrd), and packages them up as a single file +that looks like a bzImage linux kernel. The aim is to allow you to +boot multiboot kernels (in particular, Xen) using bootloaders that +don't support multiboot (i.e. pretty much anything except GRUB and +SYSLINUX). This is, as you might expect, pretty grim stuff, involving +lots of lovely 16-bit real-mode code. diff --git a/system/mbootpack/mbootpack.SlackBuild b/system/mbootpack/mbootpack.SlackBuild index acfab323404b2..c80727cbfb993 100644 --- a/system/mbootpack/mbootpack.SlackBuild +++ b/system/mbootpack/mbootpack.SlackBuild @@ -22,6 +22,11 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20220210 bkw: Modified by SlackBuilds.org: +# - BUILD=3. +# - build with clang (gcc fails *hard*). +# - only install the actual mbootpack binary in /usr/bin. + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=mbootpack @@ -38,9 +43,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -75,25 +77,32 @@ cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ + -o -perm 511 \) -exec chmod 755 {} \+ -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ # Some fixes from ALT Linux folks patch -p1 <$CWD/patches/mbootpack-0.6a-alt3.patch -make +# 20220210 bkw: actually use SLKCFLAGS. +sed -i -e "s,-O3,$SLKCFLAGS," Makefile -# We have to do things manually since mbootpack doesn't have make install -mkdir -p $PKG/usr/{bin,man/man1} -cp -a bootsect mbootpack mkhex setup $PKG/usr/bin -cp -a mbootpack.man $PKG/usr/man/man1/mbootpack.1 +# 20220210 bkw: speeds up the sed scripts slightly. +export LANG=C -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +# 20220210 bkw: gcc fails *badly* at compiling this, and I'm not sure why. +# We end up with giant (like 130MB) .c source files and gcc either gets +# OOM-killed or starves everything else of CPU. clang seems fine though. +# -I- is an error in clang. +sed -i -e 's,-I-,-iquote,' Makefile +make CC=clang -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +# We have to do things manually since mbootpack doesn't have make install. +# 20220210 bkw: looking at the ALT linux package, the bootsect, mkhex, +# setup binaries don't belong in the package. +mkdir -p $PKG/usr/{bin,man/man1} +install -s $PRGNAM $PKG/usr/bin +gzip -9c $PRGNAM.man > $PKG/usr/man/man1/$PRGNAM.1.gz mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a Changes GPL README $PKG/usr/doc/$PRGNAM-$VERSION |