summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2014-10-10 03:20:04 +0200
committerTudor Florea <tudor.florea@enea.com>2014-10-10 03:20:04 +0200
commit1b8dfe266937a37a4c642f96ceb2347bf4c00a17 (patch)
tree0c6aab146bb3c82efd9c7846a9a4e70dcb0ec84f /meta-oe/recipes-extended
downloadmeta-openembedded-daisy-140929.tar.gz
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-extended')
-rw-r--r--meta-oe/recipes-extended/acpica/acpica_20140325.bb34
-rw-r--r--meta-oe/recipes-extended/acpica/acpitests/0001-Fixup-aapits-build.patch558
-rw-r--r--meta-oe/recipes-extended/acpica/acpitests_20140114.bb34
-rw-r--r--meta-oe/recipes-extended/acpica/files/no-werror.patch32
-rw-r--r--meta-oe/recipes-extended/anki/anki-0.4.3.inc8
-rw-r--r--meta-oe/recipes-extended/anki/anki.inc9
-rw-r--r--meta-oe/recipes-extended/anki/anki/no-need-for-pyqt-at-buildtime.patch28
-rw-r--r--meta-oe/recipes-extended/anki/anki_0.4.3.bb4
-rw-r--r--meta-oe/recipes-extended/anki/libanki/no-need-for-pyqt-at-buildtime.patch14
-rw-r--r--meta-oe/recipes-extended/anki/libanki_0.4.3.bb3
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/collectd-version.patch31
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/collectd.init212
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch30
-rw-r--r--meta-oe/recipes-extended/collectd/collectd_5.2.2.bb61
-rw-r--r--meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb18
-rw-r--r--meta-oe/recipes-extended/dialog/dialog-static_1.1-20120706.bb6
-rw-r--r--meta-oe/recipes-extended/dialog/dialog.inc25
-rw-r--r--meta-oe/recipes-extended/dialog/dialog_1.1-20120706.bb4
-rw-r--r--meta-oe/recipes-extended/efivar/efivar_git.bb18
-rw-r--r--meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb15
-rw-r--r--meta-oe/recipes-extended/fwts/fwts_git.bb22
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch16
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch11
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot.inc39
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop8
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.pngbin0 -> 9383 bytes
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm483
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb14
-rw-r--r--meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch30
-rw-r--r--meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb17
-rw-r--r--meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch395
-rw-r--r--meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch35
-rw-r--r--meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch12
-rw-r--r--meta-oe/recipes-extended/hplip/hplip_3.12.6.bb71
-rw-r--r--meta-oe/recipes-extended/iotop/iotop_0.4.4.bb25
-rw-r--r--meta-oe/recipes-extended/jansson/jansson_2.4.bb12
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch21
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc5.inc81
-rw-r--r--meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb24
-rw-r--r--meta-oe/recipes-extended/libcec/libcec_git.bb23
-rw-r--r--meta-oe/recipes-extended/libconfig/libconfig_1.4.9.bb14
-rw-r--r--meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch18
-rw-r--r--meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb19
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch21
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb22
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch25
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch70
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch48
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch21
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch54
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb29
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus_3.0.5.bb16
-rw-r--r--meta-oe/recipes-extended/libuio/libuio_0.2.1.bb17
-rw-r--r--meta-oe/recipes-extended/libungif/libungif_4.1.4.bb16
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch31
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch14
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb27
-rw-r--r--meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc43x.diff63
-rw-r--r--meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc47x.diff48
-rw-r--r--meta-oe/recipes-extended/mml-widget/gtkmathview/qualify-lookup.diff13
-rw-r--r--meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb21
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch35
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb36
-rw-r--r--meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules8
-rw-r--r--meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules8
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb26
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb14
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb14
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule.inc9
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch39
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch23
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_0.111.bb61
-rw-r--r--meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch29
-rwxr-xr-xmeta-oe/recipes-extended/redis/redis/init-redis-server40
-rw-r--r--meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch54
-rw-r--r--meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch33
-rw-r--r--meta-oe/recipes-extended/redis/redis/redis.conf550
-rw-r--r--meta-oe/recipes-extended/redis/redis_2.6.9.bb36
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch1733
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool/remove_hardcoded_xml_include.patch11
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb119
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/initscript118
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf84
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate39
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb105
-rw-r--r--meta-oe/recipes-extended/sip/sip-native_4.14.2.bb35
-rwxr-xr-xmeta-oe/recipes-extended/smartmontools/files/initd.smartd108
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb39
-rw-r--r--meta-oe/recipes-extended/socketcan/can-utils_git.bb16
-rw-r--r--meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch94
-rw-r--r--meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb17
-rw-r--r--meta-oe/recipes-extended/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch39
-rw-r--r--meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb20
-rw-r--r--meta-oe/recipes-extended/subsurface/subsurface_git.bb30
-rw-r--r--meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch128
-rw-r--r--meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch116
-rw-r--r--meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb26
-rw-r--r--meta-oe/recipes-extended/tcsh/files/01_build.1.patch16
-rw-r--r--meta-oe/recipes-extended/tcsh/files/01_build.2.patch13
-rw-r--r--meta-oe/recipes-extended/tcsh/files/01_build.3.patch13
-rw-r--r--meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch24
-rw-r--r--meta-oe/recipes-extended/tcsh/files/15_no-strip.patch14
-rw-r--r--meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch14
-rw-r--r--meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch30
-rw-r--r--meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch23
-rw-r--r--meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch30
-rw-r--r--meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch18
-rw-r--r--meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb49
-rw-r--r--meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb40
-rw-r--r--meta-oe/recipes-extended/tmux/tmux_1.6.bb18
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch16
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch84
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb26
-rw-r--r--meta-oe/recipes-extended/zram/zram/init85
-rw-r--r--meta-oe/recipes-extended/zram/zram/zram.service12
-rw-r--r--meta-oe/recipes-extended/zram/zram_0.1.bb33
-rw-r--r--meta-oe/recipes-extended/zsh/zsh.inc57
-rw-r--r--meta-oe/recipes-extended/zsh/zsh_5.0.5.bb5
118 files changed, 7602 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/acpica/acpica_20140325.bb b/meta-oe/recipes-extended/acpica/acpica_20140325.bb
new file mode 100644
index 0000000000..0210b044b3
--- /dev/null
+++ b/meta-oe/recipes-extended/acpica/acpica_20140325.bb
@@ -0,0 +1,34 @@
1SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
2DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
3OS-independent reference implementation of the Advanced Configuration and \
4Power Interface Specification (ACPI). ACPICA code contains those portions of \
5ACPI meant to be directly integrated into the host OS as a kernel-resident \
6subsystem, and a small set of tools to assist in developing and debugging \
7ACPI tables."
8HOMEPAGE = "http://www.acpica.org/"
9SECTION = "console/tools"
10LICENSE = "BSD | GPLv2"
11LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
12DEPENDS = "bison flex"
13
14SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \
15 file://no-werror.patch \
16 "
17SRC_URI[md5sum] = "08efe232bca06a7c54462695bbc2f87c"
18SRC_URI[sha256sum] = "12a7a3c9f2d81e46b0c7095bb7c268ec4bf231178fcbe54ff0c30cd83d2ac38c"
19
20S = "${WORKDIR}/acpica-unix2-${PV}"
21
22EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'"
23
24do_install() {
25 install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl
26 install -D -p -m0755 generate/unix/bin*/acpibin ${D}${bindir}/acpibin
27 install -D -p -m0755 generate/unix/bin*/acpiexec ${D}${bindir}/acpiexec
28 install -D -p -m0755 generate/unix/bin*/acpihelp ${D}${bindir}/acpihelp
29 install -D -p -m0755 generate/unix/bin*/acpinames ${D}${bindir}/acpinames
30 install -D -p -m0755 generate/unix/bin*/acpisrc ${D}${bindir}/acpisrc
31 install -D -p -m0755 generate/unix/bin*/acpixtract ${D}${bindir}/acpixtract
32}
33
34COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
diff --git a/meta-oe/recipes-extended/acpica/acpitests/0001-Fixup-aapits-build.patch b/meta-oe/recipes-extended/acpica/acpitests/0001-Fixup-aapits-build.patch
new file mode 100644
index 0000000000..6565a32abd
--- /dev/null
+++ b/meta-oe/recipes-extended/acpica/acpitests/0001-Fixup-aapits-build.patch
@@ -0,0 +1,558 @@
1From d9743540b5399a14a7ca1ba708156bed956d9425 Mon Sep 17 00:00:00 2001
2From: Al Stone <ahs3@ahs3.net>
3Date: Fri, 17 Jan 2014 12:51:13 +0100
4Subject: [PATCH] Fixup aapits build
5
6From http://git.linaro.org/people/al.stone/acpica-tools.git
7Upstream-status: Unknown
8---
9 tests/aapits/Makefile | 44 +++++++++++++++++++++++++++++++++++++++++---
10 tests/aapits/atexec.c | 15 ++++++++++-----
11 tests/aapits/atinit.c | 10 +++++-----
12 tests/aapits/atmain.c | 6 +++---
13 tests/aapits/atnamespace.c | 12 ++++++++----
14 tests/aapits/atosxfctrl.c | 21 +++++++++++++++++----
15 tests/aapits/atresource.c | 10 +++++-----
16 tests/aapits/osunixxf.c | 25 ++++++++++++++++++++++---
17 8 files changed, 111 insertions(+), 32 deletions(-)
18
19diff --git a/tests/aapits/Makefile b/tests/aapits/Makefile
20index b774c9c..9bf12b8 100644
21--- a/tests/aapits/Makefile
22+++ b/tests/aapits/Makefile
23@@ -20,37 +20,53 @@ SRCS= atexec.c atmain.c \
24 ../../source/components/hardware/hwxface.c \
25 ../../source/common/getopt.c \
26 ../../source/components/debugger/dbcmds.c \
27+ ../../source/components/debugger/dbconvert.c \
28 ../../source/components/debugger/dbdisply.c \
29 ../../source/components/debugger/dbexec.c \
30 ../../source/components/debugger/dbfileio.c \
31 ../../source/components/debugger/dbhistry.c \
32 ../../source/components/debugger/dbinput.c \
33+ ../../source/components/debugger/dbmethod.c \
34+ ../../source/components/debugger/dbnames.c \
35 ../../source/components/debugger/dbstats.c \
36+ ../../source/components/debugger/dbtest.c \
37 ../../source/components/debugger/dbutils.c \
38 ../../source/components/debugger/dbxface.c \
39 ../../source/components/disassembler/dmbuffer.c \
40+ ../../source/components/disassembler/dmdeferred.c \
41 ../../source/components/disassembler/dmnames.c \
42 ../../source/components/disassembler/dmobject.c \
43 ../../source/components/disassembler/dmopcode.c \
44 ../../source/components/disassembler/dmresrc.c \
45 ../../source/components/disassembler/dmresrcl.c \
46+ ../../source/components/disassembler/dmresrcl2.c \
47 ../../source/components/disassembler/dmresrcs.c \
48 ../../source/components/disassembler/dmutils.c \
49 ../../source/components/disassembler/dmwalk.c \
50 ../../source/components/events/evevent.c \
51+ ../../source/components/events/evglock.c \
52 ../../source/components/events/evgpeblk.c \
53 ../../source/components/events/evgpe.c \
54+ ../../source/components/events/evgpeinit.c \
55+ ../../source/components/events/evgpeutil.c \
56+ ../../source/components/events/evhandler.c \
57 ../../source/components/events/evmisc.c \
58 ../../source/components/events/evregion.c \
59 ../../source/components/events/evrgnini.c \
60 ../../source/components/events/evsci.c \
61 ../../source/components/events/evxface.c \
62 ../../source/components/events/evxfevnt.c \
63+ ../../source/components/events/evxfgpe.c \
64 ../../source/components/events/evxfregn.c \
65 ../../source/components/hardware/hwacpi.c \
66+ ../../source/components/hardware/hwesleep.c \
67 ../../source/components/hardware/hwgpe.c \
68+ ../../source/components/hardware/hwpci.c \
69 ../../source/components/hardware/hwregs.c \
70 ../../source/components/hardware/hwsleep.c \
71+ ../../source/components/hardware/hwxfsleep.c \
72+ ../../source/components/dispatcher/dsargs.c \
73+ ../../source/components/dispatcher/dscontrol.c \
74 ../../source/components/dispatcher/dsfield.c \
75 ../../source/components/dispatcher/dsinit.c \
76 ../../source/components/dispatcher/dsmethod.c \
77@@ -60,11 +76,13 @@ SRCS= atexec.c atmain.c \
78 ../../source/components/dispatcher/dsutils.c \
79 ../../source/components/dispatcher/dswexec.c \
80 ../../source/components/dispatcher/dswload.c \
81+ ../../source/components/dispatcher/dswload2.c \
82 ../../source/components/dispatcher/dswscope.c \
83 ../../source/components/dispatcher/dswstate.c \
84 ../../source/components/executer/exconfig.c \
85 ../../source/components/executer/exconvrt.c \
86 ../../source/components/executer/excreate.c \
87+ ../../source/components/executer/exdebug.c \
88 ../../source/components/executer/exdump.c \
89 ../../source/components/executer/exfield.c \
90 ../../source/components/executer/exfldio.c \
91@@ -87,7 +105,9 @@ SRCS= atexec.c atmain.c \
92 ../../source/components/executer/exutils.c \
93 ../../source/components/parser/psargs.c \
94 ../../source/components/parser/psloop.c \
95+ ../../source/components/parser/psobject.c \
96 ../../source/components/parser/psopcode.c \
97+ ../../source/components/parser/psopinfo.c \
98 ../../source/components/parser/psparse.c \
99 ../../source/components/parser/psscope.c \
100 ../../source/components/parser/pstree.c \
101@@ -96,6 +116,8 @@ SRCS= atexec.c atmain.c \
102 ../../source/components/parser/psxface.c \
103 ../../source/components/namespace/nsaccess.c \
104 ../../source/components/namespace/nsalloc.c \
105+ ../../source/components/namespace/nsarguments.c \
106+ ../../source/components/namespace/nsconvert.c \
107 ../../source/components/namespace/nsdump.c \
108 ../../source/components/namespace/nsdumpdv.c \
109 ../../source/components/namespace/nseval.c \
110@@ -105,6 +127,7 @@ SRCS= atexec.c atmain.c \
111 ../../source/components/namespace/nsobject.c \
112 ../../source/components/namespace/nsparse.c \
113 ../../source/components/namespace/nspredef.c \
114+ ../../source/components/namespace/nsprepkg.c \
115 ../../source/components/namespace/nsrepair.c \
116 ../../source/components/namespace/nsrepair2.c \
117 ../../source/components/namespace/nssearch.c \
118@@ -117,26 +140,35 @@ SRCS= atexec.c atmain.c \
119 ../../source/components/resources/rscalc.c \
120 ../../source/components/resources/rscreate.c \
121 ../../source/components/resources/rsdump.c \
122+ ../../source/components/resources/rsdumpinfo.c \
123+ ../../source/components/resources/rsinfo.c \
124 ../../source/components/resources/rsio.c \
125 ../../source/components/resources/rsirq.c \
126 ../../source/components/resources/rslist.c \
127 ../../source/components/resources/rsmemory.c \
128 ../../source/components/resources/rsmisc.c \
129+ ../../source/components/resources/rsserial.c \
130 ../../source/components/resources/rsutils.c \
131 ../../source/components/resources/rsxface.c \
132- ../../source/components/resources/rsinfo.c \
133 ../../source/components/tables/tbfadt.c \
134 ../../source/components/tables/tbfind.c \
135 ../../source/components/tables/tbinstal.c \
136+ ../../source/components/tables/tbprint.c \
137 ../../source/components/tables/tbutils.c \
138 ../../source/components/tables/tbxface.c \
139+ ../../source/components/tables/tbxfload.c \
140 ../../source/components/tables/tbxfroot.c \
141+ ../../source/components/utilities/utaddress.c \
142 ../../source/components/utilities/utalloc.c \
143+ ../../source/components/utilities/utbuffer.c \
144 ../../source/components/utilities/utcache.c \
145 ../../source/components/utilities/utcopy.c \
146 ../../source/components/utilities/utdebug.c \
147+ ../../source/components/utilities/utdecode.c \
148 ../../source/components/utilities/utdelete.c \
149+ ../../source/components/utilities/uterror.c \
150 ../../source/components/utilities/uteval.c \
151+ ../../source/components/utilities/utexcep.c \
152 ../../source/components/utilities/utglobal.c \
153 ../../source/components/utilities/utids.c \
154 ../../source/components/utilities/utinit.c \
155@@ -145,17 +177,23 @@ SRCS= atexec.c atmain.c \
156 ../../source/components/utilities/utmisc.c \
157 ../../source/components/utilities/utmutex.c \
158 ../../source/components/utilities/utobject.c \
159+ ../../source/components/utilities/utosi.c \
160+ ../../source/components/utilities/utownerid.c \
161+ ../../source/components/utilities/utpredef.c \
162 ../../source/components/utilities/utresrc.c \
163 ../../source/components/utilities/utstate.c \
164+ ../../source/components/utilities/utstring.c \
165 ../../source/components/utilities/uttrack.c \
166- ../../source/components/utilities/utxface.c
167+ ../../source/components/utilities/utxface.c \
168+ ../../source/components/utilities/utxferror.c \
169+ ../../source/components/utilities/utxfinit.c
170 # ../../source/components/osunixxf.c
171
172
173 CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../source/include
174
175
176-acpiexec : $(patsubst %.c,%.o, $(SRCS))
177+$(PROG) : $(patsubst %.c,%.o, $(SRCS))
178 $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG)
179
180 CLEANFILES= $(PROG)
181diff --git a/tests/aapits/atexec.c b/tests/aapits/atexec.c
182index 0280557..1406c0f 100644
183--- a/tests/aapits/atexec.c
184+++ b/tests/aapits/atexec.c
185@@ -639,6 +639,7 @@ AtBuildLocalFADT2 (
186 }
187
188
189+#if ACPI_MACHINE_WIDTH == 32
190 /*******************************************************************************
191 *
192 * FUNCTION: AtBuildLocalRSDT
193@@ -757,6 +758,7 @@ AtBuildLocalRSDT (
194 LocalRSDT->Header.Checksum = (UINT8)~LocalRSDT->Header.Checksum;
195 }
196 }
197+#endif
198
199
200 /*******************************************************************************
201@@ -1424,7 +1426,7 @@ AeRegionHandler (
202 ACPI_WARNING ((AE_INFO,
203 "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X\n",
204 (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address,
205- ByteWidth, (UINT32) BufferAddress, Length));
206+ ByteWidth, (UINT32) BufferAddress, (UINT32) Length));
207
208 return (AE_AML_REGION_LIMIT);
209 }
210@@ -1792,7 +1794,9 @@ AtCheckInteger(
211 Path, Obj.Integer.Value, Value);
212 #else
213 printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
214- Path, Obj.Integer.Value, Value);
215+ Path,
216+ (long long unsigned int) Obj.Integer.Value,
217+ (long long unsigned int) Value);
218 #endif
219 Status = AE_ERROR;
220 }
221@@ -1871,7 +1875,7 @@ AtCheckString(
222 {
223 TestErrors++;
224 printf ("Test Error: cannot allocate buffer of %d bytes\n",
225- Results.Length);
226+ (int) Results.Length);
227 return (AE_NO_MEMORY);
228 }
229 Results.Pointer = Object;
230@@ -1952,7 +1956,8 @@ AtCheckBuffer(
231 {
232 printf ("AtCheckBuffer: unexpected length %d of Buffer vs"
233 " calculated %d bytes\n",
234- Results.Length, ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length));
235+ (int)Results.Length,
236+ (int)(ACPI_ROUND_UP_TO_NATIVE_WORD(sizeof (ACPI_OBJECT) + Length)));
237 }
238
239 /* Initialize the return buffer structure */
240@@ -1961,7 +1966,7 @@ AtCheckBuffer(
241 {
242 TestErrors++;
243 printf ("Test Error: cannot allocate buffer of %d bytes\n",
244- Results.Length);
245+ (int) Results.Length);
246 return (AE_NO_MEMORY);
247 }
248 Results.Pointer = Object;
249diff --git a/tests/aapits/atinit.c b/tests/aapits/atinit.c
250index 5bb8ee3..2444225 100644
251--- a/tests/aapits/atinit.c
252+++ b/tests/aapits/atinit.c
253@@ -3024,7 +3024,7 @@ AtInitTest0041(void)
254 AapiErrors++;
255 printf ("API Error: AcpiGetSystemInfo() returned"
256 " Length %d, expected %d\n",
257- OutBuffer.Length, sizeof (Info));
258+ (int) OutBuffer.Length, (int) sizeof (Info));
259 return (AE_ERROR);
260 }
261
262@@ -3046,7 +3046,7 @@ AtInitTest0041(void)
263 AapiErrors++;
264 printf ("API Error: AcpiGetSystemInfo() returned"
265 " Length %d, expected %d\n",
266- OutBuffer.Length, sizeof (Info));
267+ (int) OutBuffer.Length, (int) sizeof (Info));
268 return (AE_ERROR);
269 }
270
271@@ -3066,7 +3066,7 @@ AtInitTest0041(void)
272 AapiErrors++;
273 printf ("API Error: AcpiGetSystemInfo() returned"
274 " Length %d, expected %d\n",
275- OutBuffer.Length, sizeof (Info));
276+ (int) OutBuffer.Length, (int) sizeof (Info));
277 return (AE_ERROR);
278 }
279 else if (OutBuffer.Pointer != &Info)
280@@ -3149,7 +3149,7 @@ AtInitTest0042(void)
281 AapiErrors++;
282 printf ("API Error: AcpiGetSystemInfo() returned"
283 " Length %d, expected %d\n",
284- OutBuffer.Length, sizeof (Info));
285+ (int) OutBuffer.Length, (int) sizeof (Info));
286 return (AE_ERROR);
287 }
288 else if (OutBuffer.Pointer != &Info)
289@@ -3214,7 +3214,7 @@ AtInitTest0043(void)
290 AapiErrors++;
291 printf ("API Error: AcpiGetSystemInfo() returned"
292 " Length %d, expected %d\n",
293- OutBuffer.Length, sizeof (ACPI_SYSTEM_INFO));
294+ (int) OutBuffer.Length, (int) sizeof (ACPI_SYSTEM_INFO));
295 return (AE_ERROR);
296 }
297 else
298diff --git a/tests/aapits/atmain.c b/tests/aapits/atmain.c
299index c3f5de7..e83e524 100644
300--- a/tests/aapits/atmain.c
301+++ b/tests/aapits/atmain.c
302@@ -315,7 +315,7 @@ ExecuteTest (
303 {
304 printf ("ACPICA API TS err: test num %ld of test case %ld"
305 " is not implemented\n",
306- test_num, test_case);
307+ (long int) test_num, (long int) test_case);
308 return (AtRetNotImpl);
309 }
310
311@@ -430,7 +430,7 @@ main(
312 if (test_case < 1 || test_case > AT_TEST_CASE_NUM)
313 {
314 printf ("ACPICA API TS err: test case %ld is out of range 1 - %d\n",
315- test_case, AT_TEST_CASE_NUM);
316+ (long int) test_case, (int) AT_TEST_CASE_NUM);
317 return (AtRetBadParam);
318 }
319
320@@ -438,7 +438,7 @@ main(
321 if (test_num < 0 || test_num > AtTestCase[test_case].TestsNum)
322 {
323 printf ("ACPICA API TS err: test num %ld is out of range 0 - %d\n",
324- test_num, AtTestCase[test_case].TestsNum);
325+ (long int) test_num, AtTestCase[test_case].TestsNum);
326 return (AtRetBadParam);
327 }
328
329diff --git a/tests/aapits/atnamespace.c b/tests/aapits/atnamespace.c
330index 8a4ec65..76e3edb 100644
331--- a/tests/aapits/atnamespace.c
332+++ b/tests/aapits/atnamespace.c
333@@ -2535,7 +2535,8 @@ AtGetObjectInfoTypeCommon(
334 #else
335 printf ("API Error: Address of %s (0x%llX) != (0x%llX)\n",
336 PathNames[2 * i + 1],
337- Info->Address, ExpectedInfo[i].Address);
338+ (long long unsigned int) Info->Address,
339+ (long long unsigned int) ExpectedInfo[i].Address);
340 #endif
341 #else
342 printf ("API Error: Address of %s (0x%X) != (0x%X)\n",
343@@ -2908,7 +2909,8 @@ AtGetNextObjectTypeCommon(
344 TestErrors++;
345 printf ("AtGetNextObjectTypeCommon: different numbers of entities"
346 "in TypesNames (%d) and LevelTypes0000 (%d)\n",
347- TypesCount, sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE));
348+ TypesCount,
349+ (int) (sizeof (LevelTypes0000) / sizeof (ACPI_OBJECT_TYPE)));
350 return (AE_ERROR);
351 }
352
353@@ -4192,7 +4194,9 @@ AtCheckHandlePathMapping(
354 Pathname, Obj.Integer.Value, Value);
355 #else
356 printf ("API Error: Value of %s is 0x%llx instead of expected 0x%llx\n",
357- Pathname, Obj.Integer.Value, Value);
358+ Pathname,
359+ (long long unsigned int) Obj.Integer.Value,
360+ (long long unsigned int) Value);
361 #endif
362 Status = AE_ERROR;
363 }
364@@ -5199,7 +5203,7 @@ AtGetNameExceptionTest(
365 {
366 AapiErrors++;
367 printf ("API Error: AcpiOsAllocate(%d) returned NULL\n",
368- OutName.Length);
369+ (int) OutName.Length);
370 return (AE_ERROR);
371 }
372 }
373diff --git a/tests/aapits/atosxfctrl.c b/tests/aapits/atosxfctrl.c
374index 9680c4a..31d6971 100644
375--- a/tests/aapits/atosxfctrl.c
376+++ b/tests/aapits/atosxfctrl.c
377@@ -737,13 +737,15 @@ ACPI_OSXF_EMUL_REG
378 #if ACPI_MACHINE_WIDTH == 64
379 #ifdef _MSC_VER
380 printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%I64x\n",
381+ Width, Address);
382 #else
383 printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%llx\n",
384+ Width, (long long unsigned int) Address);
385 #endif
386 #else
387 printf("OsxfCtrlFingReg: unexpected Width %d of Reg 0x%x\n",
388-#endif
389 Width, Address);
390+#endif
391 return (NULL);
392 }
393
394@@ -764,15 +766,19 @@ ACPI_OSXF_EMUL_REG
395 #ifdef _MSC_VER
396 printf("OsxfCtrlFingReg: intersection Regs (0x%I64x: 0x%x)"
397 " and (0x%I64x: 0x%x)\n",
398+ Reg->Address, Reg->Width, Address, Width);
399 #else
400 printf("OsxfCtrlFingReg: intersection Regs (0x%llx: 0x%x)"
401 " and (0x%llx: 0x%x)\n",
402+ (long long unsigned int) Reg->Address,
403+ Reg->Width,
404+ (long long unsigned int) Address, Width);
405 #endif
406 #else
407 printf("OsxfCtrlFingReg: intersection Regs (0x%x: 0x%x)"
408 " and (0x%x: 0x%x)\n",
409-#endif
410 Reg->Address, Reg->Width, Address, Width);
411+#endif
412 return (NULL);
413 }
414 }
415@@ -786,13 +792,15 @@ ACPI_OSXF_EMUL_REG
416 #if ACPI_MACHINE_WIDTH == 64
417 #ifdef _MSC_VER
418 printf("OsxfCtrlFingReg: no memory for Reg (0x%I64x: 0x%x)\n",
419+ Reg->Address, Reg->Width);
420 #else
421 printf("OsxfCtrlFingReg: no memory for Reg (0x%llx: 0x%x)\n",
422+ (long long unsigned int) Reg->Address, Reg->Width);
423 #endif
424 #else
425 printf("OsxfCtrlFingReg: no memory for Reg (0x%x: 0x%x)\n",
426-#endif
427 Reg->Address, Reg->Width);
428+#endif
429 return (NULL);
430 }
431 Reg->Type = Type;
432@@ -932,14 +940,19 @@ OsxfCtrlRegService(UINT32 ServiceFlag)
433 #if ACPI_MACHINE_WIDTH == 64
434 #ifdef _MSC_VER
435 printf("%.2u (%s Address 0x%I64x: Width %.2u) r/w counts: %u/%u\n",
436+ i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
437+ Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
438 #else
439 printf("%.2u (%s Address 0x%llx: Width %.2u) r/w counts: %u/%u\n",
440+ i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
441+ (long long unsigned int) Reg->Address,
442+ Reg->Width, Reg->ReadCount, Reg->WriteCount);
443 #endif
444 #else
445 printf("%.2u (%s Address 0x%.4x: Width %.2u) r/w counts: %u/%u\n",
446-#endif
447 i, (Reg->Type == EMUL_REG_SYS)? "SYS": "IO",
448 Reg->Address, Reg->Width, Reg->ReadCount, Reg->WriteCount);
449+#endif
450 Reg = Reg->Next;
451 i++;
452 }
453diff --git a/tests/aapits/atresource.c b/tests/aapits/atresource.c
454index a570b73..72ade8b 100644
455--- a/tests/aapits/atresource.c
456+++ b/tests/aapits/atresource.c
457@@ -174,7 +174,7 @@ AtRsrcTest0000(void)
458 AapiErrors++;
459 printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
460 " expected %d\n",
461- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
462+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
463 return (AE_ERROR);
464 }
465
466@@ -490,7 +490,7 @@ AtRsrcTest0005(void)
467 AapiErrors++;
468 printf ("API Error: AcpiGetCurrentResources(%s) returned Length %d,"
469 " expected %d\n",
470- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
471+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
472 return (AE_ERROR);
473 }
474
475@@ -689,7 +689,7 @@ AtRsrcTest0007(void)
476 AapiErrors++;
477 printf ("Api Error: Resource->Length (%d) != %d\n",
478 CurrentResource->Length,
479- ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ)));
480+ (int) (ACPI_ROUND_UP_TO_NATIVE_WORD (ACPI_RS_SIZE (ACPI_RESOURCE_IRQ))));
481 }
482
483 if (CurrentResource->Data.Irq.Triggering != 0) /* Level-Triggered */
484@@ -981,7 +981,7 @@ AtRsrcTest0012(void)
485 AapiErrors++;
486 printf ("API Error: AcpiGetPossibleResources(%s) returned Length %d,"
487 " expected %d\n",
488- Pathname, OutBuffer.Length, RT0000_DEV0_CRS_LEN);
489+ Pathname, (int) OutBuffer.Length, RT0000_DEV0_CRS_LEN);
490 return (AE_ERROR);
491 }
492
493@@ -1923,7 +1923,7 @@ AtRsrcTest0026(void)
494 AapiErrors++;
495 printf ("API Error: AcpiGetIrqRoutingTable(%s) returned Length %d,"
496 " expected %d\n",
497- Pathname, OutBuffer.Length, 0xA48);
498+ Pathname, (int) OutBuffer.Length, 0xA48);
499 return (AE_ERROR);
500 }
501
502diff --git a/tests/aapits/osunixxf.c b/tests/aapits/osunixxf.c
503index 9f908fb..1fbdb70 100644
504--- a/tests/aapits/osunixxf.c
505+++ b/tests/aapits/osunixxf.c
506@@ -384,7 +384,6 @@ AcpiOsActualVprintf (
507 const char *Fmt,
508 va_list Args)
509 {
510- INT32 Count = 0;
511 UINT8 Flags;
512
513
514@@ -397,7 +396,7 @@ AcpiOsActualVprintf (
515 {
516 /* Output file is open, send the output there */
517
518- Count = vfprintf (AcpiGbl_DebugFile, Fmt, Args);
519+ vfprintf (AcpiGbl_DebugFile, Fmt, Args);
520 }
521 else
522 {
523@@ -409,7 +408,7 @@ AcpiOsActualVprintf (
524
525 if (Flags & ACPI_DB_CONSOLE_OUTPUT)
526 {
527- Count = vfprintf (AcpiGbl_OutputFile, Fmt, Args);
528+ vfprintf (AcpiGbl_OutputFile, Fmt, Args);
529 }
530
531 return;
532@@ -1166,3 +1165,23 @@ AcpiOsActualSignal (
533
534 return (AE_OK);
535 }
536+
537+/******************************************************************************
538+ *
539+ * FUNCTION: AcpiOsWaitEventsComplete
540+ *
541+ * PARAMETERS: None
542+ *
543+ * RETURN: None
544+ *
545+ * DESCRIPTION: Wait for all asynchronous events to complete. This
546+ * implementation does nothing.
547+ *
548+ *****************************************************************************/
549+
550+void
551+AcpiOsWaitEventsComplete (
552+ void)
553+{
554+ return;
555+}
556--
5571.8.4.2
558
diff --git a/meta-oe/recipes-extended/acpica/acpitests_20140114.bb b/meta-oe/recipes-extended/acpica/acpitests_20140114.bb
new file mode 100644
index 0000000000..d8a3b9f4c6
--- /dev/null
+++ b/meta-oe/recipes-extended/acpica/acpitests_20140114.bb
@@ -0,0 +1,34 @@
1SUMMARY = "Test suite used to validate ACPICA"
2HOMEPAGE = "http://www.acpica.org/"
3
4LICENSE = "Intel"
5LIC_FILES_CHKSUM = "file://tests/aapits/atexec.c;beginline=1;endline=115;md5=e92bcdfcd01d117d1bda3e814bb2030a"
6
7DEPENDS = "bison flex"
8
9SRC_URI = "https://acpica.org/sites/acpica/files/acpitests-unix-${PV}.tar.gz;name=acpitests \
10 https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz;name=acpica \
11 file://0001-Fixup-aapits-build.patch \
12 "
13SRC_URI[acpitests.md5sum] = "c72b61e092d2b25726dfff6e455116c9"
14SRC_URI[acpitests.sha256sum] = "368f69296edef5138fd33affa2d50bdcdd1dfd2f6919ba782f8ecf03971a3a2c"
15SRC_URI[acpica.md5sum] = "fcd4b7304f1bfabc7d4b9cfdecc6b0c6"
16SRC_URI[acpica.sha256sum] = "0d5bd32690ab77e21ab143ef25361c314a4ed13c33a5fb3ddd6f5559ab24ebc3"
17
18S = "${WORKDIR}/acpitests-unix-${PV}"
19
20EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'"
21
22# The Makefiles expect a specific layout
23do_compile() {
24 cp -af ${WORKDIR}/acpica-unix2-${PV}/source ${S}
25 cd tests/aapits
26 oe_runmake
27}
28
29do_install() {
30 install -d ${D}${bindir}
31 install -m0755 tests/aapits/bin/aapits ${D}${bindir}
32}
33
34COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
diff --git a/meta-oe/recipes-extended/acpica/files/no-werror.patch b/meta-oe/recipes-extended/acpica/files/no-werror.patch
new file mode 100644
index 0000000000..5d28f474f2
--- /dev/null
+++ b/meta-oe/recipes-extended/acpica/files/no-werror.patch
@@ -0,0 +1,32 @@
1Description: remove -Werror flag
2Forwarded: not-needed
3Author: Fathi Boudra <fathi.boudra@linaro.org>
4
5---
6 generate/unix/iasl/Makefile | 12 ++++++------
7 1 file changed, 6 insertions(+), 6 deletions(-)
8
9--- a/generate/unix/iasl/Makefile
10+++ b/generate/unix/iasl/Makefile
11@@ -266,19 +266,19 @@ $(OBJDIR)/prparser.y.h: $(OBJDIR)/prpars
12 # by the utilities above and they are not necessarily ANSI C, etc.
13 #
14 $(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
15- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
16+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
17
18 $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
19- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
20+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
21
22 $(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
23- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
24+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
25
26 $(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
27- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
28+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
29
30 $(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
31- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
32+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
diff --git a/meta-oe/recipes-extended/anki/anki-0.4.3.inc b/meta-oe/recipes-extended/anki/anki-0.4.3.inc
new file mode 100644
index 0000000000..072e7f1e4e
--- /dev/null
+++ b/meta-oe/recipes-extended/anki/anki-0.4.3.inc
@@ -0,0 +1,8 @@
1require anki.inc
2
3SRC_URI = "${SOURCEFORGE_MIRROR}/anki/anki-${PV}.tgz"
4SRC_URI[md5sum] = "90434860945de4c09d55cdb5dbe984fc"
5SRC_URI[sha256sum] = "18a93fb46363ca34963fc2588cadf7415dd799dd647efa681859eb8b1b22f104"
6
7export BUILD_PV := "${PV}"
8SRC_URI += "file://no-need-for-pyqt-at-buildtime.patch"
diff --git a/meta-oe/recipes-extended/anki/anki.inc b/meta-oe/recipes-extended/anki/anki.inc
new file mode 100644
index 0000000000..3092539ec4
--- /dev/null
+++ b/meta-oe/recipes-extended/anki/anki.inc
@@ -0,0 +1,9 @@
1DESCRIPTION = "Anki is a program designed to help you remember facts \
2(such as words and phrases in a foreign language) \
3as easily, quickly and efficiently as possible"
4HOMEPAGE = "http://ichi2.net/anki/"
5AUTHOR = "Damien Elmes"
6LICENSE = "GPLv3+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
8
9inherit setuptools
diff --git a/meta-oe/recipes-extended/anki/anki/no-need-for-pyqt-at-buildtime.patch b/meta-oe/recipes-extended/anki/anki/no-need-for-pyqt-at-buildtime.patch
new file mode 100644
index 0000000000..9eac1dc7be
--- /dev/null
+++ b/meta-oe/recipes-extended/anki/anki/no-need-for-pyqt-at-buildtime.patch
@@ -0,0 +1,28 @@
1#
2# (C) Michael 'Mickey' Lauer <mlauer@vanille-media.de>
3#
4Index: anki-0.4.3/setup.py
5===================================================================
6--- anki-0.4.3.orig/setup.py 2008-02-12 19:17:56.000000000 +0000
7+++ anki-0.4.3/setup.py 2008-02-12 19:19:29.000000000 +0000
8@@ -3,10 +3,8 @@
9 from setuptools import setup, find_packages
10 import sys, os
11
12-import ankiqt
13-
14 setup(name='ankiqt',
15- version=ankiqt.appVersion,
16+ version=os.environ["BUILD_PV"],
17 description='An intelligent spaced-repetition memory training program',
18 long_description="",
19 # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers
20@@ -24,7 +22,7 @@
21 license='GPLv2',
22 packages=find_packages(),
23 include_package_data=True,
24- install_requires = 'anki >= ' + ankiqt.appVersion,
25+ install_requires = 'anki >= ' + os.environ["BUILD_PV"],
26 zip_safe=False,
27 package_data={'ankiqt':
28 ['locale/*/*/*']},
diff --git a/meta-oe/recipes-extended/anki/anki_0.4.3.bb b/meta-oe/recipes-extended/anki/anki_0.4.3.bb
new file mode 100644
index 0000000000..7943ce8cd0
--- /dev/null
+++ b/meta-oe/recipes-extended/anki/anki_0.4.3.bb
@@ -0,0 +1,4 @@
1require ${PN}-${PV}.inc
2
3RDEPENDS_${PN} = "python-pyqt python-sip libanki"
4RRECOMMENDS_${PN} = "virtual-japanese-font"
diff --git a/meta-oe/recipes-extended/anki/libanki/no-need-for-pyqt-at-buildtime.patch b/meta-oe/recipes-extended/anki/libanki/no-need-for-pyqt-at-buildtime.patch
new file mode 100644
index 0000000000..92583e59f1
--- /dev/null
+++ b/meta-oe/recipes-extended/anki/libanki/no-need-for-pyqt-at-buildtime.patch
@@ -0,0 +1,14 @@
1--- libanki.orig/setup.py 2008-01-02 13:22:22.000000000 +0100
2+++ libanki/setup.py 2012-08-02 11:39:13.604173933 +0200
3@@ -3,10 +3,8 @@
4 from setuptools import setup, find_packages
5 import sys, os
6
7-import anki
8-
9 setup(name='anki',
10- version=anki.version,
11+ version=os.environ["BUILD_PV"],
12 description='An intelligent spaced-repetition memory training library',
13 long_description="",
14 # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers
diff --git a/meta-oe/recipes-extended/anki/libanki_0.4.3.bb b/meta-oe/recipes-extended/anki/libanki_0.4.3.bb
new file mode 100644
index 0000000000..636932f3ad
--- /dev/null
+++ b/meta-oe/recipes-extended/anki/libanki_0.4.3.bb
@@ -0,0 +1,3 @@
1require anki-${PV}.inc
2
3S = "${WORKDIR}/anki-${PV}/libanki"
diff --git a/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch b/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch
new file mode 100644
index 0000000000..1e2b7c159c
--- /dev/null
+++ b/meta-oe/recipes-extended/collectd/collectd/collectd-version.patch
@@ -0,0 +1,31 @@
1Don't pick up version string from parent git repository
2
3If the collectd source is extracted from a tarball underneath a
4directory structure that includes another git repository, that
5repository will be picked up by "git describe" which is not
6desirable. Check whether collectd itself is a git repository and just
7use the default version if not.
8
9Upstream-Status: Pending
10
11Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
12
13diff --git a/version-gen.sh b/version-gen.sh
14index e344541..d1c0929 100755
15--- a/version-gen.sh
16+++ b/version-gen.sh
17@@ -2,7 +2,10 @@
18
19 DEFAULT_VERSION="5.2.2.git"
20
21-VERSION="`git describe 2> /dev/null | sed -e 's/^collectd-//'`"
22+VERSION=""
23+if test -d .git ; then
24+ VERSION="`git describe 2> /dev/null | sed -e 's/^collectd-//'`"
25+fi
26
27 if test -z "$VERSION"; then
28 VERSION="$DEFAULT_VERSION"
29--
301.7.10.4
31
diff --git a/meta-oe/recipes-extended/collectd/collectd/collectd.init b/meta-oe/recipes-extended/collectd/collectd/collectd.init
new file mode 100644
index 0000000000..95f5f73c67
--- /dev/null
+++ b/meta-oe/recipes-extended/collectd/collectd/collectd.init
@@ -0,0 +1,212 @@
1#!/bin/sh
2#
3# collectd - start and stop the statistics collection daemon
4# http://collectd.org/
5#
6# Copyright (C) 2005-2006 Florian Forster <octo@verplant.org>
7# Copyright (C) 2006-2009 Sebastian Harl <tokkee@debian.org>
8#
9
10### BEGIN INIT INFO
11# Provides: collectd
12# Required-Start: $local_fs $remote_fs
13# Required-Stop: $local_fs $remote_fs
14# Should-Start: $network $named $syslog $time cpufrequtils
15# Should-Stop: $network $named $syslog
16# Default-Start: 2 3 4 5
17# Default-Stop: 0 1 6
18# Short-Description: manage the statistics collection daemon
19# Description: collectd is the statistics collection daemon.
20# It is a small daemon which collects system information
21# periodically and provides mechanisms to monitor and store
22# the values in a variety of ways.
23### END INIT INFO
24
25. /etc/init.d/functions
26
27export PATH=/sbin:/bin:/usr/sbin:/usr/bin
28
29DISABLE=0
30
31NAME=collectd
32DAEMON=/usr/sbin/collectd
33
34CONFIGFILE=/etc/collectd.conf
35PIDFILE=/var/run/collectd.pid
36
37USE_COLLECTDMON=1
38COLLECTDMON_DAEMON=/usr/sbin/collectdmon
39COLLECTDMON_PIDFILE=/var/run/collectdmon.pid
40
41MAXWAIT=30
42
43# Gracefully exit if the package has been removed.
44test -x $DAEMON || exit 0
45
46if [ -r /etc/default/$NAME ]; then
47 . /etc/default/$NAME
48fi
49
50if test "$ENABLE_COREFILES" == 1; then
51 ulimit -c unlimited
52fi
53
54if test "$USE_COLLECTDMON" == 1; then
55 _PIDFILE="$COLLECTDMON_PIDFILE"
56else
57 _PIDFILE="$PIDFILE"
58fi
59
60# return:
61# 0 if config is fine
62# 1 if there is a syntax error
63# 2 if there is no configuration
64check_config() {
65 if test ! -e "$CONFIGFILE"; then
66 return 2
67 fi
68 if ! $DAEMON -t -C "$CONFIGFILE"; then
69 return 1
70 fi
71 return 0
72}
73
74# return:
75# 0 if the daemon has been started
76# 1 if the daemon was already running
77# 2 if the daemon could not be started
78# 3 if the daemon was not supposed to be started
79d_start() {
80 if test "$DISABLE" != 0; then
81 # we get here during restart
82 echo "disabled by /etc/default/$NAME"
83 return 3
84 fi
85
86 if test ! -e "$CONFIGFILE"; then
87 # we get here during restart
88 echo "disabled, no configuration ($CONFIGFILE) found"
89 return 3
90 fi
91
92 check_config
93 rc="$?"
94 if test "$rc" -ne 0; then
95 echo "not starting, configuration error"
96 return 2
97 fi
98
99 if test "$USE_COLLECTDMON" == 1; then
100 start-stop-daemon --start --quiet --oknodo --pidfile "$_PIDFILE" \
101 --exec $COLLECTDMON_DAEMON -- -P "$_PIDFILE" -- -C "$CONFIGFILE" \
102 || return 2
103 else
104 start-stop-daemon --start --quiet --oknodo --pidfile "$_PIDFILE" \
105 --exec $DAEMON -- -C "$CONFIGFILE" -P "$_PIDFILE" \
106 || return 2
107 fi
108 return 0
109}
110
111still_running_warning="
112WARNING: $NAME might still be running.
113In large setups it might take some time to write all pending data to
114the disk. You can adjust the waiting time in /etc/default/collectd."
115
116# return:
117# 0 if the daemon has been stopped
118# 1 if the daemon was already stopped
119# 2 if daemon could not be stopped
120d_stop() {
121 PID=$( cat "$_PIDFILE" 2> /dev/null ) || true
122
123 start-stop-daemon --stop --quiet --oknodo --pidfile "$_PIDFILE"
124 rc="$?"
125
126 if test "$rc" -eq 2; then
127 return 2
128 fi
129
130 sleep 1
131 if test -n "$PID" && kill -0 $PID 2> /dev/null; then
132 i=0
133 while kill -0 $PID 2> /dev/null; do
134 i=$(( $i + 2 ))
135 echo -n " ."
136
137 if test $i -gt $MAXWAIT; then
138 echo "$still_running_warning"
139 return 2
140 fi
141
142 sleep 2
143 done
144 return "$rc"
145 fi
146 return "$rc"
147}
148
149# return:
150# 0 if the daemon is running
151# 3 if the daemon is stopped
152d_status(){
153 if test "$USE_COLLECTDMON" == 1; then
154 status $COLLECTDMON_DAEMON
155 else
156 status $DAEMON
157 fi
158}
159
160case "$1" in
161 start)
162 echo -n "Starting $NAME"
163 d_start
164 case "$?" in
165 0|1) echo "." ;;
166 *) exit 1 ;;
167 esac
168 ;;
169 stop)
170 echo -n "Stopping $NAME"
171 d_stop
172 case "$?" in
173 0|1) echo "." ;;
174 *) exit 1 ;;
175 esac
176 ;;
177 status)
178 d_status
179 ;;
180 restart|force-reload)
181 echo -n "Restarting $NAME"
182 check_config
183 rc="$?"
184 if test "$rc" -eq 1; then
185 echo "not restarting, configuration error"
186 exit 1
187 fi
188 d_stop
189 rc="$?"
190 case "$rc" in
191 0|1)
192 sleep 1
193 d_start
194 rc2="$?"
195 case "$rc2" in
196 0|1) echo "." ;;
197 *) exit 1 ;;
198 esac
199 ;;
200 *)
201 exit 1
202 ;;
203 esac
204 ;;
205 *)
206 echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
207 exit 3
208 ;;
209esac
210
211# vim: syntax=sh noexpandtab sw=4 ts=4 :
212
diff --git a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
new file mode 100644
index 0000000000..02b160109e
--- /dev/null
+++ b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
@@ -0,0 +1,30 @@
1Disable defaulting of GCRYPT_LDFLAGS to -L/usr/lib
2
3Prevents "unsafe for cross compilation" warnings that cause
4do_qa_configure to fail.
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
9
10diff --git a/configure.in b/configure.in
11index 98395ed..81c3a2c 100644
12--- a/configure.in
13+++ b/configure.in
14@@ -1777,11 +1777,11 @@ then
15 GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null`
16 fi
17
18- if test "x$GCRYPT_LDFLAGS" = "x"
19- then
20- gcrypt_exec_prefix=`"$with_libgcrypt_config" --exec-prefix 2>/dev/null`
21- GCRYPT_LDFLAGS="-L$gcrypt_exec_prefix/lib"
22- fi
23+# if test "x$GCRYPT_LDFLAGS" = "x"
24+# then
25+# gcrypt_exec_prefix=`"$with_libgcrypt_config" --exec-prefix 2>/dev/null`
26+# GCRYPT_LDFLAGS="-L$gcrypt_exec_prefix/lib"
27+# fi
28
29 if test "x$GCRYPT_LIBS" = "x"
30 then
diff --git a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb b/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb
new file mode 100644
index 0000000000..8585ff3c70
--- /dev/null
+++ b/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb
@@ -0,0 +1,61 @@
1SUMMARY = "Collects and summarises system performance statistics"
2DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files."
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5
6DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool"
7
8SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
9 file://no-gcrypt-badpath.patch \
10 file://collectd-version.patch \
11 file://collectd.init"
12
13SRC_URI[md5sum] = "29e61411e51845d5ae71ab676078867e"
14SRC_URI[sha256sum] = "7b8906d1c8866155b31820ef108be92abcee7fcd278d386bf0d449e704ba4696"
15
16inherit autotools pythonnative update-rc.d
17
18# Floatingpoint layout, architecture dependent
19# 'nothing', 'endianflip' or 'intswap'
20FPLAYOUT ?= "--with-fp-layout=nothing"
21
22PACKAGECONFIG ??= ""
23PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp --with-libnetsnmp=no,net-snmp"
24PACKAGECONFIG[libmemcached] = "--with-libmemcached,--without-libmemcached,libmemcached"
25PACKAGECONFIG[iptables] = "--enable-iptables,--disable-iptables,iptables"
26PACKAGECONFIG[postgresql] = "--enable-postgresql --with-libpq=yes, \
27 --disable-postgresql --with-libpq=no,postgresql"
28PACKAGECONFIG[dbi] = "--enable-dbi,--disable-dbi,libdbi"
29PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus"
30PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs"
31PACKAGECONFIG[sensors] = "--enable-sensors --with-libsensors=yes, \
32 --disable-sensors --with-libsensors=no,lmsensors"
33
34EXTRA_OECONF = " \
35 ${FPLAYOUT} \
36 --disable-perl --with-libperl=no --with-perl-bindings=no \
37 --with-libgcrypt=${STAGING_BINDIR_CROSS}/libgcrypt-config \
38 --disable-notify_desktop \
39"
40
41do_install_append() {
42 install -d ${D}${sysconfdir}/init.d
43 install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd
44 sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd
45 sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/collectd
46 sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/collectd
47 sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/collectd
48
49 # Fix configuration file to allow collectd to start up
50 sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf
51
52 rmdir "${D}${localstatedir}/run"
53 rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
54}
55
56INITSCRIPT_NAME = "collectd"
57INITSCRIPT_PARAMS = "defaults"
58
59# threshold.so load.so are also provided by gegl
60# disk.so is also provided by libgphoto2-camlibs
61PRIVATE_LIBS = "threshold.so load.so disk.so"
diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb
new file mode 100644
index 0000000000..50202c1cb7
--- /dev/null
+++ b/meta-oe/recipes-extended/ddrescue/ddrescue_1.16.bb
@@ -0,0 +1,18 @@
1SUMMARY = "Data recovery tool"
2DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
3 from one file or block device (hard disc, cdrom, etc) to another, \
4 trying hard to rescue data in case of read errors."
5HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
6SECTION = "console"
7LICENSE = "GPLv3+"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
10 file://main_common.cc;beginline=5;endline=16;md5=b5a59150a33658cc1ffc31b1a4ffb9f2"
11
12SRC_URI = "${GNU_MIRROR}/${PN}/${P}.tar.gz"
13SRC_URI[md5sum] = "57b67407e882c6418531d48a2f20d16b"
14SRC_URI[sha256sum] = "76b3f2e5fb0306d24f2632c3e168cccb73dc0a348e3a7089cd9230748ff23de6"
15
16inherit autotools
17
18EXTRA_OECONF = "'CXX=${CXX}' 'CPPFLAGS=${CPPFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'LDFLAGS=${LDFLAGS}'"
diff --git a/meta-oe/recipes-extended/dialog/dialog-static_1.1-20120706.bb b/meta-oe/recipes-extended/dialog/dialog-static_1.1-20120706.bb
new file mode 100644
index 0000000000..595f323607
--- /dev/null
+++ b/meta-oe/recipes-extended/dialog/dialog-static_1.1-20120706.bb
@@ -0,0 +1,6 @@
1require dialog.inc
2
3LDFLAGS += "-static"
4
5SRC_URI[md5sum] = "2e538305977178eb085a9859511c299d"
6SRC_URI[sha256sum] = "305aa1000680aa87bb2148a725f9107ef4cd29dcd6185b44d079cb87cf0ce2f5"
diff --git a/meta-oe/recipes-extended/dialog/dialog.inc b/meta-oe/recipes-extended/dialog/dialog.inc
new file mode 100644
index 0000000000..c1c28fd876
--- /dev/null
+++ b/meta-oe/recipes-extended/dialog/dialog.inc
@@ -0,0 +1,25 @@
1SUMMARY = "display dialog boxes from shell scripts"
2DESCRIPTION = "Dialog lets you to present a variety of questions \
3or display messages using dialog boxes from a shell \
4script (or any scripting language)."
5HOMEPAGE = "http://invisible-island.net/dialog/"
6SECTION = "console/utils"
7DEPENDS = "ncurses"
8LICENSE = "LGPL-2.1"
9LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
10
11SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz"
12
13# hardcoded here for use in dialog-static recipe
14S = "${WORKDIR}/dialog-${PV}"
15
16inherit autotools
17
18EXTRA_OECONF = "--with-ncurses \
19 --disable-rpath-hack"
20
21do_configure() {
22 gnu-configize --force
23 sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
24 oe_runconf
25}
diff --git a/meta-oe/recipes-extended/dialog/dialog_1.1-20120706.bb b/meta-oe/recipes-extended/dialog/dialog_1.1-20120706.bb
new file mode 100644
index 0000000000..c87fb61602
--- /dev/null
+++ b/meta-oe/recipes-extended/dialog/dialog_1.1-20120706.bb
@@ -0,0 +1,4 @@
1require dialog.inc
2
3SRC_URI[md5sum] = "2e538305977178eb085a9859511c299d"
4SRC_URI[sha256sum] = "305aa1000680aa87bb2148a725f9107ef4cd29dcd6185b44d079cb87cf0ce2f5"
diff --git a/meta-oe/recipes-extended/efivar/efivar_git.bb b/meta-oe/recipes-extended/efivar/efivar_git.bb
new file mode 100644
index 0000000000..18446a08a1
--- /dev/null
+++ b/meta-oe/recipes-extended/efivar/efivar_git.bb
@@ -0,0 +1,18 @@
1SUMMARY = "Tools to manipulate UEFI variables"
2DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility"
3HOMEPAGE = "https://github.com/vathpela/efivar"
4
5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
7
8DEPENDS = "popt"
9
10SRCREV = "c9e1f24a81b5374408bca5616402276e47171cf7"
11PV = "0.7+git${SRCPV}"
12SRC_URI = "git://github.com/vathpela/efivar.git"
13
14S = "${WORKDIR}/git"
15
16do_install() {
17 oe_runmake install DESTDIR=${D}
18}
diff --git a/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
new file mode 100644
index 0000000000..a1f0b303a0
--- /dev/null
+++ b/meta-oe/recipes-extended/flashrom/flashrom_0.9.6.1.bb
@@ -0,0 +1,15 @@
1DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
2LICENSE = "GPLv2"
3HOMEPAGE = "http://flashrom.org"
4
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
6DEPENDS = "pciutils"
7
8SRC_URI = "http://download.flashrom.org/releases/flashrom-${PV}.tar.bz2"
9
10SRC_URI[md5sum] = "407e836c0a2b17ec76583cb6809f65e5"
11SRC_URI[sha256sum] = "6f7b588cce74c90b4fe9c9c794de105de76e0323442fb5770b1aeab81e9d560a"
12
13do_install() {
14 oe_runmake PREFIX=${prefix} DESTDIR=${D} install
15}
diff --git a/meta-oe/recipes-extended/fwts/fwts_git.bb b/meta-oe/recipes-extended/fwts/fwts_git.bb
new file mode 100644
index 0000000000..d704d8437e
--- /dev/null
+++ b/meta-oe/recipes-extended/fwts/fwts_git.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Firmware testsuite"
2DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
3HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
4
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f"
7
8PV = "14.03.01"
9
10SRCREV = "8ec44dc1e55ecf334f4afa8eed8795ed5776c396"
11SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git"
12
13S = "${WORKDIR}/git"
14
15DEPENDS = "libpcre json-c"
16
17inherit autotools-brokensep
18
19FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
20FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
21FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
22FILES_${PN}-dbg += "${libdir}/fwts/.debug"
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch b/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch
new file mode 100644
index 0000000000..23f2cd26a5
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/lua-loadlibs-configure-in-fix.patch
@@ -0,0 +1,16 @@
1Index: gnuplot-4.6.5/configure.in
2===================================================================
3--- gnuplot-4.6.5.orig/configure.in
4+++ gnuplot-4.6.5/configure.in
5@@ -690,6 +690,11 @@ if test "${with_lua}" = yes ; then
6 fi
7
8 if test "$with_lua" != no; then
9+ dnl check for dlopen/dl to fix loadlibs link failure
10+ AC_CHECK_FUNC([dlopen], [],
11+ AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
12+ AC_SUBST(DLOPEN_LIBS)
13+ LUA_LIBS="$LUA_LIBS $DLOPEN_LIBS"
14 TERMLIBS="$TERMLIBS $LUA_LIBS"
15 CPPFLAGS="$CPPFLAGS $LUA_CFLAGS"
16 else
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch b/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch
new file mode 100644
index 0000000000..8c7d1f0d35
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot-4.6.5/subdirs.patch
@@ -0,0 +1,11 @@
1--- /tmp/Makefile.am 2007-08-23 13:10:15.560659023 +0200
2+++ gnuplot-4.2.0/Makefile.am 2007-08-23 13:10:34.961764629 +0200
3@@ -1,7 +1,7 @@
4 ## Process this file with automake to produce Makefile.in -*-Makefile-*-
5 AUTOMAKE_OPTIONS = foreign 1.2h
6
7-SUBDIRS = config m4 term src docs $(LISPDIR) man demo tutorial share
8+SUBDIRS = config m4 term src $(LISPDIR) man share
9
10 EXTRA_DIST = BUGS CodeStyle Copyright FAQ GNUmakefile INSTALL INSTALL.gnu \
11 Makefile.maint PATCHLEVEL PGPKEYS PORTING README README.1ST README.exp \
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot.inc b/meta-oe/recipes-extended/gnuplot/gnuplot.inc
new file mode 100644
index 0000000000..6c27e6d8ab
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot.inc
@@ -0,0 +1,39 @@
1DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
2(text or binary) and function plotting utility."
3HOMEPAGE = "http://www.gnuplot.info/"
4SECTION = "console/scientific"
5LICENSE = "gnuplot"
6LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
7DEPENDS = "virtual/libx11 gd readline"
8
9inherit autotools
10
11acpaths = ""
12
13PACKAGECONFIG ??= "cairo"
14PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
15PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
16
17EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
18 --without-lisp-files \
19 --without-tutorial \
20 --disable-wxwidgets"
21
22do_compile_prepend() {
23 install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
24}
25
26do_install_append() {
27 install -d ${D}${datadir}/applications/
28 install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
29 install -d ${D}${datadir}/pixmaps/
30 install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
31}
32
33PACKAGES =+ "${PN}-x11-dbg ${PN}-x11"
34DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
35SECTION_${PN}-x11 = "x11/scientific"
36FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
37
38FILES_${PN} += "${datadir}/texmf"
39FILES_${PN}-x11-dbg += "${libexecdir}/gnuplot/*/.debug"
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop b/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop
new file mode 100644
index 0000000000..f67df9e193
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.desktop
@@ -0,0 +1,8 @@
1[Desktop Entry]
2Name=Gnuplot
3Comment=Plot data and function graphs
4Exec=x-terminal-emulator -e gnuplot
5Terminal=false
6Type=Application
7Icon=gnuplot
8Categories=Science;
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.png b/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.png
new file mode 100644
index 0000000000..054cd9e7c7
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot/gnuplot.png
Binary files differ
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm b/meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm
new file mode 100644
index 0000000000..b52f9bb975
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot/qtopia.trm
@@ -0,0 +1,483 @@
1/*
2 * $Id: dumb.trm,v 1.16 2004/04/13 17:24:16 broeker Exp $
3 *
4 */
5
6/* GNUPLOT - qtopia.trm */
7
8/*[
9 * Copyright 1991 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
10 *
11 * Permission to use, copy, and distribute this software and its
12 * documentation for any purpose with or without fee is hereby granted,
13 * provided that the above copyright notice appear in all copies and
14 * that both that copyright notice and this permission notice appear
15 * in supporting documentation.
16 *
17 * Permission to modify the software is granted, but not the right to
18 * distribute the complete modified source code. Modifications are to
19 * be distributed as patches to the released version. Permission to
20 * distribute binaries produced by compiling modified sources is granted,
21 * provided you
22 * 1. distribute the corresponding source modifications from the
23 * released version in the form of a patch file along with the binaries,
24 * 2. add special version identification to distinguish your version
25 * in addition to the base release version number,
26 * 3. provide your name and address as the primary contact for the
27 * support of your modified version, and
28 * 4. retain our contact information in regard to use of the base
29 * software.
30 * Permission to distribute the released version of the source code along
31 * with corresponding source modifications in the form of a patch file is
32 * granted with same provisions 2 through 4 for binary distributions.
33 *
34 * This software is provided "as is" without express or implied warranty
35 * to the extent permitted by applicable law.
36]*/
37
38/*
39 * This file is included by ../term.c.
40 *
41 * This terminal driver supports:
42 * qtopia terminals
43 *
44 * AUTHORS
45 * Michael Neuroth, 2004-05-16
46 * INTERNET: michael.neuroth@freenet.de
47 *
48 * send your comments or suggestions to (gnuplot-info@lists.sourceforge.net).
49 *
50 */
51#include "driver.h"
52
53#define NO_QTOPIA_ENHANCED_SUPPORT
54
55#ifdef TERM_REGISTER
56register_term(qtopia_driver)
57#endif
58
59#ifdef TERM_PROTO
60TERM_PUBLIC void QTOPIA_options __PROTO((void));
61TERM_PUBLIC void QTOPIA_init __PROTO((void));
62TERM_PUBLIC void QTOPIA_graphics __PROTO((void));
63TERM_PUBLIC void QTOPIA_text __PROTO((void));
64TERM_PUBLIC void QTOPIA_reset __PROTO((void));
65TERM_PUBLIC void QTOPIA_linetype __PROTO((int linetype));
66TERM_PUBLIC void QTOPIA_move __PROTO((unsigned int x, unsigned int y));
67TERM_PUBLIC void QTOPIA_point __PROTO((unsigned int x, unsigned int y,
68 int point));
69TERM_PUBLIC void QTOPIA_vector __PROTO((unsigned int x, unsigned int y));
70TERM_PUBLIC void QTOPIA_put_text __PROTO((unsigned int x, unsigned int y,
71 const char *str));
72TERM_PUBLIC void QTOPIA_arrow __PROTO((unsigned int sx, unsigned int sy,
73 unsigned int ex, unsigned int ey,
74 int head));
75
76#define ENHqtopia_put_text NULL
77
78
79#define QTOPIA_XMAX 4096
80#define QTOPIA_YMAX 4096
81
82#ifdef ZAURUS
83#define QTOPIA_VCHAR (QTOPIA_YMAX/25)
84#define QTOPIA_HCHAR (QTOPIA_XMAX/40)
85#define QTOPIA_VTIC (QTOPIA_YMAX/50)
86#define QTOPIA_HTIC (QTOPIA_XMAX/40)
87#else
88#define QTOPIA_VCHAR (QTOPIA_YMAX/25)
89#define QTOPIA_HCHAR (QTOPIA_XMAX/50)
90#define QTOPIA_VTIC (QTOPIA_YMAX/100)
91#define QTOPIA_HTIC (QTOPIA_XMAX/150)
92#endif
93
94#endif /* TERM_PROTO */
95
96#ifdef TERM_BODY
97
98/*#include <winsock2.h>*/
99/* needs: ws2_32.lib */
100#ifndef _MSC_VER
101#include <sys/types.h>
102#include <sys/socket.h>
103#include <netinet/in.h>
104#include <arpa/inet.h>
105#endif
106
107#define QTOPIA_MAX_BUFFER 512
108#define QTOPIA_MAX_DELAY_COUNT 20 /* * 100 ms = 2 s */
109
110#ifdef _MSC_VER
111#define QTOPIA_BAD_SOCKET INVALID_SOCKET /* -1 */
112#define QTOPIA_BAD_CONNECT SOCKET_ERROR
113#else
114#define QTOPIA_BAD_SOCKET -1
115#define QTOPIA_BAD_CONNECT -1
116#endif
117#define QTOPIA_PORT_NO 5050
118
119static int qtopia_client_socket = QTOPIA_BAD_SOCKET;
120static unsigned short qtopia_port_no = QTOPIA_PORT_NO;
121static char qtopia_host_name[QTOPIA_MAX_BUFFER+1] = { "localhost" };
122
123static int OpenClient __PROTO(( int test));
124static void CloseClient();
125
126static void MySleep( delay )
127int delay;
128{
129#ifdef _MSC_VER
130 Sleep( delay );
131#else
132 usleep( delay );
133#endif
134}
135
136static void InitSockets()
137{
138#ifdef _MSC_VER
139 WORD wVersionRequested;
140 WSADATA wsaData;
141 int err;
142
143 wVersionRequested = MAKEWORD( 2, 2 );
144
145 err = WSAStartup( wVersionRequested, &wsaData );
146#endif
147}
148
149static void ExitSockets()
150{
151#ifdef _MSC_VER
152 WSACleanup();
153#endif
154}
155
156static int CheckForQtplot( count )
157int count;
158{
159 /* test (via sockets) if qtplot is allready running */
160 if( !OpenClient( 1 ) )
161 {
162 /* give qtplot a litle bit time to start... */
163 if( count < QTOPIA_MAX_DELAY_COUNT )
164 {
165 if( count == 0 )
166 {
167#ifdef _MSC_VER
168 system( "start qtplot" );
169#else
170 system( "qtplot&" );
171#endif
172 }
173
174 MySleep(100);
175
176 return CheckForQtplot( count+1 );
177 }
178 else
179 {
180 return 0;
181 }
182 }
183 else
184 {
185 CloseClient();
186
187 return 1;
188 }
189}
190
191static int OpenClient( test )
192int test;
193{
194 int len;
195 struct sockaddr_in address;
196 int result;
197
198 /* Create a socket for the client. */
199
200 qtopia_client_socket = socket(AF_INET, SOCK_STREAM, 0);
201
202 if( qtopia_client_socket != QTOPIA_BAD_SOCKET )
203 {
204 /* Name the socket, as agreed with the server. */
205
206 address.sin_family = AF_INET;
207 address.sin_addr.s_addr = inet_addr(/*qtopia_host_name*/"127.0.0.1"); /* localhost */
208 address.sin_port = htons(qtopia_port_no);
209 len = sizeof(address);
210
211 /* Now connect our socket to the server's socket. */
212
213 result = connect(qtopia_client_socket, (struct sockaddr *)&address, len);
214
215 if( result == QTOPIA_BAD_SOCKET )
216 {
217 /* mark this socket as bad */
218
219 close( qtopia_client_socket );
220
221 qtopia_client_socket = QTOPIA_BAD_SOCKET;
222
223 if( !test )
224 {
225 fprintf( gpoutfile, "error connecting to server !\n" );
226 }
227 return 0; /* something went wrong */
228 }
229 }
230 else
231 {
232 if( !test )
233 {
234 fprintf( gpoutfile, "error creating socket !\n" );
235 }
236 return 0; /* something went wrong */
237 }
238
239 return 1; /* everything ist ok ! */
240}
241
242static void CloseClient()
243{
244 close( qtopia_client_socket );
245}
246
247static int IsClientOk()
248{
249 return qtopia_client_socket != QTOPIA_BAD_SOCKET;
250}
251
252static void SendDataToSocket( sLine )
253const char * sLine;
254{
255 if( IsClientOk() )
256 {
257 int send_count;
258
259 send_count = send( qtopia_client_socket, sLine, strlen( sLine ), 0 );
260
261 if( send_count <= 0 )
262 {
263 fprintf( gpoutfile, "error writing to socket str=%s!\n", sLine );
264 }
265 /*
266 else
267 {
268 fprintf( gpoutfile, "wrote %d bytes\n", send_count );
269 }
270 */
271 }
272 else
273 {
274 /* for testing... */
275 /*fprintf( gpoutfile, sLine );*/
276 }
277}
278
279/* ************************************************** */
280
281enum QTOPIA_id { QTOPIA_PORT, QTOPIA_HOST, QTOPIA_OTHER };
282
283static struct gen_table QTOPIA_opts[] =
284{
285 { "po$rt", QTOPIA_PORT },
286 { "ho$st", QTOPIA_HOST },
287 { NULL, QTOPIA_OTHER }
288};
289
290TERM_PUBLIC void
291QTOPIA_options()
292{
293 /* this is not for the qtopia terminal ! */
294 /*SendDataToSocket( "qtd options\n" );*/
295
296 int x, y;
297 struct value a;
298
299 while (!END_OF_COMMAND)
300 {
301 switch(lookup_table(&QTOPIA_opts[0],c_token))
302 {
303 case QTOPIA_PORT:
304 c_token++;
305 if (END_OF_COMMAND)
306 int_error(c_token, "expecting port number");
307 qtopia_port_no = (int) real(const_express(&a));
308 break;
309 case QTOPIA_HOST:
310 c_token++;
311 if (END_OF_COMMAND)
312 int_error(c_token, "expecting host name");
313 if (isstring(c_token))
314 quote_str( qtopia_host_name, c_token, sizeof(qtopia_host_name) );
315 else
316 copy_str( qtopia_host_name, c_token, sizeof(qtopia_host_name) );
317 c_token++;
318 break;
319 case QTOPIA_OTHER:
320 default:
321 break;
322 }
323 }
324
325 sprintf(term_options, "host=%s port=%d",qtopia_host_name,qtopia_port_no);
326}
327
328
329TERM_PUBLIC void
330QTOPIA_init()
331{
332 /* initialize lib (if necassary) */
333 InitSockets();
334 CheckForQtplot( 0 );
335 OpenClient( 0 );
336
337 SendDataToSocket( "qtd init\n" );
338}
339
340
341TERM_PUBLIC void
342QTOPIA_graphics()
343{
344 SendDataToSocket( "qtd graphics\n" );
345}
346
347TERM_PUBLIC void
348QTOPIA_text()
349{
350 SendDataToSocket( "qtd text\n" );
351}
352
353
354TERM_PUBLIC void
355QTOPIA_reset()
356{
357 SendDataToSocket( "qtd reset\n" );
358
359 /* give the qtplot a litle bit time to shutdown */
360 MySleep(100);
361
362 CloseClient();
363 ExitSockets();
364}
365
366
367TERM_PUBLIC void
368QTOPIA_linetype(linetype)
369int linetype;
370{
371 char sBuffer[QTOPIA_MAX_BUFFER];
372
373 sprintf( sBuffer, "qtd linetype type=%d\n",linetype );
374
375 SendDataToSocket( sBuffer );
376}
377
378
379TERM_PUBLIC void
380QTOPIA_move(x, y)
381unsigned int x, y;
382{
383 char sBuffer[QTOPIA_MAX_BUFFER];
384
385 sprintf( sBuffer, "qtd move x=%d y=%d\n",x,y );
386
387 SendDataToSocket( sBuffer );
388}
389
390
391TERM_PUBLIC void
392QTOPIA_point(x, y, point)
393unsigned int x, y;
394int point;
395{
396 char sBuffer[QTOPIA_MAX_BUFFER];
397
398 sprintf( sBuffer, "qtd point x=%d y=%d point=%d\n",x,y,point );
399
400 SendDataToSocket( sBuffer );
401}
402
403
404TERM_PUBLIC void
405QTOPIA_vector(_x, _y)
406unsigned int _x, _y;
407{
408 char sBuffer[QTOPIA_MAX_BUFFER];
409
410 sprintf( sBuffer, "qtd vector x=%d y=%d\n",_x,_y );
411
412 SendDataToSocket( sBuffer );
413}
414
415
416TERM_PUBLIC void
417QTOPIA_put_text(x, y, str)
418unsigned int x, y;
419const char *str;
420{
421 char sBuffer[QTOPIA_MAX_BUFFER];
422
423 sprintf( sBuffer, "qtd put_text x=%d y=%d str=%s\n",x,y,str );
424
425 SendDataToSocket( sBuffer );
426}
427
428/* not suported yet ! */
429TERM_PUBLIC void
430QTOPIA_arrow(sx, sy, ex, ey, head)
431 unsigned int sx, sy, ex, ey;
432 int head; /* ignored */
433{
434 char sBuffer[QTOPIA_MAX_BUFFER];
435
436 sprintf( sBuffer, "qtd arrow sx=%d sy=%d ex=%d ey=%d head=%d\n",sx,sy,ex,ey,head );
437
438 SendDataToSocket( sBuffer );
439}
440
441
442#endif /* TERM_BODY */
443
444#ifdef TERM_TABLE
445TERM_TABLE_START(qtopia_driver)
446 "qtopia", "qtopia or Qt",
447 QTOPIA_XMAX, QTOPIA_YMAX, QTOPIA_VCHAR, QTOPIA_HCHAR,
448 QTOPIA_VTIC, QTOPIA_HTIC, QTOPIA_options, QTOPIA_init, QTOPIA_reset,
449 QTOPIA_text, null_scale, QTOPIA_graphics, QTOPIA_move, QTOPIA_vector,
450 QTOPIA_linetype, QTOPIA_put_text, null_text_angle,
451 null_justify_text, QTOPIA_point, /*QTOPIA_arrow*/0, set_font_null,
452 0, /* pointsize */
453 TERM_CAN_MULTIPLOT,
454 NULL, NULL, NULL, NULL
455#ifdef USE_MOUSE
456 , NULL, NULL, NULL, NULL, NULL
457#endif
458#ifdef PM3D
459 , NULL, NULL, NULL, NULL
460#endif
461TERM_TABLE_END(qtopia_driver)
462
463#undef LAST_TERM
464#define LAST_TERM qtopia_driver
465
466#endif /* TERM_TABLE */
467
468#ifdef TERM_HELP
469START_HELP(qtopia)
470"1 qtopia",
471"?commands set terminal qtopia",
472"?set terminal qtopia",
473"?set term qtopia",
474"?terminal qtopia",
475"?term qtopia",
476"?qtopia",
477" The `qtopia` terminal driver has no additional options.",
478"",
479" Syntax:",
480" set terminal qtopia",
481""
482END_HELP(qtopia)
483#endif /* TERM_HELP */
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
new file mode 100644
index 0000000000..8a5bca964d
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb
@@ -0,0 +1,14 @@
1require gnuplot.inc
2
3SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${PN}-${PV}.tar.gz;name=archive \
4 http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
5 file://subdirs.patch \
6 file://lua-loadlibs-configure-in-fix.patch \
7 file://gnuplot.desktop \
8 file://gnuplot.png \
9"
10
11SRC_URI[archive.md5sum] = "9a476b21f74bd99c876f1509d731a0f9"
12SRC_URI[archive.sha256sum] = "e550f030c7d04570e89c3d4e3f6e82296816508419c86ab46c4dd73156519a2d"
13SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
14SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
diff --git a/meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch b/meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch
new file mode 100644
index 0000000000..a384b05cef
--- /dev/null
+++ b/meta-oe/recipes-extended/hexedit/hexedit/0001-don-t-strip-when-installing.patch
@@ -0,0 +1,30 @@
1From cc67246ca6839e5b3f6a286f10ed24c225b77a5e Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
3Date: Thu, 4 Jul 2013 12:34:32 +0200
4Subject: [PATCH] don't strip when installing
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Eric Bénard <eric@eukrea.com>
10
11Upstream-Status: Inappropriate [configuration]
12---
13 Makefile.in | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/Makefile.in b/Makefile.in
17index 159463e..735cc72 100644
18--- a/Makefile.in
19+++ b/Makefile.in
20@@ -42,6 +42,6 @@ distclean: clean
21
22 install: $(PRODUCT)
23 $(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
24- $(INSTALL) -s -m 755 $(PRODUCT) $(DESTDIR)$(bindir)
25+ $(INSTALL) -m 755 $(PRODUCT) $(DESTDIR)$(bindir)
26 $(INSTALL) -d -m 755 $(DESTDIR)$(mandir)/man1
27 $(INSTALL) -m 644 $(PRODUCT).1 $(DESTDIR)$(mandir)/man1
28--
291.7.10.4
30
diff --git a/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
new file mode 100644
index 0000000000..d0658db58c
--- /dev/null
+++ b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb
@@ -0,0 +1,17 @@
1SUMMARY = "view and edit files in hexadecimal or in ASCII"
2HOMEPAGE = "http://rigaux.org/hexedit.html"
3SECTION = "console/utils"
4LICENSE = "GPLv2+"
5DEPENDS = "ncurses"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
8
9SRC_URI = "http://rigaux.org/${PN}-${PV}.src.tgz \
10 file://0001-don-t-strip-when-installing.patch "
11
12SRC_URI[md5sum] = "a5af1378d028512a9cad27a5ba3e15f9"
13SRC_URI[sha256sum] = "6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7"
14
15inherit autotools
16
17S = "${WORKDIR}/${PN}"
diff --git a/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch b/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch
new file mode 100644
index 0000000000..7df01aab33
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip-3.12.6/cups-1.6.patch
@@ -0,0 +1,395 @@
1Imported from gentoo:
2https://bugs.gentoo.org/show_bug.cgi?id=428672
3
4diff -Naur hplip-3.12.6_old/prnt/cupsext/cupsext.c hplip-3.12.6/prnt/cupsext/cupsext.c
5--- hplip-3.12.6_old/prnt/cupsext/cupsext.c 2012-08-04 09:18:18.388330038 +0200
6+++ hplip-3.12.6/prnt/cupsext/cupsext.c 2012-08-04 09:18:27.855181327 +0200
7@@ -87,6 +87,46 @@
8 #define PY_SSIZE_T_MIN INT_MIN
9 #endif
10
11+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
12+#define HAVE_CUPS_1_6 1
13+#endif
14+
15+#ifndef HAVE_CUPS_1_6
16+#define ippGetCount(attr) attr->num_values
17+#define ippGetGroupTag(attr) attr->group_tag
18+#define ippGetValueTag(attr) attr->value_tag
19+#define ippGetName(attr) attr->name
20+#define ippGetBoolean(attr, element) attr->values[element].boolean
21+#define ippGetInteger(attr, element) attr->values[element].integer
22+#define ippGetStatusCode(ipp) ipp->request.status.status_code
23+#define ippGetString(attr, element, language) attr->values[element].string.text
24+
25+static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
26+{
27+ if (!ipp)
28+ return (NULL);
29+ return (ipp->current = ipp->attrs);
30+}
31+
32+static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
33+{
34+ if (!ipp || !ipp->current)
35+ return (NULL);
36+ return (ipp->current = ipp->current->next);
37+}
38+
39+static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
40+{
41+ ipp->request.op.operation_id = op;
42+ return (1);
43+}
44+
45+static int ippSetRequestId( ipp_t *ipp, int request_id )
46+{
47+ ipp->request.any.request_id = request_id;
48+ return (1);
49+}
50+#endif
51
52 int g_num_options = 0;
53 cups_option_t * g_options;
54@@ -333,8 +373,8 @@
55 request = ippNew();
56 language = cupsLangDefault();
57
58- request->request.op.operation_id = CUPS_GET_PRINTERS;
59- request->request.any.request_id = 1;
60+ ippSetOperation( request, CUPS_GET_PRINTERS );
61+ ippSetRequestId ( request, 1);
62
63 ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
64 "attributes-charset", NULL, cupsLangEncoding( language ) );
65@@ -378,10 +418,10 @@
66 ipp_pstate_t state;
67 int i = 0;
68
69- for ( attr = response->attrs; attr != NULL; attr = attr->next )
70+ for ( attr = ippFirstAttribute( response ); attr != NULL; attr = ippNextAttribute( response ) )
71 {
72- while ( attr != NULL && attr->group_tag != IPP_TAG_PRINTER )
73- attr = attr->next;
74+ while ( attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER )
75+ attr = ippNextAttribute( response );
76
77 if ( attr == NULL )
78 break;
79@@ -390,41 +430,41 @@
80 state = IPP_PRINTER_IDLE;
81 accepting = 0;
82
83- while ( attr != NULL && attr->group_tag == IPP_TAG_PRINTER )
84+ while ( attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER )
85 {
86- if ( strcmp( attr->name, "printer-name" ) == 0 &&
87- attr->value_tag == IPP_TAG_NAME )
88- name = attr->values[ 0 ].string.text;
89-
90- else if ( strcmp( attr->name, "device-uri" ) == 0 &&
91- attr->value_tag == IPP_TAG_URI )
92- device_uri = attr->values[ 0 ].string.text;
93-
94- else if ( strcmp( attr->name, "printer-uri-supported" ) == 0 &&
95- attr->value_tag == IPP_TAG_URI )
96- printer_uri = attr->values[ 0 ].string.text;
97-
98- else if ( strcmp( attr->name, "printer-info" ) == 0 &&
99- attr->value_tag == IPP_TAG_TEXT )
100- info = attr->values[ 0 ].string.text;
101-
102- else if ( strcmp( attr->name, "printer-location" ) == 0 &&
103- attr->value_tag == IPP_TAG_TEXT )
104- location = attr->values[ 0 ].string.text;
105-
106- else if ( strcmp( attr->name, "printer-make-and-model" ) == 0 &&
107- attr->value_tag == IPP_TAG_TEXT )
108- make_model = attr->values[ 0 ].string.text;
109-
110- else if ( strcmp( attr->name, "printer-state" ) == 0 &&
111- attr->value_tag == IPP_TAG_ENUM )
112- state = ( ipp_pstate_t ) attr->values[ 0 ].integer;
113-
114- else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
115- attr->value_tag == IPP_TAG_BOOLEAN)
116- accepting = attr->values[ 0 ].boolean;
117+ if ( strcmp( ippGetName( attr ), "printer-name" ) == 0 &&
118+ ippGetValueTag( attr ) == IPP_TAG_NAME )
119+ name = ippGetString( attr, 0, NULL );
120+
121+ else if ( strcmp( ippGetName( attr ), "device-uri" ) == 0 &&
122+ ippGetValueTag( attr ) == IPP_TAG_URI )
123+ device_uri = ippGetString( attr, 0, NULL );
124+
125+ else if ( strcmp( ippGetName( attr ), "printer-uri-supported" ) == 0 &&
126+ ippGetValueTag( attr ) == IPP_TAG_URI )
127+ printer_uri = ippGetString( attr, 0, NULL );
128+
129+ else if ( strcmp( ippGetName( attr ), "printer-info" ) == 0 &&
130+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
131+ info = ippGetString( attr, 0, NULL );
132+
133+ else if ( strcmp( ippGetName( attr ), "printer-location" ) == 0 &&
134+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
135+ location = ippGetString( attr, 0, NULL );
136+
137+ else if ( strcmp( ippGetName( attr ), "printer-make-and-model" ) == 0 &&
138+ ippGetValueTag( attr ) == IPP_TAG_TEXT )
139+ make_model = ippGetString( attr, 0, NULL );
140+
141+ else if ( strcmp( ippGetName( attr ), "printer-state" ) == 0 &&
142+ ippGetValueTag( attr ) == IPP_TAG_ENUM )
143+ state = ( ipp_pstate_t ) ippGetInteger( attr, 0 );
144+
145+ else if (!strcmp(ippGetName( attr ), "printer-is-accepting-jobs") &&
146+ ippGetValueTag( attr ) == IPP_TAG_BOOLEAN)
147+ accepting = ippGetBoolean( attr, 0 );
148
149- attr = attr->next;
150+ attr = ippNextAttribute( response );
151 }
152
153 if ( device_uri == NULL )
154@@ -522,8 +562,8 @@
155 request = ippNew();
156 language = cupsLangDefault();
157
158- request->request.op.operation_id = CUPS_ADD_PRINTER;
159- request->request.any.request_id = 1;
160+ ippSetOperation( request, CUPS_ADD_PRINTER );
161+ ippSetRequestId ( request, 1 );
162
163 ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
164 "attributes-charset", NULL, cupsLangEncoding( language ) );
165@@ -568,7 +608,7 @@
166 }
167 else
168 {
169- status = response->request.status.status_code;
170+ status = ippGetStatusCode( response );
171 //ippDelete( response );
172 r = 1;
173 }
174@@ -631,8 +671,8 @@
175 */
176 request = ippNew();
177
178- request->request.op.operation_id = CUPS_DELETE_PRINTER;
179- request->request.op.request_id = 1;
180+ ippSetOperation( request, CUPS_DELETE_PRINTER );
181+ ippSetRequestId ( request, 1 );
182
183 language = cupsLangDefault();
184
185@@ -650,7 +690,7 @@
186 */
187 response = cupsDoRequest( http, request, "/admin/" );
188
189- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
190+ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
191 {
192 r = 1;
193 }
194@@ -721,8 +761,8 @@
195
196 request = ippNew();
197
198- request->request.op.operation_id = CUPS_SET_DEFAULT;
199- request->request.op.request_id = 1;
200+ ippSetOperation( request, CUPS_SET_DEFAULT );
201+ ippSetRequestId ( request, 1 );
202
203 language = cupsLangDefault();
204
205@@ -743,7 +783,7 @@
206
207 response = cupsDoRequest( http, request, "/admin/" );
208
209- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
210+ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
211 {
212 r = 1;
213 }
214@@ -797,8 +837,8 @@
215
216 request = ippNew();
217
218- request->request.op.operation_id = op;
219- request->request.op.request_id = 1;
220+ ippSetOperation( request, op );
221+ ippSetRequestId ( request, 1 );
222
223 language = cupsLangDefault();
224
225@@ -822,7 +862,7 @@
226
227 response = cupsDoRequest(http, request, "/admin/");
228
229- if (( response != NULL ) && (response->request.status.status_code <= IPP_OK_CONFLICT))
230+ if (( response != NULL ) && (ippGetStatusCode( response ) <= IPP_OK_CONFLICT))
231 {
232 r = 1;
233 }
234@@ -837,7 +877,7 @@
235 if ( response != NULL )
236 ippDelete( response );
237
238- return Py_BuildValue( "i", r );;
239+ return Py_BuildValue( "i", r );
240 }
241
242
243@@ -1116,8 +1156,8 @@
244
245 request = ippNew();
246
247- request->request.op.operation_id = CUPS_GET_PPDS;
248- request->request.op.request_id = 1;
249+ ippSetOperation( request, CUPS_GET_PPDS );
250+ ippSetRequestId ( request, 1 );
251
252 language = cupsLangDefault();
253
254@@ -1143,43 +1183,43 @@
255 if ((response = cupsDoRequest(http, request, "/")) != NULL)
256 {
257
258- for (attr = response->attrs; attr; attr = attr->next)
259+ for (attr = ippFirstAttribute( response ); attr; attr = ippNextAttribute( response ))
260 {
261 PyObject *dict;
262 char *ppdname = NULL;
263
264- while (attr && attr->group_tag != IPP_TAG_PRINTER)
265- attr = attr->next;
266+ while (attr && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
267+ attr = ippNextAttribute( response );
268
269 if (!attr)
270 break;
271
272 dict = PyDict_New ();
273
274- for (; attr && attr->group_tag == IPP_TAG_PRINTER; attr = attr->next)
275+ for (; attr && ippGetGroupTag( attr ) == IPP_TAG_PRINTER; attr = ippNextAttribute( response ))
276 {
277 PyObject *val = NULL;
278
279- if (!strcmp (attr->name, "ppd-name") && attr->value_tag == IPP_TAG_NAME)
280+ if (!strcmp (ippGetName( attr ), "ppd-name") && ippGetValueTag( attr ) == IPP_TAG_NAME)
281 {
282- ppdname = attr->values[0].string.text;
283+ ppdname = ippGetString( attr, 0, NULL );
284
285 //sprintf( buf, "print '%s'", ppdname);
286 //PyRun_SimpleString( buf );
287 }
288
289- else if (attr->value_tag == IPP_TAG_TEXT || attr->value_tag == IPP_TAG_NAME || attr->value_tag == IPP_TAG_KEYWORD)
290- //else if ((!strcmp (attr->name, "ppd-natural-language") && attr->value_tag == IPP_TAG_LANGUAGE) ||
291- // (!strcmp (attr->name, "ppd-make-and-model") && attr->value_tag == IPP_TAG_TEXT) ||
292- // (!strcmp (attr->name, "ppd-make") && attr->value_tag == IPP_TAG_TEXT) ||
293- // (!strcmp (attr->name, "ppd-device-id") && attr->value_tag == IPP_TAG_TEXT))
294+ else if (ippGetValueTag( attr ) == IPP_TAG_TEXT || ippGetValueTag( attr ) == IPP_TAG_NAME || ippGetValueTag( attr ) == IPP_TAG_KEYWORD)
295+ //else if ((!strcmp (ippGetName( attr ), "ppd-natural-language") && ippGetValueTag( attr ) == IPP_TAG_LANGUAGE) ||
296+ // (!strcmp (ippGetName( attr ), "ppd-make-and-model") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
297+ // (!strcmp (ippGetName( attr ), "ppd-make") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
298+ // (!strcmp (ippGetName( attr ), "ppd-device-id") && ippGetValueTag( attr ) == IPP_TAG_TEXT))
299 {
300- val = PyObj_from_UTF8(attr->values[0].string.text);
301+ val = PyObj_from_UTF8(ippGetString( attr, 0, NULL ));
302 }
303
304 if (val)
305 {
306- PyDict_SetItemString (dict, attr->name, val);
307+ PyDict_SetItemString (dict, ippGetName( attr ), val);
308 Py_DECREF (val);
309 }
310 }
311diff -Naur hplip-3.12.6_old/scan/sane/hpaio.c hplip-3.12.6/scan/sane/hpaio.c
312--- hplip-3.12.6_old/scan/sane/hpaio.c 2012-08-04 09:18:21.458389913 +0200
313+++ hplip-3.12.6/scan/sane/hpaio.c 2012-08-04 09:18:27.875181720 +0200
314@@ -47,6 +47,43 @@
315 #define DEBUG_DECLARE_ONLY
316 #include "sanei_debug.h"
317
318+#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
319+#define HAVE_CUPS_1_6 1
320+#endif
321+
322+#ifndef HAVE_CUPS_1_6
323+#define ippGetGroupTag(attr) attr->group_tag
324+#define ippGetValueTag(attr) attr->value_tag
325+#define ippGetName(attr) attr->name
326+#define ippGetString(attr, element, language) attr->values[element].string.text
327+
328+static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
329+{
330+ if (!ipp)
331+ return (NULL);
332+ return (ipp->current = ipp->attrs);
333+}
334+
335+static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
336+{
337+ if (!ipp || !ipp->current)
338+ return (NULL);
339+ return (ipp->current = ipp->current->next);
340+}
341+
342+static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
343+{
344+ ipp->request.op.operation_id = op;
345+ return (1);
346+}
347+
348+static int ippSetRequestId( ipp_t *ipp, int request_id )
349+{
350+ ipp->request.any.request_id = request_id;
351+ return (1);
352+}
353+#endif
354+
355 static SANE_Device **DeviceList = NULL;
356
357 static int AddDeviceList(char *uri, char *model, SANE_Device ***pd)
358@@ -186,8 +223,8 @@
359 /* Assemble the IPP request */
360 request = ippNew();
361
362- request->request.op.operation_id = CUPS_GET_PRINTERS;
363- request->request.any.request_id = 1;
364+ ippSetOperation( request, CUPS_GET_PRINTERS );
365+ ippSetRequestId( request, 1 );
366
367 ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8");
368 ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, "en");
369@@ -197,20 +234,20 @@
370 if ((response = cupsDoRequest(http, request, "/")) == NULL)
371 goto bugout;
372
373- for (attr = response->attrs; attr != NULL; attr = attr->next)
374+ for (attr = ippFirstAttribute ( response ); attr != NULL; attr = ippNextAttribute( response ))
375 {
376 /* Skip leading attributes until we hit a printer. */
377- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER)
378- attr = attr->next;
379+ while (attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
380+ attr = ippNextAttribute( response );
381
382 if (attr == NULL)
383 break;
384
385- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER)
386+ while (attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER)
387 {
388- if (strcmp(attr->name, "device-uri") == 0 && attr->value_tag == IPP_TAG_URI && AddCupsList(attr->values[0].string.text, printer) == 0)
389+ if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0)
390 cnt++;
391- attr = attr->next;
392+ attr = ippNextAttribute( response );
393 }
394
395 if (attr == NULL)
diff --git a/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch b/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch
new file mode 100644
index 0000000000..b347f831cb
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip-3.12.6/fix-libusb-paths.patch
@@ -0,0 +1,35 @@
1Upstream-Status: Inappropriate [configuration]
2
3diff -rupN hplip-3.12.6_orig/configure.in hplip-3.12.6/configure.in
4--- hplip-3.12.6_orig/configure.in 2012-06-18 20:44:24.000000000 +1000
5+++ hplip-3.12.6/configure.in 2012-08-16 13:40:07.259927650 +1000
6@@ -524,6 +524,8 @@ if test "$hpijs_only_build" = "no"; then
7 AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)])
8 else
9 AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb 1.0 support], 2)])
10+ LIBUSBINCLUDEROOT?="/usr/include/"
11+ AC_ARG_VAR(LIBUSBINCLUDEROOT, [path to libusb-1.0 folder])
12 AC_CHECK_HEADERS(libusb-1.0/libusb.h, ,[AC_MSG_ERROR([cannot find libusb-1.0-devel support], 11)])
13 fi
14 fi
15diff -rupN hplip-3.12.6_orig/Makefile.am hplip-3.12.6/Makefile.am
16--- hplip-3.12.6_orig/Makefile.am 2012-06-18 20:44:13.000000000 +1000
17+++ hplip-3.12.6/Makefile.am 2012-08-16 13:41:12.307932822 +1000
18@@ -72,7 +72,7 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c i
19 io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \
20 io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb_libusb01.c
21 else
22-libhpmud_la_CFLAGS = -I/usr/include/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
23+libhpmud_la_CFLAGS = -I/$(LIBUSBINCLUDEROOT)/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\"
24 libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/pml.c \
25 io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \
26 io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb.c
27@@ -286,7 +286,7 @@ hpmudext_la_LIBADD = libhpmud.la
28 if LIBUSB01_BUILD
29 hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
30 else
31-hpmudext_la_CFLAGS =-I/usr/include/libusb-1.0 -I$(PYTHONINCLUDEDIR)
32+hpmudext_la_CFLAGS =-I$(LIBUSBINCLUDEROOT)/libusb-1.0 -I$(PYTHONINCLUDEDIR)
33 endif
34
35 # ui (qt3)
diff --git a/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch b/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch
new file mode 100644
index 0000000000..0e1b6c4ed3
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip-3.12.6/setup-add-sleep-after-cups-reset.patch
@@ -0,0 +1,12 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3--- hplip-3.11.10/setup.py.orig 2011-10-02 14:06:19.000000000 +1100
4+++ hplip-3.11.10/setup.py 2012-02-29 08:21:39.167999938 +1100
5@@ -573,6 +573,7 @@
6
7 log.debug("Restarting CUPS...")
8 status, output = utils.run(restart_cups())
9+ time.sleep(3)
10 log.debug("Restart CUPS returned: exit=%d output=%s" % (status, output))
11
12 cups.setPasswordPrompt("You do not have permission to add a printer.")
diff --git a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
new file mode 100644
index 0000000000..655f907f6d
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
@@ -0,0 +1,71 @@
1SUMMARY = "HP Linux Imaging and Printing"
2LICENSE="GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=442bb3cbbeeb60643a87325718b8a8ee"
4
5PR = "r1"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz \
8 file://setup-add-sleep-after-cups-reset.patch \
9 file://fix-libusb-paths.patch \
10 file://cups-1.6.patch \
11"
12
13DEPENDS += "cups python libusb"
14
15inherit autotools python-dir pythonnative
16
17export BUILD_SYS
18export HOST_SYS
19export STAGING_INCDIR
20export STAGING_LIBDIR
21
22EXTRA_OECONF += "\
23 LIBUSBINCLUDEROOT=${STAGING_INCDIR} \
24 --disable-network-build \
25 --disable-doc-build \
26 --disable-pp-build \
27 --disable-scan-build \
28 --disable-gui-build \
29 --disable-fax-build \
30 --disable-policykit \
31 --disable-qt4 \
32 --disable-qt3 \
33 --disable-dbus-build \
34 --disable-foomatic-drv-install \
35 --enable-foomatic-ppd-install \
36 --enable-foomatic-rip-hplip-install \
37"
38
39PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal"
40
41RDEPENDS_${PN} += " \
42 python-syslog \
43 python-pprint \
44 python-compression \
45 python-shell \
46 python-xml \
47 python-unixadmin \
48 python-html \
49 python-resource \
50 python-terminal \
51 python-subprocess\
52"
53
54# need to snag the debug file or OE will fail on backend package
55FILES_${PN}-dbg += "\
56 ${libdir}/cups/backend/.debug \
57 ${PYTHON_SITEPACKAGES_DIR}/.debug \
58 ${libdir}/cups/filter/.debug "
59
60FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
61FILES_${PN}-ppd = "${datadir}/ppd"
62FILES_${PN}-cups = "${datadir}/cups"
63FILES_${PN}-backend = "${libdir}/cups/backend"
64FILES_${PN}-filter = "${libdir}/cups/filter"
65FILES_${PN}-hal = "${datadir}/hal"
66
67FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so"
68
69SRC_URI[md5sum] = "5303938e8630775ea6fb383af85775e5"
70SRC_URI[sha256sum] = "54578000792969adb583e75efeacb9c46ab69659ec7e9424de390613f3595775"
71
diff --git a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
new file mode 100644
index 0000000000..14d2ee5e38
--- /dev/null
+++ b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Simple top-like I/O monitor"
2DESCRIPTION = "iotop does for I/O usage what top(1) does for CPU usage. \
3 It watches I/O usage information output by the Linux kernel and displays \
4 a table of current I/O usage by processes on the system."
5HOMEPAGE = "http://guichaz.free.fr/iotop/"
6
7PR = "r1"
8
9LICENSE = "GPLv2+"
10LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
11
12SRC_URI = "http://guichaz.free.fr/iotop/files/${PN}-${PV}.tar.bz2"
13SRC_URI[md5sum] = "cdd38b276cbf238676f5d2bcf098ba9c"
14SRC_URI[sha256sum] = "46f3279fb1a7dfc129b5d00950c6e8389e4aedeb58880e848b88d686483df0b0"
15
16inherit distutils
17
18do_install_append() {
19 rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.pyo || true
20 rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true
21}
22
23RDEPENDS_${PN} = "python-distutils python-curses python-textutils \
24 python-codecs python-ctypes python-pprint \
25 python-shell"
diff --git a/meta-oe/recipes-extended/jansson/jansson_2.4.bb b/meta-oe/recipes-extended/jansson/jansson_2.4.bb
new file mode 100644
index 0000000000..c235729fec
--- /dev/null
+++ b/meta-oe/recipes-extended/jansson/jansson_2.4.bb
@@ -0,0 +1,12 @@
1SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
2HOMEPAGE = "http://www.digip.org/jansson/"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=6946b728e700de875e60ebb453cc3a20"
5
6SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
7
8SRC_URI[md5sum] = "c4629b89bf0432f3158c461e88fe0113"
9SRC_URI[sha256sum] = "1fcbd1ac3d8b610644acf86a5731d760bb228c9acbace20a2ad0f23baec79b41"
10
11inherit autotools pkgconfig
12
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 0000000000..061cc22f0c
--- /dev/null
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc/automake-111-fix.patch
@@ -0,0 +1,21 @@
1Description: With automake 1.11.3, pkglib_PROGRAMS is not valid anymore,
2 so work around this by using my_execbin_PROGRAMS.
3Author: Andreas Moog <amoog@ubuntu.com>
4Bug-Ubuntu: https://bugs.launchpad.net/bugs/934265
5
6Upstream-Status: Backport
7
8Index: lcdproc-0.5.5/server/drivers/Makefile.am
9===================================================================
10--- lcdproc-0.5.5.orig/server/drivers/Makefile.am 2012-02-26 14:04:37.000000000 +0100
11+++ lcdproc-0.5.5/server/drivers/Makefile.am 2012-02-26 14:13:17.764467350 +0100
12@@ -20,7 +20,8 @@
13
14 ## Keep the lists sorted!
15
16-pkglib_PROGRAMS = @DRIVERS@
17+my_execbindir = $(pkglibdir)
18+my_execbin_PROGRAMS = @DRIVERS@
19 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
20 noinst_LIBRARIES = libLCD.a libbignum.a
21
diff --git a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
new file mode 100644
index 0000000000..d1a45cadcc
--- /dev/null
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc
@@ -0,0 +1,81 @@
1DESCRIPTION = "LCDproc is a client/server suite to drive all kinds of LCD (-like) devices. The client \
2shipped with this package can be used to acquire various kinds of system stats."
3SUMMARY = "Drivers for character-based LCD displays"
4HOMEPAGE = "http://lcdproc.org"
5SECTION = "utils"
6LICENSE = "GPLv2+"
7DEPENDS = "ncurses"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
10 file://README;beginline=60;md5=637e042cdd3671ba00e78b58ede45d3b"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${P}.tar.gz"
13
14inherit autotools update-rc.d
15
16LCD_DRIVERS ?= "all"
17LCD_DEFAULT_DRIVER ?= "curses"
18
19PACKAGECONFIG ??= "usb"
20PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
21PACKAGECONFIG[ftdi] = "--enable-libftdi,--disable-libftdi,libftdi"
22
23EXTRA_OECONF = "--enable-drivers=${LCD_DRIVERS}"
24
25do_install () {
26 # binaries
27 install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
28 install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc
29
30 # init scripts
31 install -d ${D}${sysconfdir}/init.d
32 # so far, not fixed :-( and now even uglier :-((
33 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
34 chmod 0755 ${D}${sysconfdir}/init.d/lcdd
35 install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc
36 sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
37
38 # configuration files
39 install -m 0644 LCDd.conf ${D}${sysconfdir}/LCDd.conf
40 sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
41 sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
42 install -m 0644 clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
43
44 # driver library files
45 install -d ${D}${libdir}/lcdproc
46 for i in server/drivers/*.so; do
47 install -m 0644 $i ${D}${libdir}/lcdproc/
48 done
49}
50
51PACKAGES =+ "lcdd"
52
53RRECOMMENDS_${PN} = "lcdd"
54
55FILES_lcdd = "${sysconfdir}/LCDd.conf \
56 ${sbindir}/LCDd \
57 ${sysconfdir}/init.d/lcdd"
58
59CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
60CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf"
61
62# Driver packages
63
64# USB / no USB trickery
65
66RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
67RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
68
69INITSCRIPT_PACKAGES = "lcdd lcdproc"
70INITSCRIPT_NAME_lcdd = "lcdd"
71INITSCRIPT_NAME_lcdproc = "lcdproc"
72INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
73INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"
74
75python populate_packages_prepend() {
76 plugindir = d.expand('${libdir}/lcdproc')
77 do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
78}
79
80PACKAGES_DYNAMIC += "^lcdd-driver-.*"
81
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 0000000000..39e607437e
--- /dev/null
+++ b/meta-oe/recipes-extended/lcdproc/lcdproc_0.5.5.bb
@@ -0,0 +1,24 @@
1require lcdproc5.inc
2
3SRC_URI += "file://automake-111-fix.patch"
4
5SRC_URI[md5sum] = "c92d4529d36eeec6d9d6fd0a4aa3ec82"
6SRC_URI[sha256sum] = "b136b47d7bf585a003334f432d8730a36ef5ed1cd520084b919667d825e48d42"
7
8PACKAGECONFIG ?= ""
9PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
10
11LCD_DRIVERS_append = "${@base_contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
12
13do_install_append () {
14 # binaries
15 install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
16
17 # configuration files
18 install -D -m 0644 clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
19}
20
21PACKAGES =+ "lcdvc"
22CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf"
23FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
24
diff --git a/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-oe/recipes-extended/libcec/libcec_git.bb
new file mode 100644
index 0000000000..db032f98c9
--- /dev/null
+++ b/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -0,0 +1,23 @@
1SUMMARY = "USB CEC Adaptor communication Library"
2HOMEPAGE = "http://libcec.pulse-eight.com/"
3
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=5e8e16396992369f73f3d28875f846da"
6
7DEPENDS = "udev lockdev"
8
9PV = "1.9.0"
10
11SRCREV = "9884e9ffc5293de5bb9092db1ed581f213a678df"
12SRC_URI = "git://github.com/Pulse-Eight/libcec.git"
13
14S = "${WORKDIR}/git"
15
16inherit autotools pkgconfig
17
18# cec-client and xbmc need the .so present to work :(
19FILES_${PN} += "${libdir}/*.so"
20INSANE_SKIP_${PN} = "dev-so"
21
22# Adapter shows up as a CDC-ACM device
23RRECOMMENDS_${PN} = "kernel-module-cdc-acm"
diff --git a/meta-oe/recipes-extended/libconfig/libconfig_1.4.9.bb b/meta-oe/recipes-extended/libconfig/libconfig_1.4.9.bb
new file mode 100644
index 0000000000..c7d3cf767e
--- /dev/null
+++ b/meta-oe/recipes-extended/libconfig/libconfig_1.4.9.bb
@@ -0,0 +1,14 @@
1SUMMARY = "C/C++ Configuration File Library"
2DESCRIPTION = "Library for manipulating structured configuration files"
3HOMEPAGE = "http://www.hyperrealm.com/libconfig/"
4SECTION = "libs"
5
6LICENSE = "LGPLv2.1"
7LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fad9b3332be894bab9bc501572864b29"
8
9SRC_URI = "http://www.hyperrealm.com/${BPN}/${BP}.tar.gz"
10
11inherit autotools pkgconfig
12
13SRC_URI[md5sum] = "b6ee0ce2b3ef844bad7cac2803a90634"
14SRC_URI[sha256sum] = "09c8979252e60193e2969e9b0e1cd597f7820087867989b2f0939ad164473041"
diff --git a/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch b/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
new file mode 100644
index 0000000000..cc3f5d4786
--- /dev/null
+++ b/meta-oe/recipes-extended/libdivecomputer/files/fix-ar.patch
@@ -0,0 +1,18 @@
1---
2 configure.ac | 1 +
3 1 file changed, 1 insertion(+)
4
5--- git.orig/configure.ac
6+++ git/configure.ac
7@@ -24,10 +24,11 @@ LT_INIT([win32-dll])
8 LT_PROG_RC
9
10 # Checks for programs.
11 AC_PROG_CC
12 AC_PROG_CC_C99
13+AM_PROG_AR
14
15 # Enable automake silent build rules.
16 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
17
18 # Checks for native Windows.
diff --git a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
new file mode 100644
index 0000000000..1154dc0c53
--- /dev/null
+++ b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "Libdivecomputer is a cross-platform and open source library for communication with dive computers from various manufacturers."
2HOMEPAGE = "http://www.divesoftware.org/libdc/"
3
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
6
7DEPENDS = "libusb1"
8
9inherit autotools pkgconfig
10
11PV = "0.0.0"
12PR = "r1"
13
14SRCREV = "b7a6be15ca58cc8f89fbc8fa1a4c840e13d51092"
15SRC_URI = "git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer \
16file://fix-ar.patch"
17S = "${WORKDIR}/git"
18
19
diff --git a/meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch b/meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch
new file mode 100644
index 0000000000..f6ef6f4f8b
--- /dev/null
+++ b/meta-oe/recipes-extended/libimobiledevice/files/fix-parallel-make.patch
@@ -0,0 +1,21 @@
1From 335b25febd4c864ad0ac08479f5cd43fc21b7d73 Mon Sep 17 00:00:00 2001
2From: Nikias Bassen
3Date: Mon, 09 Jul 2012 21:17:15 +0000
4Subject: Fix building with parallel build makeopts
5
6---
7diff --git a/CMakeLists.txt b/CMakeLists.txt
8index 0bad840..155994e 100644
9--- a/CMakeLists.txt
10+++ b/CMakeLists.txt
11@@ -57,6 +57,8 @@ ADD_SUBDIRECTORY( plutil )
12 ADD_SUBDIRECTORY( include )
13 ADD_SUBDIRECTORY( test )
14
15+ADD_DEPENDENCIES( plist libcnary )
16+
17 IF ( SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND )
18 ADD_SUBDIRECTORY( swig )
19 ENDIF ( SWIG_FOUND AND PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND )
20--
21cgit v0.9.0.2
diff --git a/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb b/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
new file mode 100644
index 0000000000..6e8d69f603
--- /dev/null
+++ b/meta-oe/recipes-extended/libimobiledevice/libplist_1.8.bb
@@ -0,0 +1,22 @@
1SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
2
3LICENSE = "GPLv2 & LGPLv2.1"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
5 file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
6
7DEPENDS = "libxml2 glib-2.0 swig python"
8
9inherit cmake pkgconfig
10
11SRC_URI = "http://www.libimobiledevice.org/downloads/libplist-${PV}.tar.bz2 \
12 file://fix-parallel-make.patch \
13"
14
15SRC_URI[md5sum] = "2a9e0258847d50f9760dc3ece25f4dc6"
16SRC_URI[sha256sum] = "a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec"
17
18PACKAGES =+ "${PN}-utils ${PN}++"
19FILES_${PN} = "${libdir}/libplist${SOLIBS}"
20FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}"
21FILES_${PN}-utils = "${bindir}/*"
22
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch
new file mode 100644
index 0000000000..ea13e11d25
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/configure.patch
@@ -0,0 +1,25 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- liblockfile-1.05/./configure.in~configure
7+++ liblockfile-1.05/./configure.in
8@@ -1,4 +1,5 @@
9-AC_INIT(lockfile.c)
10+AC_INIT
11+AC_CONFIG_SRCDIR([lockfile.c])
12 AC_CONFIG_HEADER(autoconf.h)
13 AC_REVISION($Revision: 1.0 $)dnl
14
15@@ -111,7 +112,8 @@
16 AC_SUBST(INSTALL_TARGETS)
17 AC_SUBST(nfslockdir)
18
19-AC_OUTPUT(\
20+AC_CONFIG_FILES([\
21 ./Makefile \
22 ./maillock.h \
23-)
24+])
25+AC_OUTPUT
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch
new file mode 100644
index 0000000000..e3c4aaae5f
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/glibc-2.4.patch
@@ -0,0 +1,70 @@
1The local function eaccess conflicts with a glibc function of the same name.
2Rename the function so that this can be build under glibc 2.4, and older
3revisions, without any problems.
4
5--- liblockfile-1.06/dotlockfile.c 2006/07/10 03:17:40 1.1
6+++ liblockfile-1.06/dotlockfile.c 2006/07/10 03:18:26
7@@ -42,7 +42,7 @@
8 extern int optind;
9 #endif
10
11-extern int eaccess(char *, gid_t, struct stat *);
12+extern int xeaccess(char *, gid_t, struct stat *);
13
14 /*
15 * Sleep for an amout of time while regulary checking if
16@@ -252,14 +252,14 @@
17 return L_ERROR;
18 }
19 gid = getgid();
20- if (eaccess(dir, gid, &st) < 0) {
21+ if (xeaccess(dir, gid, &st) < 0) {
22 if (errno == ENOENT) {
23 enoent:
24 if (!quiet) fprintf(stderr,
25 "dotlockfile: %s: no such directory\n", dir);
26 return L_TMPLOCK;
27 }
28- if ((r = eaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
29+ if ((r = xeaccess(dir, getegid(), &st) < 0) && errno == ENOENT)
30 goto enoent;
31 if (r < 0 || !ismaillock(lockfile, pwd->pw_name)) {
32 if (!quiet) fprintf(stderr,
33@@ -272,7 +272,7 @@
34 /*
35 * Now we should be able to chdir() to the lock directory.
36 * When we stat("."), it should be the same as at the
37- * eaccess() check or someone played symlink() games on us.
38+ * xeaccess() check or someone played symlink() games on us.
39 */
40 if (chdir(dir) < 0 || stat(".", &st2) < 0) {
41 if (!quiet) fprintf(stderr,
42--- liblockfile-1.06/lockfile.c 2006/07/10 03:17:40 1.1
43+++ liblockfile-1.06/lockfile.c 2006/07/10 03:18:26
44@@ -54,7 +54,7 @@
45 #ifdef LIB
46 static
47 #endif
48-int eaccess(char *fn, gid_t gid, struct stat *st)
49+int xeaccess(char *fn, gid_t gid, struct stat *st)
50 {
51 struct stat tmp;
52 uid_t uid = geteuid();
53@@ -96,7 +96,7 @@
54 *p = 0;
55 else
56 strcpy(dir, ".");
57- if (eaccess(dir, egid, NULL) >= 0) {
58+ if (xeaccess(dir, egid, NULL) >= 0) {
59 free(dir);
60 return 0;
61 }
62@@ -111,7 +111,7 @@
63 return 0;
64 mailgid = st.st_gid;
65 }
66- ret = eaccess(dir, mailgid, NULL) >= 0;
67+ ret = xeaccess(dir, mailgid, NULL) >= 0;
68 free (dir);
69 return ret;
70 }
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch
new file mode 100644
index 0000000000..a9319ff1e3
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/install.patch
@@ -0,0 +1,48 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- liblockfile-1.05/Makefile.in~install
7+++ liblockfile-1.05/Makefile.in
8@@ -20,6 +20,7 @@
9 includedir = @includedir@
10
11 MAILGROUP = @MAILGROUP@
12+INSTGRP = $(if $(MAILGROUP),-g $(MAILGROUP))
13
14 all: @TARGETS@
15 install: @INSTALL_TARGETS@
16@@ -50,25 +51,27 @@
17 $(CC) $(CFLAGS) -c lockfile.c -o xlockfile.o
18
19 install_static: static install_common
20+ install -d $(ROOT)$(libdir)
21 install -m 644 liblockfile.a $(ROOT)$(libdir)
22
23 install_shared: shared install_common
24+ install -d $(ROOT)$(libdir)
25 install -m 755 liblockfile.so \
26 $(ROOT)$(libdir)/liblockfile.so.$(VER)
27 ln -s liblockfile.so.$(VER) $(ROOT)$(libdir)/liblockfile.so
28 if test "$(ROOT)" = ""; then @LDCONFIG@; fi
29
30 install_common:
31+ install -d $(ROOT)$(includedir)
32 install -m 644 lockfile.h maillock.h $(ROOT)$(includedir)
33- if [ "$(MAILGROUP)" != "" ]; then\
34- install -g $(MAILGROUP) -m 2755 dotlockfile $(ROOT)$(bindir);\
35- else \
36- install -g root -m 755 dotlockfile $(ROOT)$(bindir); \
37- fi
38+ install -d $(ROOT)$(bindir)
39+ install -m 755 $(INSTGRP) dotlockfile $(ROOT)$(bindir)
40+ install -d $(ROOT)$(mandir)/man1 $(ROOT)$(mandir)/man3
41 install -m 644 *.1 $(ROOT)$(mandir)/man1
42 install -m 644 *.3 $(ROOT)$(mandir)/man3
43
44 install_nfslib: nfslib
45+ install -d $(ROOT)$(nfslockdir)
46 install -m 755 nfslock.so.$(VER) $(ROOT)$(nfslockdir)
47 if test "$(ROOT)" = ""; then @LDCONFIG@; fi
48
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch
new file mode 100644
index 0000000000..eb1d1478b8
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/ldflags.patch
@@ -0,0 +1,21 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- liblockfile-1.05/Makefile.in~ldflags
7+++ liblockfile-1.05/Makefile.in
8@@ -34,11 +34,11 @@
9
10 liblockfile.so: liblockfile.a
11 $(CC) -fPIC -shared -Wl,-soname,liblockfile.so.1 \
12- -o liblockfile.so lockfile.o -lc
13+ -o liblockfile.so lockfile.o $(LDFLAGS) -lc
14
15 nfslock.so.$(VER): nfslock.o
16 $(CC) -fPIC -shared -Wl,-soname,nfslock.so.0 \
17- -o nfslock.so.$(NVER) nfslock.o
18+ -o nfslock.so.$(NVER) nfslock.o $(LDFLAGS)
19
20 dotlockfile: dotlockfile.o xlockfile.o
21 $(CC) $(LDFLAGS) -o dotlockfile dotlockfile.o xlockfile.o
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch
new file mode 100644
index 0000000000..ffd7a40fab
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile-1.09/liblockfile-fix-nfslib-and-soname.patch
@@ -0,0 +1,54 @@
1Upstream-Status: Inappropriate [no upstream]
2
3* nfslib should use NVER instead of VER
4* install the missing soname library
5
6Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
7---
8 Makefile.in | 9 ++++++---
9 1 files changed, 5 insertions(+), 3 deletions(-)
10
11diff --git a/Makefile.in b/Makefile.in
12index 836ca9b..a589fb8 100644
13--- a/Makefile.in
14+++ b/Makefile.in
15@@ -27,7 +27,7 @@ install: @INSTALL_TARGETS@
16
17 static: liblockfile.a dotlockfile
18 shared: liblockfile.so dotlockfile
19-nfslib: nfslock.so.$(VER)
20+nfslib: nfslock.so.$(NVER)
21
22 liblockfile.a: lockfile.o
23 $(AR) rv liblockfile.a lockfile.o
24@@ -36,7 +36,7 @@ liblockfile.so: liblockfile.a
25 $(CC) -fPIC -shared -Wl,-soname,liblockfile.so.1 \
26 -o liblockfile.so lockfile.o $(LDFLAGS) -lc
27
28-nfslock.so.$(VER): nfslock.o
29+nfslock.so.$(NVER): nfslock.o
30 $(CC) -fPIC -shared -Wl,-soname,nfslock.so.0 \
31 -o nfslock.so.$(NVER) nfslock.o $(LDFLAGS)
32
33@@ -59,6 +59,7 @@ install_shared: shared install_common
34 install -m 755 liblockfile.so \
35 $(ROOT)$(libdir)/liblockfile.so.$(VER)
36 ln -s liblockfile.so.$(VER) $(ROOT)$(libdir)/liblockfile.so
37+ ln -s liblockfile.so.$(VER) $(ROOT)$(libdir)/liblockfile.so.1
38 if test "$(ROOT)" = ""; then @LDCONFIG@; fi
39
40 install_common:
41@@ -72,7 +73,9 @@ install_common:
42
43 install_nfslib: nfslib
44 install -d $(ROOT)$(nfslockdir)
45- install -m 755 nfslock.so.$(VER) $(ROOT)$(nfslockdir)
46+ install -m 755 nfslock.so.$(NVER) $(ROOT)$(nfslockdir)
47+ ln -sf nfslock.so.$(NVER) $(ROOT)$(libdir)/nfslock.so
48+ ln -sf nfslock.so.$(NVER) $(ROOT)$(libdir)/nfslock.so.0
49 if test "$(ROOT)" = ""; then @LDCONFIG@; fi
50
51 clean:
52--
531.7.9.5
54
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb b/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb
new file mode 100644
index 0000000000..fa68fd0612
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile_1.09.bb
@@ -0,0 +1,29 @@
1SUMMARY = "File locking library"
2SECTION = "libs"
3LICENSE = "LGPLv2+ & GPLv2+"
4LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ac284a60d48eaa4bc811cddc377fa341"
5
6SRC_URI = "${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.09.orig.tar.gz \
7 file://install.patch \
8 file://configure.patch \
9 file://ldflags.patch \
10 file://liblockfile-fix-nfslib-and-soname.patch \
11"
12
13SRC_URI[md5sum] = "2aa269e4405ee8235ff17d1b357c6ae8"
14SRC_URI[sha256sum] = "16979eba05396365e1d6af7100431ae9d32f9bc063930d1de66298a0695f1b7f"
15
16inherit autotools
17
18# set default mailgroup to mail
19# --with-libnfslock specify where to install nfslock.so.NVER
20EXTRA_OECONF = "--enable-shared --enable-static \
21 --with-mailgroup=mail \
22 --with-libnfslock=${libdir} \
23"
24
25# Makefile using ROOT not DESTDIR
26EXTRA_OEMAKE += "ROOT=${D}"
27
28FILES_${PN} += "${libdir}/nfslock.so.*"
29FILES_${PN}-dev += "${libdir}/nfslock.so"
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.5.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.5.bb
new file mode 100644
index 0000000000..19ca24c9bb
--- /dev/null
+++ b/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.5.bb
@@ -0,0 +1,16 @@
1SUMMARY = "A Modbus library"
2DESCRIPTION = "libmodbus is a C library designed to provide a fast and robust \
3implementation of the Modbus protocol. It runs on Linux, Mac OS X, FreeBSD, \
4QNX and Windows."
5HOMEPAGE = "http://www.libmodbus.org/"
6SECTION = "libs"
7
8LICENSE = "LGPLv2.1+"
9LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
10
11SRC_URI = "http://libmodbus.org/site_media/build/${BP}.tar.gz"
12
13inherit autotools pkgconfig
14
15SRC_URI[md5sum] = "18860375a7aa0ca9cba7d6ece54ab666"
16SRC_URI[sha256sum] = "19aad5d55fa315602d6e836a858a3802f1608f9d824afba05fa12a58a1b1e656"
diff --git a/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb b/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
new file mode 100644
index 0000000000..0142ce7463
--- /dev/null
+++ b/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Libuio - helper library for UIO subsystem"
2SECTION = "base"
3LICENSE = "GPL-2.0"
4LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
5
6SRC_URI = "git://git.code.sf.net/p/libuio/code"
7
8inherit autotools
9
10SRCREV = "ed4f07ea147ac403c28105ab44d01bbf524d36f9"
11
12S = "${WORKDIR}/git"
13
14PACKAGES += "${PN}-tools"
15
16FILES_${PN} = "${libdir}"
17FILES_${PN}-tools = "${bindir}"
diff --git a/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb b/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb
new file mode 100644
index 0000000000..aa05653846
--- /dev/null
+++ b/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb
@@ -0,0 +1,16 @@
1SUMMARY = "shared library for GIF images"
2SECTION = "libs"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
5
6SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/libungif-4.x/libungif-${PV}/libungif-${PV}.tar.bz2"
7SRC_URI[md5sum] = "76865bc1bed90ecb5992a1edcc4d6c15"
8SRC_URI[sha256sum] = "708a7eac218d3fd8e8dfb13f1089d4e1e98246985180a17d6ecfca5a6bd4d332"
9
10inherit autotools lib_package
11
12PACKAGES =+ "${PN}-utils"
13
14FILES_${PN}-utils = "${bindir}/*"
15
16BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch
new file mode 100644
index 0000000000..50d915c010
--- /dev/null
+++ b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch
@@ -0,0 +1,31 @@
1http://cvs.fedoraproject.org/viewvc/devel/libwmf/libwmf-0.2.8.4-intoverflow.patch?view=log
2
3CVE-2006-3376 libwmf integer overflow
4
5--- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 19:30:26.000000000 +0000
6+++ libwmf-0.2.8.4/src/player.c 2006-07-12 15:12:52.000000000 +0100
7@@ -42,6 +42,7 @@
8 #include "player/defaults.h" /* Provides: default settings */
9 #include "player/record.h" /* Provides: parameter mechanism */
10 #include "player/meta.h" /* Provides: record interpreters */
11+#include <stdint.h>
12
13 /**
14 * @internal
15@@ -132,8 +134,14 @@
16 }
17 }
18
19-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char));
20- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
21+ if (MAX_REC_SIZE(API) > UINT32_MAX / 2)
22+ {
23+ API->err = wmf_E_InsMem;
24+ WMF_DEBUG (API,"bailing...");
25+ return (API->err);
26+ }
27+
28+ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
29
30 if (ERR (API))
31 { WMF_DEBUG (API,"bailing...");
diff --git a/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch
new file mode 100644
index 0000000000..4d2d285641
--- /dev/null
+++ b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch
@@ -0,0 +1,14 @@
1
2http://cvs.fedoraproject.org/viewvc/devel/libwmf/libwmf-0.2.8.4-useafterfree.patch?view=log
3Resolves: CVE-2009-1364
4
5--- libwmf-0.2.8.4/src/extra/gd/gd_clip.c.CVE-2009-1364-im-clip-list 2009-04-24 04:06:44.000000000 -0400
6+++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c 2009-04-24 04:08:30.000000000 -0400
7@@ -70,6 +70,7 @@ void gdClipSetAdd(gdImagePtr im,gdClipRe
8 { more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
9 if (more == 0) return;
10 im->clip->max += 8;
11+ im->clip->list = more;
12 }
13 im->clip->list[im->clip->count] = (*rect);
14 im->clip->count++;
diff --git a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
new file mode 100644
index 0000000000..53ef81a69a
--- /dev/null
+++ b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
@@ -0,0 +1,27 @@
1SUMMARY = "Library for converting WMF files"
2HOMEPAGE = "http://wvware.sourceforge.net/libwmf.html"
3SECTION = "libs"
4
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
7
8PR = "r3"
9
10DEPENDS_virtclass-native = "libpng-native jpeg-native"
11DEPENDS = "libpng jpeg expat gtk+"
12
13BBCLASSEXTEND = "native"
14
15inherit autotools
16
17SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=tarball \
18 file://libwmf-0.2.8.4-intoverflow.patch \
19 file://libwmf-0.2.8.4-useafterfree.patch"
20SRC_URI[tarball.md5sum] = "d1177739bf1ceb07f57421f0cee191e0"
21SRC_URI[tarball.sha256sum] = "5b345c69220545d003ad52bfd035d5d6f4f075e65204114a9e875e84895a7cf8"
22
23FILES_${PN}-dbg += "${libdir}/gtk-2.0/2.10.0/loaders/.debug"
24FILES_${PN}-dev += "${libdir}/gtk-2.0/2.10.0/loaders/*.la"
25FILES_${PN}-staticdev += "${libdir}/gtk-2.0/2.10.0/loaders/*.a"
26FILES_${PN} += "${libdir}/gtk-2.0/2.10.0/loaders/*.so"
27
diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc43x.diff b/meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc43x.diff
new file mode 100644
index 0000000000..fcc52c1f4a
--- /dev/null
+++ b/meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc43x.diff
@@ -0,0 +1,63 @@
1--- /tmp/mathVariantAux.cc 2008-07-13 15:56:56.000000000 +0200
2+++ gtkmathview-0.8.0/src/engine/mathml/mathVariantAux.cc 2008-07-13 15:57:46.893198000 +0200
3@@ -20,6 +20,8 @@
4
5 #include <cassert>
6
7+#include <string.h>
8+
9 #include "mathVariantAux.hh"
10
11 static MathVariantAttributes vattr[] = {
12--- /tmp/T1_FontDataBase.cc 2008-07-13 16:25:24.000000000 +0200
13+++ gtkmathview-0.8.0/src/backend/ps/T1_FontDataBase.cc 2008-07-13 16:25:47.123198000 +0200
14@@ -20,6 +20,7 @@
15 #include <config.h>
16 #include <map>
17 #include <string>
18+#include <string.h>
19 #include <stdlib.h>
20 #include <iostream>
21 #include <list>
22--- /tmp/SMS.cc 2008-07-13 16:27:23.000000000 +0200
23+++ gtkmathview-0.8.0/mathmlsvg/SMS.cc 2008-07-13 16:27:41.543198000 +0200
24@@ -19,6 +19,7 @@
25 #include <config.h>
26
27 #include <sstream>
28+#include <string.h>
29 #include "defs.h"
30 #include "AbstractLogger.hh"
31 #include "ValueConversion.hh"
32--- /tmp/main.cc 2008-07-13 16:29:11.000000000 +0200
33+++ gtkmathview-0.8.0/mathmlsvg/main.cc 2008-07-13 16:29:28.813198000 +0200
34@@ -20,7 +20,7 @@
35
36 #include <cassert>
37 #include <fstream>
38-
39+#include <string.h>
40 #include <popt.h>
41
42 // needed for old versions of GCC, must come before String.hh!
43--- /tmp/main.cc 2008-07-13 16:30:11.000000000 +0200
44+++ gtkmathview-0.8.0/mathmlps/main.cc 2008-07-13 16:30:33.183198000 +0200
45@@ -20,7 +20,7 @@
46
47 #include <cassert>
48 #include <fstream>
49-
50+#include <string.h>
51 #include <popt.h>
52
53 // needed for old versions of GCC, must come before String.hh!
54--- gtkmathview-0.8.0.orig/src/common/AbstractLogger.cc 2007-08-17 12:02:45.000000000 +0200
55+++ gtkmathview-0.8.0/src/common/AbstractLogger.cc 2010-02-01 10:19:46.000000000 +0100
56@@ -19,6 +19,7 @@
57 #include <config.h>
58
59 #include <stdarg.h>
60+#include <stdio.h>
61
62 #include "AbstractLogger.hh"
63
diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc47x.diff b/meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc47x.diff
new file mode 100644
index 0000000000..11b7260045
--- /dev/null
+++ b/meta-oe/recipes-extended/mml-widget/gtkmathview/mathview-gcc47x.diff
@@ -0,0 +1,48 @@
1../../../src/frontend/common/TemplateBuilder.hh:50:113: warning: 'linkerAssoc' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
2../../../src/frontend/common/TemplateBuilder.hh:50:113: note: declarations in dependent base 'custom_reader_Builder' are not found by unqualified lookup
3../../../src/frontend/common/TemplateBuilder.hh:50:113: note: use 'this->linkerAssoc' instead
4../../../src/frontend/common/TemplateBuilder.hh:54:111: error: redeclaration of 'SmartPtr<BoxMLDecorElement> elem'
5../../../src/frontend/common/TemplateBuilder.hh:50:49: error: 'SmartPtr<BoxMLDecorElement> elem' previously declared here
6../../../src/frontend/common/TemplateBuilder.hh:55:2: warning: 'linkerAdd' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
7../../../src/frontend/common/TemplateBuilder.hh:55:2: note: declarations in dependent base 'custom_reader_Builder' are not found by unqualified lookup
8../../../src/frontend/common/TemplateBuilder.hh:55:2: note: use 'this->linkerAdd' instead
9
10--- gtkmathview-0.8.0.orig/src/frontend/common/TemplateBuilder.hh 2007-08-17 12:02:34.000000000 +0200
11+++ gtkmathview-0.8.0/src/frontend/common/TemplateBuilder.hh 2012-04-30 11:45:07.000000000 +0200
12@@ -47,12 +47,13 @@
13 SmartPtr<typename ElementBuilder::type>
14 getElement(const typename Model::Element& el) const
15 {
16- if (SmartPtr<typename ElementBuilder::type> elem = smart_cast<typename ElementBuilder::type>(linkerAssoc(el)))
17+ SmartPtr<typename ElementBuilder::type> elem = NULL;
18+ if (elem = smart_cast<typename ElementBuilder::type>(this->linkerAssoc(el)))
19 return elem;
20 else
21 {
22- SmartPtr<typename ElementBuilder::type> elem = ElementBuilder::type::create(ElementBuilder::getContext(*this));
23- linkerAdd(el, elem);
24+ elem = ElementBuilder::type::create(ElementBuilder::getContext(*this));
25+ this->linkerAdd(el, elem);
26 return elem;
27 }
28 }
29--- gtkmathview-0.8.0.orig/mathmlsvg/main.cc 2012-04-30 11:35:19.000000000 +0200
30+++ gtkmathview-0.8.0/mathmlsvg/main.cc 2012-04-30 11:51:19.000000000 +0200
31@@ -20,6 +20,7 @@
32
33 #include <cassert>
34 #include <fstream>
35+#include <unistd.h>
36 #include <string.h>
37 #include <popt.h>
38
39--- gtkmathview-0.8.0.orig/mathmlps/main.cc 2012-04-30 11:35:19.000000000 +0200
40+++ gtkmathview-0.8.0/mathmlps/main.cc 2012-04-30 11:50:57.000000000 +0200
41@@ -20,6 +20,7 @@
42
43 #include <cassert>
44 #include <fstream>
45+#include <unistd.h>
46 #include <string.h>
47 #include <popt.h>
48
diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview/qualify-lookup.diff b/meta-oe/recipes-extended/mml-widget/gtkmathview/qualify-lookup.diff
new file mode 100644
index 0000000000..1d48950451
--- /dev/null
+++ b/meta-oe/recipes-extended/mml-widget/gtkmathview/qualify-lookup.diff
@@ -0,0 +1,13 @@
1Index: gtkmathview-0.8.0/src/frontend/common/TemplateElementIterator.hh
2===================================================================
3--- gtkmathview-0.8.0.orig/src/frontend/common/TemplateElementIterator.hh
4+++ gtkmathview-0.8.0/src/frontend/common/TemplateElementIterator.hh
5@@ -43,7 +43,7 @@ protected:
6 findValidNodeForward(const typename Model::Node& p0) const
7 {
8 for (typename Model::Node p = p0; p; p = Model::getNextSibling(p))
9- if (valid(p)) return Model::asElement(p);
10+ if (this->valid(p)) return Model::asElement(p);
11 return typename Model::Element();
12 }
13
diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
new file mode 100644
index 0000000000..95deb37259
--- /dev/null
+++ b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
@@ -0,0 +1,21 @@
1HOMEPAGE = "http://helm.cs.unibo.it/mml-widget/"
2DEPENDS = "t1lib gtk+ popt libxslt libxml2"
3
4LICENSE = "LGPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
6
7PR = "r3"
8
9SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \
10 file://mathview-gcc43x.diff \
11 file://mathview-gcc47x.diff \
12 file://qualify-lookup.diff \
13"
14SRC_URI[md5sum] = "b53564e553728d4b69f7d366dfeb5299"
15SRC_URI[sha256sum] = "1dc30175da6a3c560a7d62d1abe1c2f9829d988e6f1a7c5e766544575c558c43"
16
17inherit autotools-brokensep
18
19do_configure_prepend() {
20 sed -i -e s:AM_BINRELOC::g ${S}/configure.ac
21}
diff --git a/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
new file mode 100644
index 0000000000..bc141d9d57
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
@@ -0,0 +1,35 @@
1From 0a61b0b98c152f10404ccbdeeac583a486638a7a Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 6 Jun 2013 18:36:01 +0200
4Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
5 packages
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10in our cross environment the would fail with:
11
12| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
13
14and currently it only defines __STDC_LIMIT_MACROS
15
16Upstream-Status: Inappropriate [embedded specific]
17
18Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
19---
20 js.pc.in | 2 +-
21 1 files changed, 1 insertions(+), 1 deletions(-)
22
23diff --git a/js.pc.in b/js.pc.in
24index 13d761d..a95a7bd 100644
25--- a/js.pc.in
26+++ b/js.pc.in
27@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
28 Version: @MOZILLA_VERSION@
29 Requires.private: @NSPR_PKGCONF_CHECK@
30 Libs: -L${libdir} -l@LIBRARY_NAME@
31-Cflags: -include ${includedir}/@MODULE@/js/RequiredDefines.h -I${includedir}/@MODULE@
32+Cflags: -I${includedir}/@MODULE@
33--
341.7.6.5
35
diff --git a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
new file mode 100644
index 0000000000..1af1fa6f72
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb
@@ -0,0 +1,36 @@
1SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
2LICENSE = "MPL-2.0"
3LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
4
5SRC_URI = " \
6 http://ftp.mozilla.org/pub/mozilla.org/js/${PN}${PV}.tar.gz \
7 file://0001-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
8"
9SRC_URI[md5sum] = "20b6f8f1140ef6e47daa3b16965c9202"
10SRC_URI[sha256sum] = "321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba"
11
12S = "${WORKDIR}/${PN}${PV}/js/src"
13
14inherit autotools pkgconfig perlnative
15
16DEPENDS += "nspr"
17
18# nspr's package-config is ignored so set libs manually
19EXTRA_OECONF = " \
20 --target=${TARGET_SYS} \
21 --host=${BUILD_SYS} \
22 --build=${BUILD_SYS} \
23 --prefix=${prefix} \
24 --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
25 --enable-threadsafe \
26 --libdir=${libdir} \
27"
28
29# mozjs requires autoreconf 2.13
30do_configure() {
31 ${S}/configure ${EXTRA_OECONF}
32}
33
34PACKAGES =+ "lib${PN}"
35FILES_lib${PN} += "${libdir}/lib*.so"
36FILES_${PN}-dev += "${bindir}/js17-config"
diff --git a/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules
new file mode 100644
index 0000000000..4b50cf8814
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.NetworkManager.rules
@@ -0,0 +1,8 @@
1/* give group 'network' rights to change settings */
2/* taken from https://wiki.archlinux.org/index.php/NetworkManager#Set_up_PolicyKit_permissions */
3
4polkit.addRule(function(action, subject) {
5 if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) {
6 return polkit.Result.YES;
7 }
8});
diff --git a/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules
new file mode 100644
index 0000000000..95b0e0f698
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.timedate1.rules
@@ -0,0 +1,8 @@
1/* give group 'datetime' rights to change settings */
2/* based upon http://lists.freedesktop.org/archives/systemd-devel/2013-March/009576.html */
3
4polkit.addRule(function(action, subject) {
5 if (action.id.indexOf("org.freedesktop.timedate1.") == 0 && subject.isInGroup("datetime")) {
6 return polkit.Result.YES;
7 }
8});
diff --git a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
new file mode 100644
index 0000000000..df5c9a38ad
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb
@@ -0,0 +1,26 @@
1SUMMARY = "GNOME Authentication Agent for PolicyKit"
2DESCRIPTION = "PolicyKit-gnome provides an Authentication Agent for PolicyKit that integrates well with the GNOME desktop environment"
3HOMEPAGE = "http://www.packagekit.org/"
4BUGTRACKER = "http://bugzilla.gnome.org/"
5DEPENDS = "polkit dbus-glib gconf gtk+"
6LICENSE = "LGPLv2+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \
8 file://src/main.c;beginline=1;endline=20;md5=aba145d1802f2329ba561e3e48ecb795"
9
10SRC_URI = "http://hal.freedesktop.org/releases/polkit-gnome-${PV}.tar.bz2 \
11"
12
13PR = "r2"
14
15EXTRA_OECONF = " --disable-scrollkeeper \
16 --disable-man-pages \
17 --disable-examples \
18 --disable-introspection "
19
20inherit autotools gtk-doc pkgconfig
21
22FILES_${PN} += " ${datadir}/dbus-1 \
23 ${datadir}/PolicyKit \
24"
25SRC_URI[md5sum] = "f6b485ffd7bd605af815fd2747180481"
26SRC_URI[sha256sum] = "81caa6972e651e90ef4ac31d7ed41bc79543d46b850dbd5b14b40f8ef7107d11"
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb b/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
new file mode 100644
index 0000000000..eced4b6de6
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "Create usergroup datetime. All members off this group are allowed set date/time/timezone via system dbus"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
4
5require polkit-group-rule.inc
6
7SRC_URI = "file://50-org.freedesktop.timedate1.rules"
8
9do_install() {
10 install -m 0755 ${WORKDIR}/50-org.freedesktop.timedate1.rules ${D}${sysconfdir}/polkit-1/rules.d
11}
12
13USERADD_PACKAGES = "${PN}"
14GROUPADD_PARAM_${PN} = "--system datetime"
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb b/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
new file mode 100644
index 0000000000..551ed3eb8c
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "Create usergroup network. All members off this group are allowed to modify networkmanager settings"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
4
5require polkit-group-rule.inc
6
7SRC_URI = "file://50-org.freedesktop.NetworkManager.rules"
8
9do_install() {
10 install -m 0755 ${WORKDIR}/50-org.freedesktop.NetworkManager.rules ${D}${sysconfdir}/polkit-1/rules.d
11}
12
13USERADD_PACKAGES = "${PN}"
14GROUPADD_PARAM_${PN} = "--system network"
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
new file mode 100644
index 0000000000..8d1a89aa3e
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
@@ -0,0 +1,9 @@
1# polkit must prepare polkid group
2DEPENDS += "polkit"
3
4inherit allarch useradd
5
6do_install_prepend() {
7 install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d
8 chown polkitd:polkitd ${D}${sysconfdir}/polkit-1/rules.d
9}
diff --git a/meta-oe/recipes-extended/polkit/polkit/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch b/meta-oe/recipes-extended/polkit/polkit/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch
new file mode 100644
index 0000000000..b9334a8fdf
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch
@@ -0,0 +1,39 @@
1From 56cadbc45c5ef98a7b775638d2109c4a09a58c06 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 22 Feb 2014 18:09:57 +0100
4Subject: [PATCH] configure.ac: Check only for libsystemd not libsystemd-login
5
6* they were merged into libsystemd in systemd-209
7
8Upstream-Status: Pending (it would need to be conditional on systemd version for upstream to accept this)
9
10Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
11---
12 configure.ac | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/configure.ac b/configure.ac
16index a7b0148..64d513d 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -196,7 +196,7 @@ AC_ARG_ENABLE([libsystemd-login],
20 [enable_libsystemd_login=auto])
21 if test "$enable_libsystemd_login" != "no"; then
22 PKG_CHECK_MODULES(LIBSYSTEMD_LOGIN,
23- [libsystemd-login],
24+ [libsystemd],
25 have_libsystemd_login=yes,
26 have_libsystemd_login=no)
27 if test "$have_libsystemd_login" = "yes"; then
28@@ -223,7 +223,7 @@ AS_IF([test "x$cross_compiling" != "xyes" ], [
29 AS_IF([test "$enable_libsystemd_login" = "no" ], [
30 AC_MSG_WARN([ConsoleKit requested but system appears to use systemd])
31 ], [
32- AC_MSG_ERROR([ConsoleKit autoconfigured, but systemd is in use (missing libsystemd-login pkg-config?)])
33+ AC_MSG_ERROR([ConsoleKit autoconfigured, but systemd is in use (missing libsystemd pkg-config?)])
34 ])
35 ])
36 ])
37--
381.8.5.3
39
diff --git a/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch b/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch
new file mode 100644
index 0000000000..74647efce4
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch
@@ -0,0 +1,23 @@
1polkit: No system-auth in OE-Core, we can use common-* in place of it.
2
3Upstream-Status:Inappropriate [configuration]
4
5Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
6
7--- a/configure.ac 2011-03-04 02:26:20.000000000 +0800
8+++ b/configure.ac.new 2011-07-18 10:14:12.516818852 +0800
9@@ -350,10 +350,10 @@
10 PAM_FILE_INCLUDE_PASSWORD=system
11 PAM_FILE_INCLUDE_SESSION=system
12 else
13- PAM_FILE_INCLUDE_AUTH=system-auth
14- PAM_FILE_INCLUDE_ACCOUNT=system-auth
15- PAM_FILE_INCLUDE_PASSWORD=system-auth
16- PAM_FILE_INCLUDE_SESSION=system-auth
17+ PAM_FILE_INCLUDE_AUTH=common-auth
18+ PAM_FILE_INCLUDE_ACCOUNT=common-account
19+ PAM_FILE_INCLUDE_PASSWORD=common-password
20+ PAM_FILE_INCLUDE_SESSION=common-session
21 fi
22
23 AC_SUBST(PAM_FILE_INCLUDE_AUTH)
diff --git a/meta-oe/recipes-extended/polkit/polkit_0.111.bb b/meta-oe/recipes-extended/polkit/polkit_0.111.bb
new file mode 100644
index 0000000000..4614387055
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit_0.111.bb
@@ -0,0 +1,61 @@
1SUMMARY = "PolicyKit Authorization Framework"
2DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes."
3HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit"
4LICENSE = "LGPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
6 file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
7
8DEPENDS = "expat glib-2.0 intltool-native gobject-introspection-stub mozjs"
9
10inherit autotools gtk-doc pkgconfig useradd systemd
11
12PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
13 ${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}"
14
15PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
16PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
17# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS
18PACKAGECONFIG[consolekit] = ",,,consolekit"
19
20PAM_SRC_URI = "file://polkit-1_pam.patch"
21SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
22 ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
23 file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \
24"
25
26SRC_URI[md5sum] = "81b116edf986d8e13502929a171f4e0d"
27SRC_URI[sha256sum] = "02ae544547211b687818c97bcbf19bf6b8b5be7fda93000525a8765c7bed1ea1"
28
29EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages --disable-introspection"
30
31do_install_append() {
32 # see configure.log for more details
33 chown root:root ${D}${libdir}/${BPN}-1/polkit-agent-helper-1
34 chmod 4755 ${D}${libdir}/${BPN}-1/polkit-agent-helper-1
35
36 chown root:root ${D}${bindir}/pkexec
37 chmod 4755 ${D}${bindir}/pkexec
38
39 chown polkitd:polkitd ${D}${sysconfdir}/${BPN}-1/rules.d
40 chmod 700 ${D}${sysconfdir}/${BPN}-1/rules.d
41
42 chown polkitd:polkitd ${D}${datadir}/${BPN}-1/rules.d
43 chmod 700 ${D}${datadir}/${BPN}-1/rules.d
44}
45
46PACKAGES =+ "${PN}-examples"
47
48FILES_${PN} += " \
49 ${libdir}/${BPN}-1 \
50 ${datadir}/dbus-1 \
51 ${datadir}/${BPN}-1 \
52"
53FILES_${PN}-dbg += "${libdir}/${BPN}-1/.debug"
54
55FILES_${PN}-examples = "${bindir}/*example*"
56
57USERADD_PACKAGES = "${PN}"
58USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
59
60SYSTEMD_SERVICE_${PN} = "${BPN}.service"
61SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch
new file mode 100644
index 0000000000..8135fc28e3
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch
@@ -0,0 +1,29 @@
1From dc745a33f3875cc72d41bd34ed490b352e546352 Mon Sep 17 00:00:00 2001
2From: Venture Research <tech@ventureresearch.com>
3Date: Fri, 8 Feb 2013 17:39:52 -0600
4Subject: [PATCH] hiredis: use default CC if it is set
5
6Instead of trying to automagically figure out CC, which breaks with OE
7as CC has spaces in it, just skip it if one was already passed in.
8
9Signed-off-by: Venture Research <tech@ventureresearch.com>
10---
11 deps/hiredis/Makefile | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile
15index 16b8767..0b27c82 100644
16--- a/deps/hiredis/Makefile
17+++ b/deps/hiredis/Makefile
18@@ -11,7 +11,7 @@ HIREDIS_MAJOR=0
19 HIREDIS_MINOR=10
20
21 # Fallback to gcc when $CC is not in $PATH.
22-CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
23+CC?=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
24 OPTIMIZATION?=-O3
25 WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
26 DEBUG?= -g -ggdb
27--
281.8.1.2
29
diff --git a/meta-oe/recipes-extended/redis/redis/init-redis-server b/meta-oe/recipes-extended/redis/redis/init-redis-server
new file mode 100755
index 0000000000..6014d70c0e
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/init-redis-server
@@ -0,0 +1,40 @@
1#!/bin/sh
2#
3### BEGIN INIT INFO
4# Provides: redis-server
5# Required-Start: $network
6# Required-Stop: $network
7# Default-Start: S 2 3 4 5
8# Default-Stop: 0 1 6
9# Short-Description: Redis, a key-value store
10# Description: Redis is an open source, advanced key-value store.
11# http://redis.io
12### END INIT INFO
13
14test -f /usr/bin/redis-server || exit 0
15
16ARGS="/etc/redis/redis.conf"
17
18case "$1" in
19 start)
20 echo "Starting redis-server..."
21 start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
22 ;;
23 stop)
24 echo "Stopping redis-server..."
25 start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
26 ;;
27 restart)
28 echo "Stopping redis-server..."
29 start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
30 echo "Starting redis-server..."
31 start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
32 ;;
33 *)
34 echo "Usage: /etc/init.d/redis-server {start|stop|restart}"
35 exit 1
36 ;;
37esac
38
39exit 0
40
diff --git a/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch
new file mode 100644
index 0000000000..c4d1bc493b
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch
@@ -0,0 +1,54 @@
1From 394108035d350ae662a431c80131f812b5f72dff Mon Sep 17 00:00:00 2001
2From: Venture Research <tech@ventureresearch.com>
3Date: Fri, 8 Feb 2013 20:22:19 -0600
4Subject: [PATCH] lua: update Makefile to use environment build settings
5
6OE-specific parameters, instead of overriding all of these simply use
7the ones that are already passed in. Also configure for only Linux...
8
9Signed-off-by: Venture Research <tech@ventureresearch.com>
10---
11 deps/lua/src/Makefile | 18 +++++++-----------
12 1 file changed, 7 insertions(+), 11 deletions(-)
13
14diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile
15index 77d6a48..888d0da 100644
16--- a/deps/lua/src/Makefile
17+++ b/deps/lua/src/Makefile
18@@ -5,18 +5,14 @@
19 # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
20
21 # Your platform. See PLATS for possible values.
22-PLAT= none
23+PLAT= linux
24
25-CC= gcc
26-CFLAGS= -O2 -Wall $(MYCFLAGS)
27-AR= ar rcu
28-RANLIB= ranlib
29-RM= rm -f
30-LIBS= -lm $(MYLIBS)
31-
32-MYCFLAGS=
33+MYCFLAGS=-DLUA_USE_LINUX
34 MYLDFLAGS=
35-MYLIBS=
36+MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses
37+
38+CFLAGS += $(MYCFLAGS)
39+LIBS += -lm $(MYLIBS)
40
41 # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
42
43@@ -48,7 +44,7 @@ o: $(ALL_O)
44 a: $(ALL_A)
45
46 $(LUA_A): $(CORE_O) $(LIB_O)
47- $(AR) $@ $?
48+ $(AR) rcu $@ $?
49 $(RANLIB) $@
50
51 $(LUA_T): $(LUA_O) $(LUA_A)
52--
531.8.1.2
54
diff --git a/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch
new file mode 100644
index 0000000000..b89c871290
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch
@@ -0,0 +1,33 @@
1From f8861d2129b9e18bba137705bfa38c6bd9be1790 Mon Sep 17 00:00:00 2001
2From: Venture Research <tech@ventureresearch.com>
3Date: Wed, 6 Feb 2013 20:51:02 -0600
4Subject: [PATCH] hack to force use of libc malloc
5
6Hack to force libc usage as it seems the option to pass it in has been
7removed in favor of magic.
8
9Note that this of course doesn't allow tcmalloc and jemalloc, however
10jemalloc wasn't building correctly.
11
12Signed-off-by: Venture Research <tech@ventureresearch.com>
13---
14 src/Makefile | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/src/Makefile b/src/Makefile
18index 204a271..91b307d 100644
19--- a/src/Makefile
20+++ b/src/Makefile
21@@ -13,7 +13,8 @@
22 # Just use 'make dep', but this is only needed by developers.
23
24 release_hdr := $(shell sh -c './mkreleasehdr.sh')
25-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
26+# use fake uname option to force use of generic libc
27+uname_S := "USE_LIBC_MALLOC"
28 OPTIMIZATION?=-O2
29 DEPENDENCY_TARGETS=hiredis linenoise lua
30
31--
321.8.1.2
33
diff --git a/meta-oe/recipes-extended/redis/redis/redis.conf b/meta-oe/recipes-extended/redis/redis/redis.conf
new file mode 100644
index 0000000000..923b98e5c8
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/redis.conf
@@ -0,0 +1,550 @@
1# Redis configuration file example
2
3# Note on units: when memory size is needed, it is possible to specify
4# it in the usual form of 1k 5GB 4M and so forth:
5#
6# 1k => 1000 bytes
7# 1kb => 1024 bytes
8# 1m => 1000000 bytes
9# 1mb => 1024*1024 bytes
10# 1g => 1000000000 bytes
11# 1gb => 1024*1024*1024 bytes
12#
13# units are case insensitive so 1GB 1Gb 1gB are all the same.
14
15# By default Redis does not run as a daemon. Use 'yes' if you need it.
16# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
17#
18# OE: run as a daemon.
19#
20daemonize yes
21
22# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
23# default. You can specify a custom pid file location here.
24pidfile /var/run/redis.pid
25
26# Accept connections on the specified port, default is 6379.
27# If port 0 is specified Redis will not listen on a TCP socket.
28port 6379
29
30# If you want you can bind a single interface, if the bind option is not
31# specified all the interfaces will listen for incoming connections.
32#
33# bind 127.0.0.1
34
35# Specify the path for the unix socket that will be used to listen for
36# incoming connections. There is no default, so Redis will not listen
37# on a unix socket when not specified.
38#
39# unixsocket /tmp/redis.sock
40# unixsocketperm 755
41
42# Close the connection after a client is idle for N seconds (0 to disable)
43timeout 0
44
45# Set server verbosity to 'debug'
46# it can be one of:
47# debug (a lot of information, useful for development/testing)
48# verbose (many rarely useful info, but not a mess like the debug level)
49# notice (moderately verbose, what you want in production probably)
50# warning (only very important / critical messages are logged)
51loglevel notice
52
53# Specify the log file name. Also 'stdout' can be used to force
54# Redis to log on the standard output. Note that if you use standard
55# output for logging but daemonize, logs will be sent to /dev/null
56logfile /var/log/redis.log
57
58# To enable logging to the system logger, just set 'syslog-enabled' to yes,
59# and optionally update the other syslog parameters to suit your needs.
60# syslog-enabled no
61
62# Specify the syslog identity.
63# syslog-ident redis
64
65# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
66# syslog-facility local0
67
68# Set the number of databases. The default database is DB 0, you can select
69# a different one on a per-connection basis using SELECT <dbid> where
70# dbid is a number between 0 and 'databases'-1
71databases 16
72
73################################ SNAPSHOTTING #################################
74#
75# Save the DB on disk:
76#
77# save <seconds> <changes>
78#
79# Will save the DB if both the given number of seconds and the given
80# number of write operations against the DB occurred.
81#
82# In the example below the behaviour will be to save:
83# after 900 sec (15 min) if at least 1 key changed
84# after 300 sec (5 min) if at least 10 keys changed
85# after 60 sec if at least 10000 keys changed
86#
87# Note: you can disable saving at all commenting all the "save" lines.
88#
89# It is also possible to remove all the previously configured save
90# points by adding a save directive with a single empty string argument
91# like in the following example:
92#
93# save ""
94
95#save 900 1
96#save 300 10
97#save 60 10000
98
99# OE: tune for a small embedded system with a limited # of keys.
100save 120 1
101save 60 100
102save 30 1000
103
104# By default Redis will stop accepting writes if RDB snapshots are enabled
105# (at least one save point) and the latest background save failed.
106# This will make the user aware (in an hard way) that data is not persisting
107# on disk properly, otherwise chances are that no one will notice and some
108# distater will happen.
109#
110# If the background saving process will start working again Redis will
111# automatically allow writes again.
112#
113# However if you have setup your proper monitoring of the Redis server
114# and persistence, you may want to disable this feature so that Redis will
115# continue to work as usually even if there are problems with disk,
116# permissions, and so forth.
117stop-writes-on-bgsave-error yes
118
119# Compress string objects using LZF when dump .rdb databases?
120# For default that's set to 'yes' as it's almost always a win.
121# If you want to save some CPU in the saving child set it to 'no' but
122# the dataset will likely be bigger if you have compressible values or keys.
123rdbcompression yes
124
125# Since verison 5 of RDB a CRC64 checksum is placed at the end of the file.
126# This makes the format more resistant to corruption but there is a performance
127# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
128# for maximum performances.
129#
130# RDB files created with checksum disabled have a checksum of zero that will
131# tell the loading code to skip the check.
132rdbchecksum yes
133
134# The filename where to dump the DB
135dbfilename dump.rdb
136
137# The working directory.
138#
139# The DB will be written inside this directory, with the filename specified
140# above using the 'dbfilename' configuration directive.
141#
142# Also the Append Only File will be created inside this directory.
143#
144# Note that you must specify a directory here, not a file name.
145dir /var/lib/redis/
146
147################################# REPLICATION #################################
148
149# Master-Slave replication. Use slaveof to make a Redis instance a copy of
150# another Redis server. Note that the configuration is local to the slave
151# so for example it is possible to configure the slave to save the DB with a
152# different interval, or to listen to another port, and so on.
153#
154# slaveof <masterip> <masterport>
155
156# If the master is password protected (using the "requirepass" configuration
157# directive below) it is possible to tell the slave to authenticate before
158# starting the replication synchronization process, otherwise the master will
159# refuse the slave request.
160#
161# masterauth <master-password>
162
163# When a slave lost the connection with the master, or when the replication
164# is still in progress, the slave can act in two different ways:
165#
166# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
167# still reply to client requests, possibly with out of date data, or the
168# data set may just be empty if this is the first synchronization.
169#
170# 2) if slave-serve-stale data is set to 'no' the slave will reply with
171# an error "SYNC with master in progress" to all the kind of commands
172# but to INFO and SLAVEOF.
173#
174slave-serve-stale-data yes
175
176# You can configure a slave instance to accept writes or not. Writing against
177# a slave instance may be useful to store some ephemeral data (because data
178# written on a slave will be easily deleted after resync with the master) but
179# may also cause problems if clients are writing to it because of a
180# misconfiguration.
181#
182# Since Redis 2.6 by default slaves are read-only.
183#
184# Note: read only slaves are not designed to be exposed to untrusted clients
185# on the internet. It's just a protection layer against misuse of the instance.
186# Still a read only slave exports by default all the administrative commands
187# such as CONFIG, DEBUG, and so forth. To a limited extend you can improve
188# security of read only slaves using 'rename-command' to shadow all the
189# administrative / dangerous commands.
190slave-read-only yes
191
192# Slaves send PINGs to server in a predefined interval. It's possible to change
193# this interval with the repl_ping_slave_period option. The default value is 10
194# seconds.
195#
196# repl-ping-slave-period 10
197
198# The following option sets a timeout for both Bulk transfer I/O timeout and
199# master data or ping response timeout. The default value is 60 seconds.
200#
201# It is important to make sure that this value is greater than the value
202# specified for repl-ping-slave-period otherwise a timeout will be detected
203# every time there is low traffic between the master and the slave.
204#
205# repl-timeout 60
206
207# The slave priority is an integer number published by Redis in the INFO output.
208# It is used by Redis Sentinel in order to select a slave to promote into a
209# master if the master is no longer working correctly.
210#
211# A slave with a low priority number is considered better for promotion, so
212# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
213# pick the one wtih priority 10, that is the lowest.
214#
215# However a special priority of 0 marks the slave as not able to perform the
216# role of master, so a slave with priority of 0 will never be selected by
217# Redis Sentinel for promotion.
218#
219# By default the priority is 100.
220slave-priority 100
221
222################################## SECURITY ###################################
223
224# Require clients to issue AUTH <PASSWORD> before processing any other
225# commands. This might be useful in environments in which you do not trust
226# others with access to the host running redis-server.
227#
228# This should stay commented out for backward compatibility and because most
229# people do not need auth (e.g. they run their own servers).
230#
231# Warning: since Redis is pretty fast an outside user can try up to
232# 150k passwords per second against a good box. This means that you should
233# use a very strong password otherwise it will be very easy to break.
234#
235# requirepass foobared
236
237# Command renaming.
238#
239# It is possible to change the name of dangerous commands in a shared
240# environment. For instance the CONFIG command may be renamed into something
241# of hard to guess so that it will be still available for internal-use
242# tools but not available for general clients.
243#
244# Example:
245#
246# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
247#
248# It is also possible to completely kill a command renaming it into
249# an empty string:
250#
251# rename-command CONFIG ""
252
253################################### LIMITS ####################################
254
255# Set the max number of connected clients at the same time. By default
256# this limit is set to 10000 clients, however if the Redis server is not
257# able ot configure the process file limit to allow for the specified limit
258# the max number of allowed clients is set to the current file limit
259# minus 32 (as Redis reserves a few file descriptors for internal uses).
260#
261# Once the limit is reached Redis will close all the new connections sending
262# an error 'max number of clients reached'.
263#
264# maxclients 10000
265
266# Don't use more memory than the specified amount of bytes.
267# When the memory limit is reached Redis will try to remove keys
268# accordingly to the eviction policy selected (see maxmemmory-policy).
269#
270# If Redis can't remove keys according to the policy, or if the policy is
271# set to 'noeviction', Redis will start to reply with errors to commands
272# that would use more memory, like SET, LPUSH, and so on, and will continue
273# to reply to read-only commands like GET.
274#
275# This option is usually useful when using Redis as an LRU cache, or to set
276# an hard memory limit for an instance (using the 'noeviction' policy).
277#
278# WARNING: If you have slaves attached to an instance with maxmemory on,
279# the size of the output buffers needed to feed the slaves are subtracted
280# from the used memory count, so that network problems / resyncs will
281# not trigger a loop where keys are evicted, and in turn the output
282# buffer of slaves is full with DELs of keys evicted triggering the deletion
283# of more keys, and so forth until the database is completely emptied.
284#
285# In short... if you have slaves attached it is suggested that you set a lower
286# limit for maxmemory so that there is some free RAM on the system for slave
287# output buffers (but this is not needed if the policy is 'noeviction').
288#
289# maxmemory <bytes>
290
291# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
292# is reached? You can select among five behavior:
293#
294# volatile-lru -> remove the key with an expire set using an LRU algorithm
295# allkeys-lru -> remove any key accordingly to the LRU algorithm
296# volatile-random -> remove a random key with an expire set
297# allkeys-random -> remove a random key, any key
298# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
299# noeviction -> don't expire at all, just return an error on write operations
300#
301# Note: with all the kind of policies, Redis will return an error on write
302# operations, when there are not suitable keys for eviction.
303#
304# At the date of writing this commands are: set setnx setex append
305# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
306# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
307# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
308# getset mset msetnx exec sort
309#
310# The default is:
311#
312# maxmemory-policy volatile-lru
313
314# LRU and minimal TTL algorithms are not precise algorithms but approximated
315# algorithms (in order to save memory), so you can select as well the sample
316# size to check. For instance for default Redis will check three keys and
317# pick the one that was used less recently, you can change the sample size
318# using the following configuration directive.
319#
320# maxmemory-samples 3
321
322############################## APPEND ONLY MODE ###############################
323
324# By default Redis asynchronously dumps the dataset on disk. This mode is
325# good enough in many applications, but an issue with the Redis process or
326# a power outage may result into a few minutes of writes lost (depending on
327# the configured save points).
328#
329# The Append Only File is an alternative persistence mode that provides
330# much better durability. For instance using the default data fsync policy
331# (see later in the config file) Redis can lose just one second of writes in a
332# dramatic event like a server power outage, or a single write if something
333# wrong with the Redis process itself happens, but the operating system is
334# still running correctly.
335#
336# AOF and RDB persistence can be enabled at the same time without problems.
337# If the AOF is enabled on startup Redis will load the AOF, that is the file
338# with the better durability guarantees.
339#
340# Please check http://redis.io/topics/persistence for more information.
341
342#
343# OE: changed default to enable this
344appendonly yes
345
346# The name of the append only file (default: "appendonly.aof")
347# appendfilename appendonly.aof
348
349# The fsync() call tells the Operating System to actually write data on disk
350# instead to wait for more data in the output buffer. Some OS will really flush
351# data on disk, some other OS will just try to do it ASAP.
352#
353# Redis supports three different modes:
354#
355# no: don't fsync, just let the OS flush the data when it wants. Faster.
356# always: fsync after every write to the append only log . Slow, Safest.
357# everysec: fsync only one time every second. Compromise.
358#
359# The default is "everysec" that's usually the right compromise between
360# speed and data safety. It's up to you to understand if you can relax this to
361# "no" that will let the operating system flush the output buffer when
362# it wants, for better performances (but if you can live with the idea of
363# some data loss consider the default persistence mode that's snapshotting),
364# or on the contrary, use "always" that's very slow but a bit safer than
365# everysec.
366#
367# More details please check the following article:
368# http://antirez.com/post/redis-persistence-demystified.html
369#
370# If unsure, use "everysec".
371
372# appendfsync always
373appendfsync everysec
374# appendfsync no
375
376# When the AOF fsync policy is set to always or everysec, and a background
377# saving process (a background save or AOF log background rewriting) is
378# performing a lot of I/O against the disk, in some Linux configurations
379# Redis may block too long on the fsync() call. Note that there is no fix for
380# this currently, as even performing fsync in a different thread will block
381# our synchronous write(2) call.
382#
383# In order to mitigate this problem it's possible to use the following option
384# that will prevent fsync() from being called in the main process while a
385# BGSAVE or BGREWRITEAOF is in progress.
386#
387# This means that while another child is saving the durability of Redis is
388# the same as "appendfsync none", that in practical terms means that it is
389# possible to lost up to 30 seconds of log in the worst scenario (with the
390# default Linux settings).
391#
392# If you have latency problems turn this to "yes". Otherwise leave it as
393# "no" that is the safest pick from the point of view of durability.
394no-appendfsync-on-rewrite no
395
396# Automatic rewrite of the append only file.
397# Redis is able to automatically rewrite the log file implicitly calling
398# BGREWRITEAOF when the AOF log size will growth by the specified percentage.
399#
400# This is how it works: Redis remembers the size of the AOF file after the
401# latest rewrite (or if no rewrite happened since the restart, the size of
402# the AOF at startup is used).
403#
404# This base size is compared to the current size. If the current size is
405# bigger than the specified percentage, the rewrite is triggered. Also
406# you need to specify a minimal size for the AOF file to be rewritten, this
407# is useful to avoid rewriting the AOF file even if the percentage increase
408# is reached but it is still pretty small.
409#
410# Specify a percentage of zero in order to disable the automatic AOF
411# rewrite feature.
412
413auto-aof-rewrite-percentage 100
414auto-aof-rewrite-min-size 64mb
415
416################################ LUA SCRIPTING ###############################
417
418# Max execution time of a Lua script in milliseconds.
419#
420# If the maximum execution time is reached Redis will log that a script is
421# still in execution after the maximum allowed time and will start to
422# reply to queries with an error.
423#
424# When a long running script exceed the maximum execution time only the
425# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
426# used to stop a script that did not yet called write commands. The second
427# is the only way to shut down the server in the case a write commands was
428# already issue by the script but the user don't want to wait for the natural
429# termination of the script.
430#
431# Set it to 0 or a negative value for unlimited execution without warnings.
432lua-time-limit 5000
433
434################################## SLOW LOG ###################################
435
436# The Redis Slow Log is a system to log queries that exceeded a specified
437# execution time. The execution time does not include the I/O operations
438# like talking with the client, sending the reply and so forth,
439# but just the time needed to actually execute the command (this is the only
440# stage of command execution where the thread is blocked and can not serve
441# other requests in the meantime).
442#
443# You can configure the slow log with two parameters: one tells Redis
444# what is the execution time, in microseconds, to exceed in order for the
445# command to get logged, and the other parameter is the length of the
446# slow log. When a new command is logged the oldest one is removed from the
447# queue of logged commands.
448
449# The following time is expressed in microseconds, so 1000000 is equivalent
450# to one second. Note that a negative number disables the slow log, while
451# a value of zero forces the logging of every command.
452slowlog-log-slower-than 10000
453
454# There is no limit to this length. Just be aware that it will consume memory.
455# You can reclaim memory used by the slow log with SLOWLOG RESET.
456slowlog-max-len 128
457
458############################### ADVANCED CONFIG ###############################
459
460# Hashes are encoded using a memory efficient data structure when they have a
461# small number of entries, and the biggest entry does not exceed a given
462# threshold. These thresholds can be configured using the following directives.
463hash-max-ziplist-entries 512
464hash-max-ziplist-value 64
465
466# Similarly to hashes, small lists are also encoded in a special way in order
467# to save a lot of space. The special representation is only used when
468# you are under the following limits:
469list-max-ziplist-entries 512
470list-max-ziplist-value 64
471
472# Sets have a special encoding in just one case: when a set is composed
473# of just strings that happens to be integers in radix 10 in the range
474# of 64 bit signed integers.
475# The following configuration setting sets the limit in the size of the
476# set in order to use this special memory saving encoding.
477set-max-intset-entries 512
478
479# Similarly to hashes and lists, sorted sets are also specially encoded in
480# order to save a lot of space. This encoding is only used when the length and
481# elements of a sorted set are below the following limits:
482zset-max-ziplist-entries 128
483zset-max-ziplist-value 64
484
485# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
486# order to help rehashing the main Redis hash table (the one mapping top-level
487# keys to values). The hash table implementation Redis uses (see dict.c)
488# performs a lazy rehashing: the more operation you run into an hash table
489# that is rehashing, the more rehashing "steps" are performed, so if the
490# server is idle the rehashing is never complete and some more memory is used
491# by the hash table.
492#
493# The default is to use this millisecond 10 times every second in order to
494# active rehashing the main dictionaries, freeing memory when possible.
495#
496# If unsure:
497# use "activerehashing no" if you have hard latency requirements and it is
498# not a good thing in your environment that Redis can reply form time to time
499# to queries with 2 milliseconds delay.
500#
501# use "activerehashing yes" if you don't have such hard requirements but
502# want to free memory asap when possible.
503activerehashing yes
504
505# The client output buffer limits can be used to force disconnection of clients
506# that are not reading data from the server fast enough for some reason (a
507# common reason is that a Pub/Sub client can't consume messages as fast as the
508# publisher can produce them).
509#
510# The limit can be set differently for the three different classes of clients:
511#
512# normal -> normal clients
513# slave -> slave clients and MONITOR clients
514# pubsub -> clients subcribed to at least one pubsub channel or pattern
515#
516# The syntax of every client-output-buffer-limit directive is the following:
517#
518# client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>
519#
520# A client is immediately disconnected once the hard limit is reached, or if
521# the soft limit is reached and remains reached for the specified number of
522# seconds (continuously).
523# So for instance if the hard limit is 32 megabytes and the soft limit is
524# 16 megabytes / 10 seconds, the client will get disconnected immediately
525# if the size of the output buffers reach 32 megabytes, but will also get
526# disconnected if the client reaches 16 megabytes and continuously overcomes
527# the limit for 10 seconds.
528#
529# By default normal clients are not limited because they don't receive data
530# without asking (in a push way), but just after a request, so only
531# asynchronous clients may create a scenario where data is requested faster
532# than it can read.
533#
534# Instead there is a default limit for pubsub and slave clients, since
535# subscribers and slaves receive data in a push fashion.
536#
537# Both the hard or the soft limit can be disabled just setting it to zero.
538client-output-buffer-limit normal 0 0 0
539client-output-buffer-limit slave 256mb 64mb 60
540client-output-buffer-limit pubsub 32mb 8mb 60
541
542################################## INCLUDES ###################################
543
544# Include one or more other config files here. This is useful if you
545# have a standard template that goes to all Redis server but also need
546# to customize a few per-server settings. Include files can include
547# other files, so use this wisely.
548#
549# include /path/to/local.conf
550# include /path/to/other.conf
diff --git a/meta-oe/recipes-extended/redis/redis_2.6.9.bb b/meta-oe/recipes-extended/redis/redis_2.6.9.bb
new file mode 100644
index 0000000000..8f009757fd
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis_2.6.9.bb
@@ -0,0 +1,36 @@
1SUMMARY = "Redis key-value store"
2DESCRIPTION = "Redis is an open source, advanced key-value store."
3HOMEPAGE = "http://redis.io"
4SECTION = "libs"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM="file://COPYING;md5=673e0ac66aac758f8f2140c6fc7947d2"
7
8SRC_URI = "http://redis.googlecode.com/files/redis-${PV}.tar.gz \
9 file://hiredis-use-default-CC-if-it-is-set.patch \
10 file://lua-update-Makefile-to-use-environment-build-setting.patch \
11 file://oe-use-libc-malloc.patch \
12 file://redis.conf \
13 file://init-redis-server \
14"
15
16inherit update-rc.d
17
18INITSCRIPT_NAME = "redis-server"
19INITSCRIPT_PARAMS = "defaults 87"
20
21SRC_URI[md5sum] = "5093fb7c5f763e828c857daf260665bc"
22SRC_URI[sha256sum] = "4d967eff2038aebea33875d17e85ed67179df6505df68529a622f7836d1c7489"
23
24do_install() {
25 export PREFIX=${D}/${prefix}
26 oe_runmake install
27
28 install -d ${D}/${sysconfdir}/redis
29 install -m 0755 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
30
31 install -d ${D}/${sysconfdir}/init.d
32 install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
33
34 install -d ${D}/var/lib/redis/
35}
36
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
new file mode 100644
index 0000000000..1157dc7201
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch
@@ -0,0 +1,1733 @@
1From 2dcb4bb8aadfead3e77bdb78b96ec8022e605a0d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sat, 12 May 2012 20:41:35 +0200
4Subject: [PATCH] rrdtool: eradicate tcl support
5
6TCL breaks autoreconf
7
8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9---
10 Makefile.am | 3 -
11 bindings/Makefile.am | 5 +-
12 bindings/tcl/Makefile.am | 58 ----
13 bindings/tcl/Makefile.in | 668 ------------------------------------
14 bindings/tcl/README | 31 --
15 bindings/tcl/ifOctets.tcl.in | 45 ---
16 bindings/tcl/tclrrd.c | 762 ------------------------------------------
17 configure.ac | 54 ---
18 8 files changed, 1 insertion(+), 1625 deletions(-)
19 delete mode 100644 bindings/tcl/Makefile.am
20 delete mode 100644 bindings/tcl/Makefile.in
21 delete mode 100644 bindings/tcl/README
22 delete mode 100644 bindings/tcl/ifOctets.tcl.in
23 delete mode 100644 bindings/tcl/tclrrd.c
24
25diff --git a/Makefile.am b/Makefile.am
26index 2003373..969e36b 100644
27--- a/Makefile.am
28+++ b/Makefile.am
29@@ -36,9 +36,6 @@ site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefil
30 cd bindings/perl-piped && $(MAKE) install
31 cd bindings/perl-shared && $(MAKE) install
32
33-site-tcl-install: all
34- cd bindings/tcl && $(MAKE) tcl-install
35-
36 site-python-install: all
37 cd bindings/python && $(PYTHON) setup.py install $(if $(DESTDIR),--root=$(DESTDIR))
38
39diff --git a/bindings/Makefile.am b/bindings/Makefile.am
40index c4fdc10..3574a60 100644
41--- a/bindings/Makefile.am
42+++ b/bindings/Makefile.am
43@@ -1,13 +1,10 @@
44 .PHONY: python ruby
45
46-if BUILD_TCL
47-SUB_tcl = tcl
48-endif
49 if BUILD_LUA
50 SUB_lua = lua
51 endif
52
53-SUBDIRS = $(SUB_tcl) $(SUB_lua)
54+SUBDIRS = $(SUB_lua)
55
56 # the following files are not mentioned in any other Makefile
57 EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \
58diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am
59deleted file mode 100644
60index c0e8b0f..0000000
61--- a/bindings/tcl/Makefile.am
62+++ /dev/null
63@@ -1,58 +0,0 @@
64-
65-EXTRA_DIST = README tclrrd.c
66-
67-VERSION = @VERSION@
68-
69-AM_CFLAGS = @CFLAGS@
70-### no including this by default @WERROR@
71-
72-TCL_PREFIX = @TCL_PREFIX@
73-TCL_SHLIB_LD = @TCL_SHLIB_LD@
74-TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
75-TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
76-TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
77-TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
78-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
79-TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
80-
81-CLEANFILES = tclrrd.o tclrrd.so
82-
83-SRC_DIR = $(top_srcdir)/src
84-AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS
85-LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir)
86-LIB_RUNTIME_DIR = $(libdir)
87-
88-if BUILD_TCL_SITE
89-tclpkgdir = @TCL_PACKAGE_DIR@
90-tclpkg_DATA = pkgIndex.tcl
91-tclpkg_SCRIPTS = ifOctets.tcl
92-else
93-pkglib_DATA = pkgIndex.tcl
94-pkglib_SCRIPTS = ifOctets.tcl
95-endif
96-
97-# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
98-# library name. So we build and install this library `by hand'.
99-#
100-# We do, however, specify a lib_LIBRARIES target such that
101-# automake creates the directory (if neecessary).
102-#
103-TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)
104-
105-lib_LIBRARIES =
106-
107-all-local: $(TCL_RRD_LIB)
108-
109-$(TCL_RRD_LIB): tclrrd.o
110- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS)
111-
112-tclrrd.o: tclrrd.c
113- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\"
114-
115-pkgIndex.tcl:
116- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@
117-
118-install-exec-local: $(TCL_RRD_LIB)
119- @$(NORMAL_INSTALL)
120- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB)
121-
122diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in
123deleted file mode 100644
124index 0a36517..0000000
125--- a/bindings/tcl/Makefile.in
126+++ /dev/null
127@@ -1,668 +0,0 @@
128-# Makefile.in generated by automake 1.11 from Makefile.am.
129-# @configure_input@
130-
131-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
132-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
133-# Inc.
134-# This Makefile.in is free software; the Free Software Foundation
135-# gives unlimited permission to copy and/or distribute it,
136-# with or without modifications, as long as this notice is preserved.
137-
138-# This program is distributed in the hope that it will be useful,
139-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
140-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
141-# PARTICULAR PURPOSE.
142-
143-@SET_MAKE@
144-
145-
146-
147-VPATH = @srcdir@
148-pkgdatadir = $(datadir)/@PACKAGE@
149-pkgincludedir = $(includedir)/@PACKAGE@
150-pkglibdir = $(libdir)/@PACKAGE@
151-pkglibexecdir = $(libexecdir)/@PACKAGE@
152-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
153-install_sh_DATA = $(install_sh) -c -m 644
154-install_sh_PROGRAM = $(install_sh) -c
155-install_sh_SCRIPT = $(install_sh) -c
156-INSTALL_HEADER = $(INSTALL_DATA)
157-transform = $(program_transform_name)
158-NORMAL_INSTALL = :
159-PRE_INSTALL = :
160-POST_INSTALL = :
161-NORMAL_UNINSTALL = :
162-PRE_UNINSTALL = :
163-POST_UNINSTALL = :
164-build_triplet = @build@
165-host_triplet = @host@
166-target_triplet = @target@
167-subdir = bindings/tcl
168-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
169- $(srcdir)/ifOctets.tcl.in
170-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
171-am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
172- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
173- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
174- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
175- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
176- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
177- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
178- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
179- $(top_srcdir)/configure.ac
180-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
181- $(ACLOCAL_M4)
182-mkinstalldirs = $(install_sh) -d
183-CONFIG_HEADER = $(top_builddir)/rrd_config.h
184-CONFIG_CLEAN_FILES = ifOctets.tcl
185-CONFIG_CLEAN_VPATH_FILES =
186-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
187-am__vpath_adj = case $$p in \
188- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
189- *) f=$$p;; \
190- esac;
191-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
192-am__install_max = 40
193-am__nobase_strip_setup = \
194- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
195-am__nobase_strip = \
196- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
197-am__nobase_list = $(am__nobase_strip_setup); \
198- for p in $$list; do echo "$$p $$p"; done | \
199- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
200- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
201- if (++n[$$2] == $(am__install_max)) \
202- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
203- END { for (dir in files) print dir, files[dir] }'
204-am__base_list = \
205- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
206- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
207-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" \
208- "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" \
209- "$(DESTDIR)$(tclpkgdir)"
210-LIBRARIES = $(lib_LIBRARIES)
211-SCRIPTS = $(pkglib_SCRIPTS) $(tclpkg_SCRIPTS)
212-AM_V_GEN = $(am__v_GEN_$(V))
213-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
214-am__v_GEN_0 = @echo " GEN " $@;
215-AM_V_at = $(am__v_at_$(V))
216-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
217-am__v_at_0 = @
218-SOURCES =
219-DIST_SOURCES =
220-DATA = $(pkglib_DATA) $(tclpkg_DATA)
221-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
222-ACLOCAL = @ACLOCAL@
223-ALL_LIBS = @ALL_LIBS@
224-AMTAR = @AMTAR@
225-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
226-AR = @AR@
227-AUTOCONF = @AUTOCONF@
228-AUTOHEADER = @AUTOHEADER@
229-AUTOMAKE = @AUTOMAKE@
230-AWK = @AWK@
231-CC = @CC@
232-CCDEPMODE = @CCDEPMODE@
233-CFLAGS = @CFLAGS@
234-COMP_LUA = @COMP_LUA@
235-COMP_PERL = @COMP_PERL@
236-COMP_PYTHON = @COMP_PYTHON@
237-COMP_RUBY = @COMP_RUBY@
238-CORE_LIBS = @CORE_LIBS@
239-CPP = @CPP@
240-CPPFLAGS = @CPPFLAGS@
241-CYGPATH_W = @CYGPATH_W@
242-DEFS = @DEFS@
243-DEPDIR = @DEPDIR@
244-DSYMUTIL = @DSYMUTIL@
245-DUMPBIN = @DUMPBIN@
246-ECHO_C = @ECHO_C@
247-ECHO_N = @ECHO_N@
248-ECHO_T = @ECHO_T@
249-EGREP = @EGREP@
250-EXEEXT = @EXEEXT@
251-FGREP = @FGREP@
252-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
253-GMSGFMT = @GMSGFMT@
254-GMSGFMT_015 = @GMSGFMT_015@
255-GREP = @GREP@
256-INSTALL = @INSTALL@
257-INSTALL_DATA = @INSTALL_DATA@
258-INSTALL_PROGRAM = @INSTALL_PROGRAM@
259-INSTALL_SCRIPT = @INSTALL_SCRIPT@
260-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
261-INTLLIBS = @INTLLIBS@
262-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
263-LD = @LD@
264-LDFLAGS = @LDFLAGS@
265-LIBICONV = @LIBICONV@
266-LIBINTL = @LIBINTL@
267-LIBOBJS = @LIBOBJS@
268-LIBS = @LIBS@
269-LIBTOOL = @LIBTOOL@
270-LIBVERS = @LIBVERS@
271-LIPO = @LIPO@
272-LN_S = @LN_S@
273-LTLIBICONV = @LTLIBICONV@
274-LTLIBINTL = @LTLIBINTL@
275-LTLIBOBJS = @LTLIBOBJS@
276-LUA = @LUA@
277-LUA_CFLAGS = @LUA_CFLAGS@
278-LUA_DEFINES = @LUA_DEFINES@
279-LUA_INSTALL_CMOD = @LUA_INSTALL_CMOD@
280-LUA_INSTALL_LMOD = @LUA_INSTALL_LMOD@
281-LUA_LFLAGS = @LUA_LFLAGS@
282-MAINT = @MAINT@
283-MAKEINFO = @MAKEINFO@
284-MKDIR_P = @MKDIR_P@
285-MSGFMT = @MSGFMT@
286-MSGFMT_015 = @MSGFMT_015@
287-MSGMERGE = @MSGMERGE@
288-MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@
289-MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@
290-NM = @NM@
291-NMEDIT = @NMEDIT@
292-NROFF = @NROFF@
293-NUMVERS = @NUMVERS@
294-OBJDUMP = @OBJDUMP@
295-OBJEXT = @OBJEXT@
296-OTOOL = @OTOOL@
297-OTOOL64 = @OTOOL64@
298-PACKAGE = @PACKAGE@
299-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
300-PACKAGE_NAME = @PACKAGE_NAME@
301-PACKAGE_STRING = @PACKAGE_STRING@
302-PACKAGE_TARNAME = @PACKAGE_TARNAME@
303-PACKAGE_VERSION = @PACKAGE_VERSION@
304-PATH_SEPARATOR = @PATH_SEPARATOR@
305-PERL = @PERL@
306-PERLCC = @PERLCC@
307-PERLCCFLAGS = @PERLCCFLAGS@
308-PERLFLAGS = @PERLFLAGS@
309-PERLLD = @PERLLD@
310-PERLLDFLAGS = @PERLLDFLAGS@
311-PERL_CC = @PERL_CC@
312-PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@
313-PERL_VERSION = @PERL_VERSION@
314-PKGCONFIG = @PKGCONFIG@
315-POD2HTML = @POD2HTML@
316-POD2MAN = @POD2MAN@
317-POSUB = @POSUB@
318-PTHREAD_CC = @PTHREAD_CC@
319-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
320-PTHREAD_LIBS = @PTHREAD_LIBS@
321-PYTHON = @PYTHON@
322-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
323-PYTHON_INCLUDES = @PYTHON_INCLUDES@
324-PYTHON_PLATFORM = @PYTHON_PLATFORM@
325-PYTHON_PREFIX = @PYTHON_PREFIX@
326-PYTHON_VERSION = @PYTHON_VERSION@
327-RANLIB = @RANLIB@
328-RRDDOCDIR = @RRDDOCDIR@
329-RRDGRAPH_YLEGEND_ANGLE = @RRDGRAPH_YLEGEND_ANGLE@
330-RRD_DEFAULT_FONT = @RRD_DEFAULT_FONT@
331-RRD_GETOPT_LONG = @RRD_GETOPT_LONG@
332-RUBY = @RUBY@
333-RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@
334-SED = @SED@
335-SET_MAKE = @SET_MAKE@
336-SHELL = @SHELL@
337-STRIP = @STRIP@
338-TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@
339-TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@
340-TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@
341-TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
342-### no including this by default @WERROR@
343-TCL_PREFIX = @TCL_PREFIX@
344-TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@
345-TCL_SHLIB_LD = @TCL_SHLIB_LD@
346-TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
347-TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@
348-TCL_VERSION = @TCL_VERSION@
349-TROFF = @TROFF@
350-USE_NLS = @USE_NLS@
351-VERSION = @VERSION@
352-WERROR = @WERROR@
353-XGETTEXT = @XGETTEXT@
354-XGETTEXT_015 = @XGETTEXT_015@
355-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
356-abs_builddir = @abs_builddir@
357-abs_srcdir = @abs_srcdir@
358-abs_top_builddir = @abs_top_builddir@
359-abs_top_srcdir = @abs_top_srcdir@
360-ac_ct_CC = @ac_ct_CC@
361-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
362-acx_pthread_config = @acx_pthread_config@
363-am__include = @am__include@
364-am__leading_dot = @am__leading_dot@
365-am__quote = @am__quote@
366-am__tar = @am__tar@
367-am__untar = @am__untar@
368-bindir = @bindir@
369-build = @build@
370-build_alias = @build_alias@
371-build_cpu = @build_cpu@
372-build_os = @build_os@
373-build_vendor = @build_vendor@
374-builddir = @builddir@
375-datadir = @datadir@
376-datarootdir = @datarootdir@
377-docdir = @docdir@
378-dvidir = @dvidir@
379-exec_prefix = @exec_prefix@
380-host = @host@
381-host_alias = @host_alias@
382-host_cpu = @host_cpu@
383-host_os = @host_os@
384-host_vendor = @host_vendor@
385-htmldir = @htmldir@
386-includedir = @includedir@
387-infodir = @infodir@
388-install_sh = @install_sh@
389-libdir = @libdir@
390-libexecdir = @libexecdir@
391-localedir = @localedir@
392-localstatedir = @localstatedir@
393-lt_ECHO = @lt_ECHO@
394-mandir = @mandir@
395-mkdir_p = @mkdir_p@
396-oldincludedir = @oldincludedir@
397-pdfdir = @pdfdir@
398-pkgpyexecdir = @pkgpyexecdir@
399-pkgpythondir = @pkgpythondir@
400-prefix = @prefix@
401-program_transform_name = @program_transform_name@
402-psdir = @psdir@
403-pyexecdir = @pyexecdir@
404-pythondir = @pythondir@
405-sbindir = @sbindir@
406-sharedstatedir = @sharedstatedir@
407-srcdir = @srcdir@
408-sysconfdir = @sysconfdir@
409-target = @target@
410-target_alias = @target_alias@
411-target_cpu = @target_cpu@
412-target_os = @target_os@
413-target_vendor = @target_vendor@
414-top_build_prefix = @top_build_prefix@
415-top_builddir = @top_builddir@
416-top_srcdir = @top_srcdir@
417-EXTRA_DIST = README tclrrd.c
418-AM_CFLAGS = @CFLAGS@
419-CLEANFILES = tclrrd.o tclrrd.so
420-SRC_DIR = $(top_srcdir)/src
421-AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS
422-LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir)
423-LIB_RUNTIME_DIR = $(libdir)
424-@BUILD_TCL_SITE_TRUE@tclpkgdir = @TCL_PACKAGE_DIR@
425-@BUILD_TCL_SITE_TRUE@tclpkg_DATA = pkgIndex.tcl
426-@BUILD_TCL_SITE_TRUE@tclpkg_SCRIPTS = ifOctets.tcl
427-@BUILD_TCL_SITE_FALSE@pkglib_DATA = pkgIndex.tcl
428-@BUILD_TCL_SITE_FALSE@pkglib_SCRIPTS = ifOctets.tcl
429-
430-# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
431-# library name. So we build and install this library `by hand'.
432-#
433-# We do, however, specify a lib_LIBRARIES target such that
434-# automake creates the directory (if neecessary).
435-#
436-TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)
437-lib_LIBRARIES =
438-all: all-am
439-
440-.SUFFIXES:
441-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
442- @for dep in $?; do \
443- case '$(am__configure_deps)' in \
444- *$$dep*) \
445- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
446- && { if test -f $@; then exit 0; else break; fi; }; \
447- exit 1;; \
448- esac; \
449- done; \
450- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \
451- $(am__cd) $(top_srcdir) && \
452- $(AUTOMAKE) --gnu bindings/tcl/Makefile
453-.PRECIOUS: Makefile
454-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
455- @case '$?' in \
456- *config.status*) \
457- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
458- *) \
459- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
460- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
461- esac;
462-
463-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
464- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
465-
466-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
467- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
468-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
469- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
470-$(am__aclocal_m4_deps):
471-ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in
472- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
473-install-libLIBRARIES: $(lib_LIBRARIES)
474- @$(NORMAL_INSTALL)
475- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
476- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
477- list2=; for p in $$list; do \
478- if test -f $$p; then \
479- list2="$$list2 $$p"; \
480- else :; fi; \
481- done; \
482- test -z "$$list2" || { \
483- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \
484- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; }
485- @$(POST_INSTALL)
486- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
487- for p in $$list; do \
488- if test -f $$p; then \
489- $(am__strip_dir) \
490- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \
491- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \
492- else :; fi; \
493- done
494-
495-uninstall-libLIBRARIES:
496- @$(NORMAL_UNINSTALL)
497- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \
498- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
499- test -n "$$files" || exit 0; \
500- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \
501- cd "$(DESTDIR)$(libdir)" && rm -f $$files
502-
503-clean-libLIBRARIES:
504- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
505-install-pkglibSCRIPTS: $(pkglib_SCRIPTS)
506- @$(NORMAL_INSTALL)
507- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
508- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || list=; \
509- for p in $$list; do \
510- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
511- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
512- done | \
513- sed -e 'p;s,.*/,,;n' \
514- -e 'h;s|.*|.|' \
515- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
516- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
517- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
518- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
519- if (++n[d] == $(am__install_max)) { \
520- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
521- else { print "f", d "/" $$4, $$1 } } \
522- END { for (d in files) print "f", d, files[d] }' | \
523- while read type dir files; do \
524- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
525- test -z "$$files" || { \
526- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \
527- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \
528- } \
529- ; done
530-
531-uninstall-pkglibSCRIPTS:
532- @$(NORMAL_UNINSTALL)
533- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || exit 0; \
534- files=`for p in $$list; do echo "$$p"; done | \
535- sed -e 's,.*/,,;$(transform)'`; \
536- test -n "$$list" || exit 0; \
537- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
538- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
539-install-tclpkgSCRIPTS: $(tclpkg_SCRIPTS)
540- @$(NORMAL_INSTALL)
541- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)"
542- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || list=; \
543- for p in $$list; do \
544- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
545- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
546- done | \
547- sed -e 'p;s,.*/,,;n' \
548- -e 'h;s|.*|.|' \
549- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
550- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
551- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
552- if ($$2 == $$4) { files[d] = files[d] " " $$1; \
553- if (++n[d] == $(am__install_max)) { \
554- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
555- else { print "f", d "/" $$4, $$1 } } \
556- END { for (d in files) print "f", d, files[d] }' | \
557- while read type dir files; do \
558- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
559- test -z "$$files" || { \
560- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(tclpkgdir)$$dir'"; \
561- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(tclpkgdir)$$dir" || exit $$?; \
562- } \
563- ; done
564-
565-uninstall-tclpkgSCRIPTS:
566- @$(NORMAL_UNINSTALL)
567- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || exit 0; \
568- files=`for p in $$list; do echo "$$p"; done | \
569- sed -e 's,.*/,,;$(transform)'`; \
570- test -n "$$list" || exit 0; \
571- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \
572- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files
573-
574-mostlyclean-libtool:
575- -rm -f *.lo
576-
577-clean-libtool:
578- -rm -rf .libs _libs
579-install-pkglibDATA: $(pkglib_DATA)
580- @$(NORMAL_INSTALL)
581- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
582- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
583- for p in $$list; do \
584- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
585- echo "$$d$$p"; \
586- done | $(am__base_list) | \
587- while read files; do \
588- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
589- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
590- done
591-
592-uninstall-pkglibDATA:
593- @$(NORMAL_UNINSTALL)
594- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
595- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
596- test -n "$$files" || exit 0; \
597- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
598- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
599-install-tclpkgDATA: $(tclpkg_DATA)
600- @$(NORMAL_INSTALL)
601- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)"
602- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \
603- for p in $$list; do \
604- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
605- echo "$$d$$p"; \
606- done | $(am__base_list) | \
607- while read files; do \
608- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tclpkgdir)'"; \
609- $(INSTALL_DATA) $$files "$(DESTDIR)$(tclpkgdir)" || exit $$?; \
610- done
611-
612-uninstall-tclpkgDATA:
613- @$(NORMAL_UNINSTALL)
614- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \
615- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
616- test -n "$$files" || exit 0; \
617- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \
618- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files
619-tags: TAGS
620-TAGS:
621-
622-ctags: CTAGS
623-CTAGS:
624-
625-
626-distdir: $(DISTFILES)
627- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
628- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
629- list='$(DISTFILES)'; \
630- dist_files=`for file in $$list; do echo $$file; done | \
631- sed -e "s|^$$srcdirstrip/||;t" \
632- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
633- case $$dist_files in \
634- */*) $(MKDIR_P) `echo "$$dist_files" | \
635- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
636- sort -u` ;; \
637- esac; \
638- for file in $$dist_files; do \
639- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
640- if test -d $$d/$$file; then \
641- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
642- if test -d "$(distdir)/$$file"; then \
643- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
644- fi; \
645- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
646- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
647- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
648- fi; \
649- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
650- else \
651- test -f "$(distdir)/$$file" \
652- || cp -p $$d/$$file "$(distdir)/$$file" \
653- || exit 1; \
654- fi; \
655- done
656-check-am: all-am
657-check: check-am
658-all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(DATA) all-local
659-installdirs:
660- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)"; do \
661- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
662- done
663-install: install-am
664-install-exec: install-exec-am
665-install-data: install-data-am
666-uninstall: uninstall-am
667-
668-install-am: all-am
669- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
670-
671-installcheck: installcheck-am
672-install-strip:
673- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
674- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
675- `test -z '$(STRIP)' || \
676- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
677-mostlyclean-generic:
678-
679-clean-generic:
680- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
681-
682-distclean-generic:
683- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
684- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
685-
686-maintainer-clean-generic:
687- @echo "This command is intended for maintainers to use"
688- @echo "it deletes files that may require special tools to rebuild."
689-clean: clean-am
690-
691-clean-am: clean-generic clean-libLIBRARIES clean-libtool \
692- mostlyclean-am
693-
694-distclean: distclean-am
695- -rm -f Makefile
696-distclean-am: clean-am distclean-generic
697-
698-dvi: dvi-am
699-
700-dvi-am:
701-
702-html: html-am
703-
704-html-am:
705-
706-info: info-am
707-
708-info-am:
709-
710-install-data-am: install-tclpkgDATA install-tclpkgSCRIPTS
711-
712-install-dvi: install-dvi-am
713-
714-install-dvi-am:
715-
716-install-exec-am: install-exec-local install-libLIBRARIES \
717- install-pkglibDATA install-pkglibSCRIPTS
718-
719-install-html: install-html-am
720-
721-install-html-am:
722-
723-install-info: install-info-am
724-
725-install-info-am:
726-
727-install-man:
728-
729-install-pdf: install-pdf-am
730-
731-install-pdf-am:
732-
733-install-ps: install-ps-am
734-
735-install-ps-am:
736-
737-installcheck-am:
738-
739-maintainer-clean: maintainer-clean-am
740- -rm -f Makefile
741-maintainer-clean-am: distclean-am maintainer-clean-generic
742-
743-mostlyclean: mostlyclean-am
744-
745-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
746-
747-pdf: pdf-am
748-
749-pdf-am:
750-
751-ps: ps-am
752-
753-ps-am:
754-
755-uninstall-am: uninstall-libLIBRARIES uninstall-pkglibDATA \
756- uninstall-pkglibSCRIPTS uninstall-tclpkgDATA \
757- uninstall-tclpkgSCRIPTS
758-
759-.MAKE: install-am install-strip
760-
761-.PHONY: all all-am all-local check check-am clean clean-generic \
762- clean-libLIBRARIES clean-libtool distclean distclean-generic \
763- distclean-libtool distdir dvi dvi-am html html-am info info-am \
764- install install-am install-data install-data-am install-dvi \
765- install-dvi-am install-exec install-exec-am install-exec-local \
766- install-html install-html-am install-info install-info-am \
767- install-libLIBRARIES install-man install-pdf install-pdf-am \
768- install-pkglibDATA install-pkglibSCRIPTS install-ps \
769- install-ps-am install-strip install-tclpkgDATA \
770- install-tclpkgSCRIPTS installcheck installcheck-am installdirs \
771- maintainer-clean maintainer-clean-generic mostlyclean \
772- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
773- uninstall uninstall-am uninstall-libLIBRARIES \
774- uninstall-pkglibDATA uninstall-pkglibSCRIPTS \
775- uninstall-tclpkgDATA uninstall-tclpkgSCRIPTS
776-
777-
778-all-local: $(TCL_RRD_LIB)
779-
780-$(TCL_RRD_LIB): tclrrd.o
781- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS)
782-
783-tclrrd.o: tclrrd.c
784- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\"
785-
786-pkgIndex.tcl:
787- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@
788-
789-install-exec-local: $(TCL_RRD_LIB)
790- @$(NORMAL_INSTALL)
791- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB)
792-
793-# Tell versions [3.59,3.63) of GNU make to not export all variables.
794-# Otherwise a system limit (for SysV at least) may be exceeded.
795-.NOEXPORT:
796diff --git a/bindings/tcl/README b/bindings/tcl/README
797deleted file mode 100644
798index 065a03a..0000000
799--- a/bindings/tcl/README
800+++ /dev/null
801@@ -1,31 +0,0 @@
802-TCLRRD -- A TCL interpreter extension to access the RRD library,
803- contributed to Tobias Oetiker's RRD tools.
804-
805-Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.
806-
807-See the file "COPYING" for information on usage and redistribution
808-of this file, and for a DISCLAIMER OF ALL WARRANTIES.
809-
810-TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter
811-to access all RRD functions as of RRDtool 1.0.13. All command names
812-and arguments are equal to those of RRDtool. They are assigned to the
813-namespace `Rrd', e.g. `Rrd::create'. Return values are a bit
814-different from plain RRDtool behavior to enable more native Tcl
815-usage. Errors are mapped to the TCL_ERROR return code together with
816-the RRD error strings.
817-
818-TCLRRD makes it easy to combine RRD use with advanced SNMP functionality
819-of scotty (http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/). E.g., it's easy
820-to use some scotty code to get the counters of some interfaces by their
821-interface name and then use Rrd::update to store the values. Furthermore,
822-data source types (see RRD::create documentation) and integer value ranges
823-could be easily retrieved from MIB information.
824-
825-TCLRRD has been written on a Linux system for use with Tcl 8.x. It should
826-work on many other platforms, although it has not been tested. There are
827-no fool proof installation procedures. Take a look at Makefile.am and
828-adapt it, if required.
829-
830-TCLRRD has been written for RRD 1.0.13.
831-
832- Frank Strauss <strauss@ibr.cs.tu-bs.de>, 09-Mar-2000
833diff --git a/bindings/tcl/ifOctets.tcl.in b/bindings/tcl/ifOctets.tcl.in
834deleted file mode 100644
835index 7a36397..0000000
836--- a/bindings/tcl/ifOctets.tcl.in
837+++ /dev/null
838@@ -1,45 +0,0 @@
839-#!/bin/sh
840-# the next line restarts using tclsh -*- tcl -*- \
841-exec tclsh@TCL_VERSION@ "$0" "$@"
842-
843-#package require Tnm 3.0
844-package require Rrd @VERSION@
845-
846-set rrdfile "[lindex $argv 0]-[lindex $argv 1].rrd"
847-
848-# create rrdfile if not yet existent
849-if {[file exists $rrdfile] == 0} {
850- Rrd::create $rrdfile --step 5 \
851- DS:inOctets:COUNTER:10:U:U DS:outOctets:COUNTER:10:U:U \
852- RRA:AVERAGE:0.5:1:12
853-}
854-
855-# get an snmp session context
856-set session [Tnm::snmp generator -address [lindex $argv 0]]
857-
858-# walk through the ifDescr column to find the right interface
859-$session walk descr IF-MIB!ifDescr {
860-
861- # is this the right interface?
862- if {"[Tnm::snmp value $descr 0]" == "[lindex $argv 1]"} {
863-
864- # get the instance part of this table row
865- set inst [lindex [Tnm::mib split [Tnm::snmp oid $descr 0]] 1]
866-
867- # get the two interface's octet counter values
868- set in [lindex [lindex [$session get IF-MIB!ifInOctets.$inst] 0] 2]
869- set out [lindex [lindex [$session get IF-MIB!ifOutOctets.$inst] 0] 2]
870-
871- # write the values to the rrd
872- puts "$in $out"
873- Rrd::update $rrdfile --template inOctets:outOctets N:$in:$out
874-
875- Rrd::graph gaga.png --title "gaga" \
876- DEF:in=$rrdfile:inOctets:AVERAGE \
877- DEF:out=$rrdfile:outOctets:AVERAGE \
878- AREA:in#0000FF:inOctets \
879- LINE2:out#00C000:outOctets
880-
881- #puts [Rrd::fetch $rrdfile AVERAGE]
882- }
883-}
884diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c
885deleted file mode 100644
886index f1f0234..0000000
887--- a/bindings/tcl/tclrrd.c
888+++ /dev/null
889@@ -1,762 +0,0 @@
890-/*
891- * tclrrd.c -- A TCL interpreter extension to access the RRD library.
892- *
893- * Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig.
894- *
895- * Thread-safe code copyright (c) 2005 Oleg Derevenetz, CenterTelecom Voronezh ISP.
896- *
897- * See the file "COPYING" for information on usage and redistribution
898- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
899- *
900- * $Id: tclrrd.c 1854 2009-06-07 14:46:21Z oetiker $
901- */
902-
903-
904-
905-#include <errno.h>
906-#include <string.h>
907-#include <time.h>
908-#include <unistd.h>
909-#include <tcl.h>
910-#include <stdlib.h>
911-#include "../../src/rrd_tool.h"
912-#include "../../src/rrd_format.h"
913-
914-/* support pre-8.4 tcl */
915-
916-#ifndef CONST84
917-# define CONST84
918-#endif
919-
920-extern int Tclrrd_Init(
921- Tcl_Interp *interp);
922-extern int Tclrrd_SafeInit(
923- Tcl_Interp *interp);
924-
925-
926-/*
927- * some rrd_XXX() and new thread-safe versions of Rrd_XXX()
928- * functions might modify the argv strings passed to it.
929- * Hence, we need to do some preparation before
930- * calling the rrd library functions.
931- */
932-static char **getopt_init(
933- int argc,
934- CONST84 char *argv[])
935-{
936- char **argv2;
937- int i;
938-
939- argv2 = calloc(argc, sizeof(char *));
940- for (i = 0; i < argc; i++) {
941- argv2[i] = strdup(argv[i]);
942- }
943- return argv2;
944-}
945-
946-static void getopt_cleanup(
947- int argc,
948- char **argv2)
949-{
950- int i;
951-
952- for (i = 0; i < argc; i++) {
953- if (argv2[i] != NULL) {
954- free(argv2[i]);
955- }
956- }
957- free(argv2);
958-}
959-
960-static void getopt_free_element(
961- char *argv2[],
962- int argn)
963-{
964- if (argv2[argn] != NULL) {
965- free(argv2[argn]);
966- argv2[argn] = NULL;
967- }
968-}
969-
970-static void getopt_squieeze(
971- int *argc,
972- char *argv2[])
973-{
974- int i, null_i = 0, argc_tmp = *argc;
975-
976- for (i = 0; i < argc_tmp; i++) {
977- if (argv2[i] == NULL) {
978- (*argc)--;
979- } else {
980- argv2[null_i++] = argv2[i];
981- }
982- }
983-}
984-
985-
986-
987-/* Thread-safe version */
988-static int Rrd_Create(
989- ClientData __attribute__((unused)) clientData,
990- Tcl_Interp *interp,
991- int argc,
992- CONST84 char *argv[])
993-{
994- int argv_i;
995- char **argv2;
996- char *parsetime_error = NULL;
997- time_t last_up = time(NULL) - 10;
998- long int long_tmp;
999- unsigned long int pdp_step = 300;
1000- rrd_time_value_t last_up_tv;
1001-
1002- argv2 = getopt_init(argc, argv);
1003-
1004- for (argv_i = 1; argv_i < argc; argv_i++) {
1005- if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) {
1006- if (argv_i++ >= argc) {
1007- Tcl_AppendResult(interp, "RRD Error: option '",
1008- argv2[argv_i - 1], "' needs an argument",
1009- (char *) NULL);
1010- getopt_cleanup(argc, argv2);
1011- return TCL_ERROR;
1012- }
1013- if ((parsetime_error = rrd_parsetime(argv2[argv_i], &last_up_tv))) {
1014- Tcl_AppendResult(interp, "RRD Error: invalid time format: '",
1015- argv2[argv_i], "'", (char *) NULL);
1016- getopt_cleanup(argc, argv2);
1017- return TCL_ERROR;
1018- }
1019- if (last_up_tv.type == RELATIVE_TO_END_TIME ||
1020- last_up_tv.type == RELATIVE_TO_START_TIME) {
1021- Tcl_AppendResult(interp,
1022- "RRD Error: specifying time relative to the 'start' ",
1023- "or 'end' makes no sense here",
1024- (char *) NULL);
1025- getopt_cleanup(argc, argv2);
1026- return TCL_ERROR;
1027- }
1028- last_up = mktime(&last_up_tv.tm) +last_up_tv.offset;
1029- if (last_up < 3600 * 24 * 365 * 10) {
1030- Tcl_AppendResult(interp,
1031- "RRD Error: the first entry to the RRD should be after 1980",
1032- (char *) NULL);
1033- getopt_cleanup(argc, argv2);
1034- return TCL_ERROR;
1035- }
1036- getopt_free_element(argv2, argv_i - 1);
1037- getopt_free_element(argv2, argv_i);
1038- } else if (!strcmp(argv2[argv_i], "--step")
1039- || !strcmp(argv2[argv_i], "-s")) {
1040- if (argv_i++ >= argc) {
1041- Tcl_AppendResult(interp, "RRD Error: option '",
1042- argv2[argv_i - 1], "' needs an argument",
1043- (char *) NULL);
1044- getopt_cleanup(argc, argv2);
1045- return TCL_ERROR;
1046- }
1047- long_tmp = atol(argv2[argv_i]);
1048- if (long_tmp < 1) {
1049- Tcl_AppendResult(interp,
1050- "RRD Error: step size should be no less than one second",
1051- (char *) NULL);
1052- getopt_cleanup(argc, argv2);
1053- return TCL_ERROR;
1054- }
1055- pdp_step = long_tmp;
1056- getopt_free_element(argv2, argv_i - 1);
1057- getopt_free_element(argv2, argv_i);
1058- } else if (!strcmp(argv2[argv_i], "--")) {
1059- getopt_free_element(argv2, argv_i);
1060- break;
1061- } else if (argv2[argv_i][0] == '-') {
1062- Tcl_AppendResult(interp, "RRD Error: unknown option '",
1063- argv2[argv_i], "'", (char *) NULL);
1064- getopt_cleanup(argc, argv2);
1065- return TCL_ERROR;
1066- }
1067- }
1068-
1069- getopt_squieeze(&argc, argv2);
1070-
1071- if (argc < 2) {
1072- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
1073- (char *) NULL);
1074- getopt_cleanup(argc, argv2);
1075- return TCL_ERROR;
1076- }
1077-
1078- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2,
1079- (const char **)argv2 + 2);
1080-
1081- getopt_cleanup(argc, argv2);
1082-
1083- if (rrd_test_error()) {
1084- Tcl_AppendResult(interp, "RRD Error: ",
1085- rrd_get_error(), (char *) NULL);
1086- rrd_clear_error();
1087- return TCL_ERROR;
1088- }
1089-
1090- return TCL_OK;
1091-}
1092-
1093-
1094-
1095-/* Thread-safe version */
1096-static int Rrd_Dump(
1097- ClientData __attribute__((unused)) clientData,
1098- Tcl_Interp *interp,
1099- int argc,
1100- CONST84 char *argv[])
1101-{
1102- if (argc < 2) {
1103- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
1104- (char *) NULL);
1105- return TCL_ERROR;
1106- }
1107-
1108- rrd_dump_r(argv[1], NULL);
1109-
1110- /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */
1111-
1112- if (rrd_test_error()) {
1113- Tcl_AppendResult(interp, "RRD Error: ",
1114- rrd_get_error(), (char *) NULL);
1115- rrd_clear_error();
1116- return TCL_ERROR;
1117- }
1118-
1119- return TCL_OK;
1120-}
1121-
1122-/* Thread-safe version */
1123-static int Rrd_Flushcached(
1124- ClientData __attribute__((unused)) clientData,
1125- Tcl_Interp *interp,
1126- int argc,
1127- CONST84 char *argv[])
1128-{
1129- if (argc < 2) {
1130- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
1131- (char *) NULL);
1132- return TCL_ERROR;
1133- }
1134-
1135- rrd_flushcached(argc, (char**)argv);
1136-
1137- if (rrd_test_error()) {
1138- Tcl_AppendResult(interp, "RRD Error: ",
1139- rrd_get_error(), (char *) NULL);
1140- rrd_clear_error();
1141- return TCL_ERROR;
1142- }
1143-
1144- return TCL_OK;
1145-}
1146-
1147-
1148-/* Thread-safe version */
1149-static int Rrd_Last(
1150- ClientData __attribute__((unused)) clientData,
1151- Tcl_Interp *interp,
1152- int argc,
1153- CONST84 char *argv[])
1154-{
1155- time_t t;
1156-
1157- if (argc < 2) {
1158- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
1159- (char *) NULL);
1160- return TCL_ERROR;
1161- }
1162-
1163- t = rrd_last_r(argv[1]);
1164-
1165- if (rrd_test_error()) {
1166- Tcl_AppendResult(interp, "RRD Error: ",
1167- rrd_get_error(), (char *) NULL);
1168- rrd_clear_error();
1169- return TCL_ERROR;
1170- }
1171-
1172- Tcl_SetIntObj(Tcl_GetObjResult(interp), t);
1173-
1174- return TCL_OK;
1175-}
1176-
1177-
1178-
1179-/* Thread-safe version */
1180-static int Rrd_Update(
1181- ClientData __attribute__((unused)) clientData,
1182- Tcl_Interp *interp,
1183- int argc,
1184- CONST84 char *argv[])
1185-{
1186- int argv_i;
1187- char **argv2, *template = NULL;
1188-
1189- argv2 = getopt_init(argc, argv);
1190-
1191- for (argv_i = 1; argv_i < argc; argv_i++) {
1192- if (!strcmp(argv2[argv_i], "--template")
1193- || !strcmp(argv2[argv_i], "-t")) {
1194- if (argv_i++ >= argc) {
1195- Tcl_AppendResult(interp, "RRD Error: option '",
1196- argv2[argv_i - 1], "' needs an argument",
1197- (char *) NULL);
1198- if (template != NULL) {
1199- free(template);
1200- }
1201- getopt_cleanup(argc, argv2);
1202- return TCL_ERROR;
1203- }
1204- if (template != NULL) {
1205- free(template);
1206- }
1207- template = strdup(argv2[argv_i]);
1208- getopt_free_element(argv2, argv_i - 1);
1209- getopt_free_element(argv2, argv_i);
1210- } else if (!strcmp(argv2[argv_i], "--")) {
1211- getopt_free_element(argv2, argv_i);
1212- break;
1213- } else if (argv2[argv_i][0] == '-') {
1214- Tcl_AppendResult(interp, "RRD Error: unknown option '",
1215- argv2[argv_i], "'", (char *) NULL);
1216- if (template != NULL) {
1217- free(template);
1218- }
1219- getopt_cleanup(argc, argv2);
1220- return TCL_ERROR;
1221- }
1222- }
1223-
1224- getopt_squieeze(&argc, argv2);
1225-
1226- if (argc < 2) {
1227- Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
1228- (char *) NULL);
1229- if (template != NULL) {
1230- free(template);
1231- }
1232- getopt_cleanup(argc, argv2);
1233- return TCL_ERROR;
1234- }
1235-
1236- rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2);
1237-
1238- if (template != NULL) {
1239- free(template);
1240- }
1241- getopt_cleanup(argc, argv2);
1242-
1243- if (rrd_test_error()) {
1244- Tcl_AppendResult(interp, "RRD Error: ",
1245- rrd_get_error(), (char *) NULL);
1246- rrd_clear_error();
1247- return TCL_ERROR;
1248- }
1249-
1250- return TCL_OK;
1251-}
1252-
1253-static int Rrd_Lastupdate(
1254- ClientData __attribute__((unused)) clientData,
1255- Tcl_Interp *interp,
1256- int argc,
1257- CONST84 char *argv[])
1258-{
1259- time_t last_update;
1260- char **argv2;
1261- char **ds_namv;
1262- char **last_ds;
1263- char s[30];
1264- Tcl_Obj *listPtr;
1265- unsigned long ds_cnt, i;
1266-
1267- /* TODO: support for rrdcached */
1268- if (argc != 2) {
1269- Tcl_AppendResult(interp, "RRD Error: needs a single rrd filename",
1270- (char *) NULL);
1271- return TCL_ERROR;
1272- }
1273-
1274- argv2 = getopt_init(argc, argv);
1275- if (rrd_lastupdate_r(argv2[1], &last_update,
1276- &ds_cnt, &ds_namv, &last_ds) == 0) {
1277- listPtr = Tcl_GetObjResult(interp);
1278- for (i = 0; i < ds_cnt; i++) {
1279- sprintf(s, " %28s", ds_namv[i]);
1280- Tcl_ListObjAppendElement(interp, listPtr,
1281- Tcl_NewStringObj(s, -1));
1282- sprintf(s, "\n\n%10lu:", last_update);
1283- Tcl_ListObjAppendElement(interp, listPtr,
1284- Tcl_NewStringObj(s, -1));
1285- for (i = 0; i < ds_cnt; i++) {
1286- sprintf(s, " %s", last_ds[i]);
1287- Tcl_ListObjAppendElement(interp, listPtr,
1288- Tcl_NewStringObj(s, -1));
1289- free(last_ds[i]);
1290- free(ds_namv[i]);
1291- }
1292- sprintf(s, "\n");
1293- Tcl_ListObjAppendElement(interp, listPtr,
1294- Tcl_NewStringObj(s, -1));
1295- free(last_ds);
1296- free(ds_namv);
1297- }
1298- }
1299- return TCL_OK;
1300-}
1301-
1302-static int Rrd_Fetch(
1303- ClientData __attribute__((unused)) clientData,
1304- Tcl_Interp *interp,
1305- int argc,
1306- CONST84 char *argv[])
1307-{
1308- time_t start, end, j;
1309- unsigned long step, ds_cnt, i, ii;
1310- rrd_value_t *data, *datai;
1311- char **ds_namv;
1312- Tcl_Obj *listPtr;
1313- char s[30];
1314- char **argv2;
1315-
1316- argv2 = getopt_init(argc, argv);
1317- if (rrd_fetch(argc, argv2, &start, &end, &step,
1318- &ds_cnt, &ds_namv, &data) != -1) {
1319- datai = data;
1320- listPtr = Tcl_GetObjResult(interp);
1321- for (j = start; j <= end; j += step) {
1322- for (ii = 0; ii < ds_cnt; ii++) {
1323- sprintf(s, "%.2f", *(datai++));
1324- Tcl_ListObjAppendElement(interp, listPtr,
1325- Tcl_NewStringObj(s, -1));
1326- }
1327- }
1328- for (i = 0; i < ds_cnt; i++)
1329- free(ds_namv[i]);
1330- free(ds_namv);
1331- free(data);
1332- }
1333- getopt_cleanup(argc, argv2);
1334-
1335- if (rrd_test_error()) {
1336- Tcl_AppendResult(interp, "RRD Error: ",
1337- rrd_get_error(), (char *) NULL);
1338- rrd_clear_error();
1339- return TCL_ERROR;
1340- }
1341-
1342- return TCL_OK;
1343-}
1344-
1345-
1346-
1347-static int Rrd_Graph(
1348- ClientData __attribute__((unused)) clientData,
1349- Tcl_Interp *interp,
1350- int argc,
1351- CONST84 char *argv[])
1352-{
1353- Tcl_Channel channel;
1354- int mode, fd2;
1355- ClientData fd1;
1356- FILE *stream = NULL;
1357- char **calcpr = NULL;
1358- int rc, xsize, ysize;
1359- double ymin, ymax;
1360- char dimensions[50];
1361- char **argv2;
1362- CONST84 char *save;
1363-
1364- /*
1365- * If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to
1366- * that file descriptor. Will this work with windoze? I have no idea.
1367- */
1368- if ((channel = Tcl_GetChannel(interp, argv[1], &mode)) != NULL) {
1369- /*
1370- * It >is< a Tcl fileID
1371- */
1372- if (!(mode & TCL_WRITABLE)) {
1373- Tcl_AppendResult(interp, "channel \"", argv[1],
1374- "\" wasn't opened for writing", (char *) NULL);
1375- return TCL_ERROR;
1376- }
1377- /*
1378- * Must flush channel to make sure any buffered data is written before
1379- * rrd_graph() writes to the stream
1380- */
1381- if (Tcl_Flush(channel) != TCL_OK) {
1382- Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ",
1383- strerror(Tcl_GetErrno()), (char *) NULL);
1384- return TCL_ERROR;
1385- }
1386- if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) {
1387- Tcl_AppendResult(interp,
1388- "cannot get file descriptor associated with \"",
1389- argv[1], "\"", (char *) NULL);
1390- return TCL_ERROR;
1391- }
1392- /*
1393- * Must dup() file descriptor so we can fclose(stream), otherwise the fclose()
1394- * would close Tcl's file descriptor
1395- */
1396- if ((fd2 = dup((int)fd1)) == -1) {
1397- Tcl_AppendResult(interp,
1398- "dup() failed for file descriptor associated with \"",
1399- argv[1], "\": ", strerror(errno), (char *) NULL);
1400- return TCL_ERROR;
1401- }
1402- /*
1403- * rrd_graph() wants a FILE*
1404- */
1405- if ((stream = fdopen(fd2, "wb")) == NULL) {
1406- Tcl_AppendResult(interp,
1407- "fdopen() failed for file descriptor associated with \"",
1408- argv[1], "\": ", strerror(errno), (char *) NULL);
1409- close(fd2); /* plug potential file descriptor leak */
1410- return TCL_ERROR;
1411- }
1412-
1413- save = argv[1];
1414- argv[1] = "-";
1415- argv2 = getopt_init(argc, argv);
1416- argv[1] = save;
1417- } else {
1418- Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */
1419- argv2 = getopt_init(argc, argv);
1420- }
1421-
1422- rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin,
1423- &ymax);
1424- getopt_cleanup(argc, argv2);
1425-
1426- if (stream != NULL)
1427- fclose(stream); /* plug potential malloc & file descriptor leak */
1428-
1429- if (rc != -1) {
1430- sprintf(dimensions, "%d %d", xsize, ysize);
1431- Tcl_AppendResult(interp, dimensions, (char *) NULL);
1432- if (calcpr) {
1433-#if 0
1434- int i;
1435-
1436- for (i = 0; calcpr[i]; i++) {
1437- printf("%s\n", calcpr[i]);
1438- free(calcpr[i]);
1439- }
1440-#endif
1441- free(calcpr);
1442- }
1443- }
1444-
1445- if (rrd_test_error()) {
1446- Tcl_AppendResult(interp, "RRD Error: ",
1447- rrd_get_error(), (char *) NULL);
1448- rrd_clear_error();
1449- return TCL_ERROR;
1450- }
1451-
1452- return TCL_OK;
1453-}
1454-
1455-
1456-
1457-static int Rrd_Tune(
1458- ClientData __attribute__((unused)) clientData,
1459- Tcl_Interp *interp,
1460- int argc,
1461- CONST84 char *argv[])
1462-{
1463- char **argv2;
1464-
1465- argv2 = getopt_init(argc, argv);
1466- rrd_tune(argc, argv2);
1467- getopt_cleanup(argc, argv2);
1468-
1469- if (rrd_test_error()) {
1470- Tcl_AppendResult(interp, "RRD Error: ",
1471- rrd_get_error(), (char *) NULL);
1472- rrd_clear_error();
1473- return TCL_ERROR;
1474- }
1475-
1476- return TCL_OK;
1477-}
1478-
1479-
1480-
1481-static int Rrd_Resize(
1482- ClientData __attribute__((unused)) clientData,
1483- Tcl_Interp *interp,
1484- int argc,
1485- CONST84 char *argv[])
1486-{
1487- char **argv2;
1488-
1489- argv2 = getopt_init(argc, argv);
1490- rrd_resize(argc, argv2);
1491- getopt_cleanup(argc, argv2);
1492-
1493- if (rrd_test_error()) {
1494- Tcl_AppendResult(interp, "RRD Error: ",
1495- rrd_get_error(), (char *) NULL);
1496- rrd_clear_error();
1497- return TCL_ERROR;
1498- }
1499-
1500- return TCL_OK;
1501-}
1502-
1503-
1504-
1505-static int Rrd_Restore(
1506- ClientData __attribute__((unused)) clientData,
1507- Tcl_Interp *interp,
1508- int argc,
1509- CONST84 char *argv[])
1510-{
1511- char **argv2;
1512-
1513- argv2 = getopt_init(argc, argv);
1514- rrd_restore(argc, argv2);
1515- getopt_cleanup(argc, argv2);
1516-
1517- if (rrd_test_error()) {
1518- Tcl_AppendResult(interp, "RRD Error: ",
1519- rrd_get_error(), (char *) NULL);
1520- rrd_clear_error();
1521- return TCL_ERROR;
1522- }
1523-
1524- return TCL_OK;
1525-}
1526-
1527-
1528-
1529-/*
1530- * The following structure defines the commands in the Rrd extension.
1531- */
1532-
1533-typedef struct {
1534- char *name; /* Name of the command. */
1535- Tcl_CmdProc *proc; /* Procedure for command. */
1536- int hide; /* Hide if safe interpreter */
1537-} CmdInfo;
1538-
1539-static CmdInfo rrdCmds[] = {
1540- {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */
1541- {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */
1542- {"Rrd::flushcached", Rrd_Flushcached, 0},
1543- {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */
1544- {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */
1545- {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */
1546- {"Rrd::fetch", Rrd_Fetch, 0},
1547- {"Rrd::graph", Rrd_Graph, 1}, /* Due to RRD's API, a safe
1548- interpreter cannot create
1549- a graph since it writes to
1550- a filename supplied by the
1551- caller */
1552- {"Rrd::tune", Rrd_Tune, 1},
1553- {"Rrd::resize", Rrd_Resize, 1},
1554- {"Rrd::restore", Rrd_Restore, 1},
1555- {(char *) NULL, (Tcl_CmdProc *) NULL, 0}
1556-};
1557-
1558-
1559-
1560-static int init(
1561- Tcl_Interp *interp,
1562- int safe)
1563-{
1564- CmdInfo *cmdInfoPtr;
1565- Tcl_CmdInfo info;
1566-
1567- if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL)
1568- return TCL_ERROR;
1569-
1570- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) {
1571- return TCL_ERROR;
1572- }
1573-
1574- /*
1575- * Why a global array? In keeping with the Rrd:: namespace, why
1576- * not simply create a normal variable Rrd::version and set it?
1577- */
1578- Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY);
1579-
1580- for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) {
1581- /*
1582- * Check if the command already exists and return an error
1583- * to ensure we detect name clashes while loading the Rrd
1584- * extension.
1585- */
1586- if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) {
1587- Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name,
1588- "\" already exists", (char *) NULL);
1589- return TCL_ERROR;
1590- }
1591- if (safe && cmdInfoPtr->hide) {
1592-#if 0
1593- /*
1594- * Turns out the one cannot hide a command in a namespace
1595- * due to a limitation of Tcl, one can only hide global
1596- * commands. Thus, if we created the commands without
1597- * the Rrd:: namespace in a safe interpreter, then the
1598- * "unsafe" commands could be hidden -- which would allow
1599- * an owning interpreter either un-hiding them or doing
1600- * an "interp invokehidden". If the Rrd:: namespace is
1601- * used, then it's still possible for the owning interpreter
1602- * to fake out the missing commands:
1603- *
1604- * # Make all Rrd::* commands available in master interperter
1605- * package require Rrd
1606- * set safe [interp create -safe]
1607- * # Make safe Rrd::* commands available in safe interperter
1608- * interp invokehidden $safe -global load ./tclrrd1.2.11.so
1609- * # Provide the safe interpreter with the missing commands
1610- * $safe alias Rrd::update do_update $safe
1611- * proc do_update {which_interp $args} {
1612- * # Do some checking maybe...
1613- * :
1614- * return [eval Rrd::update $args]
1615- * }
1616- *
1617- * Our solution for now is to just not create the "unsafe"
1618- * commands in a safe interpreter.
1619- */
1620- if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) !=
1621- TCL_OK)
1622- return TCL_ERROR;
1623-#endif
1624- } else
1625- Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc,
1626- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
1627- }
1628-
1629- if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) {
1630- return TCL_ERROR;
1631- }
1632-
1633- return TCL_OK;
1634-}
1635-
1636-int Tclrrd_Init(
1637- Tcl_Interp *interp)
1638-{
1639- return init(interp, 0);
1640-}
1641-
1642-/*
1643- * See the comments above and note how few commands are considered "safe"...
1644- * Using rrdtool in a safe interpreter has very limited functionality. It's
1645- * tempting to just return TCL_ERROR and forget about it.
1646- */
1647-int Tclrrd_SafeInit(
1648- Tcl_Interp *interp)
1649-{
1650- return init(interp, 1);
1651-}
1652diff --git a/configure.ac b/configure.ac
1653index 73ef4ec..acd74e8 100644
1654--- a/configure.ac
1655+++ b/configure.ac
1656@@ -830,57 +830,6 @@ AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR"
1657 AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"])
1658 AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"])
1659
1660-enable_tcl_site=no
1661-
1662-AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]),
1663-[],[enable_tcl=yes])
1664-
1665-if test "$enable_tcl" = "yes"; then
1666- dnl Check for Tcl.
1667- withval=""
1668- AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh])
1669- enable_tcl=no
1670- for dir in $withval /usr/lib /usr/lib64 /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do
1671- AC_MSG_CHECKING(for tclConfig.sh in $dir)
1672- if test -f "$dir/tclConfig.sh" ; then
1673- tcl_config=$dir/tclConfig.sh
1674- enable_tcl=yes
1675- AC_MSG_RESULT(yes)
1676- break
1677- else
1678- AC_MSG_RESULT(no)
1679- fi
1680- done
1681-
1682- if test "$enable_tcl" = "no"; then
1683- AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built])
1684- else
1685- . $tcl_config
1686- TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION"
1687- if test -n "$TCL_INC_DIR"; then
1688- TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR"
1689- fi
1690- fi
1691- AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]),
1692- [],[enable_tcl_site=yes])
1693-
1694-fi
1695-
1696-AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" )
1697-AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" )
1698-
1699-
1700-AC_SUBST(TCL_PREFIX)
1701-AC_SUBST(TCL_SHLIB_CFLAGS)
1702-AC_SUBST(TCL_SHLIB_LD)
1703-AC_SUBST(TCL_SHLIB_SUFFIX)
1704-AC_SUBST(TCL_PACKAGE_PATH)
1705-AC_SUBST(TCL_LD_SEARCH_FLAGS)
1706-AC_SUBST(TCL_STUB_LIB_SPEC)
1707-AC_SUBST(TCL_VERSION)
1708-AC_SUBST(TCL_PACKAGE_DIR)
1709-AC_SUBST(TCL_INCLUDE_SPEC)
1710-
1711 AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]),
1712 [],[enable_python=yes])
1713
1714@@ -932,8 +881,6 @@ AC_CONFIG_FILES([src/Makefile])
1715 AC_CONFIG_FILES([src/librrd.sym.in])
1716 AC_CONFIG_FILES([src/librrd.pc])
1717 AC_CONFIG_FILES([bindings/Makefile])
1718-AC_CONFIG_FILES([bindings/tcl/Makefile])
1719-AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl])
1720 AC_CONFIG_FILES([Makefile])
1721 AC_CONFIG_FILES([bindings/lua/Makefile])
1722
1723@@ -982,7 +929,6 @@ if test "$lua_need_compat51" = "1"; then
1724 echo " Lua Lua-modules dir: $LUA_INSTALL_LMOD"
1725 fi
1726 fi
1727-echo " Build Tcl Bindings: $enable_tcl"
1728 echo " Build Python Bindings: $enable_python"
1729 echo " Build rrdcgi: $enable_rrdcgi"
1730 echo " Build librrd MT: $enable_pthread"
1731--
17321.7.10
1733
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/remove_hardcoded_xml_include.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/remove_hardcoded_xml_include.patch
new file mode 100644
index 0000000000..321a842b62
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool/remove_hardcoded_xml_include.patch
@@ -0,0 +1,11 @@
1--- a/configure.ac 2012-11-06 11:20:54.099021892 -0500
2+++ b/configure.ac~ 2012-11-06 11:19:57.255023857 -0500
3@@ -548,7 +548,7 @@
4
5 fi
6 EX_CHECK_ALL(glib-2.0, glib_check_version, glib.h, glib-2.0, 2.28.7, ftp://ftp.gtk.org/pub/glib/2.28/, "")
7-EX_CHECK_ALL(xml2, xmlParseFile, libxml/parser.h, libxml-2.0, 2.7.8, http://xmlsoft.org/downloads.html, /usr/include/libxml2)
8+EX_CHECK_ALL(xml2, xmlParseFile, libxml/parser.h, libxml-2.0, 2.7.8, http://xmlsoft.org/downloads.html, "")
9
10 if test "$EX_CHECK_ALL_ERR" = "YES"; then
11 AC_MSG_ERROR([Please fix the library issues listed above and try again.])
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb
new file mode 100644
index 0000000000..2994df28ea
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb
@@ -0,0 +1,119 @@
1SUMMARY = "High performance data logging and graphing system for time series data"
2HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
6
7DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2"
8
9PR = "r2"
10
11SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \
12 file://0001-rrdtool-eradicate-tcl-support.patch \
13 file://remove_hardcoded_xml_include.patch \
14"
15SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f"
16SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11"
17
18inherit autotools gettext pythonnative perlnative python-dir
19
20EXTRA_AUTORECONF = "-I m4"
21
22PACKAGECONFIG ??= "python perl"
23
24PACKAGECONFIG[python] = "--enable-python=yes \
25am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
26am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
27--disable-python,python,"
28
29PACKAGECONFIG[perl] = \
30"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor"' \
31ac_cv_path_PERL_CC='${CC}', \
32--disable-perl,perl,"
33
34PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
35
36EXTRA_OECONF = " \
37 --enable-shared \
38 --disable-libwrap \
39 --program-prefix='' \
40 rd_cv_ieee_works=yes \
41 --disable-ruby \
42 --disable-lua \
43 --disable-rpath \
44"
45
46# don't use perl.real, this results in break issues with prebuilts since perl.real doesn't
47# know where the PERL5LIB is...
48# use wrapper perl instead
49EXTRA_OEMAKE = "PERL=${STAGING_BINDIR_NATIVE}/perl-native/perl FULLPERL=${STAGING_BINDIR_NATIVE}/perl-native/perl"
50
51export BUILD_SYS
52export HOST_SYS
53export STAGING_LIBDIR
54export STAGING_INCDIR
55
56do_configure() {
57 #fix the pkglib problem with newer automake
58 #perl
59 sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
60 ${S}/bindings/perl-shared/Makefile.PL
61
62 #python
63 sed -i -e '/PYTHON_INCLUDES="-I${/c \
64 PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
65 ${S}/m4/acinclude.m4
66 #remove the hardcoded $(libdir) rpath
67 sed -i -e 's|--rpath=$(libdir)||g' ${S}/bindings/Makefile.am
68
69 autotools_do_configure
70
71 perl_version=`perl -v 2>/dev/null | \
72 sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'`
73
74 #modify python sitepkg
75 #remove the dependency of perl-shared:Makefile
76 #or perl-shared/Makefile will be regenerated
77 #if any code touch bindings/Makefile after below perl bindings code
78 sed -i -e "s:\$(PYTHON) setup.py install:\$(PYTHON) setup.py install \
79 --install-lib=${D}${PYTHON_SITEPACKAGES_DIR}:" \
80 -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
81 ${S}/bindings/Makefile
82
83 #redo the perl bindings
84 (
85 cd bindings/perl-shared;
86 perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor"
87 INSTALLPRIVLIB="abc";
88 sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile;
89
90 cd ../../bindings/perl-piped;
91 perl -I${STAGING_LIBDIR}/perl/$perl_version Makefile.PL INSTALLDIRS="vendor";
92 sed -i -e "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile;
93 )
94
95 #change the interpreter in file
96 sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
97 ${S}/examples/Makefile
98 sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
99 ${S}/examples/*.pl
100}
101
102PACKAGES =+ "${PN}-perl ${PN}-python"
103
104FILES_${PN}-doc += "${datadir}/examples"
105
106DESCRIPTION_${PN}-perl = \
107"The ${PN}-perl package includes RRDtool bindings for perl."
108FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/${PN}/examples \
109 ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
110RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
111 perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
112
113DESCRIPTION_${PN}-python = \
114"The ${PN}-python package includes RRDtool bindings for python."
115FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
116RDEPENDS_${PN}-python = "python"
117
118FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
119 ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
new file mode 100644
index 0000000000..7a8f8f9918
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
@@ -0,0 +1,118 @@
1#! /bin/sh
2#
3# This is an init script for openembedded
4# Copy it to /etc/init.d/rsyslog and type
5# > update-rc.d rsyslog defaults 5
6#
7
8PATH=/sbin:/usr/sbin:/bin:/usr/bin
9NAME=rsyslog
10RSYSLOGD=rsyslogd
11RSYSLOGD_BIN=/usr/sbin/rsyslogd
12RSYSLOGD_OPTIONS=""
13RSYSLOGD_PIDFILE=/var/run/rsyslogd.pid
14SCRIPTNAME=/etc/init.d/$NAME
15# Exit if the package is not installed
16[ -x "$RSYSLOGD_BIN" ] || exit 0
17# Read configuration variable file if it is present
18[ -r /etc/default/$NAME ] && . /etc/default/$NAME
19#
20# Function that starts the daemon/service
21#
22do_start()
23{
24 DAEMON=$1
25 DAEMON_ARGS=$2
26 PIDFILE=$3
27 # Return
28 # 0 if daemon has been started
29 # 1 if daemon could not be started
30 # if daemon had already been started, start-stop-daemon will return 1
31 # so add -o/--oknodo(if nothing is done, exit 0)
32 start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \
33 --oknodo -- $DAEMON_ARGS || return 1
34}
35#
36# Function that stops the daemon/service
37#
38do_stop()
39{
40 NAME=$1
41 PIDFILE=$2
42 # Return
43 # 0 if daemon has been stopped
44 # 1 if daemon was already stopped
45 # 2 if daemon could not be stopped
46 # other if a failure occurred
47 # QUIT/TERM/INT should work here, but they don't ?????
48 start-stop-daemon -K --quiet --signal KILL --pidfile $PIDFILE --name $NAME
49 RETVAL="$?"
50 rm -f $PIDFILE
51 return "$RETVAL"
52}
53#
54# Function that sends a SIGHUP to the daemon/service
55#
56do_reload() {
57 NAME=$1
58 PIDFILE=$2
59 start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME
60 return 0
61}
62
63do_status() {
64 NAME=$1
65 PIDFILE=$2
66 # -t: test only but not stop
67 start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME
68 # exit with status 0 if process is found
69 if [ "$?" = "0" ]; then
70 return 0
71 else
72 return 1
73 fi
74}
75
76case "$1" in
77 start)
78 echo -n "starting $RSYSLOGD ... "
79 do_start "$RSYSLOGD_BIN" "$RSYSLOGD_OPTIONS" "$RSYSLOGD_PIDFILE"
80 case "$?" in
81 0) echo "done" ;;
82 1) echo "failed" ;;
83 esac
84 ;;
85 stop)
86 echo -n "stopping $RSYSLOGD ... "
87 do_stop "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
88 case "$?" in
89 0|1) echo "done" ;;
90 2) echo "failed" ;;
91 esac
92 ;;
93 reload|force-reload)
94 echo -n "reloading $RSYSLOGD ... "
95 do_reload "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
96 echo "done"
97 ;;
98 restart)
99 $0 stop
100 $0 start
101 ;;
102 status)
103 echo -n "status $RSYSLOGD ... "
104 do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE"
105 if [ "$?" = "0" ]; then
106 echo "running"
107 exit 0
108 else
109 echo "stopped"
110 exit 1
111 fi
112 ;;
113 *)
114 echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2
115 exit 3
116 ;;
117esac
118exit 0
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf
new file mode 100644
index 0000000000..54f8bb6a56
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -0,0 +1,84 @@
1# if you experience problems, check
2# http://www.rsyslog.com/troubleshoot for assistance
3
4# rsyslog v3: load input modules
5# If you do not load inputs, nothing happens!
6# You may need to set the module load path if modules are not found.
7#
8# Ported from debian's sysklogd.conf
9
10$ModLoad immark # provides --MARK-- message capability
11$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
12$ModLoad imklog # kernel logging (formerly provided by rklogd)
13
14#
15# Set the default permissions
16#
17$FileCreateMode 0640
18$DirCreateMode 0755
19$Umask 0022
20
21auth,authpriv.* /var/log/auth.log
22*.*;auth,authpriv.none -/var/log/syslog
23cron.* /var/log/cron.log
24daemon.* -/var/log/daemon.log
25kern.* -/var/log/kern.log
26lpr.* -/var/log/lpr.log
27mail.* -/var/log/mail.log
28user.* -/var/log/user.log
29
30#
31# Logging for the mail system. Split it up so that
32# it is easy to write scripts to parse these files.
33#
34mail.info -/var/log/mail.info
35mail.warn -/var/log/mail.warn
36mail.err /var/log/mail.err
37
38# Logging for INN news system
39#
40news.crit /var/log/news.crit
41news.err /var/log/news.err
42news.notice -/var/log/news.notice
43
44#
45# Some `catch-all' logfiles.
46#
47*.=debug;\
48 auth,authpriv.none;\
49 news.none;mail.none -/var/log/debug
50*.=info;*.=notice;*.=warn;\
51 auth,authpriv.none;\
52 cron,daemon.none;\
53 mail,news.none -/var/log/messages
54
55#
56# Emergencies are sent to everybody logged in.
57#
58*.emerg :omusrmsg:*
59
60# Save boot messages also to boot.log
61local7.* /var/log/boot.log
62
63# Remote Logging (we use TCP for reliable delivery)
64# An on-disk queue is created for this action. If the remote host is
65# down, messages are spooled to disk and sent when it is up again.
66#$WorkDirectory /var/spool/rsyslog # where to place spool files
67#$ActionQueueFileName uniqName # unique name prefix for spool files
68$ActionQueueMaxDiskSpace 10m # 1gb space limit (use as much as possible)
69#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
70#$ActionQueueType LinkedList # run asynchronously
71#$ActionResumeRetryCount -1 # infinite retries if host is down
72# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
73#*.* @@remote-host:514
74
75
76# ######### Receiving Messages from Remote Hosts ##########
77# TCP Syslog Server:
78# provides TCP syslog reception and GSS-API (if compiled to support it)
79#$ModLoad imtcp.so # load module
80#$InputTCPServerRun 514 # start up TCP listener at port 514
81
82# UDP Syslog Server:
83#$ModLoad imudp.so # provides UDP syslog reception
84#$UDPServerRun 514 # start a UDP syslog server at standard port 514
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
new file mode 100644
index 0000000000..ba1120af44
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -0,0 +1,39 @@
1# /etc/logrotate.d/rsyslog - Ported from Debian
2
3/var/log/syslog
4{
5 rotate 7
6 daily
7 missingok
8 notifempty
9 delaycompress
10 compress
11 postrotate
12 /etc/init.d/rsyslog reload 2> /dev/null || true
13 endscript
14}
15
16/var/log/mail.info
17/var/log/mail.warn
18/var/log/mail.err
19/var/log/mail.log
20/var/log/daemon.log
21/var/log/kern.log
22/var/log/auth.log
23/var/log/user.log
24/var/log/lpr.log
25/var/log/cron.log
26/var/log/debug
27/var/log/messages
28{
29 rotate 4
30 weekly
31 missingok
32 notifempty
33 compress
34 delaycompress
35 sharedscripts
36 postrotate
37 /etc/init.d/rsyslog reload 2> /dev/null || true
38 endscript
39}
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
new file mode 100644
index 0000000000..344a131579
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb
@@ -0,0 +1,105 @@
1SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
2DESCRIPTION = "\
3Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
4 PostgreSQL, failover log destinations, syslog/tcp, fine grain\
5 output format control, high precision timestamps, queued operations\
6 and the ability to filter on any message part. It is quite\
7 compatible to stock sysklogd and can be used as a drop-in replacement.\
8 Its advanced features make it suitable for enterprise-class,\
9 encryption protected syslog relay chains while at the same time being\
10 very easy to setup for the novice user."
11
12DEPENDS = "zlib libestr json-c bison-native flex-native"
13HOMEPAGE = "http://www.rsyslog.com/"
14LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
15LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
16 file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
17 file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
18"
19
20SRC_URI = "http://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \
21 file://initscript \
22 file://rsyslog.conf \
23 file://rsyslog.logrotate \
24"
25
26SRC_URI[md5sum] = "ebcc010a6205c28eb505c0fe862f32c6"
27SRC_URI[sha256sum] = "276d094d1e4c62c770ec8a72723667f119eee038912b79cf3337d439bc2f9087"
28
29inherit autotools pkgconfig systemd update-rc.d update-alternatives
30
31EXTRA_OECONF += "--enable-cached-man-pages"
32
33# first line is default yes in configure
34PACKAGECONFIG ??= " \
35 zlib rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
36 imdiag gnutls \
37 ${@base_contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \
38 ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
39"
40
41# default yes in configure
42PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
43PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
44PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
45PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
46PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
47PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
48PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
49PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
50PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
51
52# default no in configure
53PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
54PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
55PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
56PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
57PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
58PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
59PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
60PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
61PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
62PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,,"
63
64do_install_append() {
65 install -d "${D}${sysconfdir}/init.d"
66 install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/rsyslogd
67 install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
68 install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog
69}
70
71FILES_${PN} += "${bindir}"
72
73INITSCRIPT_NAME = "rsyslogd"
74INITSCRIPT_PARAMS = "defaults"
75
76# higher than sysklogd's 100
77ALTERNATIVE_PRIORITY = "110"
78
79ALTERNATIVE_${PN} = "rsyslogd syslog-conf syslog-logrotate"
80
81ALTERNATIVE_LINK_NAME[rsyslogd] = "${base_sbindir}/syslogd"
82ALTERNATIVE_TARGET[rsyslogd] = "${sbindir}/rsyslogd"
83ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
84ALTERNATIVE_TARGET[syslog-conf] = "${sysconfdir}/rsyslog.conf"
85ALTERNATIVE_LINK_NAME[syslog-logrotate] = "${sysconfdir}/logrotate.d/syslog"
86ALTERNATIVE_TARGET[syslog-logrotate] = "${sysconfdir}/logrotate.rsyslog"
87
88CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
89
90RPROVIDES_${PN} += "${PN}-systemd"
91RREPLACES_${PN} += "${PN}-systemd"
92RCONFLICTS_${PN} += "${PN}-systemd"
93SYSTEMD_SERVICE_${PN} = "${BPN}.service"
94
95RDEPENDS_${PN} += "logrotate"
96
97# no syslog-init for systemd
98python () {
99 if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split():
100 pn = d.getVar('PN', True)
101 sysconfdir = d.getVar('sysconfdir', True)
102 d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init')
103 d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslogd' % (sysconfdir))
104 d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/rsyslogd' % (sysconfdir))
105}
diff --git a/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb b/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb
new file mode 100644
index 0000000000..602dc250f5
--- /dev/null
+++ b/meta-oe/recipes-extended/sip/sip-native_4.14.2.bb
@@ -0,0 +1,35 @@
1SUMMARY = "SIP is a C++/Python Wrapper Generator"
2AUTHOR = "Phil Thompson"
3HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
4SECTION = "devel"
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://sipgen.sbf;endline=15;md5=61b2ce7ddd624968411804d2fa9d776c"
7
8# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older
9#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz"
10SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
11SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9"
12SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528"
13S = "${WORKDIR}/sip-${PV}/sipgen"
14
15inherit qmake2 native python-dir
16
17EXTRA_QMAKEVARS_POST += "DESTDIR=${S} CONFIG=console"
18
19export BUILD_SYS
20export HOST_SYS
21export STAGING_LIBDIR
22export STAGING_INCDIR
23
24do_configure_prepend() {
25 cat sipgen.sbf | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, > sipgen.pro
26}
27do_install() {
28 install -d ${D}${bindir}
29 install -m 0755 sip ${D}${bindir}/sip
30 # python-pyqt expects sip4
31 ln -sf sip ${D}${bindir}/sip4
32 cd ${WORKDIR}/sip-${PV} && python configure.py
33 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
34 install -m 0755 sip*.py ${D}${PYTHON_SITEPACKAGES_DIR}
35}
diff --git a/meta-oe/recipes-extended/smartmontools/files/initd.smartd b/meta-oe/recipes-extended/smartmontools/files/initd.smartd
new file mode 100755
index 0000000000..29c27e4756
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/files/initd.smartd
@@ -0,0 +1,108 @@
1#! /bin/sh
2
3# smartmontools init file for smartd
4# Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
5# $Id: smartd.initd.in 3360 2011-06-06 19:25:36Z chrfranke $
6
7# For RedHat and cousins:
8# chkconfig: - 60 60
9# description: Self Monitoring and Reporting Technology (SMART) Daemon
10# processname: smartd
11
12# For SuSE and cousins
13### BEGIN INIT INFO
14# Provides: smartd
15# Required-Start: $syslog $remote_fs
16# Should-Start: sendmail
17# Required-Stop: $syslog $remote_fs
18# Should-Stop: sendmail
19# Default-Start:
20# Default-Stop: 0 1 2 3 4 5 6
21# Short-Description: Monitors disk and tape health via S.M.A.R.T.
22# Description: Start S.M.A.R.T. disk and tape monitor.
23### END INIT INFO
24
25# This program is free software; you can redistribute it and/or modify it
26# under the terms of the GNU General Public License as published by the Free
27# Software Foundation; either version 2, or (at your option) any later
28# version.
29# You should have received a copy of the GNU General Public License (for
30# example COPYING); if not, write to the Free Software Foundation, Inc., 675
31# Mass Ave, Cambridge, MA 02139, USA.
32# This code was originally developed as a Senior Thesis by Michael Cornwell
33# at the Concurrent Systems Laboratory (now part of the Storage Systems
34# Research Center), Jack Baskin School of Engineering, University of
35# California, Santa Cruz. http://ssrc.soe.ucsc.edu/.
36
37# Uncomment the line below to pass options to smartd on startup.
38# Note that distribution specific configuration files like
39# /etc/{default,sysconfig}/smartmontools might override these
40#smartd_opts="--interval=1800"
41
42SMARTD_BIN=/usr/sbin/smartd
43SMARTDPID=/var/run/smartd.pid
44[ -x $SMARTD_BIN ] || exit 0
45RET=0
46
47# source configuration file
48[ -r /etc/default/rcS ] && . /etc/default/rcS
49[ -r /etc/default/smartmontools ] && . /etc/default/smartmontools
50
51smartd_opts="--pidfile $SMARTDPID $smartd_opts"
52
53case "$1" in
54 start)
55 echo -n "Starting S.M.A.R.T. daemon: smartd"
56 if start-stop-daemon --start --quiet --pidfile $SMARTDPID \
57 --exec $SMARTD_BIN -- $smartd_opts; then
58 echo "."
59 else
60 echo " (failed)"
61 RET=1
62 fi
63 ;;
64 stop)
65 echo -n "Stopping S.M.A.R.T. daemon: smartd"
66 start-stop-daemon --stop --quiet --oknodo --pidfile $SMARTDPID
67 echo "."
68 ;;
69 restart)
70 $0 stop
71 $0 start
72 ;;
73 force-reload)
74 $0 reload || $0 restart
75 ;;
76 reload)
77 echo -n "Reload S.M.A.R.T. daemon: smartd"
78 if start-stop-daemon --stop --quiet --signal 1 \
79 --pidfile $SMARTDPID; then
80 echo "."
81 else
82 echo " (failed)"
83 RET=1
84 fi
85 ;;
86 report)
87 echo -n "Checking SMART devices now"
88 if start-stop-daemon --stop --quiet --signal 10 \
89 --pidfile $SMARTDPID; then
90 echo "."
91 else
92 echo " (failed)"
93 RET=1
94 fi
95 ;;
96 status)
97 if pidof $SMARTD_BIN >/dev/null; then
98 echo "$SMARTD_BIN is running."
99 else
100 echo "$SMARTD_BIN is not running."
101 RET=1
102 fi
103 ;;
104 *)
105 echo "Usage: $0 {start|stop|restart|force-reload|reload|report|status}"
106 exit 1
107esac
108exit $RET
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
new file mode 100644
index 0000000000..9b9454c880
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
2DESCRIPTION = \
3"The smartmontools package contains two utility programs (smartctl \
4and smartd) to control and monitor storage systems using the Self-\
5Monitoring, Analysis and Reporting Technology System (SMART) built \
6into most modern ATA and SCSI hard disks. In many cases, these \
7utilities will provide advanced warning of disk degradation and failure."
8
9HOMEPAGE = "http://smartmontools.sourceforge.net/"
10SECTION = "console/utils"
11
12LICENSE = "GPLv2"
13LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
14
15SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
16 file://initd.smartd \
17 "
18
19PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \
20 ${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
21 "
22PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
23PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
24
25SRC_URI[md5sum] = "d44f84081a12cef79cd17f78044351fc"
26SRC_URI[sha256sum] = "486f660579bb0fb4f6b927ded7531cb1f99685c666397377761c5b04dd96065b"
27
28inherit autotools update-rc.d
29
30do_install_append () {
31 #install the init.d/smartd
32 install -d ${D}${sysconfdir}/init.d
33 install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
34}
35
36INITSCRIPT_NAME = "smartd"
37INITSCRIPT_PARAMS = "start 60 . stop 60 0 1 2 3 4 5 6 ."
38
39RDEPENDS_${PN} += "mailx"
diff --git a/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-oe/recipes-extended/socketcan/can-utils_git.bb
new file mode 100644
index 0000000000..d8de9dfd27
--- /dev/null
+++ b/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -0,0 +1,16 @@
1SUMMARY = "Linux CAN network development utilities"
2DESCRIPTION = "Linux CAN network development"
3LICENSE = "GPLv2 & BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a069ac1436553ee7"
5
6DEPENDS = "libsocketcan"
7
8SRC_URI = "git://git.gitorious.org/linux-can/${BPN}.git;protocol=git;branch=master"
9SRCREV = "67a2bdcd336e6becfa5784742e18c88dbeddc973"
10
11PV = "0.0+gitr${SRCPV}"
12
13S = "${WORKDIR}/git"
14
15inherit autotools pkgconfig
16
diff --git a/meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch b/meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch
new file mode 100644
index 0000000000..fcc38e0617
--- /dev/null
+++ b/meta-oe/recipes-extended/socketcan/canutils/0001-canutils-candump-Add-error-frame-s-handling.patch
@@ -0,0 +1,94 @@
1From bab595e38295dcafcfc17a011d3d51f2df1618e6 Mon Sep 17 00:00:00 2001
2From: AnilKumar Ch <anilkumar@ti.com>
3Date: Tue, 10 Jan 2012 18:55:11 +0530
4Subject: [PATCH] canutils: candump: Add error frame's handling
5
6This patch adds the error handling capability to candump utility
7by adding error flags for displaying all kind of error frames
8like tx_timeout, lost arbitration, controller problems, buserrors,
9bus warnings etc.
10
11Usage of candump for error frame display on console:
12candump [<can-interface>] [Options]
13Ex: candump can0 --error
14
15This patch is created on top of canutils-4.0.6 tag from
16http://git.pengutronix.de/?p=tools/canutils.git
17
18Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
19Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
20---
21Upstream-Status: Backport
22
23 src/candump.c | 20 ++++++++++++++++++++
24 1 file changed, 20 insertions(+)
25
26diff --git a/src/candump.c b/src/candump.c
27index 259d442..c16425b 100644
28--- a/src/candump.c
29+++ b/src/candump.c
30@@ -20,6 +20,7 @@
31
32 #include <linux/can.h>
33 #include <linux/can/raw.h>
34+#include <linux/can/error.h>
35
36 extern int optind, opterr, optopt;
37
38@@ -40,6 +41,7 @@ static void print_usage(char *prg)
39 " -p, --protocol=PROTO\t" "CAN protocol (default CAN_RAW = %d)\n"
40 " --filter=id:mask[:id:mask]...\n"
41 "\t\t\t" "apply filter\n"
42+ " -e, --error\t\t" "dump error frames along with data frames\n"
43 " -h, --help\t\t" "this help\n"
44 " -o <filename>\t\t" "output into filename\n"
45 " -d\t\t\t" "daemonize\n"
46@@ -86,6 +88,11 @@ int main(int argc, char **argv)
47 int nbytes, i;
48 int opt, optdaemon = 0;
49 uint32_t id, mask;
50+ int error = 0;
51+ can_err_mask_t err_mask = (CAN_ERR_TX_TIMEOUT | CAN_ERR_LOSTARB |
52+ CAN_ERR_CRTL | CAN_ERR_PROT |
53+ CAN_ERR_TRX | CAN_ERR_ACK | CAN_ERR_BUSOFF |
54+ CAN_ERR_BUSERROR);
55
56 signal(SIGPIPE, SIG_IGN);
57
58@@ -95,6 +102,7 @@ int main(int argc, char **argv)
59 { "protocol", required_argument, 0, 'p' },
60 { "type", required_argument, 0, 't' },
61 { "filter", required_argument, 0, FILTER_OPTION },
62+ { "error", no_argument, 0, 'e' },
63 { "version", no_argument, 0, VERSION_OPTION},
64 { 0, 0, 0, 0},
65 };
66@@ -121,6 +129,10 @@ int main(int argc, char **argv)
67 proto = strtoul(optarg, NULL, 0);
68 break;
69
70+ case 'e':
71+ error = 1;
72+ break;
73+
74 case 'o':
75 optout = optarg;
76 break;
77@@ -186,6 +198,14 @@ int main(int argc, char **argv)
78 }
79 }
80
81+ if (error) {
82+ if (setsockopt(s, SOL_CAN_RAW, CAN_RAW_ERR_FILTER, &err_mask,
83+ sizeof(err_mask)) != 0) {
84+ perror("setsockopt");
85+ exit(1);
86+ }
87+ }
88+
89 if (optdaemon)
90 daemon(1, 0);
91 else {
92--
931.8.3.1
94
diff --git a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
new file mode 100644
index 0000000000..8195ed9183
--- /dev/null
+++ b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
@@ -0,0 +1,17 @@
1SUMMARY = "canutils (PTX flavour)"
2HOMEPAGE = "http://www.pengutronix.de"
3SECTION = "console/network"
4
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
7
8DEPENDS = "libsocketcan"
9
10SRCREV = "299dff7f5322bf0348dcdd60071958ebedf5f09d"
11SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \
12 file://0001-canutils-candump-Add-error-frame-s-handling.patch \
13"
14
15S = "${WORKDIR}/git"
16
17inherit autotools
diff --git a/meta-oe/recipes-extended/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch b/meta-oe/recipes-extended/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch
new file mode 100644
index 0000000000..aa6196ee90
--- /dev/null
+++ b/meta-oe/recipes-extended/socketcan/libsocketcan/0001-Use-strcmp-instead-of-sizeof-on-char-string.patch
@@ -0,0 +1,39 @@
1From 94094cc4ee7ae585da3e5e7e83e7d82b5d6de656 Mon Sep 17 00:00:00 2001
2From: Alexander Stein <alexander.stein@systec-electronic.com>
3Date: Wed, 14 Nov 2012 12:13:06 +0100
4Subject: [PATCH] Use strcmp instead of sizeof on char* string
5
6This bug was detected by the clang warning:
7libsocketcan.c:384:16: warning: argument to 'sizeof' in 'strncmp' call
8is the same expression as the source; did you mean to provide an
9explicit length? [-Wsizeof-pointer-memaccess]
10sizeof(name)) != 0)
11~~~~~~~^~~~~~
12
13Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
14Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
15---
16Upstream-Status: Backport
17
18 src/libsocketcan.c | 5 ++---
19 1 file changed, 2 insertions(+), 3 deletions(-)
20
21diff --git a/src/libsocketcan.c b/src/libsocketcan.c
22index fedcbdc..841c2ed 100644
23--- a/src/libsocketcan.c
24+++ b/src/libsocketcan.c
25@@ -379,9 +379,8 @@ static int do_get_nl_link(int fd, __u8 acquire, const char *name, void *res)
26 nl_msg->nlmsg_len - NLMSG_LENGTH(sizeof(struct ifaddrmsg));
27 parse_rtattr(tb, IFLA_MAX, IFLA_RTA(ifi), len);
28
29- if (strncmp
30- ((char *)RTA_DATA(tb[IFLA_IFNAME]), name,
31- sizeof(name)) != 0)
32+ if (strcmp
33+ ((char *)RTA_DATA(tb[IFLA_IFNAME]), name) != 0)
34 continue;
35
36 if (tb[IFLA_LINKINFO])
37--
381.8.3.1
39
diff --git a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
new file mode 100644
index 0000000000..df3c163ba3
--- /dev/null
+++ b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Control basic functions in socketcan from userspace"
2HOMEPAGE = "http://www.pengutronix.de"
3SECTION = "libs/network"
4
5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
7
8SRCREV = "e1a224bf1c409adf0c02b07a90deada634e54b88"
9
10SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git \
11 file://0001-Use-strcmp-instead-of-sizeof-on-char-string.patch \
12"
13
14S = "${WORKDIR}/git"
15
16inherit autotools pkgconfig
17
18do_configure_prepend() {
19 sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: configure.ac
20}
diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb
new file mode 100644
index 0000000000..eb4536aa61
--- /dev/null
+++ b/meta-oe/recipes-extended/subsurface/subsurface_git.bb
@@ -0,0 +1,30 @@
1SUMMARY = "Subsurface is an open source dive log program"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
4
5DEPENDS = "libdivecomputer gtk+ libxml2 glib-2.0 gconf"
6
7inherit gtk-icon-cache
8
9inherit gitpkgv
10PKGV = "${GITPKGVTAG}"
11PV = "1.1"
12
13SRCREV = "bd275d73ac06823619230915a3aa29deddc996fb"
14SRC_URI = "git://subsurface.hohndel.org/subsurface.git"
15S = "${WORKDIR}/git"
16
17EXTRA_OEMAKE = "CC='${CC}' \
18 libdc-usr=${STAGING_INCDIR}/libdivecomputer/* \
19 LIBDIVECOMPUTERINCLUDES=${STAGING_INCDIR}/libdivecomputer \
20 LIBDIVECOMPUTERARCHIVE=${STAGING_LIBDIR}/libdivecomputer.a \
21"
22
23do_install() {
24 oe_runmake install DESTDIR=${D}
25 rm ${D}${datadir}/icons/hicolor/icon-theme.cache
26}
27
28FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/subsurface.svg"
29RRECOMMENDS_${PN}_append_libc-glibc = " eglibc-gconv-iso8859-15"
30
diff --git a/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch b/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
new file mode 100644
index 0000000000..8b98707cd7
--- /dev/null
+++ b/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
@@ -0,0 +1,128 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- t1lib-5.0.2/configure.in~configure.patch
7+++ t1lib-5.0.2/configure.in
8@@ -75,9 +75,9 @@
9 T1LIB_VERSIONSTRING=\"MACRO_T1LIB_IDENTIFIER\"
10
11
12-dnl We use this file by Andreas Zeller to check for libXaw
13-builtin(include, ac-tools/ice_find_athena.m4)
14-builtin(include, ac-tools/aclocal.m4)
15+#dnl We use this file by Andreas Zeller to check for libXaw
16+#builtin(include, ac-tools/ice_find_athena.m4)
17+#builtin(include, ac-tools/aclocal.m4)
18
19 dnl We want these before the checks, so the checks can modify their values.
20 test -z "$LDLIBS" && LDLIBS=-lm AC_SUBST(LDLIBS)
21@@ -161,6 +161,7 @@
22
23 dnl **** Check for underscore on external symbols ****
24
25+AH_TEMPLATE([NEED_UNDERSCORE_PREFIX], [Define if external symbols need an underscore prefix])
26 AC_CACHE_CHECK("whether external symbols need an underscore prefix",
27 ac_cv_c_extern_prefix,
28 [saved_libs=$LIBS
29@@ -178,68 +179,48 @@
30 AC_DEFINE(NEED_UNDERSCORE_PREFIX)
31 fi
32
33-dnl **** Check which ANSI integer type is 16 bit
34+dnl **** Check which ANSI integer type is 16 bit
35+T1_AA_TYPE16=""
36+for type in short int; do
37+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x2"; then
38+ T1_AA_TYPE16="-DT1_AA_TYPE16=$type"
39+ T1_INT16="$type"
40+ break
41+ fi
42+done
43
44-AC_CACHE_CHECK( "which ANSI integer type is 16 bit", ac_16bit_type,
45- AC_TRY_RUN([
46-int main(void) {
47- if (sizeof(short)==2)
48- return(0);
49- else if (sizeof(int)==2)
50- return(1);
51- else
52- return(2);
53-}], ac_16bit_type="short", ac_16bit_type="int", ac_16bit_type=))
54-if test "$ac_16bit_type" = "short"
55-then
56- T1_AA_TYPE16="-DT1_AA_TYPE16=short"
57- T1_INT16="short"
58-else
59- T1_AA_TYPE16="-DT1_AA_TYPE16=int"
60- T1_INT16="int"
61+if test x"$T1_AA_TYPE16" = "x"; then
62+ AC_MSG_ERROR("Unable to determine which integer type is 16 bit.")
63 fi
64
65-
66 dnl **** Check which ANSI integer type is 32 bit
67+T1_AA_TYPE32=""
68+for type in int long; do
69+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x4"; then
70+ T1_AA_TYPE32="-DT1_AA_TYPE32=$type"
71+ T1_INT32="$type"
72+ break
73+ fi
74+done
75
76-AC_CACHE_CHECK( "which ANSI integer type is 32 bit", ac_32bit_type,
77- AC_TRY_RUN([
78-int main(void) {
79- if (sizeof(int)==4)
80- return(0);
81- else if (sizeof(long)==4)
82- return(1);
83- else
84- return(2);
85-}], ac_32bit_type="int", ac_32bit_type="long", ac_32bit_type=))
86-if test "$ac_32bit_type" = "int"
87-then
88- T1_AA_TYPE32="-DT1_AA_TYPE32=int"
89- T1_INT32="int"
90-else
91- T1_AA_TYPE32="-DT1_AA_TYPE32=long"
92- T1_INT32="long"
93+if test x"$T1_AA_TYPE32" = "x"; then
94+ AC_MSG_ERROR("Unable to determine which integer type is 32 bit.")
95 fi
96
97-
98 dnl **** Check which ANSI integer type is 64 bit
99+T1_AA_TYPE64=""
100+for type in long long_long; do
101+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x8"; then
102+ AC_MSG_WARN("$type is 64 bit")
103+ T1_AA_TYPE64="-DT1_AA_TYPE64=\"`echo $type|tr '_' ' '`\""
104+ break
105+ fi
106+done
107
108-AC_CACHE_CHECK( "which ANSI integer type is 64 bit", ac_64bit_type,
109- AC_TRY_RUN([
110-int main(void) {
111- if (sizeof(long)==8)
112- return(0);
113- else
114- return(1);
115-}], ac_64bit_type="long", ac_64bit_type="<none>"))
116-if test "$ac_64bit_type" = "long"
117-then
118- T1_AA_TYPE64="-DT1_AA_TYPE64=long"
119-else
120- T1_AA_TYPE64=
121+if test x"$T1_AA_TYPE64" = "x"; then
122+ AC_MSG_ERROR("Unable to determine which integer type is 64 bit.")
123 fi
124
125-
126 CFLAGS="${CFLAGS} -DT1LIB_IDENT=\"\\\"${T1LIB_IDENTIFIER}\\\"\" -DGLOBAL_CONFIG_DIR=\"\\\"${T1LIB_DATA_DIR}\\\"\""
127
128 dnl **** Check for functions and header files ****
diff --git a/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch b/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
new file mode 100644
index 0000000000..e050025739
--- /dev/null
+++ b/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
@@ -0,0 +1,116 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- t1lib-5.0.2/Makefile.in~libtool
7+++ t1lib-5.0.2/Makefile.in
8@@ -18,7 +18,8 @@
9 # Last modified: 2001-04-01
10 #
11
12-SHELL = /bin/sh
13+SHELL = @SHELL@
14+LIBTOOL = @LIBTOOL@
15 CC = @CC@
16 CPP = @CPP@
17 CFLAGS = @CFLAGS@
18@@ -150,7 +151,7 @@
19 $(RM) examples/Makefile
20 $(RM) xglyph/Makefile
21 $(RM) doc/Makefile
22- $(RM) libtool
23+ $(RM) $(LIBTOOL)
24
25
26 # The following two targets are for building and cleaning the python-
27--- t1lib-5.0.2/examples/Makefile.in~libtool
28+++ t1lib-5.0.2/examples/Makefile.in
29@@ -14,9 +14,10 @@
30 # Last modified: 2001-04-01
31 #
32
33+top_builddir = @top_builddir@
34
35-LIBTOOL = ../libtool
36-SHELL = /bin/sh
37+LIBTOOL = @LIBTOOL@
38+SHELL = @SHELL@
39 CC = @CC@
40 CPP = @CPP@
41 CFLAGS = @CFLAGS@
42--- t1lib-5.0.2/lib/Makefile.in~libtool
43+++ t1lib-5.0.2/lib/Makefile.in
44@@ -15,8 +15,10 @@
45 #
46 # Contributions by H.Kakugawa to use libtool!
47
48-LIBTOOL = ../libtool
49-SHELL = /bin/sh
50+top_builddir = @top_builddir@
51+
52+LIBTOOL = @LIBTOOL@
53+SHELL = @SHELL@
54 CC = @CC@
55 CPP = @CPP@
56 CFLAGS = @CFLAGS@
57--- t1lib-5.0.2/lib/t1lib/Makefile.in~libtool
58+++ t1lib-5.0.2/lib/t1lib/Makefile.in
59@@ -14,8 +14,10 @@
60 #
61 # Modified by H.Kakugawa to use libtool
62
63-LIBTOOL = ../../libtool
64-SHELL = /bin/sh
65+top_builddir = @top_builddir@
66+
67+LIBTOOL = @LIBTOOL@
68+SHELL = @SHELL@
69 CC = @CC@
70 CPP = @CPP@
71 CFLAGS = @CFLAGS@
72--- t1lib-5.0.2/lib/type1/Makefile.in~libtool
73+++ t1lib-5.0.2/lib/type1/Makefile.in
74@@ -14,8 +14,10 @@
75 #
76 # Modified by H.Kakugawa to use libtool
77
78-LIBTOOL = ../../libtool
79-SHELL = /bin/sh
80+top_builddir = @top_builddir@
81+
82+LIBTOOL = @LIBTOOL@
83+SHELL = @SHELL@
84 CC = @CC@
85 CPP = @CPP@
86 CFLAGS = @CFLAGS@
87--- t1lib-5.0.2/type1afm/Makefile.in~libtool
88+++ t1lib-5.0.2/type1afm/Makefile.in
89@@ -15,8 +15,10 @@
90 #
91 # Modified by H.Kakugawa to use libtool
92
93-LIBTOOL = ../libtool
94-SHELL = /bin/sh
95+top_builddir = @top_builddir@
96+
97+LIBTOOL = @LIBTOOL@
98+SHELL = @SHELL@
99 CC = @CC@
100 CPP = @CPP@
101 CFLAGS = @CFLAGS@
102--- t1lib-5.0.2/xglyph/Makefile.in~libtool
103+++ t1lib-5.0.2/xglyph/Makefile.in
104@@ -15,8 +15,10 @@
105 #
106 # Modified by H.Kakugawa to use libtool
107
108-LIBTOOL = ../libtool
109-SHELL = /bin/sh
110+top_builddir = @top_builddir@
111+
112+LIBTOOL = @LIBTOOL@
113+SHELL = @SHELL@
114 CC = @CC@
115 CPP = @CPP@
116 CFLAGS = @CFLAGS@
diff --git a/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
new file mode 100644
index 0000000000..86cc166e2d
--- /dev/null
+++ b/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
@@ -0,0 +1,26 @@
1SUMMARY = "A Type1 Font Rastering Library"
2SECTION = "libs"
3DEPENDS = "virtual/libx11 libxaw"
4
5LICENSE = "LGPLv2 GPLv2"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \
7 file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \
8"
9
10SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \
11 file://configure.patch \
12 file://libtool.patch"
13SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c"
14SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59"
15
16inherit autotools-brokensep
17
18# Fix GNU_HASH problem
19TARGET_CC_ARCH += "${LDFLAGS}"
20
21EXTRA_OECONF = "--with-x --without-athena"
22EXTRA_OEMAKE = "without_doc"
23
24FILES_${PN} += " ${datadir}/t1lib/t1lib.config"
25FILES_${PN}-doc = "${datadir}/t1lib/doc/t1lib_doc.pdf"
26
diff --git a/meta-oe/recipes-extended/tcsh/files/01_build.1.patch b/meta-oe/recipes-extended/tcsh/files/01_build.1.patch
new file mode 100644
index 0000000000..b9f41ade90
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/01_build.1.patch
@@ -0,0 +1,16 @@
1Author: Franz Pletz <fpletz@franz-pletz.org>
2Description: Original comment: Fix build
3Not sure why we have this patch. Let's keep it for compatibility.
4--- a/pathnames.h
5+++ b/pathnames.h
6@@ -92,6 +92,10 @@
7 # define _PATH_TCSHELL "/local/bin/tcsh" /* use ram disk */
8 #endif /* _MINIX && !_PATH_TCSHELL */
9
10+#ifndef _PATH_TCSHELL
11+# define _PATH_TCSHELL "/bin/tcsh" /* Debian */
12+#endif /* !_PATH_TCSHELL */
13+
14 #if defined(__EMX__) && !defined(_PATH_DEVNULL)
15 # define _PATH_DEVNULL "nul"
16 #endif /* __EMX__ && !_PATH_DEVNULL */
diff --git a/meta-oe/recipes-extended/tcsh/files/01_build.2.patch b/meta-oe/recipes-extended/tcsh/files/01_build.2.patch
new file mode 100644
index 0000000000..ff2753154f
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/01_build.2.patch
@@ -0,0 +1,13 @@
1Author: Franz Pletz <fpletz@franz-pletz.org>
2Description: Update manpage.
3--- a/tcsh.man
4+++ b/tcsh.man
5@@ -578,7 +578,7 @@ Repeating \fIdabbrev-expand\fR without a
6 changes to the next previous word etc., skipping identical matches
7 much like \fIhistory-search-backward\fR does.
8 .TP 8
9-.B delete-char \fR(not bound)
10+.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR)
11 Deletes the character under the cursor.
12 See also \fIdelete-char-or-list-or-eof\fR.
13 .TP 8
diff --git a/meta-oe/recipes-extended/tcsh/files/01_build.3.patch b/meta-oe/recipes-extended/tcsh/files/01_build.3.patch
new file mode 100644
index 0000000000..d36c177af7
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/01_build.3.patch
@@ -0,0 +1,13 @@
1Author: Franz Pletz <fpletz@franz-pletz.org>
2Description: Enable NODOT
3--- a/config_f.h
4+++ b/config_f.h
5@@ -98,7 +98,7 @@
6 /*
7 * NODOT Don't put "." in the default path, for security reasons
8 */
9-#undef NODOT
10+#define NODOT
11
12 /*
13 * AUTOLOGOUT tries to determine if it should set autologout depending
diff --git a/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch b/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch
new file mode 100644
index 0000000000..faa59cc800
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/12_unknown_lscolors.patch
@@ -0,0 +1,24 @@
1Author: Franz Pletz <fpletz@franz-pletz.org>
2Description: Don't die on unknown LS_COLORS values
3Removing the patch causes a segfault when dircolors is set by coreutils' dircolors.
4Debian-Bug: #592089
5
6--- a/tw.color.c
7+++ b/tw.color.c
8@@ -239,13 +239,10 @@ parseLS_COLORS(const Char *value)
9 if ((Char)variables[i].variable[0] == (v[0] & CHAR) &&
10 (Char)variables[i].variable[1] == (v[1] & CHAR))
11 break;
12- if (i < nvariables) {
13- v += 3;
14+ v += 3;
15+ if (i < nvariables)
16 getstring(&c, &v, &variables[i].color, ':');
17- continue;
18- }
19- else
20- stderror(ERR_BADCOLORVAR, v[0], v[1]);
21+ continue;
22 }
23 break;
24 }
diff --git a/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch b/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch
new file mode 100644
index 0000000000..cbc9f65d04
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/15_no-strip.patch
@@ -0,0 +1,14 @@
1Author: Lucas Nussbaum <lucas@debian.org>
2Description: do not strip binary
3 Stripping should be handled by dh_strip instead, so DEB_BUILD_OPTIONS=nostrip works.
4 Closes: #438109, #411607
5--- a/Makefile.in
6+++ b/Makefile.in
7@@ -596,7 +596,6 @@ install: tcsh$(EXEEXT)
8 -mkdir -p ${DESTBIN}
9 -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old
10 cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT)
11- -strip ${DESTBIN}/tcsh$(EXEEXT)
12 chmod 755 ${DESTBIN}/tcsh$(EXEEXT)
13
14 install.man: tcsh.man
diff --git a/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch b/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch
new file mode 100644
index 0000000000..0bda0ba103
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/disable-broken-test.patch
@@ -0,0 +1,14 @@
1Author: Lucas Nussbaum <lucas@debian.org>
2Description: disable syntactically incorrect test
3--- a/tests/lexical.at
4+++ b/tests/lexical.at
5@@ -172,9 +172,6 @@
6 AT_DATA([nohist.csh],
7 [echo ! space ! tab != "!(" newline !
8 ])
9-AT_CHECK([tcsh -f nohist.csh], ,
10-[[! space ! tab != !( newline !
11-]])
12
13 AT_CLEANUP
14
diff --git a/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch b/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch
new file mode 100644
index 0000000000..98a9b2e1d5
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/disable-lexical.at-31.patch
@@ -0,0 +1,30 @@
1--- a/tests/lexical.at
2+++ b/tests/lexical.at
3@@ -27,27 +27,6 @@ AT_CHECK([tcsh -f oneword.csh], ,
4
5 AT_CLEANUP
6
7-
8-AT_SETUP([Comments])
9-
10-AT_CHECK([echo 'echo OK@%:@comment' | tcsh -f], , [OK
11-])
12-
13-AT_CHECK([tcsh -f -c 'echo @%:@no comment'], ,
14-[@%:@no comment
15-])
16-
17-AT_DATA([comment2.csh],
18-[[echo testing...@%:@\
19-OK
20-]])
21-AT_CHECK([tcsh -f comment2.csh], ,
22-[testing... OK
23-])
24-
25-AT_CLEANUP
26-
27-
28 AT_SETUP([Escaping special characters])
29
30 AT_DATA([nosplit.csh],
diff --git a/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch b/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch
new file mode 100644
index 0000000000..79f918c083
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/disable-test-nice.patch
@@ -0,0 +1,23 @@
1Author: Lucas Nussbaum <lucas@debian.org>
2Description: disable test that fails on the buildd with
3 "setpriority: Permission denied".
4--- a/tests/commands.at
5+++ b/tests/commands.at
6@@ -888,17 +888,6 @@ TCSH_UNTESTED([migrate])
7 TCSH_UNTESTED([newgrp])
8
9
10-AT_SETUP([nice])
11-
12-# Nothing really tested
13-AT_CHECK([tcsh -f -c 'nice set var=1; echo $?var'], ,
14-[0
15-])
16-
17-
18-AT_CLEANUP
19-
20-
21 AT_SETUP([nohup])
22
23 AT_DATA([nohup.csh],
diff --git a/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch b/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch
new file mode 100644
index 0000000000..69f0564e88
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/disable-test-notty.patch
@@ -0,0 +1,30 @@
1From: Lucas Nussbaum <lucas@debian.org>
2Description: Those tests fail when running the testsuite without a tty. Disabling them.
3
4--- a/tests/commands.at
5+++ b/tests/commands.at
6@@ -1203,11 +1203,6 @@ AT_SETUP([source])
7 AT_DATA([script.csh],
8 [[set var=$1
9 ]])
10-AT_CHECK([[tcsh -f -c 'source -h script.csh foo; history' \
11- | sed 's/ [^ ]* / TIME /']], ,
12-[ 1 TIME source -h script.csh foo ; history
13- 2 TIME set var=$1
14-])
15
16 AT_CHECK([tcsh -f -c 'source -h script.csh foo; echo $var'], 1, [],
17 [var: Undefined variable.
18--- a/tests/variables.at
19+++ b/tests/variables.at
20@@ -319,10 +319,6 @@ AT_CLEANUP
21
22 AT_SETUP([$ edit])
23
24-AT_CHECK([TERM=something tcsh -f -c 'echo $?edit'], ,
25-[1
26-])
27-
28 AT_CHECK([TERM=dumb tcsh -f -c 'echo $?edit'], ,
29 [0
30 ])
diff --git a/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch b/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch
new file mode 100644
index 0000000000..3dd420a0e3
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/files/tcsh-6.17.02-multibyte.patch
@@ -0,0 +1,18 @@
1Author: Jean-Luc Leger <reiga@dspnet.fr.eu.org>
2Description: fix broken globbing expansion
3Debian-Bug: #603545
4Index: tcsh-6.18.01/tc.str.c
5===================================================================
6--- tcsh-6.18.01.orig/tc.str.c 2012-01-10 13:34:31.000000000 -0800
7+++ tcsh-6.18.01/tc.str.c 2013-02-26 13:12:13.429153489 -0800
8@@ -122,8 +122,9 @@
9 #else
10 ret = mbtowc(&tmp, s, n);
11 #endif
12- if (ret > 0) {
13+ if (ret >= 0)
14 *pwc = tmp;
15+ if (ret >= 0) {
16 #if defined(UTF16_STRINGS) && defined(HAVE_MBRTOWC)
17 if (tmp >= 0xd800 && tmp <= 0xdbff) {
18 /* UTF-16 surrogate pair. Fetch second half and compute
diff --git a/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
new file mode 100644
index 0000000000..16ecdb025f
--- /dev/null
+++ b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb
@@ -0,0 +1,49 @@
1DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
2 The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
3 It includes all features of 4.4BSD C shell, plus a command-line editor, \
4 programmable word completion, spelling correction and more."
5
6HOMEPAGE = "http://www.tcsh.org/"
7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://Copyright;md5=1cf29be62df2be1a3763118b25b4c780"
9SECTION = "base"
10DEPENDS = "ncurses"
11SRC_URI = " \
12 ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}.orig.tar.gz;name=tarball \
13 ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs \
14 file://01_build.1.patch \
15 file://01_build.2.patch \
16 file://01_build.3.patch \
17 file://15_no-strip.patch \
18 file://disable-test-notty.patch \
19 file://disable-test-nice.patch \
20 file://disable-lexical.at-31.patch \
21 file://12_unknown_lscolors.patch \
22 file://tcsh-6.17.02-multibyte.patch \
23 file://disable-broken-test.patch \
24"
25SRC_URI[tarball.md5sum] = "6eed09dbd4223ab5b6955378450d228a"
26SRC_URI[tarball.sha256sum] = "d81ca27851f3e8545666399b4bcf25433e602a195113b3f7c73886fef84c9fa8"
27SRC_URI[diffs.md5sum] = "ea39b818b624aca49ebf2cd2708d6ff9"
28SRC_URI[diffs.sha256sum] = "95b0c1a339b745c47c5d2f9d02c22a71597462e2e882b51614a9d1f75bd3d16c"
29
30inherit autotools
31
32do_install_append () {
33 oe_runmake install.man DESTDIR=${D}
34
35 install -d ${D}${base_bindir}
36 ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
37
38 install -d ${D}${sysconfdir}/csh/login.d
39 install -m 0644 ${S}/debian/csh.cshrc ${S}/debian/csh.login ${S}/debian/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
40 install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
41}
42
43FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
44
45
46pkg_postinst_${PN} () {
47#!/bin/sh -e
48echo /usr/bin/tcsh >> $D/etc/shells
49}
diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb
new file mode 100644
index 0000000000..ee56952d9e
--- /dev/null
+++ b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb
@@ -0,0 +1,40 @@
1SUMMARY = "Transparent Inter-Process Communication protocol"
2LICENSE = "BSD-3-Clause"
3LIC_FILES_CHKSUM = "file://tipc-config/tipc-config.c;endline=32;md5=527a3d5745e1581b15a4fddfb5dfda68"
4
5SRC_URI = "git://tipc.git.sourceforge.net/gitroot/tipc/tipcutils"
6SRCREV = "292a03e17f889013fca2c7bd0aaeebd600c88f40"
7
8DEPENDS="virtual/kernel"
9
10inherit autotools
11
12S = "${WORKDIR}/git"
13
14do_configure_prepend() {
15 ( cd ${S}; ${S}/bootstrap )
16}
17
18do_install_append() {
19 demos="benchmark hello_world topology_subscr_demo connection_demo \
20 multicast_demo stream_demo"
21 for i in $demos;do
22 install -d ${D}/opt/tipcutils/demos/$i
23 install ${S}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/
24 install ${S}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/
25 done
26 install -d ${D}/opt/tipcutils/demos/inventory_sim
27 install ${S}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/
28
29 install -d ${D}/opt/tipcutils/ptts
30 install ${S}/ptts/tipcTS ${D}/opt/tipcutils/ptts/
31 install ${S}/ptts/tipcTC ${D}/opt/tipcutils/ptts/
32
33 install -d ${D}${sysconfdir}
34 cp -a ${S}/scripts/etc/* ${D}${sysconfdir}/
35}
36
37PACKAGES += "${PN}-demos"
38FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
39FILES_${PN}-demos = "/opt/tipcutils/*"
40
diff --git a/meta-oe/recipes-extended/tmux/tmux_1.6.bb b/meta-oe/recipes-extended/tmux/tmux_1.6.bb
new file mode 100644
index 0000000000..def5520099
--- /dev/null
+++ b/meta-oe/recipes-extended/tmux/tmux_1.6.bb
@@ -0,0 +1,18 @@
1SUMMARY = "Terminal multiplexer"
2HOMEPAGE = "http://tmux.sourceforge.net"
3SECTION = "console/utils"
4
5LICENSE = "ISC"
6LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab1ff451aa941a0"
7
8DEPENDS = "ncurses libevent sed-native"
9
10SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${P}.tar.gz"
11SRC_URI[md5sum] = "3e37db24aa596bf108a0442a81c845b3"
12SRC_URI[sha256sum] = "faee08ba1bd8c22537cd5b7458881d1bdb4985df88ed6bc5967c56881a7efbd6"
13
14inherit autotools
15
16do_configure_prepend () {
17 sed -i -e 's:-I/usr/local/include::' Makefile.am || bb_fatal "sed failed"
18}
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch
new file mode 100644
index 0000000000..05cc5371f7
--- /dev/null
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch
@@ -0,0 +1,16 @@
1
2#
3# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
4#
5
6--- tools/mconsole/Makefile~fix-ldflags 2003-02-08 05:10:08.000000000 +0100
7+++ tools/mconsole/Makefile 2004-04-01 15:37:37.000000000 +0200
8@@ -7,7 +7,7 @@
9 all : $(BIN)
10
11 $(BIN) : $(OBJS)
12- $(CC) $(CFLAGS) -o $(BIN) $(OBJS) -lreadline -lncurses
13+ $(CC) $(CFLAGS) -o $(BIN) $(OBJS) $(LDFLAGS) -lreadline -lncurses
14
15 clean :
16 rm -f $(BIN) $(OBJS) *~
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch
new file mode 100644
index 0000000000..868001dbd5
--- /dev/null
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch
@@ -0,0 +1,84 @@
1Dont strip during install let the packaging handle it
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4
5Index: tools/jailtest/Makefile
6===================================================================
7--- tools.orig/jailtest/Makefile 2003-02-07 20:10:27.000000000 -0800
8+++ tools/jailtest/Makefile 2012-09-05 12:13:56.061615854 -0700
9@@ -14,4 +14,4 @@
10
11 install : $(BIN)
12 install -d $(DESTDIR)$(BIN_DIR)
13- install -s $(BIN) $(DESTDIR)$(BIN_DIR)
14+ install $(BIN) $(DESTDIR)$(BIN_DIR)
15Index: tools/mconsole/Makefile
16===================================================================
17--- tools.orig/mconsole/Makefile 2012-09-05 12:05:09.869607043 -0700
18+++ tools/mconsole/Makefile 2012-09-05 12:14:07.725607469 -0700
19@@ -14,4 +14,4 @@
20
21 install : $(BIN)
22 install -d $(DESTDIR)$(BIN_DIR)
23- install -s $(BIN) $(DESTDIR)$(BIN_DIR)
24+ install $(BIN) $(DESTDIR)$(BIN_DIR)
25Index: tools/moo/Makefile
26===================================================================
27--- tools.orig/moo/Makefile 2003-06-26 09:27:00.000000000 -0700
28+++ tools/moo/Makefile 2012-09-05 12:14:20.981604580 -0700
29@@ -22,4 +22,4 @@
30
31 install : $(BIN)
32 install -d $(DESTDIR)$(BIN_DIR)
33- install -s $(BIN) $(DESTDIR)$(BIN_DIR)
34+ install $(BIN) $(DESTDIR)$(BIN_DIR)
35Index: tools/port-helper/Makefile
36===================================================================
37--- tools.orig/port-helper/Makefile 2003-02-07 20:05:31.000000000 -0800
38+++ tools/port-helper/Makefile 2012-09-05 12:14:39.429609678 -0700
39@@ -14,4 +14,4 @@
40
41 install : $(BIN)
42 install -d $(DESTDIR)$(LIB_DIR)
43- install -s $(BIN) $(DESTDIR)$(LIB_DIR)
44+ install $(BIN) $(DESTDIR)$(LIB_DIR)
45Index: tools/tunctl/Makefile
46===================================================================
47--- tools.orig/tunctl/Makefile 2003-02-07 20:05:04.000000000 -0800
48+++ tools/tunctl/Makefile 2012-09-05 12:14:49.985606470 -0700
49@@ -14,4 +14,4 @@
50
51 install : $(BIN)
52 install -d $(DESTDIR)$(BIN_DIR)
53- install -s $(BIN) $(DESTDIR)$(BIN_DIR)
54+ install $(BIN) $(DESTDIR)$(BIN_DIR)
55Index: tools/uml_net/Makefile
56===================================================================
57--- tools.orig/uml_net/Makefile 2003-02-07 20:04:55.000000000 -0800
58+++ tools/uml_net/Makefile 2012-09-05 12:15:00.961607290 -0700
59@@ -21,4 +21,4 @@
60
61 install : $(BIN)
62 install -d $(DESTDIR)$(BIN_DIR)
63- install -s -m 04755 $(BIN) $(DESTDIR)$(BIN_DIR)
64+ install -m 04755 $(BIN) $(DESTDIR)$(BIN_DIR)
65Index: tools/uml_router/Makefile
66===================================================================
67--- tools.orig/uml_router/Makefile 2003-02-07 20:04:39.000000000 -0800
68+++ tools/uml_router/Makefile 2012-09-05 12:15:10.649607571 -0700
69@@ -20,4 +20,4 @@
70
71 install : $(BIN)
72 install -d $(DESTDIR)$(BIN_DIR)
73- install -s $(BIN) $(DESTDIR)$(BIN_DIR)
74+ install $(BIN) $(DESTDIR)$(BIN_DIR)
75Index: tools/watchdog/Makefile
76===================================================================
77--- tools.orig/watchdog/Makefile 2003-02-07 20:04:25.000000000 -0800
78+++ tools/watchdog/Makefile 2012-09-05 12:15:35.561612203 -0700
79@@ -14,4 +14,4 @@
80
81 install : $(BIN)
82 install -d $(DESTDIR)$(BIN_DIR)
83- install -s $(BIN) $(DESTDIR)$(BIN_DIR)
84+ install $(BIN) $(DESTDIR)$(BIN_DIR)
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb b/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
new file mode 100644
index 0000000000..45cc2e7511
--- /dev/null
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
@@ -0,0 +1,26 @@
1SECTION = "console/utils"
2SUMMARY = "Utilities for User-Mode-Linux"
3LICENSE = "GPL-2.0"
4DEPENDS = "zlib ncurses readline"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
6SRC_URI = "http://downloads.sourceforge.net/project/user-mode-linux/tools/1/uml_utilities_${PV}.tar.bz2 \
7 file://fix-ldflags.patch \
8 file://unstrip.patch \
9"
10SRC_URI[md5sum] = "2c1ccd9efacbfb39e42d482b89b2550a"
11SRC_URI[sha256sum] = "4f179b1db021ef15ac7e9b2eed57c525db127a754c574f591c367460cded9f41"
12
13PR = "r1"
14
15S = "${WORKDIR}/tools"
16
17do_compile() {
18 oe_runmake
19}
20
21do_install() {
22 oe_runmake install DESTDIR=${D}
23}
24
25FILES_${PN} += "${exec_prefix}${nonarch_base_libdir}"
26FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/uml/.debug"
diff --git a/meta-oe/recipes-extended/zram/zram/init b/meta-oe/recipes-extended/zram/zram/init
new file mode 100644
index 0000000000..d12616936c
--- /dev/null
+++ b/meta-oe/recipes-extended/zram/zram/init
@@ -0,0 +1,85 @@
1#!/bin/bash
2### BEGIN INIT INFO
3# Provides: zram
4# Required-Start:
5# Required-Stop:
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)
9# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram
10# Included as part of antix-goodies package by anticapitalista <antiX@operamail.com>
11# This script was written by tradetaxfree and is found at http://crunchbanglinux.org/forums/topic/15344/zram-a-good-idea/
12# Copy this script (as root) from /usr/local/bin to /etc/init.d and then #update-rc.d zram defaults
13# After booting verify the module is loaded with: lsmod | grep zram
14### END INIT INFO
15set -e
16
17start() {
18 # get the number of CPUs
19 num_cpus=$(grep -c processor /proc/cpuinfo)
20 # if something goes wrong, assume we have 1
21 [ "$num_cpus" != 0 ] || num_cpus=1
22
23 # set decremented number of CPUs
24 last_cpu=$((num_cpus - 1))
25
26 #default Factor % = 90 change this value here or create /etc/default/zram
27 FACTOR=90
28 #& put the above single line in /etc/default/zram with the value you want
29 [ -f /etc/default/zram ] && source /etc/default/zram || true
30 factor=$FACTOR # percentage
31
32 # get the amount of memory in the machine
33 memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')
34 mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024))
35
36 # load dependency modules
37 modprobe zram zram_num_devices=$num_cpus
38 echo "zram devices probed successfully"
39
40 # initialize the devices
41 for i in $(seq 0 $last_cpu); do
42 echo 1 > /sys/block/zram$i/reset
43 echo $mem_by_cpu > /sys/block/zram$i/disksize
44 # Creating swap filesystems
45 mkswap /dev/zram$i
46 # Switch the swaps on
47 swapon -p 100 /dev/zram$i
48 done
49}
50
51stop() {
52 # get the number of CPUs
53 num_cpus=$(grep -c processor /proc/cpuinfo)
54
55 # set decremented number of CPUs
56 last_cpu=$((num_cpus - 1))
57
58 # Switching off swap
59 for i in $(seq 0 $last_cpu); do
60 if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then
61 swapoff /dev/zram$i
62 sleep 1
63 fi
64 done
65 sleep 1
66 rmmod zram
67}
68
69case "$1" in
70 start)
71 start
72 ;;
73 stop)
74 stop
75 ;;
76 restart)
77 stop
78 sleep 3
79 start
80 ;;
81 *)
82 echo "Usage: $0 {start|stop|restart}"
83 RETVAL=1
84esac
85exit $RETVAL
diff --git a/meta-oe/recipes-extended/zram/zram/zram.service b/meta-oe/recipes-extended/zram/zram/zram.service
new file mode 100644
index 0000000000..4a19367d93
--- /dev/null
+++ b/meta-oe/recipes-extended/zram/zram/zram.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=Enable zram compressed in-memory swap.
3After=multi-user.target
4
5[Service]
6RemainAfterExit=yes
7ExecStart=/usr/bin/zram-load.sh --load
8ExecStop=/usr/bin/zram-load.sh --unload
9Type=oneshot
10
11[Install]
12WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/zram/zram_0.1.bb b/meta-oe/recipes-extended/zram/zram_0.1.bb
new file mode 100644
index 0000000000..e07f570d1a
--- /dev/null
+++ b/meta-oe/recipes-extended/zram/zram_0.1.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Linux zram compressed in-memory swap"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
4
5inherit update-rc.d systemd
6
7RDEPENDS_${PN} = "util-linux-swaponoff kmod"
8RRECOMMENDS_${PN} = "kernel-module-zram"
9
10PR = "r3"
11
12SRC_URI = " \
13 file://init \
14 file://zram.service \
15"
16
17do_install () {
18 # Sysvinit
19 install -d ${D}${sysconfdir}/init.d
20 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram
21
22 install -d ${D}${systemd_unitdir}/system
23 install -m 0644 ${WORKDIR}/zram.service ${D}${systemd_unitdir}/system
24}
25
26FILES_${PN} = "${sysconfdir}"
27INITSCRIPT_NAME = "zram"
28INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."
29
30RPROVIDES_${PN} += "${PN}-systemd"
31RREPLACES_${PN} += "${PN}-systemd"
32RCONFLICTS_${PN} += "${PN}-systemd"
33SYSTEMD_SERVICE_${PN} = "zram.service"
diff --git a/meta-oe/recipes-extended/zsh/zsh.inc b/meta-oe/recipes-extended/zsh/zsh.inc
new file mode 100644
index 0000000000..db51f39605
--- /dev/null
+++ b/meta-oe/recipes-extended/zsh/zsh.inc
@@ -0,0 +1,57 @@
1SUMMARY = "UNIX Shell similar to the Korn shell"
2DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
3 powerful scripting language. Many of the useful features of bash, \
4 ksh, and tcsh were incorporated into zsh; many original features were added."
5HOMEPAGE = "http://www.zsh.org"
6SECTION = "base/shell"
7
8LICENSE = "zsh"
9LIC_FILES_CHKSUM = "file://LICENCE;md5=b7bc853894664be455a922db9805288e"
10
11DEPENDS = "ncurses bison-native"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
14
15inherit autotools gettext update-alternatives
16
17EXTRA_OECONF = " \
18 --bindir=${base_bindir} \
19 --enable-etcdir=${sysconfdir} \
20 --enable-fndir=${datadir}/${PN}/${PV}/functions \
21 --enable-site-fndir=${datadir}/${PN}/site-functions \
22 --with-term-lib='ncursesw ncurses' \
23 --with-tcsetpgrp \
24 --enable-cap \
25 --enable-multibyte \
26 --disable-gdbm \
27 --disable-dynamic \
28 zsh_cv_shared_environ=yes \
29"
30
31ALTERNATIVE_${PN} = "sh"
32ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
33ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
34ALTERNATIVE_PRIORITY = "100"
35
36export AUTOHEADER = "true"
37
38do_configure () {
39 gnu-configize --force
40 oe_runconf
41}
42
43do_install_append () {
44 rm -fr ${D}/usr/share
45}
46
47pkg_postinst_${PN} () {
48 touch $D${sysconfdir}/shells
49 grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
50 grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
51}
52
53FILES_${PN}-dbg += "\
54 ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \
55 ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \
56 ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \
57"
diff --git a/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb b/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb
new file mode 100644
index 0000000000..a7170dca87
--- /dev/null
+++ b/meta-oe/recipes-extended/zsh/zsh_5.0.5.bb
@@ -0,0 +1,5 @@
1require zsh.inc
2DEPENDS += "libcap libpcre gdbm groff-native"
3
4SRC_URI[md5sum] = "6fb0e3e52a0f8de5ca63138391b81ce0"
5SRC_URI[sha256sum] = "b35cf19e4a6ba39fd03c6372b8a8760a491cc2e2e4aba3d15023ff291c2894b4"