From: Paul Eggleton <paul.eggleton@linux.intel.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-oe][PATCH] lcdproc: add recipe from OE-Classic and update/clean up
Date: Sun, 7 Oct 2012 11:47:38 +0100 [thread overview]
Message-ID: <1349606858-7635-1-git-send-email-paul.eggleton@linux.intel.com> (raw)
* Update to latest upstream version 0.5.5
* Add an Ubuntu patch to fix incompatibility with current automake
* Use automatic package splitting for drivers
* Allow specifying drivers to build via LCD_DRIVERS
* Allow specifying default enabled driver via LCD_DEFAULT_DRIVER
* Disable g15 driver by default (but allow it to be re-enabled using
PACKAGECONFIG, assuming the required recipes are also provided).
* Fix conf files not going into lcdvc and lcdd packages due to
override expansion not happening at the expected time (for
CONFFILES_*)
* Remove some unnecessary cruft
* Move packaging parts of recipe below do_install
* Add LIC_FILES_CHKSUM
* Make LICENSE more accurate
* Add SUMMARY
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
.../lcdproc/lcdproc/automake-111-fix.patch | 21 ++++++
meta-oe/recipes-extended/lcdproc/lcdproc5.inc | 77 ++++++++++++++++++++
meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb | 24 ++++++
3 files changed, 122 insertions(+)
create mode 100644 meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch
create mode 100644 meta-oe/recipes-extended/lcdproc/lcdproc5.inc
create mode 100644 meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch b/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch
new file mode 100644
index 0000000..061cc22
--- /dev/null
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch
@@ -0,0 +1,21 @@
+Description: With automake 1.11.3, pkglib_PROGRAMS is not valid anymore,
+ so work around this by using my_execbin_PROGRAMS.
+Author: Andreas Moog <amoog@ubuntu.com>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/934265
+
+Upstream-Status: Backport
+
+Index: lcdproc-0.5.5/server/drivers/Makefile.am
+===================================================================
+--- lcdproc-0.5.5.orig/server/drivers/Makefile.am 2012-02-26 14:04:37.000000000 +0100
++++ lcdproc-0.5.5/server/drivers/Makefile.am 2012-02-26 14:13:17.764467350 +0100
+@@ -20,7 +20,8 @@
+
+ ## Keep the lists sorted!
+
+-pkglib_PROGRAMS = @DRIVERS@
++my_execbindir = $(pkglibdir)
++my_execbin_PROGRAMS = @DRIVERS@
+ EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses debug CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 mdm166a ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 SureElec svga t6963 text tyan sli ula200 xosd i2500vfd irtrans
+ noinst_LIBRARIES = libLCD.a libbignum.a
+
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
new file mode 100644
index 0000000..50b6b0e
--- /dev/null
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
@@ -0,0 +1,77 @@
+DESCRIPTION = "LCDproc is a client/server suite to drive all kinds of LCD (-like) devices. The client \
+shipped with this package can be used to acquire various kinds of system stats."
+SUMMARY = "Drivers for character-based LCD displays"
+HOMEPAGE = "http://lcdproc.org"
+SECTION = "utils"
+LICENSE = "GPLv2+"
+DEPENDS = "virtual/libusb0 ncurses"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
+ file://README;startline=60;md5=8237b4d4d80a525b15f8162192e07bee"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${P}.tar.gz"
+
+inherit autotools update-rc.d
+
+LCD_DRIVERS ?= "all"
+LCD_DEFAULT_DRIVER ?= "curses"
+
+EXTRA_OECONF = "--enable-drivers=${LCD_DRIVERS} --enable-libusb"
+
+do_install () {
+ # binaries
+ install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
+ install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc
+
+ # init scripts
+ install -d ${D}${sysconfdir}/init.d
+ # so far, not fixed :-( and now even uglier :-((
+ cat scripts/init-LCDd.debian | sed -e s'/--oknodo//' -e 's/ -s -f / -s 1 -f 1 /' -e 's/force-reload/force-restart/' -e 's/sleep 1/sleep 4/' > ${D}${sysconfdir}/init.d/lcdd
+ chmod 0755 ${D}${sysconfdir}/init.d/lcdd
+ install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc
+ sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
+
+ # configuration files
+ install -m 0644 LCDd.conf ${D}${sysconfdir}/LCDd.conf
+ sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
+ sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
+ install -m 0644 clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
+
+ # driver library files
+ install -d ${D}${libdir}/lcdproc
+ for i in server/drivers/*.so; do
+ install -m 0644 $i ${D}${libdir}/lcdproc/
+ done
+}
+
+PACKAGES =+ "lcdd"
+
+RRECOMMENDS_${PN} = "lcdd"
+
+FILES_lcdd = "${sysconfdir}/LCDd.conf \
+ ${sbindir}/LCDd \
+ ${sysconfdir}/init.d/lcdd"
+
+CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
+CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf"
+
+# Driver packages
+
+# USB / no USB trickery
+
+RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
+RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
+
+INITSCRIPT_PACKAGES = "lcdd lcdproc"
+INITSCRIPT_NAME_lcdd = "lcdd"
+INITSCRIPT_NAME_lcdproc = "lcdproc"
+INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
+INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"
+
+python populate_packages_prepend() {
+ plugindir = d.expand('${libdir}/lcdproc')
+ do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
+}
+
+PACKAGES_DYNAMIC = "lcdd-driver-*"
+
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb
new file mode 100644
index 0000000..0276c55
--- /dev/null
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb
@@ -0,0 +1,24 @@
+require lcdproc5.inc
+
+SRC_URI += "file://automake-111-fix.patch"
+
+SRC_URI[md5sum] = "c92d4529d36eeec6d9d6fd0a4aa3ec82"
+SRC_URI[sha256sum] = "b136b47d7bf585a003334f432d8730a36ef5ed1cd520084b919667d825e48d42"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
+
+LCD_DRIVERS_append = "${@base_contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
+
+do_install_append () {
+ # binaries
+ install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
+
+ # configuration files
+ install -D -m 0644 clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
+}
+
+PACKAGES =+ "lcdvc"
+CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf"
+FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
+
--
1.7.9.5
next reply other threads:[~2012-10-07 11:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-07 10:47 Paul Eggleton [this message]
2012-10-09 9:00 ` [meta-oe][PATCH] lcdproc: add recipe from OE-Classic and update/clean up Koen Kooi
2012-10-09 9:26 ` Paul Eggleton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1349606858-7635-1-git-send-email-paul.eggleton@linux.intel.com \
--to=paul.eggleton@linux.intel.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.