From b8f658eb9142bd89cb1cf5b5261a980f3ebf841c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Tue, 3 Nov 2009 11:39:07 +0100 Subject: linux-2.6.31: update boc01 RTC driver for upstream submission --- .../linux-2.6.31/boc01/005-091008-isl12024.patch | 512 --------------------- .../linux-2.6.31/boc01/005-091103-isl12024.patch | 511 ++++++++++++++++++++ recipes/linux/linux_2.6.31.bb | 2 +- 3 files changed, 512 insertions(+), 513 deletions(-) delete mode 100644 recipes/linux/linux-2.6.31/boc01/005-091008-isl12024.patch create mode 100644 recipes/linux/linux-2.6.31/boc01/005-091103-isl12024.patch diff --git a/recipes/linux/linux-2.6.31/boc01/005-091008-isl12024.patch b/recipes/linux/linux-2.6.31/boc01/005-091008-isl12024.patch deleted file mode 100644 index 401ce4d9c8..0000000000 --- a/recipes/linux/linux-2.6.31/boc01/005-091008-isl12024.patch +++ /dev/null @@ -1,512 +0,0 @@ -Index: linux-2.6.31/drivers/misc/eeprom/at24.c -=================================================================== ---- linux-2.6.31.orig/drivers/misc/eeprom/at24.c 2009-10-19 16:55:01.000000000 +0200 -+++ linux-2.6.31/drivers/misc/eeprom/at24.c 2009-10-19 16:55:05.000000000 +0200 -@@ -115,6 +115,8 @@ - { "spd", AT24_DEVICE_MAGIC(2048 / 8, - AT24_FLAG_READONLY | AT24_FLAG_IRUGO) }, - { "24c04", AT24_DEVICE_MAGIC(4096 / 8, 0) }, -+ /* Intersil RTC/Unique-ID isl12024 eeprom handled here */ -+ { "isl12024-eeprom", AT24_DEVICE_MAGIC(4096 / 8, AT24_FLAG_ADDR16) }, - /* 24rf08 quirk is handled at i2c-core */ - { "24c08", AT24_DEVICE_MAGIC(8192 / 8, 0) }, - { "24c16", AT24_DEVICE_MAGIC(16384 / 8, 0) }, -Index: linux-2.6.31/drivers/rtc/Kconfig -=================================================================== ---- linux-2.6.31.orig/drivers/rtc/Kconfig 2009-10-19 16:55:01.000000000 +0200 -+++ linux-2.6.31/drivers/rtc/Kconfig 2009-10-19 16:55:05.000000000 +0200 -@@ -128,6 +128,12 @@ - - if I2C - -+config RTC_DRV_ISL12024 -+ tristate "Intersil 12024 RTC/Unique-ID" -+ help -+ If you say yes .... -+ This driver can also be built as a module. -+ - config RTC_DRV_DS1307 - tristate "Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025" - help -Index: linux-2.6.31/drivers/rtc/Makefile -=================================================================== ---- linux-2.6.31.orig/drivers/rtc/Makefile 2009-10-19 16:55:01.000000000 +0200 -+++ linux-2.6.31/drivers/rtc/Makefile 2009-10-19 16:55:05.000000000 +0200 -@@ -40,6 +40,7 @@ - obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o - obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o - obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o -+obj-$(CONFIG_RTC_DRV_ISL12024) += rtc-isl12024.o - obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o - obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o - obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o -Index: linux-2.6.31/drivers/rtc/rtc-isl12024.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.31/drivers/rtc/rtc-isl12024.c 2009-10-19 16:57:37.000000000 +0200 -@@ -0,0 +1,465 @@ -+/* -+ * Intersil ISL12024 class driver -+ * -+ * -+ * Copyright (C) 2007, CenoSYS (www.cenosys.com). -+ * -+ * Guillaume Ligneul -+ * Sylvain Giroudon -+ * Jeremy Laine -+ * -+ * This software program is licensed subject to the GNU General Public License -+ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#define DRV_VERSION "0.3" -+ -+#define ISL12024_CCR_BASE 0x30 /* Base address of CCR */ -+#define ISL12024_ALM0_BASE 0x00 /* Base address of ALARM0 */ -+#define ISL12024_INT_AL0E 0x20 /* Alarm 0 enable */ -+ -+/* Register map */ -+ -+/* device id section */ -+#define ISL12024_REG_ID 0x20 -+ -+/* rtc section */ -+#define ISL12024_REG_HR_MIL (1<<7) /* 24h/12h mode */ -+#define ISL12024_REG_HR_PM (1<<5) /* PM/AM bit in 12h mode */ -+#define ISL12024_REG_SC 0x30 -+#define ISL12024_REG_DT 0x33 /* Date */ -+#define ISL12024_REG_MO 0x34 /* Month */ -+#define ISL12024_REG_YR 0x35 /* Year */ -+#define ISL12024_REG_DW 0x36 -+#define ISL12024_REG_Y2K 0x37 -+#define ISL12024_RTC_SECTION_LEN 8 -+ -+/* control/status section */ -+#define ISL12024_REG_SR 0x3F -+#define ISL12024_REG_SR_BAT (1<<7) /* battery */ -+#define ISL12024_REG_SR_AL1 (1<<6) /* alarm 0 */ -+#define ISL12024_REG_SR_AL0 (1<<5) /* alarm 1 */ -+#define ISL12024_REG_SR_OSCF (1<<4) /* oscillator fail */ -+#define ISL12024_REG_SR_RWEL (1<<2) /* register write enable latch */ -+#define ISL12024_REG_SR_WEL (1<<1) /* write enable latch */ -+#define ISL12024_REG_SR_RTCF (1<<0) /* rtc fail */ -+#define ISL12024_REG_INT 0x11 -+ -+#define CCR_SEC 0 -+#define CCR_MIN 1 -+#define CCR_HOUR 2 -+#define CCR_MDAY 3 -+#define CCR_MONTH 4 -+#define CCR_YEAR 5 -+#define CCR_WDAY 6 -+#define CCR_Y2K 7 -+ -+static int isl12024_get_status(struct i2c_client *client, unsigned char *sr); -+static int isl12024_fix_osc(struct i2c_client *client); -+ -+static struct i2c_driver isl12024_driver; -+ -+static int -+isl12024_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[], -+ unsigned len) -+{ -+ int ret; -+ u8 dt_addr[2]; -+ -+ struct i2c_msg msgs[2] = { -+ { -+ .addr = client->addr, -+ .flags = 0, -+ .len = 2, -+ .buf = dt_addr, -+ }, -+ { -+ .addr = client->addr, -+ .flags = I2C_M_RD, -+ .len = len , -+ .buf = buf, -+ }, -+ }; -+ -+ dt_addr[0] = 0; -+ dt_addr[1] = reg; -+ -+ ret = i2c_transfer(client->adapter, msgs, 2); -+ if ( ret < 0) { -+ dev_err(&client->dev, "read error\n"); -+ return -EIO; -+ } -+ return ret; -+} -+ -+static int isl12024_i2c_validate_client(struct i2c_client *client) -+{ -+ u8 regs[ISL12024_RTC_SECTION_LEN] = { 0, }; -+ u8 zero_mask[ISL12024_RTC_SECTION_LEN] = { -+ 0x80, 0x80, 0x40, 0xc0, 0xe0, 0x00, 0xf8, 0xc6 -+ }; -+ -+ int i; -+ int ret; -+ -+ ret = isl12024_i2c_read_regs(client, ISL12024_REG_SC, regs, ISL12024_RTC_SECTION_LEN); -+ -+ if (ret < 0) -+ return ret; -+ -+ for (i = 0; i < ISL12024_RTC_SECTION_LEN; ++i) { -+ if (regs[i] & zero_mask[i]) /* check if bits are cleared */ -+ return -ENODEV; -+ } -+ -+ return 0; -+} -+ -+static int isl12024_read_time(struct i2c_client *client, -+ struct rtc_time *tm) -+{ -+ unsigned char sr; -+ int err; -+ u8 regs[ISL12024_RTC_SECTION_LEN] = { 0, }; -+ -+ if (isl12024_get_status(client, &sr) < 0) { -+ dev_err(&client->dev, "reading SR failed\n"); -+ return -EIO; -+ } -+ -+ err = isl12024_i2c_read_regs(client, ISL12024_REG_SC, regs, ISL12024_RTC_SECTION_LEN); -+ -+ if (err < 0) { -+ dev_err(&client->dev, "reading RTC section failed\n"); -+ return err; -+ } -+ -+ tm->tm_sec = bcd2bin(regs[0]); -+ tm->tm_min = bcd2bin(regs[1]); -+ -+ { /* HR field has a more complex interpretation */ -+ const u8 _hr = regs[2]; -+ if (_hr & ISL12024_REG_HR_MIL) /* 24h format */ -+ tm->tm_hour = bcd2bin(_hr & 0x3f); -+ else { // 12h format -+ tm->tm_hour = bcd2bin(_hr & 0x1f); -+ if (_hr & ISL12024_REG_HR_PM) /* PM flag set */ -+ tm->tm_hour += 12; -+ } -+ } -+ -+ tm->tm_mday = bcd2bin(regs[3]); -+ tm->tm_mon = bcd2bin(regs[4]); -+ tm->tm_year = bcd2bin(regs[5]) + 100; -+ tm->tm_wday = bcd2bin(regs[6]); -+ -+ return rtc_valid_tm(tm); -+} -+ -+static int isl12024_get_status(struct i2c_client *client, unsigned char *sr) -+{ -+ static unsigned char sr_addr[2] = { 0, ISL12024_REG_SR }; -+ -+ struct i2c_msg msgs[] = { -+ { client->addr, 0, 2, sr_addr }, /* setup read ptr */ -+ { client->addr, I2C_M_RD, 1, sr }, /* read status */ -+ }; -+ -+ /* read status register */ -+ if (i2c_transfer(client->adapter, &msgs[0], 2) != 2) { -+ dev_err(&client->dev, "%s: read error\n", __func__); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static int isl12024_set_datetime(struct i2c_client *client, struct rtc_time *tm, -+ int datetoo, u8 reg_base, unsigned char alm_enable) -+{ -+ int i, xfer, nbytes; -+ unsigned char buf[8]; -+ unsigned char rdata[10] = { 0, reg_base }; -+ -+ static const unsigned char wel[3] = { 0, ISL12024_REG_SR, -+ ISL12024_REG_SR_WEL }; -+ -+ static const unsigned char rwel[3] = { 0, ISL12024_REG_SR, -+ ISL12024_REG_SR_WEL | ISL12024_REG_SR_RWEL }; -+ -+ static const unsigned char diswe[3] = { 0, ISL12024_REG_SR, 0 }; -+ -+ dev_dbg(&client->dev, -+ "%s: secs=%d, mins=%d, hours=%d\n", -+ __func__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour); -+ -+ buf[CCR_SEC] = bin2bcd(tm->tm_sec); -+ buf[CCR_MIN] = bin2bcd(tm->tm_min); -+ -+ /* set hour and 24hr bit */ -+ buf[CCR_HOUR] = bin2bcd(tm->tm_hour) | ISL12024_REG_HR_MIL; -+ -+ /* should we also set the date? */ -+ if (datetoo) { -+ dev_dbg(&client->dev, -+ "%s: mday=%d, mon=%d, year=%d, wday=%d\n", -+ __func__, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ buf[CCR_MDAY] = bin2bcd(tm->tm_mday); -+ -+ /* month, 1 - 12 */ -+ buf[CCR_MONTH] = bin2bcd(tm->tm_mon); -+ -+ /* year, since the rtc epoch*/ -+ buf[CCR_YEAR] = bin2bcd(tm->tm_year % 100); -+ buf[CCR_WDAY] = tm->tm_wday & 0x07; -+ buf[CCR_Y2K] = bin2bcd(tm->tm_year / 100); -+ } -+ -+ /* If writing alarm registers, set compare bits on registers 0-4 */ -+ if (reg_base < ISL12024_CCR_BASE) -+ for (i = 0; i <= 4; i++) -+ buf[i] |= 0x80; -+ -+ /* this sequence is required to unlock the chip */ -+ if ((xfer = i2c_master_send(client, wel, 3)) != 3) { -+ dev_err(&client->dev, "%s: wel - %d\n", __func__, xfer); -+ return -EIO; -+ } -+ -+ if ((xfer = i2c_master_send(client, rwel, 3)) != 3) { -+ dev_err(&client->dev, "%s: rwel - %d\n", __func__, xfer); -+ return -EIO; -+ } -+ -+ /* write register's data */ -+ if (datetoo) -+ nbytes = 8; -+ else -+ nbytes = 3; -+ for (i = 0; i < nbytes; i++) -+ rdata[2+i] = buf[i]; -+ -+ xfer = i2c_master_send(client, rdata, nbytes+2); -+ if (xfer != nbytes+2) { -+ dev_err(&client->dev, -+ "%s: result=%d addr=%02x, data=%02x\n", -+ __func__, -+ xfer, rdata[1], rdata[2]); -+ return -EIO; -+ } -+ -+ /* If we wrote to the nonvolatile region, wait 10msec for write cycle*/ -+ if (reg_base < ISL12024_CCR_BASE) { -+ unsigned char al0e[3] = { 0, ISL12024_REG_INT, 0 }; -+ -+ msleep(10); -+ -+ /* ...and set or clear the AL0E bit in the INT register */ -+ -+ /* Need to set RWEL again as the write has cleared it */ -+ xfer = i2c_master_send(client, rwel, 3); -+ if (xfer != 3) { -+ dev_err(&client->dev, -+ "%s: aloe rwel - %d\n", -+ __func__, -+ xfer); -+ return -EIO; -+ } -+ -+ if (alm_enable) -+ al0e[2] = ISL12024_INT_AL0E; -+ -+ xfer = i2c_master_send(client, al0e, 3); -+ if (xfer != 3) { -+ dev_err(&client->dev, -+ "%s: al0e - %d\n", -+ __func__, -+ xfer); -+ return -EIO; -+ } -+ -+ /* and wait 10msec again for this write to complete */ -+ msleep(10); -+ } -+ -+ /* disable further writes */ -+ if ((xfer = i2c_master_send(client, diswe, 3)) != 3) { -+ dev_err(&client->dev, "%s: diswe - %d\n", __func__, xfer); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static int isl12024_fix_osc(struct i2c_client *client) -+{ -+ int err; -+ struct rtc_time tm; -+ -+ tm.tm_hour = tm.tm_min = tm.tm_sec = 0; -+ -+ err = isl12024_set_datetime(client, &tm, 0, ISL12024_CCR_BASE, 0); -+ if ( err < 0 ) -+ dev_err(&client->dev, "unable to restart the oscillator (%d)\n", err); -+ -+ return err; -+} -+ -+static int isl12024_rtc_read_time(struct device *dev, struct rtc_time *tm) -+{ -+ return isl12024_read_time(to_i2c_client(dev), tm); -+ -+} -+ -+static int isl12024_rtc_set_time(struct device *dev, struct rtc_time *tm) -+{ -+ return isl12024_set_datetime(to_i2c_client(dev), -+ tm, 1, ISL12024_CCR_BASE, 0); -+} -+ -+static int -+isl12024_rtc_proc(struct device *dev, struct seq_file *seq) -+{ -+ -+ /* Nothing to do */ -+ -+ return 0; -+} -+ -+static const struct rtc_class_ops isl12024_rtc_ops = { -+ .proc = isl12024_rtc_proc, -+ .read_time = isl12024_rtc_read_time, -+ .set_time = isl12024_rtc_set_time, -+}; -+ -+static ssize_t isl12024_show_id(struct device *dev, struct device_attribute *attr, -+ char *buf) -+{ -+ struct i2c_client *client = to_i2c_client(dev); -+ int err; -+ int len = 0; -+ int i; -+ u8 id_buffer[ISL12024_RTC_SECTION_LEN]; -+ -+ /* Read unique id from eeprom */ -+ err = isl12024_i2c_read_regs(client, ISL12024_REG_ID, id_buffer, sizeof(id_buffer)); -+ if (err < 0) { -+ dev_err(&client->dev, "reading RTC section failed\n"); -+ return err; -+ } -+ -+ /* Print hexadecimal */ -+ for (i = 0; i < sizeof(id_buffer); i++) -+ len += sprintf(buf + len, "%02X", id_buffer[i]); -+ len += sprintf(buf + len, "\n"); -+ return len; -+} -+ -+static DEVICE_ATTR(id, S_IRUGO, isl12024_show_id, NULL); -+ -+static int -+isl12024_probe(struct i2c_client *client, const struct i2c_device_id *id) -+{ -+ int rc = 0; -+ unsigned char sr; -+ struct rtc_device *rtc = NULL; -+ -+ if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) -+ return -ENODEV; -+ -+ if (isl12024_i2c_validate_client(client) < 0) -+ return -ENODEV; -+ -+ dev_info(&client->dev, -+ "chip found, driver version " DRV_VERSION "\n"); -+ -+ rtc = rtc_device_register(isl12024_driver.driver.name, -+ &client->dev, &isl12024_rtc_ops, -+ THIS_MODULE); -+ -+ if (IS_ERR(rtc)) -+ return PTR_ERR(rtc); -+ -+ i2c_set_clientdata(client, rtc); -+ -+ rc = isl12024_get_status(client, &sr); -+ if (rc < 0) { -+ dev_err(&client->dev, "reading status failed\n"); -+ goto exit_unregister; -+ } -+ -+ /* Check for power failures and enable the osc */ -+ if (sr & ISL12024_REG_SR_RTCF) { -+ dev_warn(&client->dev, "rtc power failure detected, " -+ "please set clock.\n"); -+ udelay(50); -+ isl12024_fix_osc(client); -+ } -+ -+ /* Register sysfs hooks */ -+ rc = device_create_file(&client->dev, &dev_attr_id); -+ if (rc < 0) -+ goto exit_unregister; -+ -+ return 0; -+ -+exit_unregister: -+ rtc_device_unregister(rtc); -+ -+ return rc; -+} -+ -+static int -+isl12024_remove(struct i2c_client *client) -+{ -+ struct rtc_device *rtc = i2c_get_clientdata(client); -+ -+ rtc_device_unregister(rtc); -+ device_remove_file(&client->dev, &dev_attr_id); -+ -+ return 0; -+} -+ -+static const struct i2c_device_id isl12024_id[] = { -+ { "isl12024", 0 }, -+ { } -+}; -+MODULE_DEVICE_TABLE(i2c, isl12024_id); -+ -+static struct i2c_driver isl12024_driver = { -+ .driver = { -+ .name = "rtc-isl12024", -+ }, -+ .probe = isl12024_probe, -+ .remove = isl12024_remove, -+ .id_table = isl12024_id, -+}; -+ -+/* module init/exit */ -+ -+static int __init isl12024_init(void) -+{ -+ return i2c_add_driver(&isl12024_driver); -+} -+ -+static void __exit isl12024_exit(void) -+{ -+ i2c_del_driver(&isl12024_driver); -+} -+ -+MODULE_AUTHOR("Guillaume Ligneul "); -+MODULE_DESCRIPTION("Intersil ISL12024 driver"); -+MODULE_LICENSE("GPL"); -+MODULE_VERSION(DRV_VERSION); -+ -+module_init(isl12024_init); -+module_exit(isl12024_exit); diff --git a/recipes/linux/linux-2.6.31/boc01/005-091103-isl12024.patch b/recipes/linux/linux-2.6.31/boc01/005-091103-isl12024.patch new file mode 100644 index 0000000000..9daab5acaa --- /dev/null +++ b/recipes/linux/linux-2.6.31/boc01/005-091103-isl12024.patch @@ -0,0 +1,511 @@ +Support for the ISL12024 RTC, EEPROM and unique ID. + +Signed-off-by: Jeremy Laine + +Index: linux-2.6.31/drivers/misc/eeprom/at24.c +=================================================================== +--- linux-2.6.31.orig/drivers/misc/eeprom/at24.c 2009-09-10 00:13:59.000000000 +0200 ++++ linux-2.6.31/drivers/misc/eeprom/at24.c 2009-11-03 11:17:22.000000000 +0100 +@@ -115,6 +115,8 @@ + { "spd", AT24_DEVICE_MAGIC(2048 / 8, + AT24_FLAG_READONLY | AT24_FLAG_IRUGO) }, + { "24c04", AT24_DEVICE_MAGIC(4096 / 8, 0) }, ++ /* Intersil isl12024 eeprom */ ++ { "isl12024-eeprom", AT24_DEVICE_MAGIC(4096 / 8, AT24_FLAG_ADDR16) }, + /* 24rf08 quirk is handled at i2c-core */ + { "24c08", AT24_DEVICE_MAGIC(8192 / 8, 0) }, + { "24c16", AT24_DEVICE_MAGIC(16384 / 8, 0) }, +Index: linux-2.6.31/drivers/rtc/Kconfig +=================================================================== +--- linux-2.6.31.orig/drivers/rtc/Kconfig 2009-09-10 00:13:59.000000000 +0200 ++++ linux-2.6.31/drivers/rtc/Kconfig 2009-11-03 11:13:42.000000000 +0100 +@@ -193,6 +193,15 @@ + This driver can also be built as a module. If so, the module + will be called rtc-isl1208. + ++config RTC_DRV_ISL12024 ++ tristate "Intersil 12024" ++ help ++ If you say yes here you get support for the Intersil ISL12024 ++ RTC chip. This driver also exposes the chip's unique ID. ++ ++ This driver can also be built as a module. If so, the module ++ will be called rtc-isl12024. ++ + config RTC_DRV_X1205 + tristate "Xicor/Intersil X1205" + help +Index: linux-2.6.31/drivers/rtc/Makefile +=================================================================== +--- linux-2.6.31.orig/drivers/rtc/Makefile 2009-09-10 00:13:59.000000000 +0200 ++++ linux-2.6.31/drivers/rtc/Makefile 2009-11-03 11:13:42.000000000 +0100 +@@ -40,6 +40,7 @@ + obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o + obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o + obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o ++obj-$(CONFIG_RTC_DRV_ISL12024) += rtc-isl12024.o + obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o + obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o + obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o +Index: linux-2.6.31/drivers/rtc/rtc-isl12024.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.31/drivers/rtc/rtc-isl12024.c 2009-11-03 11:14:33.000000000 +0100 +@@ -0,0 +1,457 @@ ++/* ++ * Intersil ISL12024 rtc class driver ++ * ++ * Copyright (C) 2007, CenoSYS (www.cenosys.com). ++ * Copyright (C) 2009, Bollore telecom (www.bolloretelecom.eu). ++ * ++ * Guillaume Ligneul ++ * Sylvain Giroudon ++ * Jeremy Laine ++ * ++ * Based on rtc-x1205. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define DRV_VERSION "0.3" ++ ++/* offsets into CCR area */ ++ ++#define CCR_SEC 0 ++#define CCR_MIN 1 ++#define CCR_HOUR 2 ++#define CCR_MDAY 3 ++#define CCR_MONTH 4 ++#define CCR_YEAR 5 ++#define CCR_WDAY 6 ++#define CCR_Y2K 7 ++ ++/* alarm0 section */ ++#define ISL12024_REG_ALARM0 0x08 /* Base address of ALARM0 */ ++ ++/* device id section */ ++#define ISL12024_REG_ID 0x20 ++#define ISL12024_ID_SECTION_LEN 8 ++ ++/* rtc section */ ++#define ISL12024_REG_RTC 0x30 /* Base address of RTC */ ++#define ISL12024_REG_HR_MIL (1<<7) /* 24h/12h mode */ ++#define ISL12024_REG_HR_PM (1<<5) /* AM/PM bit in 12h mode */ ++#define ISL12024_RTC_SECTION_LEN 8 ++ ++/* control/status section */ ++#define ISL12024_REG_SR 0x3F ++#define ISL12024_REG_SR_BAT (1<<7) /* battery */ ++#define ISL12024_REG_SR_AL1 (1<<6) /* alarm 0 */ ++#define ISL12024_REG_SR_AL0 (1<<5) /* alarm 1 */ ++#define ISL12024_REG_SR_OSCF (1<<4) /* oscillator fail */ ++#define ISL12024_REG_SR_RWEL (1<<2) /* register write enable latch */ ++#define ISL12024_REG_SR_WEL (1<<1) /* write enable latch */ ++#define ISL12024_REG_SR_RTCF (1<<0) /* rtc fail */ ++#define ISL12024_REG_INT 0x11 ++ ++#define ISL12024_INT_AL0E 0x20 /* Alarm 0 enable */ ++ ++static struct i2c_driver isl12024_driver; ++ ++static int ++isl12024_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[], ++ unsigned len) ++{ ++ int ret; ++ u8 dt_addr[2]; ++ ++ struct i2c_msg msgs[2] = { ++ { ++ .addr = client->addr, ++ .flags = 0, ++ .len = 2, ++ .buf = dt_addr, ++ }, ++ { ++ .addr = client->addr, ++ .flags = I2C_M_RD, ++ .len = len, ++ .buf = buf, ++ }, ++ }; ++ ++ dt_addr[0] = 0; ++ dt_addr[1] = reg; ++ ++ ret = i2c_transfer(client->adapter, msgs, 2); ++ if (ret < 0) { ++ dev_err(&client->dev, "read error (%i)\n", ret); ++ return ret; ++ } ++ return 0; ++} ++ ++static int ++isl12024_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[], ++ unsigned len) ++{ ++ int ret; ++ u8 i2c_buf[10]; ++ ++ i2c_buf[0] = 0; ++ i2c_buf[1] = reg; ++ memcpy(&i2c_buf[2], &buf[0], len); ++ ++ ret = i2c_master_send(client, i2c_buf, len + 2); ++ if (ret != len + 2) { ++ dev_err(&client->dev, "write error (%d)\n", ret); ++ return -EIO; ++ } ++ return 0; ++} ++ ++static int isl12024_read_time(struct i2c_client *client, ++ struct rtc_time *tm, u8 reg_base) ++{ ++ unsigned char sr; ++ int err; ++ u8 regs[ISL12024_RTC_SECTION_LEN] = { 0, }; ++ ++ if (isl12024_i2c_read_regs(client, ISL12024_REG_SR, &sr, ++ sizeof(sr)) < 0) { ++ dev_err(&client->dev, "reading SR failed\n"); ++ return -EIO; ++ } ++ ++ err = isl12024_i2c_read_regs(client, reg_base, regs, ++ ISL12024_RTC_SECTION_LEN); ++ ++ if (err < 0) { ++ dev_err(&client->dev, "reading RTC section failed\n"); ++ return err; ++ } ++ ++ tm->tm_sec = bcd2bin(regs[0]); ++ tm->tm_min = bcd2bin(regs[1]); ++ ++ /* HR field has a more complex interpretation */ ++ if (regs[2] & ISL12024_REG_HR_MIL) { ++ /* 24h format */ ++ tm->tm_hour = bcd2bin(regs[2] & 0x3f); ++ } else { ++ /* 12h format */ ++ tm->tm_hour = bcd2bin(regs[2] & 0x1f); ++ if (regs[2] & ISL12024_REG_HR_PM) /* PM flag set */ ++ tm->tm_hour += 12; ++ } ++ ++ tm->tm_mday = bcd2bin(regs[3]); ++ tm->tm_mon = bcd2bin(regs[4]); ++ tm->tm_year = bcd2bin(regs[5]) + 100; ++ tm->tm_wday = bcd2bin(regs[6]); ++ ++ return rtc_valid_tm(tm); ++} ++ ++static int isl12024_set_datetime(struct i2c_client *client, struct rtc_time *tm, ++ int datetoo, u8 reg_base, ++ unsigned char alm_enable) ++{ ++ int i, xfer, nbytes; ++ unsigned char buf[8]; ++ ++ static const unsigned char wel[3] = { 0, ISL12024_REG_SR, ++ ISL12024_REG_SR_WEL }; ++ ++ static const unsigned char rwel[3] = { 0, ISL12024_REG_SR, ++ ISL12024_REG_SR_WEL | ISL12024_REG_SR_RWEL }; ++ ++ static const unsigned char diswe[3] = { 0, ISL12024_REG_SR, 0 }; ++ ++ dev_dbg(&client->dev, ++ "%s: secs=%d, mins=%d, hours=%d\n", ++ __func__, ++ tm->tm_sec, tm->tm_min, tm->tm_hour); ++ ++ buf[CCR_SEC] = bin2bcd(tm->tm_sec); ++ buf[CCR_MIN] = bin2bcd(tm->tm_min); ++ ++ /* set hour and 24hr bit */ ++ buf[CCR_HOUR] = bin2bcd(tm->tm_hour) | ISL12024_REG_HR_MIL; ++ ++ /* should we also set the date? */ ++ if (datetoo) { ++ dev_dbg(&client->dev, ++ "%s: mday=%d, mon=%d, year=%d, wday=%d\n", ++ __func__, ++ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); ++ ++ buf[CCR_MDAY] = bin2bcd(tm->tm_mday); ++ ++ /* month, 1 - 12 */ ++ buf[CCR_MONTH] = bin2bcd(tm->tm_mon); ++ ++ /* year, since the rtc epoch*/ ++ buf[CCR_YEAR] = bin2bcd(tm->tm_year % 100); ++ buf[CCR_WDAY] = tm->tm_wday & 0x07; ++ buf[CCR_Y2K] = bin2bcd(tm->tm_year / 100); ++ } ++ ++ /* If writing alarm registers, set compare bits on registers 0-4 */ ++ if (reg_base == ISL12024_REG_ALARM0) ++ for (i = 0; i <= 4; i++) ++ buf[i] |= 0x80; ++ ++ /* this sequence is required to unlock the chip */ ++ xfer = i2c_master_send(client, wel, 3); ++ if (xfer != 3) { ++ dev_err(&client->dev, "%s: wel - %d\n", __func__, xfer); ++ return -EIO; ++ } ++ ++ xfer = i2c_master_send(client, rwel, 3); ++ if (xfer != 3) { ++ dev_err(&client->dev, "%s: rwel - %d\n", __func__, xfer); ++ return -EIO; ++ } ++ ++ /* write register's data */ ++ if (datetoo) ++ nbytes = 8; ++ else ++ nbytes = 3; ++ xfer = isl12024_i2c_set_regs(client, reg_base, buf, nbytes); ++ if (xfer < 0) ++ return xfer; ++ ++ /* If we wrote to the nonvolatile region, wait 10msec for write cycle*/ ++ if (reg_base == ISL12024_REG_ALARM0) { ++ unsigned char al0e[3] = { 0, ISL12024_REG_INT, 0 }; ++ ++ msleep(10); ++ ++ /* ...and set or clear the AL0E bit in the INT register */ ++ ++ /* Need to set RWEL again as the write has cleared it */ ++ xfer = i2c_master_send(client, rwel, 3); ++ if (xfer != 3) { ++ dev_err(&client->dev, ++ "%s: al0e rwel - %d\n", ++ __func__, ++ xfer); ++ return -EIO; ++ } ++ ++ if (alm_enable) ++ al0e[2] = ISL12024_INT_AL0E; ++ ++ xfer = i2c_master_send(client, al0e, 3); ++ if (xfer != 3) { ++ dev_err(&client->dev, ++ "%s: al0e - %d\n", ++ __func__, ++ xfer); ++ return -EIO; ++ } ++ ++ /* and wait 10msec again for this write to complete */ ++ msleep(10); ++ } ++ ++ /* disable further writes */ ++ xfer = i2c_master_send(client, diswe, 3); ++ if (xfer != 3) { ++ dev_err(&client->dev, "%s: diswe - %d\n", __func__, xfer); ++ return -EIO; ++ } ++ ++ return 0; ++} ++ ++static int isl12024_fix_osc(struct i2c_client *client) ++{ ++ int err; ++ struct rtc_time tm; ++ ++ tm.tm_hour = tm.tm_min = tm.tm_sec = 0; ++ ++ err = isl12024_set_datetime(client, &tm, 0, ISL12024_REG_RTC, 0); ++ if (err < 0) ++ dev_err(&client->dev, ++ "unable to restart the oscillator (%d)\n", err); ++ ++ return err; ++} ++ ++static int isl12024_rtc_read_time(struct device *dev, struct rtc_time *tm) ++{ ++ return isl12024_read_time(to_i2c_client(dev), tm, ++ ISL12024_REG_RTC); ++} ++ ++static int isl12024_rtc_set_time(struct device *dev, struct rtc_time *tm) ++{ ++ return isl12024_set_datetime(to_i2c_client(dev), tm, 1, ++ ISL12024_REG_RTC, 0); ++} ++ ++static int isl12024_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) ++{ ++ unsigned char intr; ++ int err; ++ struct i2c_client *client = to_i2c_client(dev); ++ ++ err = isl12024_i2c_read_regs(client, ISL12024_REG_INT, &intr, ++ sizeof(intr)); ++ if (err < 0) ++ return err; ++ alrm->enabled = (intr & ISL12024_INT_AL0E) ? 1 : 0; ++ ++ return isl12024_read_time(client, &alrm->time, ISL12024_REG_ALARM0); ++} ++ ++static int isl12024_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) ++{ ++ return isl12024_set_datetime(to_i2c_client(dev), &alrm->time, 1, ++ ISL12024_REG_ALARM0, alrm->enabled); ++} ++ ++static int ++isl12024_rtc_proc(struct device *dev, struct seq_file *seq) ++{ ++ /* Nothing to do */ ++ return 0; ++} ++ ++static const struct rtc_class_ops isl12024_rtc_ops = { ++ .proc = isl12024_rtc_proc, ++ .read_time = isl12024_rtc_read_time, ++ .set_time = isl12024_rtc_set_time, ++ .read_alarm = isl12024_rtc_read_alarm, ++ .set_alarm = isl12024_rtc_set_alarm, ++}; ++ ++static ssize_t isl12024_show_id(struct device *dev, ++ struct device_attribute *attr, ++ char *buf) ++{ ++ struct i2c_client *client = to_i2c_client(dev); ++ int err; ++ ssize_t len = 0; ++ int i; ++ u8 id_buffer[ISL12024_ID_SECTION_LEN]; ++ ++ /* Read unique id from eeprom */ ++ err = isl12024_i2c_read_regs(client, ISL12024_REG_ID, id_buffer, ++ sizeof(id_buffer)); ++ if (err < 0) { ++ dev_err(&client->dev, "reading RTC section failed\n"); ++ return err; ++ } ++ ++ /* Print hexadecimal */ ++ for (i = 0; i < sizeof(id_buffer); i++) ++ len += sprintf(buf + len, "%02X", id_buffer[i]); ++ len += sprintf(buf + len, "\n"); ++ return len; ++} ++ ++static DEVICE_ATTR(id, S_IRUGO, isl12024_show_id, NULL); ++ ++static int ++isl12024_probe(struct i2c_client *client, const struct i2c_device_id *id) ++{ ++ int rc = 0; ++ unsigned char sr; ++ struct rtc_device *rtc = NULL; ++ ++ if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) ++ return -ENODEV; ++ ++ dev_info(&client->dev, ++ "chip found, driver version " DRV_VERSION "\n"); ++ ++ rtc = rtc_device_register(isl12024_driver.driver.name, ++ &client->dev, &isl12024_rtc_ops, ++ THIS_MODULE); ++ if (IS_ERR(rtc)) ++ return PTR_ERR(rtc); ++ ++ i2c_set_clientdata(client, rtc); ++ ++ rc = isl12024_i2c_read_regs(client, ISL12024_REG_SR, &sr, sizeof(sr)); ++ if (rc < 0) { ++ dev_err(&client->dev, "reading status failed\n"); ++ goto exit_unregister; ++ } ++ ++ /* Check for power failures and enable the osc */ ++ if (sr & ISL12024_REG_SR_RTCF) { ++ dev_warn(&client->dev, "rtc power failure detected, " ++ "please set clock.\n"); ++ udelay(50); ++ isl12024_fix_osc(client); ++ } ++ ++ /* Register sysfs hooks */ ++ rc = device_create_file(&client->dev, &dev_attr_id); ++ if (rc < 0) ++ goto exit_unregister; ++ ++ return 0; ++ ++exit_unregister: ++ rtc_device_unregister(rtc); ++ ++ return rc; ++} ++ ++static int ++isl12024_remove(struct i2c_client *client) ++{ ++ struct rtc_device *rtc = i2c_get_clientdata(client); ++ ++ rtc_device_unregister(rtc); ++ device_remove_file(&client->dev, &dev_attr_id); ++ ++ return 0; ++} ++ ++static const struct i2c_device_id isl12024_id[] = { ++ { "isl12024", 0 }, ++ { } ++}; ++MODULE_DEVICE_TABLE(i2c, isl12024_id); ++ ++static struct i2c_driver isl12024_driver = { ++ .driver = { ++ .name = "rtc-isl12024", ++ }, ++ .probe = isl12024_probe, ++ .remove = isl12024_remove, ++ .id_table = isl12024_id, ++}; ++ ++/* module init/exit */ ++ ++static int __init isl12024_init(void) ++{ ++ return i2c_add_driver(&isl12024_driver); ++} ++ ++static void __exit isl12024_exit(void) ++{ ++ i2c_del_driver(&isl12024_driver); ++} ++ ++MODULE_AUTHOR("Guillaume Ligneul "); ++MODULE_DESCRIPTION("Intersil ISL12024 driver"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); ++ ++module_init(isl12024_init); ++module_exit(isl12024_exit); diff --git a/recipes/linux/linux_2.6.31.bb b/recipes/linux/linux_2.6.31.bb index d908326016..15597104b6 100644 --- a/recipes/linux/linux_2.6.31.bb +++ b/recipes/linux/linux_2.6.31.bb @@ -25,7 +25,7 @@ SRC_URI_append_boc01 = "\ file://boc01.dts \ file://boc01.dts.v1 \ file://004-081205-usb.patch;patch=1 \ - file://005-091008-isl12024.patch;patch=1 \ + file://005-091103-isl12024.patch;patch=1 \ file://007-091005-lm73.patch;patch=1 \ file://011-091028-gpio.patch;patch=1 \ file://012-091019-capsense.patch;patch=1 \ -- cgit v1.2.3 From e972a049e419ab144aa4b1ad00d386bccf9ce097 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Tue, 3 Nov 2009 14:00:50 +0100 Subject: connman: include connman_0.46 (mv'd from connman_0.19) Signed-off-by: Sebastian Spaeth --- recipes/connman/connman_0.46.bb | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 recipes/connman/connman_0.46.bb diff --git a/recipes/connman/connman_0.46.bb b/recipes/connman/connman_0.46.bb new file mode 100644 index 0000000000..26b7b82798 --- /dev/null +++ b/recipes/connman/connman_0.46.bb @@ -0,0 +1,37 @@ +require connman.inc + +PR = "r1" + +EXTRA_OECONF += "\ + --disable-gtk-doc \ + --enable-debug \ + --enable-threads \ + --enable-loopback \ + --enable-ethernet \ + --enable-wifi \ + --disable-wimax \ + --enable-bluetooth \ + --enable-udhcp \ + --enable-dhclient \ + --enable-resolvconf \ + --enable-dnsproxy \ + --disable-novatel \ + --disable-huawei \ + --disable-hso \ + --enable-ppp \ +# needs udev >= 129 + --disable-udev \ + --disable-polkit \ + --enable-client \ + --enable-fake \ +# --with-udhcpc=PROGRAM \ +# --with-dhclient=PROGRAM \ +# --with-resolvconf=PROGRAM \ +# --with-pppd=PROGRAM \ +" + +SRC_URI = "\ + http://www.kernel.org/pub/linux/network/connman/connman-${PV}.tar.gz \ + file://connman \ +" + -- cgit v1.2.3 From f5701cca059fb8edf35117e74546d1475a5b77f5 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Tue, 3 Nov 2009 14:28:15 +0100 Subject: connman: add checksums for 0.46 Signed-off-by: Sebastian Spaeth --- conf/checksums.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/checksums.ini b/conf/checksums.ini index 57a7161eb5..68301f3a92 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -4390,6 +4390,10 @@ sha256=9c626bda7e2cc460cdbfe9a14c13208253de6922a341ef60ba51a673c0317996 md5=a5ebd17ff19e8f9b4d5e783d345d135b sha256=9c626bda7e2cc460cdbfe9a14c13208253de6922a341ef60ba51a673c0317996 +[http://www.kernel.org/pub/linux/network/connman/connman-0.46.tar.gz] +md5=9bcdc528f38bc17ecb92519a28b741f1 +sha256=1853ed3d6400e25ef61ba1c98a7ef0f3984a2bf59aaf3485721cbc1de036b75c + [ftp://ftp.moblin.org/connman/releases/connman-gnome-0.4.tar.gz] md5=c9a3b384f080ed4cdf139ce9377ef2c8 sha256=d7acac8bc0a38dfcab098137a76f5e9f4ce30ca86e82b26540502658e6b4e4a7 -- cgit v1.2.3 From c510866574d65798eef3ef36318457b41cf542c0 Mon Sep 17 00:00:00 2001 From: Matthew Dombroski Date: Tue, 3 Nov 2009 14:25:34 +0100 Subject: qmake2.bbclass: Add lupdate and lrelease. http://patchwork.openembedded.org/patch/987 Signed-off-by: Matthew Dombroski Acked-by: Holger Hans Peter Freyther --- classes/qmake2.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass index 26e813a036..37721898d6 100644 --- a/classes/qmake2.bbclass +++ b/classes/qmake2.bbclass @@ -19,3 +19,5 @@ export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qt4" export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}" export OE_QMAKE_LIBS_QT = "qt" export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm" +export OE_QMAKE_LRELEASE = "${STAGING_BINDIR_NATIVE}/lrelease4" +export OE_QMAKE_LUPDATE = "${STAGING_BINDIR_NATIVE}/lupdate4" -- cgit v1.2.3 From c724ad44d6adfda201f33c15378cab8d9e7ee902 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 3 Nov 2009 14:45:02 +0100 Subject: base.bbclass: Better error message in case the Config Parser fails http://patchwork.openembedded.org/patch/1088/ Tested-by: Ed Nelson --- classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/base.bbclass b/classes/base.bbclass index d29ba4bfcf..89ee917d20 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -661,7 +661,7 @@ python base_do_fetch() { bb.note("No conf/checksums.ini found, not checking checksums") return except: - bb.note("Creating the CheckSum parser failed") + bb.note("Creating the CheckSum parser failed: %s:%s" % (sys.exc_info()[0], sys.exc_info()[1])) return pv = bb.data.getVar('PV', d, True) -- cgit v1.2.3 From 14caede54c01f7ab94284b576438e1bd371073f6 Mon Sep 17 00:00:00 2001 From: Ricardo Salveti Date: Sat, 31 Oct 2009 13:22:40 +0000 Subject: eject-2.1.5: adding HOMEPAGE and fixing SRC_URI As geocities is now down, changing the SRC_URI to point to OE mirror. Signed-off-by: Ricardo Salveti Acked-by: Holger Hans Peter Freyther --- conf/checksums.ini | 2 +- recipes/eject/eject_2.1.5.bb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/conf/checksums.ini b/conf/checksums.ini index 68301f3a92..deeca5b8f6 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -5842,7 +5842,7 @@ sha256=9ec176847b1e01cd2083cd578e804fda2c619d0f465cd752ec11b38099f75f7f md5=d0f3b1adca33a68867bf50f000060cd6 sha256=a0d03208e335610defc3049d8dd03f4ec7fcf477f44c4897b3f68adc478237ee -[http://rogers.com/eject-2.1.5.tar.gz] +[http://sources.openembedded.org/eject-2.1.5.tar.gz] md5=b96a6d4263122f1711db12701d79f738 sha256=ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e2ffe55 diff --git a/recipes/eject/eject_2.1.5.bb b/recipes/eject/eject_2.1.5.bb index 6d53aee9a7..f90f8e6993 100644 --- a/recipes/eject/eject_2.1.5.bb +++ b/recipes/eject/eject_2.1.5.bb @@ -1,9 +1,10 @@ DESCRIPTION = "Eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) to be ejected under software control." +HOMEPAGE = "http://eject.sourceforge.net/" LICENSE = "GPLv2" inherit autotools gettext -SRC_URI = "http://ca.geocities.com/jefftranter@rogers.com/eject-${PV}.tar.gz" +SRC_URI = "http://sources.openembedded.org/eject-2.1.5.tar.gz" S = "${WORKDIR}/${PN}" -- cgit v1.2.3 From c55f2f7273d79317f88122cdcc08608d5ce67a6d Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 3 Nov 2009 15:51:50 +0100 Subject: libxml-parser-perl: add 2.36 --- conf/checksums.ini | 16 ++++++++++++---- recipes/perl/libxml-parser-perl_2.36.bb | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 recipes/perl/libxml-parser-perl_2.36.bb diff --git a/conf/checksums.ini b/conf/checksums.ini index deeca5b8f6..2c1357b681 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -1322,6 +1322,10 @@ sha256=3b732ed179dd34c17d1ba17867b60a36f20d82a3f0eca7b084fcb5396aa2b30c md5=84d9e0001fe01c14867256c3fe115899 sha256=55386de7bf78f67ad2b9ef664a578db66ee53f512a28eb067cd2303f5e23d740 +[http://www.cpan.org/modules/by-module/XML/XML-Parser-2.36.tar.gz] +md5=1b868962b658bd87e1563ecd56498ded +sha256=9fd529867402456bd826fe0e5588d35b3a2e27e586a2fd838d1352b71c2ed73f + [http://www.cpan.org/modules/by-module/XML/XML-Simple-2.18.tar.gz] md5=593aa8001e5c301cdcdb4bb3b63abc33 sha256=a54967c188cda3e20f496c83be4de3f1740eeaa83c0380712ecd969ad8766826 @@ -4374,6 +4378,10 @@ sha256=eacc3c57cffb411b09d834d2225323cde5676165b5d2fc2a27b16cde98e3ba97 md5=f5b84040e99eeff3a18e11e83b1eb12a sha256=e3a35e2ee2cc729bd637a69c7f82d6672317738d29dacab067468bb0634eb0de +[http://www.kernel.org/pub/linux/network/connman/connman-0.46.tar.gz] +md5=9bcdc528f38bc17ecb92519a28b741f1 +sha256=1853ed3d6400e25ef61ba1c98a7ef0f3984a2bf59aaf3485721cbc1de036b75c + [ftp://ftp.moblin.org/connman/releases/connman-0.8.tar.gz] md5=3f1995bf91846b601a25a37832c88cb6 sha256=d40272cfb9a9990a32f6985056735df53d7368eacc28b31b8141de1fb2cb414d @@ -4390,10 +4398,6 @@ sha256=9c626bda7e2cc460cdbfe9a14c13208253de6922a341ef60ba51a673c0317996 md5=a5ebd17ff19e8f9b4d5e783d345d135b sha256=9c626bda7e2cc460cdbfe9a14c13208253de6922a341ef60ba51a673c0317996 -[http://www.kernel.org/pub/linux/network/connman/connman-0.46.tar.gz] -md5=9bcdc528f38bc17ecb92519a28b741f1 -sha256=1853ed3d6400e25ef61ba1c98a7ef0f3984a2bf59aaf3485721cbc1de036b75c - [ftp://ftp.moblin.org/connman/releases/connman-gnome-0.4.tar.gz] md5=c9a3b384f080ed4cdf139ce9377ef2c8 sha256=d7acac8bc0a38dfcab098137a76f5e9f4ce30ca86e82b26540502658e6b4e4a7 @@ -5842,6 +5846,10 @@ sha256=9ec176847b1e01cd2083cd578e804fda2c619d0f465cd752ec11b38099f75f7f md5=d0f3b1adca33a68867bf50f000060cd6 sha256=a0d03208e335610defc3049d8dd03f4ec7fcf477f44c4897b3f68adc478237ee +[http://rogers.com/eject-2.1.5.tar.gz] +md5=b96a6d4263122f1711db12701d79f738 +sha256=ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e2ffe55 + [http://sources.openembedded.org/eject-2.1.5.tar.gz] md5=b96a6d4263122f1711db12701d79f738 sha256=ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e2ffe55 diff --git a/recipes/perl/libxml-parser-perl_2.36.bb b/recipes/perl/libxml-parser-perl_2.36.bb new file mode 100644 index 0000000000..c96489b2de --- /dev/null +++ b/recipes/perl/libxml-parser-perl_2.36.bb @@ -0,0 +1,21 @@ +SECTION = "libs" +LICENSE = "Artistic" +DEPENDS += "expat expat-native" + +SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz" + +S = "${WORKDIR}/XML-Parser-${PV}" + +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + +inherit cpan + +do_compile() { + export LIBC="$(find ${STAGING_DIR}/lib -name 'libc-*.so')" + cpan_do_compile +} + + + +FILES_${PN} = "${PERLLIBDIRS}/auto/XML/Parser/Expat/* \ + ${PERLLIBDIRS}/XML" -- cgit v1.2.3 From af05f65b38bc442c370637210e78975517e71f44 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 3 Nov 2009 15:52:10 +0100 Subject: angstrom feed builder: also clean perl and perl-native during architecture change * If recipes like xml-parser-perl fail with linking to your host LIBC, clean perl and perl-native --- contrib/angstrom/build-feeds.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/angstrom/build-feeds.sh b/contrib/angstrom/build-feeds.sh index 6760a5dff6..7f3dff0dd3 100755 --- a/contrib/angstrom/build-feeds.sh +++ b/contrib/angstrom/build-feeds.sh @@ -70,7 +70,7 @@ fi for machine in ${ARCH_MACHINES} do BUILD_MACHINE=$machine - BUILD_CLEAN="qmake-native qmake2-native qt-x11-free iso-codes python python-native python-pygtk gnome-icon-theme" + BUILD_CLEAN="qmake-native qmake2-native qt-x11-free iso-codes perl perl-native python python-native python-pygtk gnome-icon-theme" BUILD_TARGETS=" \ abiword \ aircrack-ng \ -- cgit v1.2.3 From d62c9c524449adadd7af3bc76f1230e227b5b0c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Tue, 3 Nov 2009 17:20:53 +0100 Subject: ntp-4.2.4p7: invoke ntpdate using if-up.d, not an init script * provide an if-up.d script for ntpdate (based on Debian's) * remove invocation of update-rc.d busybox-cron, this should definitely not be part of the ntpdate package --- recipes/ntp/ntp-4.2.4p7/ntpdate | 45 +++++++++++++++++++++++++++++++++++++++++ recipes/ntp/ntp_4.2.4p7.bb | 10 ++++----- 2 files changed, 50 insertions(+), 5 deletions(-) create mode 100755 recipes/ntp/ntp-4.2.4p7/ntpdate diff --git a/recipes/ntp/ntp-4.2.4p7/ntpdate b/recipes/ntp/ntp-4.2.4p7/ntpdate new file mode 100755 index 0000000000..5b139ed1ed --- /dev/null +++ b/recipes/ntp/ntp-4.2.4p7/ntpdate @@ -0,0 +1,45 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/bin + +test -x /usr/bin/ntpdate || exit 0 + +if test -f /etc/default/ntpdate ; then +. /etc/default/ntpdate +else +NTPSERVERS="pool.ntp.org" +fi + +test -n "$NTPSERVERS" || exit 0 + +# This is a heuristic: The idea is that if a static interface is brought +# up, that is a major event, and we can put in some extra effort to fix +# the system time. Feel free to change this, especially if you regularly +# bring up new network interfaces. +if [ "$METHOD" = static ]; then + OPTS="-b" +fi + +if [ "$METHOD" = loopback ]; then + exit 0 +fi + +( + +LOCKFILE=/var/lock/ntpdate + +# Avoid running more than one at a time +if [ -x /usr/bin/lockfile-create ]; then + lockfile-create $LOCKFILE + lockfile-touch $LOCKFILE & + LOCKTOUCHPID="$!" +fi + +/usr/bin/ntpdate -s $OPTS $NTPSERVERS 2>/dev/null || : + +if [ -x /usr/bin/lockfile-create ] ; then + kill $LOCKTOUCHPID + lockfile-remove $LOCKFILE +fi + +) & diff --git a/recipes/ntp/ntp_4.2.4p7.bb b/recipes/ntp/ntp_4.2.4p7.bb index 5e24e8adb1..4109c40c29 100644 --- a/recipes/ntp/ntp_4.2.4p7.bb +++ b/recipes/ntp/ntp_4.2.4p7.bb @@ -1,6 +1,6 @@ require ntp.inc -PR = "r0" +PR = "r1" SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \ file://tickadj.c.patch;patch=1 \ @@ -17,24 +17,24 @@ FILES_${PN}-bin = "${bindir}/ntp-wait ${bindir}/ntpdc ${bindir}/ntpq ${bindir}/n FILES_${PN} = "${bindir}/ntpd ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd" FILES_${PN}-tickadj = "${bindir}/tickadj" FILES_ntp-utils = "${bindir}/*" +FILES_ntpdate = "${bindir}/ntpdate ${sysconfdir}/network/if-up.d/ntpdate" do_install_append() { install -d ${D}/${sysconfdir}/init.d install -m 644 ${WORKDIR}/ntp.conf ${D}/${sysconfdir} - install -m 755 ${WORKDIR}/ntpdate ${D}/${sysconfdir}/init.d install -m 755 ${WORKDIR}/ntpd ${D}/${sysconfdir}/init.d + install -d ${D}/${sysconfdir}/network/if-up.d + install -m 755 ${WORKDIR}/ntpdate ${D}/${sysconfdir}/network/if-up.d } pkg_postinst_ntpdate() { if test "x$D" != "x"; then exit 1 else - if ! grep -q ntpdate /etc/cron/crontabs/root; then + if ! grep -q -s ntpdate /etc/cron/crontabs/root; then echo "adding crontab" test -d /etc/cron/crontabs || mkdir -p /etc/cron/crontabs echo "30 * * * * /usr/bin/ntpdate -s -u pool.ntp.org" >> /etc/cron/crontabs/root fi - update-rc.d -s busybox-cron defaults - update-rc.d -s ntpdate defaults 30 fi } -- cgit v1.2.3 From d450fec33abb311dac3d47a51e16098b802d08e2 Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Tue, 3 Nov 2009 17:38:31 +0100 Subject: cmake.bbclass: use staging from autotools too --- classes/cmake.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index b5b7b8655b..4978421b63 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -1,7 +1,7 @@ DEPENDS += " cmake-native " # We want the staging and installing functions from autotools -inherit autotools +inherit autotools_stage # Use in-tree builds by default but allow this to be changed # since some packages do not support them (e.g. llvm 2.5). -- cgit v1.2.3 From 3cb452d2f533f007e8c1e7544c636968514ac106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Tue, 3 Nov 2009 18:31:14 +0100 Subject: ntp-4.2.4p7: make it possible to call hwclock from ntpdate if-up.d script --- recipes/ntp/ntp-4.2.4p7/ntpdate | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/ntp/ntp-4.2.4p7/ntpdate b/recipes/ntp/ntp-4.2.4p7/ntpdate index 5b139ed1ed..784b029ad5 100755 --- a/recipes/ntp/ntp-4.2.4p7/ntpdate +++ b/recipes/ntp/ntp-4.2.4p7/ntpdate @@ -35,7 +35,11 @@ if [ -x /usr/bin/lockfile-create ]; then LOCKTOUCHPID="$!" fi -/usr/bin/ntpdate -s $OPTS $NTPSERVERS 2>/dev/null || : +if /usr/bin/ntpdate -s $OPTS $NTPSERVERS 2>/dev/null; then + if [ "$UPDATE_HWCLOCK" = "yes" ]; then + hwclock --systohc || : + fi +fi if [ -x /usr/bin/lockfile-create ] ; then kill $LOCKTOUCHPID -- cgit v1.2.3 From ea6f6abebde67f959098acebfe19ace84a5886e2 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Tue, 3 Nov 2009 18:49:16 +0100 Subject: openvpn: added 2.1rc20 and enabled reading passwords from file --- recipes/openvpn/openvpn_2.0.9+2.1rc20.bb | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 recipes/openvpn/openvpn_2.0.9+2.1rc20.bb diff --git a/recipes/openvpn/openvpn_2.0.9+2.1rc20.bb b/recipes/openvpn/openvpn_2.0.9+2.1rc20.bb new file mode 100644 index 0000000000..f671e15165 --- /dev/null +++ b/recipes/openvpn/openvpn_2.0.9+2.1rc20.bb @@ -0,0 +1,9 @@ +require openvpn.inc + +SRC_URI = "http://openvpn.net/release/openvpn-2.1_rc20.tar.gz \ + file://openvpn" + +S = "${WORKDIR}/openvpn-2.1_rc20" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "--enable-password-save" -- cgit v1.2.3 From 2d81468a71d51f66dc888d18a7bec0cb5018caa3 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Tue, 3 Nov 2009 18:50:03 +0100 Subject: usbutils: added 0.86 --- recipes/usbutils/usbutils_0.86.bb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 recipes/usbutils/usbutils_0.86.bb diff --git a/recipes/usbutils/usbutils_0.86.bb b/recipes/usbutils/usbutils_0.86.bb new file mode 100644 index 0000000000..436331dd5a --- /dev/null +++ b/recipes/usbutils/usbutils_0.86.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Host side USB console utilities." +SECTION = "base" +DEPENDS += "virtual/libusb0" +LICENSE = "GPL" +PRIORITY = "optional" + +SRC_URI = "${SOURCEFORGE_MIRROR}/linux-usb/usbutils-${PV}.tar.gz \ + " +inherit autotools + +EXTRA_OECONF = "--program-prefix=" +sbindir = "/sbin" +bindir = "/bin" + +FILES_${PN} += "${datadir}/usb*" + +do_configure_prepend() { + rm -rf ${S}/libusb +} -- cgit v1.2.3 From fa73b454471566d7d08679deec512531c40256d0 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Tue, 3 Nov 2009 19:14:42 +0100 Subject: checksums.ini: added usbutils and openvpn --- conf/checksums.ini | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/conf/checksums.ini b/conf/checksums.ini index 2c1357b681..6e76e669e5 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -19926,6 +19926,10 @@ sha256=063f00d5b889beee910eb113c8cfbb4fc85cd404693494bcaaf79dd09a98335c md5=ba2ee667a8b7606b125b7d32f47ca578 sha256=d7f52e2217ed1cf367ca93257b27c8acb29fcae4fcaa31b4a94146a3c7a7de33 +[http://openvpn.net/release/openvpn-2.1_rc20.tar.gz] +md5=8187f8f21507faac5e320e32747203b8 +sha256=4d423b48cb3ccc66b5669b9404dcb028cb62af410361c09e6056db0c5d2a1267 + [http://downloads.sourceforge.net/gakusei/openwrt-imagetools-svn-rev7641.tar.bz2] md5=7f35543286911b827dcbf8d07a7d72be sha256=bad49b59646dbea380cc88be13a77d17c70488b8e11e85f7dd474930fa9cf36a @@ -26102,6 +26106,10 @@ sha256=2edc7cc98fd217f6980d8ba0b3792beed4695d4e8429a11c7237faab04ab47f4 md5=6e393cc7423b5d228fa3d34c21481ae4 sha256=9876b0e45a1bd3899222b916ab1d423e9efa3ad9374d55a6a301d5716f2d8a2f +[http://downloads.sourceforge.net/linux-usb/usbutils-0.86.tar.gz] +md5=34979f675d2bcb3e1b45012fa830a53f +sha256=b3b2bea6d2cd87660c8201a47071bf2a9889d8ed90c7203cc768b597799c12f4 + [http://www.kroah.com/linux-usb/usbview-1.0.tar.gz] md5=2ac1bdae03a858b965e895b211a75ad7 sha256=7a7add52242142f37a7d220c76dfe77090f6592eacdf796e3d07fa61415340fd -- cgit v1.2.3 From a6a93a9acb8c7e786d1c5b70d4e521f7bd155994 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 3 Nov 2009 21:06:23 +0100 Subject: libgles-omap3: adjust for future releases --- recipes/powervr-drivers/libgles-omap3.inc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/recipes/powervr-drivers/libgles-omap3.inc b/recipes/powervr-drivers/libgles-omap3.inc index 1f098da1fe..79dcf59dd0 100644 --- a/recipes/powervr-drivers/libgles-omap3.inc +++ b/recipes/powervr-drivers/libgles-omap3.inc @@ -52,7 +52,7 @@ BINLOCATION ?= "${S}/gfx_rel" PACKAGES += " xserver-kdrive-powervrsgx ${PN}-tests ${PN}-demos" -FILES_${PN} = "${sysconfdir} ${libdir}/lib*.so.* ${libdir}/ES*/* ${bindir}/pvrsrvinit ${bindir}/*/*" +FILES_${PN} = "${sysconfdir} ${libdir}/lib*.so.* ${libdir}/ES*/* ${bindir}/pvrsrvinit ${bindir}/cputype ${bindir}/*/*" FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx" FILES_${PN}-tests = "${bindir}" FILES_${PN}-demos = "${prefix}/demos ${prefix}/share/applications " @@ -101,9 +101,10 @@ do_install () { install -d ${D}${includedir} cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${D}${includedir}/ cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${D}${includedir}/ - cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/LinuxOMAP3/Include/GLES/* ${D}${includedir}/GLES/ - cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxOMAP3/Include/GLES/* ${D}${includedir}/GLES2/ - cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${D}${includedir}/ + cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/LinuxOMAP3/Include/GLES/* ${D}${includedir}/GLES/ || true + cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxOMAP3/Include/GLES/* ${D}${includedir}/GLES2/ || true + cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${D}${includedir}/ || true + cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/V* ${D}${includedir}/ || true cp -pPr ${S}/include/*.h ${D}${includedir} || true install -d ${D}${sysconfdir}/init.d/ @@ -134,10 +135,11 @@ do_stage () { cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${STAGING_INCDIR}/ cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${STAGING_INCDIR}/ - cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/LinuxOMAP3/Include/GLES/* ${STAGING_INCDIR}/GLES/ - cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxOMAP3/Include/GLES/* ${STAGING_INCDIR}/GLES2/ + cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/LinuxOMAP3/Include/GLES/* ${STAGING_INCDIR}/GLES/ || true + cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxOMAP3/Include/GLES/* ${STAGING_INCDIR}/GLES2/ || true cp -pPr ${S}/include/*.h ${STAGING_INCDIR} || true - cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${STAGING_INCDIR}/ + cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${STAGING_INCDIR}/ || true + cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/V* ${STAGING_INCDIR}/ || true } pkg_postinst() { -- cgit v1.2.3 From a9bbc07ae8cc1abe0925551845af1d10517e56a3 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman Date: Tue, 28 Apr 2009 05:17:26 -0700 Subject: neon: Add m4 dir to autoreconf. Signed-off-by: Jeremy Puhlman Signed-off-by: Chris Larson --- recipes/neon/neon_0.25.5.bb | 1 + recipes/neon/neon_0.26.0.bb | 1 + 2 files changed, 2 insertions(+) diff --git a/recipes/neon/neon_0.25.5.bb b/recipes/neon/neon_0.25.5.bb index 9151a74665..0f99c0ba9b 100644 --- a/recipes/neon/neon_0.25.5.bb +++ b/recipes/neon/neon_0.25.5.bb @@ -13,6 +13,7 @@ SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz \ inherit autotools binconfig lib_package pkgconfig EXTRA_OECONF = "--with-ssl=gnutls --with-libxml2 --with-expat --enable-shared" +EXTRA_AUTORECONF=" -I ${S}/macros " do_stage() { autotools_stage_all diff --git a/recipes/neon/neon_0.26.0.bb b/recipes/neon/neon_0.26.0.bb index 3a234851aa..4df99f7b2c 100644 --- a/recipes/neon/neon_0.26.0.bb +++ b/recipes/neon/neon_0.26.0.bb @@ -11,6 +11,7 @@ SRC_URI = "http://www.webdav.org/${PN}/${P}.tar.gz" inherit autotools binconfig lib_package pkgconfig EXTRA_OECONF = "--with-ssl=gnutls --with-libxml2 --with-expat --enable-shared" +EXTRA_AUTORECONF=" -I ${S}/macros " do_stage () { autotools_stage_all -- cgit v1.2.3 From fbccdee191234fe422df187261de313eb7c15257 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Wed, 15 Jul 2009 13:23:10 -0700 Subject: prelink: pull in /etc/cron.daily/prelink in the postinst. The cron script obeys /etc/default/prelink, so this ensures that the postinst also obeys it. Also changes postrm to use the same logic as the cron script for the prelink uninstallation. Signed-off-by: Chris Larson --- recipes/prelink/prelink_20061027.bb | 9 ++++++--- recipes/prelink/prelink_20071009.bb | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/recipes/prelink/prelink_20061027.bb b/recipes/prelink/prelink_20061027.bb index b650c2c2f1..83f33f382c 100644 --- a/recipes/prelink/prelink_20061027.bb +++ b/recipes/prelink/prelink_20061027.bb @@ -4,7 +4,7 @@ DESCRIPTION = " The prelink package contains a utility which modifies ELF shared and executables, so that far fewer relocations need to be resolved at \ runtime and thus programs come up faster." LICENSE = "GPL" -PR = "r5" +PR = "r6" SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \ file://prelink.conf \ @@ -35,12 +35,15 @@ if [ "x$D" != "x" ]; then exit 1 fi -prelink -a +. ${sysconfdir}/cron.daily/prelink } pkg_prerm_prelink() { #!/bin/sh -prelink -au +if [ -f ${sysconfdir}/prelink.cache ]; then + prelink -au + rm -f ${sysconfdir}/prelink.cache +fi } diff --git a/recipes/prelink/prelink_20071009.bb b/recipes/prelink/prelink_20071009.bb index b650c2c2f1..83f33f382c 100644 --- a/recipes/prelink/prelink_20071009.bb +++ b/recipes/prelink/prelink_20071009.bb @@ -4,7 +4,7 @@ DESCRIPTION = " The prelink package contains a utility which modifies ELF shared and executables, so that far fewer relocations need to be resolved at \ runtime and thus programs come up faster." LICENSE = "GPL" -PR = "r5" +PR = "r6" SRC_URI = "${DEBIAN_MIRROR}/main/p/prelink/prelink_0.0.${PV}.orig.tar.gz \ file://prelink.conf \ @@ -35,12 +35,15 @@ if [ "x$D" != "x" ]; then exit 1 fi -prelink -a +. ${sysconfdir}/cron.daily/prelink } pkg_prerm_prelink() { #!/bin/sh -prelink -au +if [ -f ${sysconfdir}/prelink.cache ]; then + prelink -au + rm -f ${sysconfdir}/prelink.cache +fi } -- cgit v1.2.3