SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "grub2-efi"

# SliTaz package receipt.

PACKAGE="grub2-efi"
VERSION="2.04"
CATEGORY="base-system"
SHORT_DESC="GRUB2 boot loader."
MAINTAINER="pascal.bellard@slitaz.org"
LICENSE="GPL3"
WEB_SITE="https://www.gnu.org/software/grub/"

SOURCE="grub"
TARBALL="$SOURCE-$VERSION.tar.xz"
WGET_URL="http://ftp.gnu.org/gnu/grub/$TARBALL"

DEPENDS="freetype grep libdevmapper libusb-compat libusb ncurses zlib"
BUILD_DEPENDS="automake bison flex freetype-dev fuse2-dev libdevmapper-dev 
    libusb-compat-dev libusb-dev ncurses-dev xz-dev zlib-dev"

CONFIG_FILES="/etc/default/grub /etc/grub.d/40_custom"

HOST_ARCH="i486 x86_64"

# What is the latest version available today?
current_version()
{
    wget -O - ${WGET_URL%/*} 2>/dev/null | \
    sed "/$SOURCE-/!d;/tar/!d;s|.*$SOURCE-||;s|.tar.*||" | sort -Vr | sed q
}

# Rules to configure and make the package.
compile_rules()
{
    sed -i 's|fprintf(...) |&(void)|' \
        grub-core/script/yylex.l
    export EFI_ARCH=i386

    sed -i 's|fprintf(...) |&(void)|'       grub-core/script/yylex.l

    # Avoid grub-mkimage error: decompressor is too big:
    patch --strip=1 --input=$WOK/grub2/stuff/patches/gentpl.py-2.04
    # see also: http://git.savannah.gnu.org/cgit/grub.git/commit/?id=6643507ce

    case $SLITAZ_ARCH in
        x86_64)
            sed -i 's|sys/types.h>|&\n#include <sys/sysmacros.h>|' util/getroot.c grub-core/kern/emu/hostdisk.c

            # CVE-2015-8370
            sed -i "s/'.b'/& \\&\\& cur_len/" grub-core/lib/crypto.c grub-core/normal/auth.c

            # Fixes for flex 2.5.37
            export CFLAGS="-Wno-error=sign-compare -Wno-error=unused-value"
            sed -i 's/YY_FATAL_ERROR/REMOVED_&/' grub-core/script/yylex.l

            sed -i 's/is_symbol_local /type == 2 || /' util/grub-module-verifier*.c*
            sed -i 's/.*unsupported relocation.*/continue;/' util/grub-module-verifier*.c*
            sed -i 's|.*add fixup entry for R_X86_64_32|// &|' util/grub-mkimage*.c* ;;
    esac

    ./autogen.sh &&
    ./configure            \
        --prefix=/usr        \
        --sysconfdir=/etc    \
        --with-platform=efi    \
        --target=${EFI_ARCH}    \
        --program-prefix=""    \
        --mandir=/usr/share/man    \
        $CONFIGURE_ARGS &&
    make $MAKEFLAGS

    # On x86_64 we want full grub
    case $SLITAZ_ARCH in
        x86_64)
            make install DESTDIR=$DESTDIR ;;
    esac

    cd grub-core
    ../grub-mkimage -d . -o ../bootia32.efi -O i386-efi -p /boot/grub \
        all_video appleldr boot btrfs cat chain configfile echo \
        efi_gop efi_uga elf ext2 extcmd fat gettext gfxterm gzio hfs \
        hfsplus iso9660 keylayouts linux loadbios loadenv loopback \
        ls lsacpi lsefimmap lsefisystab lssal lvm memdisk memrw \
        minicmd minix minix2 mmap msdospart normal ntfs part_apple \
        part_bsd part_gpt reiserfs scsi search search_fs_file \
        xfs xnu
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    case $SLITAZ_ARCH in
        i?86)
            mkdir -p $fs/boot/efi/boot
            cp $src/bootia32.efi $fs/boot/efi/boot ;;
        x86_64)
            mkdir -p $fs/boot/grub $fs/etc/default $fs/usr
            cp -a $install/usr/bin        $fs/usr
            cp -a $install/usr/sbin        $fs/usr
            cp -a $install/usr/share    $fs/usr
            cp -a $install/usr/lib        $fs/usr
            cp -a $install/etc        $fs

            cp -a $WOK/grub2/stuff/etc-default-grub    \
                $fs/etc/default/grub

            # Example configuration file (grub.cfg).
            cp -a $WOK/grub2/stuff/example-grub.cfg \
                $fs/boot/grub ;;
    esac
}
6088 packages and 256128 files in current database (Wed Mar 5 09:18:31 2025)