petitboot package: fixed problem with installing extra data when GUI is disabled
[openwrt_packages.git] / utils / petitboot / Makefile
blob02a60879768d334c7ea7452a56d7dcc73907654e
2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
10 PKG_NAME:=petitboot
11 PKG_REV:=93b2c2e0f0ca46d2a823b33cdfa44d082e9e8d10
12 PKG_VERSION:=20090709
13 PKG_RELEASE:=1
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=git://ozlabs.org/home/jk/git/petitboot
17 PKG_SOURCE_PROTO:=git
18 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
19 PKG_SOURCE_VERSION:=$(PKG_REV)
21 PKG_INSTALL=1
23 include $(INCLUDE_DIR)/package.mk
25 define Package/petitboot
26 SECTION:=boot
27 CATEGORY:=Boot Loaders
28 TITLE:=A kexec based bootloader
29 URL:=http://ozlabs.org/~jk/projects/petitboot/
30 MAINTAINER:=Geoff Levand <geoffrey.levand@am.sony.com>
31 DEPENDS:=@TARGET_ps3 +kexec-tools +libncurses +libtwin +udev +ps3-utils
32 endef
34 define Package/petitboot/description
35 Petitboot is a Linux kexec based bootloader with both
36 graphical and command-line user interfaces. The OpenWRT
37 Petitboot package has configuration options that can be
38 used to specify which Petitboot components to build, and
39 can also be used to specify that Petitboot should be run
40 automatically at system start-up.
42 Petitboot supports loading Linux kernel and initrd images
43 from any device that can be mounted by Linux. It can
44 handle gzipped images and can also load images from the
45 network using TFTP, NFS, HTTP, HTTPS, and SFTP. Petitboot
46 looks for bootloader config files on mountable devices in
47 the system, and also uses the boot configuration sent to
48 it from a DHCP server.
49 endef
51 define Package/petitboot/config
52 source "$(SOURCE)/petitboot-config.in"
53 endef
55 petitboot-config-args-y$(CONFIG_PETITBOOT_CUI) += --without-ncurses
56 petitboot-config-args-y$(CONFIG_PETITBOOT_GUI) += --without-twin
57 petitboot-config-args-y$(CONFIG_PETITBOOT_PS3) += --enable-ps3=no
59 petitboot-cppflags-$(CONFIG_PETITBOOT_DEBUG) += -DDEBUG
60 petitboot-cppflags-y$(CONFIG_PETITBOOT_DEBUG) += -DNDEBUG
62 petitboot-extra-bin-$(CONFIG_PETITBOOT_CUI) += /usr/sbin/pb-cui
63 petitboot-extra-bin-$(CONFIG_PETITBOOT_GUI) += /usr/sbin/pb-twin
64 petitboot-extra-data-$(CONFIG_PETITBOOT_GUI) += /usr/share/petitboot/artwork/*
66 # The platform inittab and/or initrun should check for /usr/sbin/petitboot
67 # and run it on startup if found.
69 petitboot-install-autorun-$(CONFIG_PETITBOOT_AUTORUN_CUI) = \
70 ln -sf pb-cui $(1)/usr/sbin/petitboot
71 petitboot-install-autorun-$(CONFIG_PETITBOOT_AUTORUN_GUI) = \
72 ln -sf pb-twin $(1)/usr/sbin/petitboot
74 petitboot-install-extra-data-$(CONFIG_PETITBOOT_GUI) = \
75 $(INSTALL_DIR) $(1)/usr/share/petitboot/ \
76 $(INSTALL_DATA) \
77 $(addprefix $(PKG_INSTALL_DIR),$(petitboot-extra-data-y)) \
78 $(1)/usr/share/petitboot/
80 CONFIGURE_ARGS += $(petitboot-config-args-y) \
81 PACKAGE_VERSION=$(shell echo ${HOSTNAME})-$(shell date +%y.%m.%d-%H.%M)
83 EXTRA_CPPFLAGS += $(petitboot-cppflags-y)
85 define Build/Prepare
86 $(call Build/Prepare/Default)
87 (cd $(PKG_BUILD_DIR) && $(BASH) -x ./bootstrap)
88 endef
90 define Package/petitboot/install
91 $(INSTALL_DIR) $(1)/usr/sbin
92 $(INSTALL_BIN) \
93 $(addprefix $(PKG_INSTALL_DIR),$(petitboot-extra-bin-y)) \
94 $(PKG_INSTALL_DIR)/usr/sbin/pb-discover \
95 $(PKG_INSTALL_DIR)/usr/sbin/pb-event \
96 $(1)/usr/sbin/
98 $(petitboot-install-extra-data-y)
100 $(INSTALL_DIR) $(1)/etc/udev/rules.d
101 $(INSTALL_DATA) \
102 $(PKG_BUILD_DIR)/utils/99-petitboot.rules \
103 $(1)/etc/udev/rules.d/
105 $(INSTALL_DIR) $(1)/etc/
106 $(INSTALL_DATA) -T $(PKG_BUILD_DIR)/utils/udhcpc $(1)/etc/udhcpc.user
108 $(INSTALL_DIR) $(1)/etc/init.d
109 $(INSTALL_BIN) \
110 ./files/petitboot.init \
111 $(1)/etc/init.d/petitboot
113 $(petitboot-install-autorun-y)
114 endef
116 $(eval $(call BuildPackage,petitboot))