packages/lcd4linux: split into 2 -custom & -full, various fixes:
* move all original package customization to a -custom pakage, DEVEL only * enable all (not broken) drivers & plugins in a -full package (closes: #7958, #9096) * ship upstream config file, defaulting to the "Image" driver * use new service functions in initscript git-svn-id: svn://svn.openwrt.org/openwrt/packages@28951 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2007-2010 OpenWrt.org
|
||||
# Copyright (C) 2007-2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
PKG_NAME:=lcd4linux
|
||||
PKG_REV:=1159
|
||||
PKG_VERSION:=r$(PKG_REV)
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://ssl.bulix.org/svn/lcd4linux/trunk/
|
||||
@ -18,69 +18,6 @@ PKG_SOURCE_SUBDIR:=lcd4linux-$(PKG_VERSION)
|
||||
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||
PKG_SOURCE_PROTO:=svn
|
||||
|
||||
PKG_FIXUP:=libtool
|
||||
PKG_INSTALL:=1
|
||||
|
||||
PKG_BUILD_DEPENDS:= \
|
||||
libdbus \
|
||||
libgd \
|
||||
libmysqlclient \
|
||||
libncurses \
|
||||
libnmeap \
|
||||
libsqlite3 \
|
||||
libvncserver \
|
||||
ppp \
|
||||
serdisplib \
|
||||
st2205tool \
|
||||
# libftdi \
|
||||
# libmpdclient \
|
||||
# libX11 \
|
||||
# python \
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
define Package/lcd4linux
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:= \
|
||||
+LCD4LINUX_NEEDS_libdbus:libdbus \
|
||||
+LCD4LINUX_NEEDS_libgd:libgd \
|
||||
$(if $(ICONV_FULL),+LCD4LINUX_NEEDS_libiconv:libiconv-full) \
|
||||
+LCD4LINUX_NEEDS_libmysqlclient:libmysqlclient \
|
||||
+LCD4LINUX_NEEDS_libncurses:libncurses \
|
||||
+LCD4LINUX_NEEDS_libnmeap:libnmeap \
|
||||
+LCD4LINUX_NEEDS_libsqlite3:libsqlite3 \
|
||||
+LCD4LINUX_NEEDS_libusb:libusb \
|
||||
+LCD4LINUX_NEEDS_libvncserver:libvncserver \
|
||||
+LCD4LINUX_NEEDS_serdisplib:serdisplib \
|
||||
+LCD4LINUX_NEEDS_st2205tool:st2205tool \
|
||||
# +LCD4LINUX_NEEDS_libftdi:libftdi \
|
||||
# +LCD4LINUX_NEEDS_libmpdclient:libmpdclient \
|
||||
# +LCD4LINUX_NEEDS_libX11:libX11 \
|
||||
# +LCD4LINUX_NEEDS_python:python
|
||||
TITLE:=LCD display utility
|
||||
URL:=http://lcd4linux.bulix.org/
|
||||
MENU:=1
|
||||
MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com>
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/config
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_lcd4linux
|
||||
source "$(SOURCE)/Config.in"
|
||||
endmenu
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/description
|
||||
LCD4Linux is a small program that grabs information from the kernel and
|
||||
some subsystems and displays it on an external liquid crystal display.
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/conffiles
|
||||
/etc/lcd4linux.conf
|
||||
endef
|
||||
|
||||
LCD4LINUX_DRIVERS:= \
|
||||
BeckmannEgle \
|
||||
BWCT \
|
||||
@ -92,14 +29,14 @@ LCD4LINUX_DRIVERS:= \
|
||||
G15 \
|
||||
GLCD2USB \
|
||||
IRLCD \
|
||||
HD44780 \
|
||||
HD44780-I2C \
|
||||
$(if $(CONFIG_BROKEN),HD44780) \
|
||||
$(if $(CONFIG_BROKEN),HD44780-I2C) \
|
||||
LCD2USB \
|
||||
LCDLinux \
|
||||
$(if $(CONFIG_BROKEN),LCDLinux) \
|
||||
LCDTerm \
|
||||
LEDMatrix \
|
||||
LPH7508 \
|
||||
LUIse \
|
||||
$(if $(CONFIG_BROKEN),LUIse) \
|
||||
LW_ABP \
|
||||
M50530 \
|
||||
MatrixOrbital \
|
||||
@ -115,19 +52,19 @@ LCD4LINUX_DRIVERS:= \
|
||||
picoLCDGraphic \
|
||||
PNG \
|
||||
PPM \
|
||||
RouterBoard \
|
||||
$(if $(CONFIG_TARGET_rb532),RouterBoard) \
|
||||
serdisplib \
|
||||
ShuttleVFD \
|
||||
SimpleLCD \
|
||||
st2205 \
|
||||
T6963 \
|
||||
Trefon \
|
||||
ULA200 \
|
||||
USBHUB \
|
||||
USBLCD \
|
||||
VNC \
|
||||
WincorNixdorf \
|
||||
X11 \
|
||||
# ULA200 \
|
||||
# X11 \
|
||||
|
||||
LCD4LINUX_PLUGINS:= \
|
||||
apm \
|
||||
@ -160,73 +97,214 @@ LCD4LINUX_PLUGINS:= \
|
||||
pop3 \
|
||||
ppp \
|
||||
proc_stat \
|
||||
python \
|
||||
qnaplog \
|
||||
seti \
|
||||
statfs \
|
||||
uname \
|
||||
uptime \
|
||||
w1retap \
|
||||
wireless \
|
||||
$(if $(CONFIG_BROKEN),wireless) \
|
||||
xmms \
|
||||
# python \
|
||||
|
||||
LCD4LINUX_CONFIGURE_DRIVERS:= \
|
||||
$(foreach c, $(LCD4LINUX_DRIVERS), \
|
||||
$(if $(CONFIG_LCD4LINUX_DRV_$(c)),$(c),) \
|
||||
)
|
||||
PKG_FIXUP:=libtool
|
||||
PKG_INSTALL:=1
|
||||
|
||||
LCD4LINUX_CONFIGURE_PLUGINS:= \
|
||||
$(foreach c, $(LCD4LINUX_PLUGINS), \
|
||||
$(if $(CONFIG_LCD4LINUX_PLUGIN_$(c)),$(c),) \
|
||||
)
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_DRIVER),)
|
||||
LCD4LINUX_CONFIGURE_DRIVERS:=Sample
|
||||
endif
|
||||
PKG_BUILD_DEPENDS:= \
|
||||
libdbus \
|
||||
libgd \
|
||||
libmpdclient \
|
||||
libmysqlclient \
|
||||
libncurses \
|
||||
libnmeap \
|
||||
libsqlite3 \
|
||||
libvncserver \
|
||||
ppp \
|
||||
serdisplib \
|
||||
st2205tool \
|
||||
# libftdi \
|
||||
# libX11 \
|
||||
# python \
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
$(patsubst %,CONFIG_LCD4LINUX_CUSTOM_DRIVER_%,$(LCD4LINUX_DRIVERS)) \
|
||||
$(patsubst %,CONFIG_LCD4LINUX_CUSTOM_PLUGIN_%,$(LCD4LINUX_PLUGINS)) \
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
define Package/lcd4linux/Default
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com>
|
||||
TITLE:=LCD display utility
|
||||
URL:=http://lcd4linux.bulix.org/
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/Default/description
|
||||
LCD4Linux is a small program that grabs information from the kernel and
|
||||
some subsystems and displays it on an external liquid crystal display.
|
||||
endef
|
||||
|
||||
|
||||
define Package/lcd4linux-custom
|
||||
$(call Package/lcd4linux/Default)
|
||||
DEPENDS:= \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libdbus:libdbus \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libgd:libgd \
|
||||
$(if $(ICONV_FULL),+LCD4LINUX_CUSTOM_NEEDS_libiconv:libiconv-full) \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libmpdclient:libmpdclient \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libmysqlclient:libmysqlclient \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libncurses:libncurses \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libsqlite3:libsqlite3 \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libusb:libusb \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_libvncserver:libvncserver \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_serdisplib:serdisplib \
|
||||
+LCD4LINUX_CUSTOM_NEEDS_st2205tool:st2205tool \
|
||||
# +LCD4LINUX_CUSTOM_NEEDS_libftdi:libftdi \
|
||||
# +LCD4LINUX_CUSTOM_NEEDS_libX11:libX11 \
|
||||
# +LCD4LINUX_CUSTOM_NEEDS_python:python
|
||||
MENU:=1
|
||||
PROVIDES:=lcd4linux
|
||||
VARIANT=custom
|
||||
endef
|
||||
|
||||
define Package/lcd4linux-custom/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Package/lcd4linux-custom/description
|
||||
$(call Package/lcd4linux/Default/description)
|
||||
.
|
||||
This package contains a customized version of LCD4Linux.
|
||||
endef
|
||||
|
||||
|
||||
define Package/lcd4linux-full
|
||||
$(call Package/lcd4linux/Default)
|
||||
DEPENDS:= @DEVEL \
|
||||
+libdbus \
|
||||
+libgd \
|
||||
$(if $(ICONV_FULL),+libiconv-full) \
|
||||
+libmpdclient \
|
||||
+libmysqlclient \
|
||||
+libncurses \
|
||||
+libsqlite3 \
|
||||
+libusb \
|
||||
+libvncserver \
|
||||
+serdisplib \
|
||||
+st2205tool \
|
||||
# +libftdi \
|
||||
# +libX11 \
|
||||
# +python
|
||||
PROVIDES:=lcd4linux
|
||||
VARIANT=full
|
||||
endef
|
||||
|
||||
define Package/lcd4linux-full/description
|
||||
$(call Package/lcd4linux/Default/description)
|
||||
.
|
||||
This package contains a version of LCD4Linux built with all supported
|
||||
drivers and plugins.
|
||||
endef
|
||||
|
||||
ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_PLUGIN),)
|
||||
LCD4LINUX_CONFIGURE_PLUGINS:=sample
|
||||
endif
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--disable-rpath \
|
||||
--with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
|
||||
--with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
|
||||
|
||||
EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_libiconv),)
|
||||
ifeq ($(BUILD_VARIANT),custom)
|
||||
|
||||
LCD4LINUX_CUSTOM_DRIVERS:= $(strip $(foreach c, $(LCD4LINUX_DRIVERS), \
|
||||
$(if $(CONFIG_LCD4LINUX_CUSTOM_DRIVER_$(c)),$(c),) \
|
||||
))
|
||||
ifeq ($(LCD4LINUX_CUSTOM_DRIVER),)
|
||||
LCD4LINUX_CUSTOM_DRIVERS:=Sample
|
||||
endif
|
||||
|
||||
LCD4LINUX_CUSTOM_PLUGINS:= $(strip $(foreach c, $(LCD4LINUX_PLUGINS), \
|
||||
$(if $(CONFIG_LCD4LINUX_CUSTOM_PLUGIN_$(c)),$(c)) \
|
||||
))
|
||||
ifeq ($(LCD4LINUX_CUSTOM_PLUGINS),)
|
||||
LCD4LINUX_CUSTOM_PLUGINS:=sample
|
||||
endif
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-libiconv-prefix="$(ICONV_PREFIX)"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-libiconv-prefix
|
||||
--with-drivers="$(LCD4LINUX_CUSTOM_DRIVERS)" \
|
||||
--with-plugins="$(LCD4LINUX_CUSTOM_PLUGINS)" \
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_CUSTOM_NEEDS_libiconv),)
|
||||
CONFIGURE_ARGS+= --with-libiconv-prefix="$(ICONV_PREFIX)"
|
||||
else
|
||||
CONFIGURE_ARGS+= --without-libiconv-prefix
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_CUSTOM_NEEDS_libmysqlclient),)
|
||||
EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql
|
||||
endif
|
||||
|
||||
# ifneq ($(CONFIG_LCD4LINUX_CUSTOM_NEEDS_python),)
|
||||
# CONFIGURE_ARGS+= --with-python
|
||||
# else
|
||||
CONFIGURE_ARGS+= --without-python
|
||||
# endif
|
||||
|
||||
# ifneq ($(CONFIG_LCD4LINUX_CUSTOM_NEEDS_libX11),)
|
||||
# CONFIGURE_ARGS+= --with-x
|
||||
# else
|
||||
CONFIGURE_ARGS+= --without-x
|
||||
# endif
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_libmysqlclient),)
|
||||
ifeq ($(BUILD_VARIANT),full)
|
||||
|
||||
LCD4LINUX_FULL_DRIVERS:= $(strip $(foreach c, $(LCD4LINUX_DRIVERS), \
|
||||
$(c) \
|
||||
))
|
||||
|
||||
LCD4LINUX_FULL_PLUGINS:= $(strip $(foreach c, $(LCD4LINUX_PLUGINS), \
|
||||
$(c) \
|
||||
))
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-drivers="$(LCD4LINUX_FULL_DRIVERS)" \
|
||||
--with-plugins="$(LCD4LINUX_FULL_PLUGINS)" \
|
||||
--with-libiconv-prefix="$(ICONV_PREFIX)" \
|
||||
--without-python \
|
||||
--without-x \
|
||||
|
||||
EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_python),)
|
||||
CONFIGURE_ARGS+= --with-python
|
||||
else
|
||||
CONFIGURE_ARGS+= --without-python
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_LCD4LINUX_NEEDS_libX11),)
|
||||
CONFIGURE_ARGS+= --with-x
|
||||
else
|
||||
CONFIGURE_ARGS+= --without-x
|
||||
endif
|
||||
|
||||
define Package/lcd4linux/conffiles
|
||||
/etc/lcd4linux.conf
|
||||
endef
|
||||
|
||||
define Package/lcd4linux/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/lcd4linux $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_CONF) ./files/lcd4linux.conf $(1)/etc/
|
||||
$(INSTALL_CONF) $(PKG_BUILD_DIR)/lcd4linux.conf.sample $(1)/etc/lcd4linux.conf
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/lcd4linux.init $(1)/etc/init.d/lcd4linux
|
||||
$(SED) "s|^\(Display 'GLCD2USB'\)|#\1|g" \
|
||||
-e "s|^\(Layout 'TestLayer'\)|#\1|g" \
|
||||
-e "s|^#\(Display 'Image'\)|\1|g" \
|
||||
-e "s|^#\(Layout 'Default'\)|\1|g" \
|
||||
$(1)/etc/lcd4linux.conf
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lcd4linux))
|
||||
Package/lcd4linux-custom/conffiles = $(Package/lcd4linux/conffiles)
|
||||
Package/lcd4linux-custom/install = $(Package/lcd4linux/install)
|
||||
|
||||
Package/lcd4linux-full/conffiles = $(Package/lcd4linux/conffiles)
|
||||
Package/lcd4linux-full/install = $(Package/lcd4linux/install)
|
||||
|
||||
$(eval $(call BuildPackage,lcd4linux-custom))
|
||||
$(eval $(call BuildPackage,lcd4linux-full))
|
||||
|
Reference in New Issue
Block a user