nico 0c7fae3ec3 [packages] petitboot: add dependency on TARGET_ps3 (again)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@21403 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-05-08 13:15:57 +00:00

114 lines
3.5 KiB
Makefile

#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=petitboot
PKG_REV:=93b2c2e0f0ca46d2a823b33cdfa44d082e9e8d10
PKG_VERSION:=20090709
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=git://ozlabs.org/home/jk/git/petitboot
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_INSTALL=1
include $(INCLUDE_DIR)/package.mk
define Package/petitboot
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=A kexec based bootloader
URL:=http://ozlabs.org/~jk/projects/petitboot/
MAINTAINER:=Geoff Levand <geoffrey.levand@am.sony.com>
DEPENDS:=@TARGET_ps3 +kexec-tools +libncurses +libtwin +udev +ps3-utils
endef
define Package/petitboot/description
Petitboot is a Linux kexec based bootloader with both
graphical and command-line user interfaces. The OpenWRT
Petitboot package has configuration options that can be
used to specify which Petitboot components to build, and
can also be used to specify that Petitboot should be run
automatically at system start-up.
Petitboot supports loading Linux kernel and initrd images
from any device that can be mounted by Linux. It can
handle gzipped images and can also load images from the
network using TFTP, NFS, HTTP, HTTPS, and SFTP. Petitboot
looks for bootloader config files on mountable devices in
the system, and also uses the boot configuration sent to
it from a DHCP server.
endef
define Package/petitboot/config
source "$(SOURCE)/petitboot-config.in"
endef
petitboot-config-args-y$(CONFIG_PETITBOOT_CUI) += --without-ncurses
petitboot-config-args-y$(CONFIG_PETITBOOT_GUI) += --without-twin
petitboot-config-args-y$(CONFIG_PETITBOOT_PS3) += --enable-ps3=no
petitboot-cppflags-$(CONFIG_PETITBOOT_DEBUG) += -DDEBUG
petitboot-cppflags-y$(CONFIG_PETITBOOT_DEBUG) += -DNDEBUG
petitboot-extra-bin-$(CONFIG_PETITBOOT_CUI) += /usr/sbin/pb-cui
petitboot-extra-bin-$(CONFIG_PETITBOOT_GUI) += /usr/sbin/pb-twin
petitboot-extra-data-$(CONFIG_PETITBOOT_GUI) += /usr/share/petitboot/artwork/*
# The platform inittab and/or initrun should check for /usr/sbin/petitboot
# and run it on startup if found.
petitboot-install-autorun-$(CONFIG_PETITBOOT_AUTORUN_CUI) = \
ln -sf pb-cui $(1)/usr/sbin/petitboot
petitboot-install-autorun-$(CONFIG_PETITBOOT_AUTORUN_GUI) = \
ln -sf pb-twin $(1)/usr/sbin/petitboot
CONFIGURE_ARGS += $(petitboot-config-args-y) \
PACKAGE_VERSION=$(shell echo ${HOSTNAME})-$(shell date +%y.%m.%d-%H.%M)
EXTRA_CPPFLAGS += $(petitboot-cppflags-y)
define Build/Prepare
$(call Build/Prepare/Default)
(cd $(PKG_BUILD_DIR) && $(BASH) -x ./bootstrap)
endef
define Package/petitboot/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \
$(addprefix $(PKG_INSTALL_DIR),$(petitboot-extra-bin-y)) \
$(PKG_INSTALL_DIR)/usr/sbin/pb-discover \
$(PKG_INSTALL_DIR)/usr/sbin/pb-event \
$(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/share/petitboot/
$(INSTALL_DATA) \
$(addprefix $(PKG_INSTALL_DIR),$(petitboot-extra-data-y)) \
$(1)/usr/share/petitboot/
$(INSTALL_DIR) $(1)/etc/udev/rules.d
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/utils/99-petitboot.rules \
$(1)/etc/udev/rules.d/
$(INSTALL_DIR) $(1)/etc/
$(INSTALL_DATA) -T $(PKG_BUILD_DIR)/utils/udhcpc $(1)/etc/udhcpc.user
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) \
./files/petitboot.init \
$(1)/etc/init.d/petitboot
$(petitboot-install-autorun-y)
endef
$(eval $(call BuildPackage,petitboot))