]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
New package: grub.
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 2 Dec 2009 15:30:02 +0000 (16:30 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 2 Dec 2009 15:30:02 +0000 (16:30 +0100)
pkgs/core/grub/grub.conf [moved from src/bootloader/grub.conf with 100% similarity]
pkgs/core/grub/grub.nm [new file with mode: 0644]
pkgs/core/grub/splash.xpm.gz [moved from src/bootloader/splash.xpm.gz with 100% similarity]

diff --git a/pkgs/core/grub/grub.nm b/pkgs/core/grub/grub.nm
new file mode 100644 (file)
index 0000000..04d0574
--- /dev/null
@@ -0,0 +1,102 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007, 2008 Michael Tremer & Christian Schmidt                 #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include $(PKGROOT)/Include
+
+PKG_NAME       = grub
+PKG_VER        = 0.97
+PKG_REL        = 0
+
+PKG_MAINTAINER =
+PKG_GROUP      = System/Boot
+PKG_URL        = http://www.gnu.org/software/grub/
+PKG_LICENSE    = GPLv2+
+PKG_SUMMARY    = Grand Unified Boot Loader.
+
+PKG_BUILD_DEPS+= paxctl
+PKG_DEPS      += ncurses
+
+define PKG_DESCRIPTION
+       GRUB (Grand Unified Boot Loader) is an experimental boot loader \
+       capable of booting into most free operating systems - Linux, FreeBSD, \
+       NetBSD, GNU Mach, and others as well as most commercial operating \
+       systems.
+endef
+
+PKG_TARBALL    = $(THISAPP).tar.gz
+
+PKG_PATCHES   += $(THISAPP)-disk_geometry-1.patch
+PKG_PATCHES   += grub-0.95-graphics.patch
+PKG_PATCHES   += grub-0.91-splashimagehelp.patch
+PKG_PATCHES   += grub-0.93-graphics-bootterm.patch
+PKG_PATCHES   += grub-0.95-xpmjunk.patch
+PKG_PATCHES   += grub-0.95-splash-error-term.patch
+PKG_PATCHES   += grub-0.93-special-device-names.patch
+PKG_PATCHES   += grub-0.95-moreraid.patch
+PKG_PATCHES   += grub-0.94-i2o.patch
+PKG_PATCHES   += grub-0.93-configfile.patch
+PKG_PATCHES   += $(THISAPP)-256byte_inode-1.patch
+PKG_PATCHES   += $(THISAPP)-install.in.patch
+PKG_PATCHES   += grub-0.94-installcopyonly.patch
+PKG_PATCHES   += $(THISAPP)-ext4-1.patch
+
+define QUALITY_AGENT_WHITELIST_EXECSTACK
+       /usr/sbin/grub
+endef
+
+CFLAGS        += -fno-strict-aliasing -fno-stack-protector -fno-pic -fno-pie -nopie
+CXXFLAGS       =
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+define STAGE_PREPARE_CMDS
+       cd $(DIR_APP) && autoconf
+endef
+
+define STAGE_BUILD
+       cd $(DIR_APP) && \
+               grub_cv_prog_objcopy_absolute=yes \
+               ./configure \
+                       $(CONFIGURE_ARCH) \
+                       --prefix=/usr
+
+       cd $(DIR_APP) && make $(PARALLELISMFLAGS)
+endef
+
+define STAGE_INSTALL
+       cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT)
+
+       sed -e "s/pkgdatadir/pkglibdir/g" -i $(BUILDROOT)/usr/sbin/grub-install
+
+       mkdir -pv $(BUILDROOT)/boot/grub
+       for i in $(DIR_SOURCE)/{grub.conf,splash.xpm.gz}; do \
+           cp -vf $$i $(BUILDROOT)/boot/grub; \
+       done
+
+       # Grub uses anonymous mapping and will be killed by PaX.
+       # The following command changes Grub's PaX flags:
+       paxctl -spme $(BUILDROOT)/usr/sbin/grub
+endef