system/mbootpack: Fix 15.0 build.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2022-02-10 15:33:47 -05:00 committed by Willy Sudiarto Raharjo
parent 96d63f87e2
commit ed93848ce5
No known key found for this signature in database
GPG key ID: 3F617144D7238786
2 changed files with 31 additions and 21 deletions

View file

@ -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.

View file

@ -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
# 20220210 bkw: speeds up the sed scripts slightly.
export LANG=C
# 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
# 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}
cp -a bootsect mbootpack mkhex setup $PKG/usr/bin
cp -a mbootpack.man $PKG/usr/man/man1/mbootpack.1
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
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
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