* [meta-oe][PATCH 00/14] Pull request #13
@ 2011-05-29 21:56 Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 01/14] dbus-daemon-proxy: add LIC_FILES_CHKSUM and disable as-needed Martin Jansa
` (13 more replies)
0 siblings, 14 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Hi,
please consider merging this patches, after this I can build
task-cli-tools again.
The following changes since commit 7d6edbf446e338643542beab81fecb23340ad65b:
policykit: drop recipes, oe-core has newer versions named right polkit (2011-05-28 16:42:55 +0200)
are available in the git repository at:
git+ssh://git@git.openembedded.org/meta-openembedded-contrib jansa/meta-oe2
http://cgit.openembedded.org/cgit.cgi/git+ssh://git@git.openembedded.org/meta-openembedded-contrib/log/?h=jansa/meta-oe2
Martin Jansa (14):
dbus-daemon-proxy: add LIC_FILES_CHKSUM and disable as-needed
s3c24xx-gpio,s3c64xx-gpio: add LIC_FILES_CHKSUM
devmem2: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
socat: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
mbuffer: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
nmon: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
ltrace: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
pxaregs: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
serial-utils: import from OE rev
d4f0211e2078d5033ae0dee74664de5520d8392d
tcp-wrappers: import from OE rev
d4f0211e2078d5033ae0dee74664de5520d8392d
nfs-utils: import from OE rev
d4f0211e2078d5033ae0dee74664de5520d8392d
i2c-tools: import from OE rev
d4f0211e2078d5033ae0dee74664de5520d8392d
tcpdump: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb | 3 +
meta-oe/recipes-support/devmem2/devmem2.bb | 22 +
.../devmem2/devmem2/devmem2-fixups-2.patch | 91 ++
.../i2c-tools/i2c-tools-3.0.3/Module.mk | 72 ++
.../recipes-support/i2c-tools/i2c-tools_3.0.3.bb | 24 +
meta-oe/recipes-support/libelf/libelf_0.8.13.bb | 38 +
.../recipes-support/ltrace/files/add-sysdep.patch | 13 +
.../ltrace/files/ltrace-compile.patch | 80 ++
.../files/ltrace-fix-sysdep_h-dependency.patch | 33 +
.../ltrace/files/ltrace-mips-remove-CP.patch | 12 +
.../recipes-support/ltrace/files/ltrace-mips.patch | 36 +
.../recipes-support/ltrace/files/ltrace-ppc.patch | 11 +
meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb | 81 ++
.../recipes-support/mbuffer/mbuffer_20091227.bb | 18 +
.../nfs-utils-S_ISREG-missing-include.patch | 33 +
.../nfs-utils-tools-unset-cflags.patch | 92 ++
.../nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch | 49 +
.../nfs-utils/nfs-utils-1.1.2/nfsserver | 149 +++
.../recipes-support/nfs-utils/nfs-utils_1.1.2.bb | 54 +
meta-oe/recipes-support/nmon/nmon_13g.bb | 29 +
.../recipes-support/pxaregs/pxaregs-1.14/Makefile | 3 +
.../recipes-support/pxaregs/pxaregs-1.14/i2c.patch | 15 +
.../pxaregs/pxaregs-1.14/munmap.patch | 22 +
.../pxaregs/pxaregs-1.14/serial.patch | 14 +
.../recipes-support/pxaregs/pxaregs-1.14/usb.patch | 17 +
meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb | 25 +
.../samsung-soc-utils/s3c24xx-gpio_svn.bb | 3 +-
.../samsung-soc-utils/s3c64xx-gpio_svn.bb | 3 +-
.../serial-utils/pty-forward-native.bb | 21 +
.../serial-utils/serial-forward_git.bb | 13 +
.../socat/socat-1.7.1.2/compile.patch | 939 +++++++++++++++
meta-oe/recipes-support/socat/socat_1.7.1.2.bb | 21 +
.../tcp-wrappers-7.6/00_man_quoting.diff | 75 ++
.../tcp-wrappers-7.6/01_man_portability.patch | 248 ++++
.../tcp-wrappers-7.6/05_wildcard_matching.patch | 103 ++
.../tcp-wrappers-7.6/06_fix_gethostbyname.patch | 30 +
.../tcp-wrappers-7.6/10_usagi-ipv6.patch | 1253 ++++++++++++++++++++
.../tcp-wrappers-7.6/11_tcpd_blacklist.patch | 151 +++
.../tcp-wrappers-7.6/11_usagi_fix.patch | 45 +
.../tcp-wrappers-7.6/12_makefile_config.patch | 81 ++
.../tcp-wrappers-7.6/13_shlib_weaksym.patch | 253 ++++
.../tcp-wrappers-7.6/14_cidr_support.patch | 66 +
.../tcp-wrappers-7.6/15_match_clarify.patch | 12 +
.../tcp-wrappers-7.6/expand_remote_port.patch | 71 ++
.../tcp-wrappers-7.6/have_strerror.patch | 19 +
.../tcp-wrappers/tcp-wrappers-7.6/ldflags.patch | 55 +
.../tcp-wrappers-7.6/man_fromhost.patch | 21 +
.../tcp-wrappers-7.6/restore_sigalarm.patch | 37 +
.../tcp-wrappers/tcp-wrappers-7.6/rfc931.diff | 39 +
.../tcp-wrappers/tcp-wrappers-7.6/safe_finger.8 | 34 +
.../tcp-wrappers-7.6/safe_finger.patch | 29 +
.../tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch | 34 +
.../tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch | 30 +
.../tcp-wrappers/tcp-wrappers-7.6/size_t.patch | 42 +
.../tcp-wrappers-7.6/tcpdchk_libwrapped.patch | 39 +
.../tcp-wrappers/tcp-wrappers-7.6/try-from.8 | 28 +
.../tcp-wrappers/tcp-wrappers_7.6.bb | 111 ++
.../0001-minimal-IEEE802.15.4-allowed.patch | 22 +
.../tcpdump/tcpdump-4.1.1/configure.patch | 29 +
.../tcpdump/tcpdump-4.1.1/ipv6-cross.patch | 41 +
.../tcpdump-4.1.1/tcpdump_configure_no_-O2.patch | 42 +
meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb | 42 +
62 files changed, 5116 insertions(+), 2 deletions(-)
create mode 100644 meta-oe/recipes-support/devmem2/devmem2.bb
create mode 100644 meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
create mode 100644 meta-oe/recipes-support/i2c-tools/i2c-tools-3.0.3/Module.mk
create mode 100644 meta-oe/recipes-support/i2c-tools/i2c-tools_3.0.3.bb
create mode 100644 meta-oe/recipes-support/libelf/libelf_0.8.13.bb
create mode 100644 meta-oe/recipes-support/ltrace/files/add-sysdep.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
create mode 100644 meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
create mode 100644 meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-S_ISREG-missing-include.patch
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-tools-unset-cflags.patch
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfsserver
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils_1.1.2.bb
create mode 100644 meta-oe/recipes-support/nmon/nmon_13g.bb
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
create mode 100644 meta-oe/recipes-support/serial-utils/pty-forward-native.bb
create mode 100644 meta-oe/recipes-support/serial-utils/serial-forward_git.bb
create mode 100644 meta-oe/recipes-support/socat/socat-1.7.1.2/compile.patch
create mode 100644 meta-oe/recipes-support/socat/socat_1.7.1.2.bb
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/size_t.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/try-from.8
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers_7.6.bb
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/0001-minimal-IEEE802.15.4-allowed.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/configure.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/ipv6-cross.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/tcpdump_configure_no_-O2.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb
--
1.7.5.rc3
^ permalink raw reply [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 01/14] dbus-daemon-proxy: add LIC_FILES_CHKSUM and disable as-needed
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 02/14] s3c24xx-gpio, s3c64xx-gpio: add LIC_FILES_CHKSUM Martin Jansa
` (12 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb b/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
index 32ed7db..03b510e 100644
--- a/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
+++ b/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
@@ -1,10 +1,13 @@
DESCRIPTION = "dbus forwarding daemon"
LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://dbus-daemon-proxy.c;endline=19;md5=41df6d21fe1c97d6a1cc22a5bf374cba"
DEPENDS = "dbus dbus-glib"
SRCREV = "1226a0a1374628ff191f6d8a56000be5e53e7608"
PV = "0.0.0+gitr${SRCPV}"
PR = "r1"
+ASNEEDED_pn-dbus-daemon-proxy = ""
+
SRC_URI = "git://git.collabora.co.uk/git/user/alban/dbus-daemon-proxy;protocol=git"
S = "${WORKDIR}/git"
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 02/14] s3c24xx-gpio, s3c64xx-gpio: add LIC_FILES_CHKSUM
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 01/14] dbus-daemon-proxy: add LIC_FILES_CHKSUM and disable as-needed Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 03/14] devmem2: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d Martin Jansa
` (11 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../samsung-soc-utils/s3c24xx-gpio_svn.bb | 3 ++-
.../samsung-soc-utils/s3c64xx-gpio_svn.bb | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
index b813f76..80fd4f7 100644
--- a/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
+++ b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform"
SECTION = "console/utils"
AUTHOR = "Werner Almesberger <werner@openmoko.org>"
-LICENSE = "GPL"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://gpio.c;endline=12;md5=cfb91c686857b2e60852b4925d90a3e1"
SRCREV = "4949"
PV = "1.0+svnr${SRCPV}"
PR = "r2"
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
index f8ca794..8a3d190 100644
--- a/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
+++ b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c64xx platform"
SECTION = "console/utils"
AUTHOR = "Werner Almesberger <werner@openmoko.org>"
-LICENSE = "GPL"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://gpio-s3c6410.c;endline=12;md5=060cda1be945ad9194593f11d56d55c7"
SRCREV = "4949"
PV = "1.0+svnr${SRCPV}"
PR = "r0"
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 03/14] devmem2: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 01/14] dbus-daemon-proxy: add LIC_FILES_CHKSUM and disable as-needed Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 02/14] s3c24xx-gpio, s3c64xx-gpio: add LIC_FILES_CHKSUM Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 04/14] socat: " Martin Jansa
` (10 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta-oe/recipes-support/devmem2/devmem2.bb | 22 +++++
.../devmem2/devmem2/devmem2-fixups-2.patch | 91 ++++++++++++++++++++
2 files changed, 113 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/devmem2/devmem2.bb
create mode 100644 meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
diff --git a/meta-oe/recipes-support/devmem2/devmem2.bb b/meta-oe/recipes-support/devmem2/devmem2.bb
new file mode 100644
index 0000000..b99752d
--- /dev/null
+++ b/meta-oe/recipes-support/devmem2/devmem2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Simple program to read/write from/to any location in memory."
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://devmem2.c;endline=28;md5=dd68f2b0a5184b3db3dc25c99e0bd0cd"
+PR = "r7"
+
+SRC_URI = "http://www.lartmaker.nl/lartware/port/devmem2.c \
+ file://devmem2-fixups-2.patch;apply=yes;striplevel=0"
+S = "${WORKDIR}"
+
+CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
+
+do_compile() {
+ ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install devmem2 ${D}${bindir}
+}
+
+SRC_URI[md5sum] = "be12c0132a1ae118cbf5e79d98427c1d"
+SRC_URI[sha256sum] = "ec382c90af3ef2f49695ff14a4d6521e58ac482c4e29d6c9ebca8768f699c191"
diff --git a/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch b/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
new file mode 100644
index 0000000..4517797
--- /dev/null
+++ b/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
@@ -0,0 +1,91 @@
+--- devmem2.c 2004-08-05 01:55:25.000000000 +0200
++++ devmem2_modif.c 2011-01-13 15:48:37.798799784 +0100
+@@ -45,12 +45,16 @@
+ #define MAP_SIZE 4096UL
+ #define MAP_MASK (MAP_SIZE - 1)
+
++static inline void *fixup_addr(void *addr, size_t size);
++
+ int main(int argc, char **argv) {
+ int fd;
+ void *map_base, *virt_addr;
+- unsigned long read_result, writeval;
++ unsigned long read_result, write_val;
+ off_t target;
+ int access_type = 'w';
++ char fmt_str[128];
++ size_t data_size;
+
+ if(argc < 2) {
+ fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
+@@ -79,38 +83,51 @@
+ virt_addr = map_base + (target & MAP_MASK);
+ switch(access_type) {
+ case 'b':
++ data_size = sizeof(unsigned char);
++ virt_addr = fixup_addr(virt_addr, data_size);
+ read_result = *((unsigned char *) virt_addr);
+ break;
+ case 'h':
++ data_size = sizeof(unsigned short);
++ virt_addr = fixup_addr(virt_addr, data_size);
+ read_result = *((unsigned short *) virt_addr);
+ break;
+ case 'w':
++ data_size = sizeof(unsigned long);
++ virt_addr = fixup_addr(virt_addr, data_size);
+ read_result = *((unsigned long *) virt_addr);
+ break;
+ default:
+ fprintf(stderr, "Illegal data type '%c'.\n", access_type);
+ exit(2);
+ }
+- printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result);
++ sprintf(fmt_str, "Read at address 0x%%08lX (%%p): 0x%%0%dlX\n", 2*data_size);
++ printf(fmt_str, (unsigned long)target, virt_addr, read_result);
+ fflush(stdout);
+
+ if(argc > 3) {
+- writeval = strtoul(argv[3], 0, 0);
++ write_val = strtoul(argv[3], 0, 0);
+ switch(access_type) {
+ case 'b':
+- *((unsigned char *) virt_addr) = writeval;
++ virt_addr = fixup_addr(virt_addr, sizeof(unsigned char));
++ *((unsigned char *) virt_addr) = write_val;
+ read_result = *((unsigned char *) virt_addr);
+ break;
+ case 'h':
+- *((unsigned short *) virt_addr) = writeval;
++ virt_addr = fixup_addr(virt_addr, sizeof(unsigned short));
++ *((unsigned short *) virt_addr) = write_val;
+ read_result = *((unsigned short *) virt_addr);
+ break;
+ case 'w':
+- *((unsigned long *) virt_addr) = writeval;
++ virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
++ *((unsigned long *) virt_addr) = write_val;
+ read_result = *((unsigned long *) virt_addr);
+ break;
+ }
+- printf("Written 0x%X; readback 0x%X\n", writeval, read_result);
++ sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
++ "readback 0x%%0%dlX\n", 2*data_size, 2*data_size);
++ printf(fmt_str, (unsigned long)target, virt_addr,
++ write_val, read_result);
+ fflush(stdout);
+ }
+
+@@ -119,3 +136,12 @@
+ return 0;
+ }
+
++static inline void *fixup_addr(void *addr, size_t size)
++{
++#ifdef FORCE_STRICT_ALIGNMENT
++ unsigned long aligned_addr = (unsigned long)addr;
++ aligned_addr &= ~(size - 1);
++ addr = (void *)aligned_addr;
++#endif
++ return addr;
++}
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 04/14] socat: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (2 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 03/14] devmem2: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 05/14] mbuffer: " Martin Jansa
` (9 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../socat/socat-1.7.1.2/compile.patch | 939 ++++++++++++++++++++
meta-oe/recipes-support/socat/socat_1.7.1.2.bb | 21 +
2 files changed, 960 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/socat/socat-1.7.1.2/compile.patch
create mode 100644 meta-oe/recipes-support/socat/socat_1.7.1.2.bb
diff --git a/meta-oe/recipes-support/socat/socat-1.7.1.2/compile.patch b/meta-oe/recipes-support/socat/socat-1.7.1.2/compile.patch
new file mode 100644
index 0000000..35a1e31
--- /dev/null
+++ b/meta-oe/recipes-support/socat/socat-1.7.1.2/compile.patch
@@ -0,0 +1,939 @@
+Index: socat-1.7.1.2/configure.in
+===================================================================
+--- socat-1.7.1.2.orig/configure.in 2010-03-17 10:10:07.431327912 +0800
++++ socat-1.7.1.2/configure.in 2010-03-17 11:30:56.010077501 +0800
+@@ -86,7 +86,7 @@
+
+
+ dnl Check for extra socket library (for Solaris)
+-AC_CHECK_FUNC(hstrerror, , AC_CHECK_LIB(resolv, hstrerror, [LIBS="$LIBS -lresolv"; AC_DEFINE(HAVE_HSTRERROR)]))
++AC_CHECK_FUNC(hstrerror, , AC_CHECK_LIB(resolv, hstrerror, [LIBS="$LIBS -lresolv"; AC_DEFINE(HAVE_HSTRERROR, [1], [STRERROR])]))
+ AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
+ AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
+
+@@ -100,7 +100,7 @@
+ [sc_cv_have_prototype_hstrerror=yes]);
+ CFLAGS="$CFLAGS1"])
+ if test $sc_cv_have_prototype_hstrerror = yes; then
+- AC_DEFINE(HAVE_PROTOTYPE_HSTRERROR)
++ AC_DEFINE(HAVE_PROTOTYPE_HSTRERROR, [1], [Has Strerror])
+ fi
+ AC_MSG_RESULT($sc_cv_have_prototype_hstrerror)
+
+@@ -109,83 +109,83 @@
+ AC_ARG_ENABLE(help, [ --disable-help disable help],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_HELP) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_HELP, [1], [With help]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_HELP) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_HELP, [1], [With help]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include STDIO support)
+ AC_ARG_ENABLE(stdio, [ --disable-stdio disable STDIO support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_STDIO) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_STDIO, [1], [With stdio]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_STDIO) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_STDIO, [1], [With stdio]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include FD-number support)
+ AC_ARG_ENABLE(fdnum, [ --disable-fdnum disable FD-number support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_FDNUM) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_FDNUM, [1], [With fdnum]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_FDNUM) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_FDNUM, [1], [With fdnum]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include direct file support)
+ AC_ARG_ENABLE(file, [ --disable-file disable direct file support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_FILE) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_FILE, [1], [With file]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_FILE) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_FILE, [1], [With file]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include direct create support)
+ AC_ARG_ENABLE(creat, [ --disable-creat disable direct create support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_CREAT) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_CREAT, [1], [With creat]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_CREAT) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_CREAT, [1], [With creat]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include gopen support)
+ AC_ARG_ENABLE(gopen, [ --disable-gopen disable open for UNIX socket support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_GOPEN) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_GOPEN, [1], [With gopen]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_GOPEN) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_GOPEN, [1], [With gopen]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include explicit pipe support)
+ AC_ARG_ENABLE(pipe, [ --disable-pipe disable pipe support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_PIPE) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_PIPE, [1], [With pipe]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_PIPE) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_PIPE, [1], [With pipe]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include explicit termios support)
+ AC_ARG_ENABLE(termios, [ --disable-termios disable termios support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_TERMIOS) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_TERMIOS, [1], [With termios]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_TERMIOS) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_TERMIOS, [1], [With termios]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include UNIX socket support)
+ AC_ARG_ENABLE(unix, [ --disable-unix disable UNIX domain socket support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_UNIX) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_UNIX, [1], [With unix]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_UNIX) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_UNIX, [1], [With unix]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include abstract UNIX socket support)
+ AC_ARG_ENABLE(abstract_unixsocket, [ --disable-abstract-unixsocket disable abstract UNIX domain socket support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET, [1], [With abstract unix socket]) AC_MSG_RESULT(yes);;
+ esac],
+ [ case "`uname`" in
+ Linux)
+- AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET) AC_MSG_RESULT(yes);;
++ AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET, [1], [With abstract unix socket]) AC_MSG_RESULT(yes);;
+ *)
+ AC_MSG_RESULT(no);;
+ esac])
+@@ -194,9 +194,9 @@
+ AC_ARG_ENABLE(ip4, [ --disable-ip4 disable IPv4 support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_IP4) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_IP4, [1], [with ipv4]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_IP4) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_IP4, [1], [with ipv4]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include IPv6 support)
+ AC_ARG_ENABLE(ip6, [ --disable-ip6 disable IPv6 support],
+@@ -207,7 +207,7 @@
+ [ AC_MSG_RESULT(yes); WITH_IP6=1 ])
+ if test "$WITH_IP6"; then
+ AC_CHECK_HEADERS([netinet/ip6.h],
+- [AC_DEFINE(HAVE_NETINET_IP6_H) AC_DEFINE(WITH_IP6)],
++ [AC_DEFINE(HAVE_NETINET_IP6_H) AC_DEFINE(WITH_IP6, [1], [with ipv6])],
+ [AC_MSG_WARN([include file netinet/ip6.h not found, disabling IP6])],
+ [AC_INCLUDES_DEFAULT
+ #ifdef HAVE_NETINET_IN_H
+@@ -219,17 +219,17 @@
+ AC_ARG_ENABLE(rawip, [ --disable-rawip disable raw IP support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_RAWIP) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_RAWIP, [1], [With reawip]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_RAWIP) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_RAWIP, [1], [With rawip]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include generic socket support)
+ AC_ARG_ENABLE(rawsocket, [ --disable-genericsocket disable generic socket support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_GENERICSOCKET) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_GENERICSOCKET, [1], [With genericsocket]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_GENERICSOCKET) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_GENERICSOCKET, [1], [With genericsocket]) AC_MSG_RESULT(yes)])
+ AC_MSG_CHECKING(whether to include raw network interface support)
+ AC_ARG_ENABLE(interface, [ --disable-interface disable network interface support],
+ [case "$enableval" in
+@@ -239,35 +239,35 @@
+ [AC_MSG_RESULT(yes); WITH_INTERFACE=1 ])
+ if test "$WITH_INTERFACE"; then
+ AC_CHECK_HEADER(netpacket/packet.h,
+- AC_DEFINE(HAVE_NETPACKET_PACKET_H),
++ AC_DEFINE(HAVE_NETPACKET_PACKET_H, [1], [Has packet.h]),
+ [WITH_INTERFACE=;
+ AC_MSG_WARN([include file netpacket/packet.h not found, disabling interface])])
+ fi
+ if test "$WITH_INTERFACE"; then
+ AC_CHECK_HEADER(netinet/if_ether.h,
+- AC_DEFINE(HAVE_NETINET_IF_ETHER_H),
++ AC_DEFINE(HAVE_NETINET_IF_ETHER_H, [1], [Has if_ether.h]),
+ [WITH_INTERFACE=;
+ AC_MSG_WARN([include file netinet/if_ether.h not found, disabling interface])])
+ fi
+ if test "$WITH_INTERFACE"; then
+- AC_DEFINE(WITH_INTERFACE)
++ AC_DEFINE(WITH_INTERFACE, [1], [Wither interface])
+ fi
+
+ AC_MSG_CHECKING(whether to include TCP support)
+ AC_ARG_ENABLE(tcp, [ --disable-tcp disable TCP support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_TCP) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_TCP, [1], [With TCP]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_TCP) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_TCP, [1], [With TCP]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include UDP support)
+ AC_ARG_ENABLE(udp, [ --disable-udp disable UDP support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_UDP) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_UDP, [1], [With UDP]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_UDP) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_UDP, [1], [With UDP]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include SCTP support)
+ AC_ARG_ENABLE(sctp, [ --disable-sctp disable SCTP support],
+@@ -287,7 +287,7 @@
+ [sc_cv_define_ipproto_sctp=no])])
+ AC_MSG_RESULT($sc_cv_define_ipproto_sctp)
+ if test $sc_cv_define_ipproto_sctp = yes; then
+- AC_DEFINE(WITH_SCTP)
++ AC_DEFINE(WITH_SCTP, [1], [With SCTP])
+ else
+ AC_MSG_WARN([IPPROTO_SCTP undefined, disabling SCTP support])
+ fi
+@@ -297,65 +297,65 @@
+ AC_ARG_ENABLE(listen, [ --disable-listen disable listen support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_LISTEN) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_LISTEN, [1], [With listen]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_LISTEN) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_LISTEN, [1], [With listen]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include socks4 support)
+ AC_ARG_ENABLE(socks4, [ --disable-socks4 disable socks4 support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_SOCKS4) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_SOCKS4, [1], [With socks]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_SOCKS4) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_SOCKS4, [1], [With socks]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include socks4a support)
+ AC_ARG_ENABLE(socks4a, [ --disable-socks4a disable socks4a support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_SOCKS4A) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_SOCKS4A, [1], [With socks4a]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_SOCKS4A) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_SOCKS4A, [1], [With socks4a]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include proxy connect support)
+ AC_ARG_ENABLE(proxy, [ --disable-proxy disable proxy connect support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_PROXY) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_PROXY, [1], [With proxy]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_PROXY) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_PROXY, [1], [With proxy]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include exec support)
+ AC_ARG_ENABLE(exec, [ --disable-exec disable exec support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_EXEC) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_EXEC, [1], [With exec]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_EXEC) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_EXEC, [1], [With exec]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING([whether to include system (shell) support])
+ AC_ARG_ENABLE(system, [ --disable-system disable system (shell) support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_SYSTEM) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_SYSTEM, [1], [With system]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_SYSTEM) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_SYSTEM, [1], [With system]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include pty address support)
+ AC_ARG_ENABLE(pty, [ --disable-pty disable pty support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_PTY) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_PTY, [1], [With pty]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_PTY) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_PTY, [1], [With pty]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include ext2 fs attributes support)
+ AC_ARG_ENABLE(ext2, [ --disable-ext2 disable ext2 fs attributes support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_EXT2) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_EXT2, [1], [With ext2]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_EXT2) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_EXT2, [1], [With ext2]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(whether to include readline support)
+ AC_ARG_ENABLE(readline, [ --disable-readline disable readline support],
+@@ -400,10 +400,10 @@
+
+ if test -n "$sc_usable_readline_found"; then
+ AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_READLINE_READLINE_H,1)
+- AC_DEFINE(HAVE_READLINE_HISTORY_H,1)
+- AC_DEFINE(HAVE_LIBREADLINE,1)
+- AC_DEFINE(WITH_READLINE,1)
++ AC_DEFINE(HAVE_READLINE_READLINE_H,1, [have readline])
++ AC_DEFINE(HAVE_READLINE_HISTORY_H,1, [have history])
++ AC_DEFINE(HAVE_LIBREADLINE,1, [have readline])
++ AC_DEFINE(WITH_READLINE,1, [with readline])
+ break
+ else
+ AC_MSG_RESULT(no)
+@@ -446,7 +446,7 @@
+ done])
+ ])
+ if test "$sc_cv_have_openssl_ssl_h" = "yes"; then
+- AC_DEFINE(HAVE_OPENSSL_SSL_H)
++ AC_DEFINE(HAVE_OPENSSL_SSL_H, [1], [have openssl.h])
+ fi
+ AC_MSG_NOTICE(checked for openssl/ssl.h... $sc_cv_have_openssl_ssl_h)
+ fi # end checking for openssl/ssl.h
+@@ -478,7 +478,7 @@
+ ]
+ )
+ if test "$sc_cv_have_libssl" = 'yes'; then
+- AC_DEFINE(HAVE_LIBSSL)
++ AC_DEFINE(HAVE_LIBSSL, [1], [libssl])
+ fi
+ AC_MSG_RESULT($sc_cv_have_libssl)
+ fi
+@@ -506,7 +506,7 @@
+ #fi
+ if test -n "$WITH_OPENSSL"; then
+ if test "$sc_cv_have_openssl_ssl_h" = "yes" -a "$sc_cv_have_libssl" = "yes"; then
+- AC_DEFINE(WITH_OPENSSL)
++ AC_DEFINE(WITH_OPENSSL, [1], [With openssl])
+ else
+ AC_MSG_WARN([not all components of OpenSSL found, disabling it]);
+ fi
+@@ -552,7 +552,7 @@
+ )]
+ )
+ if test "$sv_cv_have_openssl_fips_h" = "yes"; then
+- AC_DEFINE(HAVE_OPENSSL_FIPS_H)
++ AC_DEFINE(HAVE_OPENSSL_FIPS_H, [1], [OpenSSL fips.h])
+ fi
+ AC_MSG_NOTICE(checked for openssl/fips.h... $sc_cv_have_openssl_ssl_h)
+ fi
+@@ -583,15 +583,15 @@
+ ]
+ )
+ if test "$sc_cv_have_libcrypto" = 'yes'; then
+- AC_DEFINE(HAVE_LIBCRYPTO)
++ AC_DEFINE(HAVE_LIBCRYPTO, [1], [libcrypto])
+ fi
+ AC_MSG_RESULT($sc_cv_have_libcrypto)
+ fi
+
+ if test -n "$WITH_FIPS"; then
+ if test "$sc_cv_have_openssl_fips_h" = 'yes' -a "$sc_cv_have_libcrypto" = 'yes'; then
+- AC_DEFINE(WITH_FIPS)
+- AC_DEFINE(OPENSSL_FIPS)
++ AC_DEFINE(WITH_FIPS, [1], [With fips])
++ AC_DEFINE(OPENSSL_FIPS, [1], [openssl fips])
+ else
+ AC_MSG_WARN([not all components of OpenSSL FIPS found, disabling it]);
+ fi
+@@ -612,17 +612,17 @@
+ fi
+ #
+ if test -n "$WITH_TUN"; then
+- AC_DEFINE(WITH_TUN)
++ AC_DEFINE(WITH_TUN, [1], [with tun])
+ fi
+
+ AC_MSG_CHECKING(whether to include system call tracing)
+ AC_ARG_ENABLE(sycls, [ --disable-sycls disable system call tracing],
+ [case "$enableval" in
+ no) SYCLS=""; SSLCLS=""; AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_SYCLS)
++ *) AC_DEFINE(WITH_SYCLS, [1], [syscls])
+ SYCLS="sycls.c"; SSLCLS="sslcls.c"; AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_SYCLS)
++ [AC_DEFINE(WITH_SYCLS, [1], [syscls])
+ SYCLS="sycls.c"; SSLCLS="sslcls.c"; AC_MSG_RESULT(yes)])
+ AC_SUBST(SYCLS)
+ AC_SUBST(SSLCLS)
+@@ -631,31 +631,31 @@
+ AC_ARG_ENABLE(filan, [ --disable-filan disable file descriptor analyzer],
+ [case "$enableval" in
+ no) FILAN=""; AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_FILAN) FILAN="filan.c"; AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_FILAN, [1], [filan]) FILAN="filan.c"; AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_FILAN) FILAN="filan.c"; AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_FILAN, [1], [filan]) FILAN="filan.c"; AC_MSG_RESULT(yes)])
+ AC_SUBST(FILAN)
+
+ AC_MSG_CHECKING(whether to include retry support)
+ AC_ARG_ENABLE(retry, [ --disable-retry disable retry support],
+ [case "$enableval" in
+ no) AC_MSG_RESULT(no);;
+- *) AC_DEFINE(WITH_RETRY) AC_MSG_RESULT(yes);;
++ *) AC_DEFINE(WITH_RETRY, [1], [retry]) AC_MSG_RESULT(yes);;
+ esac],
+- [AC_DEFINE(WITH_RETRY) AC_MSG_RESULT(yes)])
++ [AC_DEFINE(WITH_RETRY, [1], [retry]) AC_MSG_RESULT(yes)])
+
+ AC_MSG_CHECKING(included message level)
+ AC_ARG_ENABLE(msglevel, [ --enable-msglevel=N set max verbosity to debug,info,notice,warn,error,fatal],
+ [case "$enableval" in
+- debug) AC_DEFINE(WITH_MSGLEVEL,0) AC_MSG_RESULT(debug);;
+- info) AC_DEFINE(WITH_MSGLEVEL,1) AC_MSG_RESULT(info);;
+- notice) AC_DEFINE(WITH_MSGLEVEL,2) AC_MSG_RESULT(notice);;
+- warn) AC_DEFINE(WITH_MSGLEVEL,3) AC_MSG_RESULT(warn);;
+- error) AC_DEFINE(WITH_MSGLEVEL,4) AC_MSG_RESULT(error);;
+- fatal) AC_DEFINE(WITH_MSGLEVEL,5) AC_MSG_RESULT(fatal);;
+- *) AC_DEFINE(WITH_MSGLEVEL,0) AC_MSG_RESULT(debug);;
++ debug) AC_DEFINE(WITH_MSGLEVEL,0, [msglevel]) AC_MSG_RESULT(debug);;
++ info) AC_DEFINE(WITH_MSGLEVEL,1, [msglevel]) AC_MSG_RESULT(info);;
++ notice) AC_DEFINE(WITH_MSGLEVEL,2, [msglevel]) AC_MSG_RESULT(notice);;
++ warn) AC_DEFINE(WITH_MSGLEVEL,3, [msglevel]) AC_MSG_RESULT(warn);;
++ error) AC_DEFINE(WITH_MSGLEVEL,4, [msglevel]) AC_MSG_RESULT(error);;
++ fatal) AC_DEFINE(WITH_MSGLEVEL,5, [msglevel]) AC_MSG_RESULT(fatal);;
++ *) AC_DEFINE(WITH_MSGLEVEL,0, [msglevel]) AC_MSG_RESULT(debug);;
+ esac],
+- [AC_DEFINE(WITH_MSGLEVEL,0) AC_MSG_RESULT(debug)])
++ [AC_DEFINE(WITH_MSGLEVEL,0, [msglevel]) AC_MSG_RESULT(debug)])
+
+ #AC_SUBST(V_INCL)
+
+@@ -672,7 +672,7 @@
+ AC_HEADER_TIME
+
+ dnl Check for extra realtime library (for Solaris)
+-AC_CHECK_FUNC(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), AC_CHECK_LIB(rt, nanosleep, [LIBS="-lrt $LIBS"; AC_DEFINE(HAVE_NANOSLEEP)]))
++AC_CHECK_FUNC(nanosleep, AC_DEFINE(HAVE_NANOSLEEP, [1], [have nanosleep]), AC_CHECK_LIB(rt, nanosleep, [LIBS="-lrt $LIBS"; AC_DEFINE(HAVE_NANOSLEEP, [1], [have nanosleep])]))
+ #AC_CHECK_FUNC(nanosleep, , AC_CHECK_LIB(rt, nanosleep))
+
+ dnl Checks for library functions.
+@@ -694,7 +694,7 @@
+ [sc_cv_type_longlong=yes],
+ [sc_cv_type_longlong=no])])
+ if test $sc_cv_type_longlong = yes; then
+- AC_DEFINE(HAVE_TYPE_LONGLONG)
++ AC_DEFINE(HAVE_TYPE_LONGLONG, [1], [have type long long])
+ fi
+ AC_MSG_RESULT($sc_cv_type_longlong)
+
+@@ -710,7 +710,7 @@
+ [sc_cv_type_socklen=yes],
+ [sc_cv_type_socklen=no])])
+ if test $sc_cv_type_socklen = yes; then
+- AC_DEFINE(HAVE_TYPE_SOCKLEN)
++ AC_DEFINE(HAVE_TYPE_SOCKLEN, [1], [Has Socklen])
+ fi
+ AC_MSG_RESULT($sc_cv_type_socklen)
+
+@@ -720,7 +720,7 @@
+ [sc_cv_type_stat64=yes],
+ [sc_cv_type_stat64=no])])
+ if test $sc_cv_type_stat64 = yes; then
+- AC_DEFINE(HAVE_TYPE_STAT64)
++ AC_DEFINE(HAVE_TYPE_STAT64, [1], [Has stat64])
+ fi
+ AC_MSG_RESULT($sc_cv_type_stat64)
+
+@@ -730,7 +730,7 @@
+ [sc_cv_type_off64=yes],
+ [sc_cv_type_off64=no])])
+ if test $sc_cv_type_off64 = yes; then
+- AC_DEFINE(HAVE_TYPE_OFF64)
++ AC_DEFINE(HAVE_TYPE_OFF64, [1], [have off64])
+ fi
+ AC_MSG_RESULT($sc_cv_type_off64)
+
+@@ -740,7 +740,7 @@
+ [sc_cv_type_sighandler=yes],
+ [sc_cv_type_sighandler=no])])
+ if test $sc_cv_type_sighandler = yes; then
+- AC_DEFINE(HAVE_TYPE_SIGHANDLER)
++ AC_DEFINE(HAVE_TYPE_SIGHANDLER, [1], [have type sighandler])
+ fi
+ AC_MSG_RESULT($sc_cv_type_socklen)
+
+@@ -758,7 +758,7 @@
+ [sc_cv_type_uint8=yes],
+ [sc_cv_type_uint8=no])])
+ if test $sc_cv_type_uint8 = yes; then
+- AC_DEFINE(HAVE_TYPE_UINT8)
++ AC_DEFINE(HAVE_TYPE_UINT8, [1], [have uint8])
+ fi
+ AC_MSG_RESULT($sc_cv_type_uint8)
+
+@@ -776,7 +776,7 @@
+ [sc_cv_type_uint16=yes],
+ [sc_cv_type_uint16=no])])
+ if test $sc_cv_type_uint16 = yes; then
+- AC_DEFINE(HAVE_TYPE_UINT16)
++ AC_DEFINE(HAVE_TYPE_UINT16, [1], [have uint16t])
+ fi
+ AC_MSG_RESULT($sc_cv_type_uint16)
+
+@@ -794,7 +794,7 @@
+ [sc_cv_type_uint32=yes],
+ [sc_cv_type_uint32=no])])
+ if test $sc_cv_type_uint32 = yes; then
+- AC_DEFINE(HAVE_TYPE_UINT32)
++ AC_DEFINE(HAVE_TYPE_UINT32, [1], [have uint32])
+ fi
+ AC_MSG_RESULT($sc_cv_type_uint32)
+
+@@ -812,7 +812,7 @@
+ [sc_cv_type_uint64=yes],
+ [sc_cv_type_uint64=no])])
+ if test $sc_cv_type_uint64 = yes; then
+- AC_DEFINE(HAVE_TYPE_UINT64)
++ AC_DEFINE(HAVE_TYPE_UINT64, [1], [have uint64] )
+ fi
+ AC_MSG_RESULT($sc_cv_type_uint64)
+
+@@ -834,7 +834,7 @@
+ #include <sys/select.h>
+ #endif],
+ [fd_set s; s.fds_bits[0]=0;],
+-[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FDS_BITS)],
++[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FDS_BITS, [1], [have fds bits])],
+ [AC_MSG_RESULT(no);])
+
+ AC_MSG_CHECKING(for sa_family_t)
+@@ -844,7 +844,7 @@
+ [sc_cv_type_sa_family_t=yes],
+ [sc_cv_type_sa_family_t=no])])
+ if test $sc_cv_type_sa_family_t = yes; then
+- AC_DEFINE(HAVE_TYPE_SA_FAMILY_T)
++ AC_DEFINE(HAVE_TYPE_SA_FAMILY_T, [1], [have sa family_t type])
+ fi
+ AC_MSG_RESULT($sc_cv_type_sa_family_t)
+
+@@ -854,7 +854,7 @@
+ [sc_cv_struct_sigaction_sa_sigaction=yes],
+ [sc_cv_struct_sigaction_sa_sigaction=no])])
+ if test $sc_cv_struct_sigaction_sa_sigaction = yes; then
+- AC_DEFINE(HAVE_STRUCT_SIGACTION_SA_SIGACTION)
++ AC_DEFINE(HAVE_STRUCT_SIGACTION_SA_SIGACTION, [1], [sigaction])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_sigaction_sa_sigaction)
+
+@@ -862,11 +862,11 @@
+ AC_MSG_CHECKING(for termios.c_ispeed)
+ AC_CACHE_VAL(sc_cv_termios_ispeed,
+ [AC_TRY_COMPILE([#include <termios.h>],
+-[struct termios t; t.c_ispeed=0;],
++[struct termios t; t.c_ispeed=ISPEED_OFFSET; t.c_ospeed=OSPEED_OFFSET;],
+ [sc_cv_termios_ispeed=yes],
+ [sc_cv_termios_ispeed=no])])
+ if test $sc_cv_termios_ispeed = yes; then
+- AC_DEFINE(HAVE_TERMIOS_ISPEED)
++ AC_DEFINE(HAVE_TERMIOS_ISPEED, [1], [have ispeed])
+ fi
+ AC_MSG_RESULT($sc_cv_termios_ispeed)
+
+@@ -897,7 +897,7 @@
+ LIBS="$LIBS1"
+ AC_MSG_RESULT($ac_cv_ispeed_offset)
+ if test $ac_cv_ispeed_offset -ge 0; then
+- AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset)
++ AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset, [have ispeed])
+ fi
+ fi
+
+@@ -916,7 +916,7 @@
+ )]
+ )])
+ if test $ac_cv_svid3 = yes; then
+- AC_DEFINE(_SVID3)
++ AC_DEFINE(_SVID3, [1], [svid3])
+ fi
+ AC_MSG_RESULT($ac_cv_svid3)
+
+@@ -931,7 +931,7 @@
+ [sc_cv_struct_timespec=yes],
+ [sc_cv_struct_timespec=no])])
+ if test $sc_cv_struct_timespec = yes; then
+- AC_DEFINE(HAVE_STRUCT_TIMESPEC)
++ AC_DEFINE(HAVE_STRUCT_TIMESPEC, [1], [struct timespec])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_timespec)
+
+@@ -944,7 +944,7 @@
+ [sc_cv_struct_linger=yes],
+ [sc_cv_struct_linger=no])])
+ if test $sc_cv_struct_linger = yes; then
+- AC_DEFINE(HAVE_STRUCT_LINGER)
++ AC_DEFINE(HAVE_STRUCT_LINGER, [1], [struct linger])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_linger)
+
+@@ -958,7 +958,7 @@
+ [sc_cv_struct_ip_mreq=yes],
+ [sc_cv_struct_ip_mreq=no])])
+ if test $sc_cv_struct_ip_mreq = yes; then
+- AC_DEFINE(HAVE_STRUCT_IP_MREQ)
++ AC_DEFINE(HAVE_STRUCT_IP_MREQ, [1], [have struct ip mreq])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ip_mreq)
+
+@@ -971,7 +971,7 @@
+ [sc_cv_struct_ip_mreqn=yes],
+ [sc_cv_struct_ip_mreqn=no])])
+ if test $sc_cv_struct_ip_mreqn = yes; then
+- AC_DEFINE(HAVE_STRUCT_IP_MREQN)
++ AC_DEFINE(HAVE_STRUCT_IP_MREQN, [1], [have struct ip mreqn])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ip_mreqn)
+
+@@ -984,7 +984,7 @@
+ [sc_cv_struct_ipv6_mreq=yes],
+ [sc_cv_struct_ipv6_mreq=no])])
+ if test $sc_cv_struct_ipv6_mreq = yes; then
+- AC_DEFINE(HAVE_STRUCT_IPV6_MREQ)
++ AC_DEFINE(HAVE_STRUCT_IPV6_MREQ, [1], [have struct ipv5 mreq])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ipv6_mreq)
+
+@@ -998,7 +998,7 @@
+ [sc_cv_struct_ifreq=yes],
+ [sc_cv_struct_ifreq=no])])
+ if test $sc_cv_struct_ifreq = yes; then
+- AC_DEFINE(HAVE_STRUCT_IFREQ)
++ AC_DEFINE(HAVE_STRUCT_IFREQ, [1], [have struct ifreq])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ifreq)
+
+@@ -1013,7 +1013,7 @@
+ [sc_cv_struct_ifreq_ifr_index=yes],
+ [sc_cv_struct_ifreq_ifr_index=no])])
+ if test $sc_cv_struct_ifreq_ifr_index = yes; then
+- AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_INDEX)
++ AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_INDEX, [1], [have struct ifreq ifr])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ifreq_ifr_index)
+
+@@ -1028,7 +1028,7 @@
+ [sc_cv_struct_ifreq_ifr_ifindex=yes],
+ [sc_cv_struct_ifreq_ifr_ifindex=no])])
+ if test $sc_cv_struct_ifreq_ifr_ifindex = yes; then
+- AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_IFINDEX)
++ AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_IFINDEX, [1], [have struct ifreq ifindex])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ifreq_ifr_ifindex)
+
+@@ -1043,7 +1043,7 @@
+ [sc_cv_struct_sockaddr_salen=yes],
+ [sc_cv_struct_sockaddr_salen=no])])
+ if test $sc_cv_struct_sockaddr_salen = yes; then
+- AC_DEFINE(HAVE_STRUCT_SOCKADDR_SALEN)
++ AC_DEFINE(HAVE_STRUCT_SOCKADDR_SALEN, [1], [sockaddr salen])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_sockaddr_salen)
+
+@@ -1054,31 +1054,31 @@
+ #include <netinet/in.h>],
+ [struct sockaddr_in6 sa6;sa6.sin6_addr.s6_addr[0]=0;],
+ [AC_MSG_RESULT(s6_addr);
+- AC_DEFINE(HAVE_IP6_SOCKADDR, 0)],
++ AC_DEFINE(HAVE_IP6_SOCKADDR, 0, [ip6 sockaddr])],
+ [AC_TRY_COMPILE([#include <sys/types.h>
+ #include <netinet/in.h>],
+ [struct sockaddr_in6 sa6;sa6.sin6_addr.u6_addr.u6_addr16[0]=0;],
+ [AC_MSG_RESULT(u6_addr.u6_addr16);
+- AC_DEFINE(HAVE_IP6_SOCKADDR, 1)],
++ AC_DEFINE(HAVE_IP6_SOCKADDR, 1, [ip6 sockaddr])],
+ [AC_TRY_COMPILE([#include <sys/types.h>
+ #include <netinet/in.h>],
+ [struct sockaddr_in6 sa6;sa6.sin6_addr.u6_addr16[0]=0;],
+- [AC_MSG_RESULT(u6_addr16); AC_DEFINE(HAVE_IP6_SOCKADDR, 2)],
++ [AC_MSG_RESULT(u6_addr16); AC_DEFINE(HAVE_IP6_SOCKADDR, 2, [ip6 sockaddr])],
+ [AC_TRY_COMPILE([#include <sys/types.h>
+ #include <netinet/in.h>],
+ [struct sockaddr_in6 sa6;sa6.sin6_addr.in6_u.u6_addr16[0]=0;],
+ [AC_MSG_RESULT(in6_u.u6_addr16);
+- AC_DEFINE(HAVE_IP6_SOCKADDR, 3)],
++ AC_DEFINE(HAVE_IP6_SOCKADDR, 3, [ip6 sockaddr])],
+ [AC_TRY_COMPILE([#include <sys/types.h>
+ #include <netinet/in.h>],
+ [struct sockaddr_in6 sa6;sa6.sin6_addr._S6_un._S6_u32[0]=0;],
+ [AC_MSG_RESULT(_S6_un._S6_u32);
+- AC_DEFINE(HAVE_IP6_SOCKADDR, 4)],
++ AC_DEFINE(HAVE_IP6_SOCKADDR, 4, [ip6 sockaddr])],
+ [AC_TRY_COMPILE([#include <sys/types.h>
+ #include <netinet/in.h>],
+ [struct sockaddr_in6 sa6;sa6.sin6_addr.__u6_addr.__u6_addr32[0]=0;],
+ [AC_MSG_RESULT(__u6_addr.__u6_addr32);
+- AC_DEFINE(HAVE_IP6_SOCKADDR, 5)],
++ AC_DEFINE(HAVE_IP6_SOCKADDR, 5, [ip6 sockaddr])],
+
+ [AC_MSG_RESULT([none or unknown])]
+ )])])])])])
+@@ -1090,7 +1090,7 @@
+ [sc_cv_struct_iovec=yes],
+ [sc_cv_struct_iovec=no])])
+ if test $sc_cv_struct_iovec = yes; then
+- AC_DEFINE(HAVE_STRUCT_IOVEC)
++ AC_DEFINE(HAVE_STRUCT_IOVEC, [1], [have struct iovec])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_iovec)
+
+@@ -1103,7 +1103,7 @@
+ [sc_cv_struct_msghdr_msgcontrol=yes],
+ [sc_cv_struct_msghdr_msgcontrol=no])])
+ if test $sc_cv_struct_msghdr_msgcontrol = yes; then
+- AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROL)
++ AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROL, [1], [have struct msgcontrol])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_msghdr_msgcontrol)
+
+@@ -1116,7 +1116,7 @@
+ [sc_cv_struct_msghdr_msgcontrollen=yes],
+ [sc_cv_struct_msghdr_msgcontrollen=no])])
+ if test $sc_cv_struct_msghdr_msgcontrollen = yes; then
+- AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROLLEN)
++ AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROLLEN, [1], [have struct msghdr msgcontrollen])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_msghdr_msgcontrollen)
+
+@@ -1129,7 +1129,7 @@
+ [sc_cv_struct_msghdr_msgflags=yes],
+ [sc_cv_struct_msghdr_msgflags=no])])
+ if test $sc_cv_struct_msghdr_msgflags = yes; then
+- AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGFLAGS)
++ AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGFLAGS, [1], [msgflags])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_msghdr_msgflags)
+
+@@ -1142,7 +1142,7 @@
+ [sc_cv_struct_cmsghdr=yes],
+ [sc_cv_struct_cmsghdr=no])])
+ if test $sc_cv_struct_cmsghdr = yes; then
+- AC_DEFINE(HAVE_STRUCT_CMSGHDR)
++ AC_DEFINE(HAVE_STRUCT_CMSGHDR, [1], [have cmshdr])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_cmsghdr)
+
+@@ -1155,7 +1155,7 @@
+ [sc_cv_struct_in_pktinfo=yes],
+ [sc_cv_struct_in_pktinfo=no])])
+ if test $sc_cv_struct_in_pktinfo = yes; then
+- AC_DEFINE(HAVE_STRUCT_IN_PKTINFO)
++ AC_DEFINE(HAVE_STRUCT_IN_PKTINFO, [1], [pktinfo])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_in_pktinfo)
+
+@@ -1170,7 +1170,7 @@
+ [sc_cv_struct_ip_ip_hl=yes],
+ [sc_cv_struct_ip_ip_hl=no])])
+ if test $sc_cv_struct_ip_ip_hl = yes; then
+- AC_DEFINE(HAVE_STRUCT_IP_IP_HL)
++ AC_DEFINE(HAVE_STRUCT_IP_IP_HL, [1], [foo])
+ fi
+ AC_MSG_RESULT($sc_cv_struct_ip_ip_hl)
+
+@@ -1178,19 +1178,19 @@
+ dnl Library function checks
+
+ dnl Check sigaction()
+-AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_SIGACTION))
++AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_SIGACTION, [1], [foo]))
+
+ dnl Check for 64bit versions of system calls
+-AC_CHECK_FUNC(stat64, AC_DEFINE(HAVE_STAT64))
+-AC_CHECK_FUNC(fstat64, AC_DEFINE(HAVE_FSTAT64))
+-AC_CHECK_FUNC(lstat64, AC_DEFINE(HAVE_LSTAT64))
+-AC_CHECK_FUNC(lseek64, AC_DEFINE(HAVE_LSEEK64))
+-AC_CHECK_FUNC(truncate64, AC_DEFINE(HAVE_TRUNCATE64))
+-AC_CHECK_FUNC(ftruncate64, AC_DEFINE(HAVE_FTRUNCATE64))
+-
+-AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
+-AC_CHECK_FUNC(hstrerror, AC_DEFINE(HAVE_HSTRERROR))
+-AC_CHECK_FUNC(inet_ntop, AC_DEFINE(HAVE_INET_NTOP))
++AC_CHECK_FUNC(stat64, AC_DEFINE(HAVE_STAT64, [1], [foo]))
++AC_CHECK_FUNC(fstat64, AC_DEFINE(HAVE_FSTAT64, [1], [foo]))
++AC_CHECK_FUNC(lstat64, AC_DEFINE(HAVE_LSTAT64, [1], [foo]))
++AC_CHECK_FUNC(lseek64, AC_DEFINE(HAVE_LSEEK64, [1], [foo]))
++AC_CHECK_FUNC(truncate64, AC_DEFINE(HAVE_TRUNCATE64, [1], [foo]))
++AC_CHECK_FUNC(ftruncate64, AC_DEFINE(HAVE_FTRUNCATE64, [1], [foo]))
++
++AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL, [1], [foo]))
++AC_CHECK_FUNC(hstrerror, AC_DEFINE(HAVE_HSTRERROR, [1], [foo]))
++AC_CHECK_FUNC(inet_ntop, AC_DEFINE(HAVE_INET_NTOP, [1], [foo]))
+
+ #if test "$ac_cv_func_hstrerror" = "yes"; then
+ # AC_MSG_CHECKING(if _XOPEN_SOURCE_EXTENDED is helpful)
+@@ -1213,25 +1213,26 @@
+
+ dnl Search for openpty()
+ # MacOS
+-AC_CHECK_FUNC(openpty, AC_DEFINE(HAVE_OPENPTY))
++AC_CHECK_FUNC(openpty, AC_DEFINE(HAVE_OPENPTY, [1], [foo]))
+ # AIX
+ AC_CHECK_LIB(bsd, openpty,
+- [LIBS="-lbsd $LIBS"; AC_DEFINE(HAVE_OPENPTY)])
++ [LIBS="-lbsd $LIBS"; AC_DEFINE(HAVE_OPENPTY, [1], [foo])])
+ # Linux 2.4
+ AC_CHECK_LIB(util, openpty,
+- [LIBS="-lutil $LIBS"; AC_DEFINE(HAVE_OPENPTY)])
++ [LIBS="-lutil $LIBS"; AC_DEFINE(HAVE_OPENPTY, [1], [foo])])
++
+
+ dnl Search for flock()
+ # with Linux it's in libc, with AIX in libbsd
+-AC_CHECK_FUNC(flock, AC_DEFINE(HAVE_FLOCK),
++AC_CHECK_FUNC(flock, AC_DEFINE(HAVE_FLOCK, [1], [have flock]),
+ AC_CHECK_LIB(bsd, flock, [LIBS="-lbsd $LIBS"]))
+
+ dnl Search for setenv()
+-AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV),
++AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV, [1], [have setenv]),
+ AC_CHECK_LIB(isode, setenv, [LIBS="-lisode $LIBS"]))
+
+ dnl Search for unsetenv()
+-AC_CHECK_FUNC(unsetenv, AC_DEFINE(HAVE_UNSETENV))
++AC_CHECK_FUNC(unsetenv, AC_DEFINE(HAVE_UNSETENV, [1], [have unsetenv]))
+
+
+ dnl Run time checks
+@@ -1250,7 +1251,7 @@
+ [ac_cv_have_z_modifier=no],
+ [ac_cv_have_z_modifier=no])])
+ if test $ac_cv_have_z_modifier = yes; then
+- AC_DEFINE(HAVE_FORMAT_Z)
++ AC_DEFINE(HAVE_FORMAT_Z, [1], [have format z])
+ fi
+ AC_MSG_RESULT($ac_cv_have_z_modifier)
+
+@@ -1289,7 +1290,8 @@
+ [AC_MSG_RESULT(please determine $1_SHIFT manually)]
+ )
+ LIBS="$LIBS1"])
+-AC_DEFINE_UNQUOTED($1_SHIFT, ${$2})
++SHIFT_NAME="$1"_SHIFT
++AC_DEFINE_UNQUOTED($SHIFT_NAME, ${$2}, [foo])
+ ])
+
+ AC_SHIFT_OFFSET(CRDLY, sc_cv_sys_crdly_shift)
+@@ -1326,7 +1328,7 @@
+ [$4="0 /* unknown, taking default */"
+ ]) ]) ]) ]) ]) ]) ]) ])
+ CFLAGS="$CFLAGS1" ])
+-AC_DEFINE_UNQUOTED($3, ${$4})
++AC_DEFINE_UNQUOTED($3, ${$4}, [foo])
+ ])
+
+ dnl find what physical type (basic C type) describes the given struct or union
+@@ -1358,7 +1360,7 @@
+ [$5="0 /* unknown, taking default */"
+ ]) ]) ]) ]) ]) ]) ]) ])
+ CFLAGS="$CFLAGS1" ])
+-AC_DEFINE_UNQUOTED($4, ${$5})
++AC_DEFINE_UNQUOTED($4, ${$5}, [foo])
+ ])
+
+ AC_BASIC_TYPE([#include <stdlib.h>], size_t, HAVE_BASIC_SIZE_T, sc_cv_type_sizet_basic)
+@@ -1416,13 +1418,13 @@
+
+ AC_MSG_CHECKING(for /dev/ptmx)
+ if test -c /dev/ptmx; then
+- AC_DEFINE(HAVE_DEV_PTMX, 1)
++ AC_DEFINE(HAVE_DEV_PTMX, 1, [ptmx])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(for /dev/ptc)
+ if test -c /dev/ptc; then
+- AC_DEFINE(HAVE_DEV_PTC)
++ AC_DEFINE(HAVE_DEV_PTC, 1, [ptc])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+@@ -1431,7 +1433,7 @@
+
+ AC_MSG_CHECKING(for /proc)
+ if test -d /proc; then
+- AC_DEFINE(HAVE_PROC_DIR, 1)
++ AC_DEFINE(HAVE_PROC_DIR, 1, [procdir])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+@@ -1439,7 +1441,7 @@
+
+ AC_MSG_CHECKING(for /proc/*/fd)
+ if test -d /proc/$$/fd; then
+- AC_DEFINE(HAVE_PROC_DIR_FD, 1)
++ AC_DEFINE(HAVE_PROC_DIR_FD, 1, [procdir fd])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+@@ -1479,7 +1481,7 @@
+ done])
+ ])
+ if test "$sc_cv_have_tcpd_h" = "yes"; then
+- AC_DEFINE(HAVE_TCPD_H)
++ AC_DEFINE(HAVE_TCPD_H, [1], [have tcpd])
+ fi
+ AC_MSG_NOTICE(checked for tcpd.h... $sc_cv_have_tcpd_h)
+ fi # end checking for tcpd.h
+@@ -1512,14 +1514,14 @@
+ ]
+ )
+ if test "$sc_cv_have_libwrap" = 'yes'; then
+- AC_DEFINE(HAVE_LIBWRAP)
++ AC_DEFINE(HAVE_LIBWRAP, [1], [libwrap])
+ fi
+ AC_MSG_RESULT($sc_cv_have_libwrap)
+ fi
+ #
+ if test -n "$WITH_LIBWRAP"; then
+ if test "$sc_cv_have_tcpd_h" = "yes" -a "$sc_cv_have_libwrap" = "yes"; then
+- AC_DEFINE(WITH_LIBWRAP)
++ AC_DEFINE(WITH_LIBWRAP, [1], [libwrap])
+ else
+ AC_MSG_WARN([not all components of tcp wrappers found, disabling it]);
+ fi
+@@ -1534,7 +1536,7 @@
+ [sc_cv_have_hosts_allow_table=yes],
+ [sc_cv_have_hosts_allow_table=no])])
+ if test $sc_cv_have_hosts_allow_table = yes; then
+- AC_DEFINE(HAVE_HOSTS_ALLOW_TABLE)
++ AC_DEFINE(HAVE_HOSTS_ALLOW_TABLE, [1], [hosts allow table])
+ fi
+ AC_MSG_RESULT($sc_cv_have_hosts_allow_table)
+ fi # test -n "$WITH_LIBWRAP"
diff --git a/meta-oe/recipes-support/socat/socat_1.7.1.2.bb b/meta-oe/recipes-support/socat/socat_1.7.1.2.bb
new file mode 100644
index 0000000..550f223
--- /dev/null
+++ b/meta-oe/recipes-support/socat/socat_1.7.1.2.bb
@@ -0,0 +1,21 @@
+SECTION = "console/network"
+DEPENDS = "openssl"
+DESCRIPTION = "Socat is a relay for bidirectional data \
+transfer between two independent data channels."
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
+PR = "r1"
+
+SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
+ file://compile.patch"
+SRC_URI[md5sum] = "9c0c5e83ce665f38d4d3aababad275eb"
+SRC_URI[sha256sum] = "f7395b154914bdaa49805603aac2a90fb3d60255f95691d7779ab4680615e167"
+
+EXTRA_OECONF = " --disable-termios "
+
+inherit autotools
+
+do_install_prepend () {
+ mkdir -p ${D}${bindir}
+ install -d ${D}${bindir} ${D}${mandir}/man1
+}
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 05/14] mbuffer: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (3 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 04/14] socat: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 06/14] nmon: " Martin Jansa
` (8 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../recipes-support/mbuffer/mbuffer_20091227.bb | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb
diff --git a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb b/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb
new file mode 100644
index 0000000..5dda2fb
--- /dev/null
+++ b/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "mbuffer is a tool for buffering data streams with a large set of unique features."
+HOMEPAGE = "http://www.maier-komor.de/mbuffer.html"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/network"
+PR = "r1"
+
+SRC_URI = "http://www.maier-komor.de/software/mbuffer/mbuffer-20091227.tgz"
+SRC_URI[md5sum] = "191663396b4b1752d7104803631b9e54"
+SRC_URI[sha256sum] = "e708b66f6cec9ba090877e8eb38e5627ac69aea9ebd9bca1360a29c7398a88ce"
+
+inherit autotools
+
+do_configure() {
+ gnu-configize
+ oe_runconf
+}
+
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 06/14] nmon: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (4 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 05/14] mbuffer: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 07/14] libelf: " Martin Jansa
` (7 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta-oe/recipes-support/nmon/nmon_13g.bb | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/nmon/nmon_13g.bb
diff --git a/meta-oe/recipes-support/nmon/nmon_13g.bb b/meta-oe/recipes-support/nmon/nmon_13g.bb
new file mode 100644
index 0000000..ffe5d06
--- /dev/null
+++ b/meta-oe/recipes-support/nmon/nmon_13g.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "nmon performance monitor"
+HOMEPAGE = "http://nmon.sf.net"
+SECTION = "console/utils"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a"
+DEPENDS = "ncurses"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \
+ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \
+"
+
+SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494"
+SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5"
+SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a"
+SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278"
+
+CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM"
+LDFLAGS += "-lncursesw"
+ASNEEDED_pn-nmon = ""
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 nmon ${D}${bindir}
+}
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 07/14] libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (5 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 06/14] nmon: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-30 1:48 ` Khem Raj
2011-05-29 21:56 ` [meta-oe][PATCH 08/14] ltrace: " Martin Jansa
` (6 subsequent siblings)
13 siblings, 1 reply; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta-oe/recipes-support/libelf/libelf_0.8.13.bb | 38 +++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/libelf/libelf_0.8.13.bb
diff --git a/meta-oe/recipes-support/libelf/libelf_0.8.13.bb b/meta-oe/recipes-support/libelf/libelf_0.8.13.bb
new file mode 100644
index 0000000..2ca562f
--- /dev/null
+++ b/meta-oe/recipes-support/libelf/libelf_0.8.13.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "libelf is an ELF object file access library. \
+The elf library provides routines to access, and manipulate, Elf object files."
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
+SECTION = "libs"
+PR = "r1"
+
+SRC_URI = "http://www.mr511.de/software/libelf-${PV}.tar.gz"
+SRC_URI[md5sum] = "4136d7b4c04df68b686570afa26988ac"
+SRC_URI[sha256sum] = "591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d"
+
+inherit autotools
+
+PARALLEL_MAKE = ""
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OECONF_append_virtclass-native = " --enable-static"
+
+do_configure_prepend () {
+ if test ! -e acinclude.m4; then
+ cp aclocal.m4 acinclude.m4
+ fi
+}
+
+do_install () {
+ oe_runmake 'prefix=${D}${prefix}' 'exec_prefix=${D}${exec_prefix}' \
+ 'libdir=${D}${libdir}' 'includedir=${D}${includedir}' \
+ install
+ install -d ${STAGING_INCDIR}/libelf
+ for i in libelf.h nlist.h gelf.h sys_elf.h; do
+ install -m 0644 lib/$i ${STAGING_INCDIR}/libelf/
+ done
+ make includedir=${STAGING_INCDIR} install-compat
+}
+
+BBCLASSEXTEND = "native"
+
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 08/14] ltrace: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (6 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 07/14] libelf: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-30 1:50 ` Khem Raj
2011-05-29 21:56 ` [meta-oe][PATCH 09/14] pxaregs: " Martin Jansa
` (5 subsequent siblings)
13 siblings, 1 reply; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../recipes-support/ltrace/files/add-sysdep.patch | 13 +++
.../ltrace/files/ltrace-compile.patch | 80 +++++++++++++++++++
.../files/ltrace-fix-sysdep_h-dependency.patch | 33 ++++++++
.../ltrace/files/ltrace-mips-remove-CP.patch | 12 +++
.../recipes-support/ltrace/files/ltrace-mips.patch | 36 +++++++++
.../recipes-support/ltrace/files/ltrace-ppc.patch | 11 +++
meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb | 81 ++++++++++++++++++++
7 files changed, 266 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/ltrace/files/add-sysdep.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
create mode 100644 meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
diff --git a/meta-oe/recipes-support/ltrace/files/add-sysdep.patch b/meta-oe/recipes-support/ltrace/files/add-sysdep.patch
new file mode 100644
index 0000000..1d0432f
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/add-sysdep.patch
@@ -0,0 +1,13 @@
+Index: ltrace-0.5.3/Makefile.in
+===================================================================
+--- ltrace-0.5.3.orig/Makefile.in 2009-10-23 22:06:08.130304691 -0700
++++ ltrace-0.5.3/Makefile.in 2009-10-23 22:06:53.160369614 -0700
+@@ -39,6 +39,8 @@ ltrace: main.o libltrace.a
+ libltrace.a: sysdeps/sysdep.o $(OBJ)
+ $(AR) rcv $@ $^
+
++$(OBJ): sysdeps/sysdep.o
++
+ sysdeps/sysdep.o: dummy
+ $(MAKE) -C sysdeps/$(OS)
+
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch b/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
new file mode 100644
index 0000000..4784deb
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
@@ -0,0 +1,80 @@
+Index: ltrace-0.5.3/common.h
+===================================================================
+--- ltrace-0.5.3.orig/common.h 2009-10-23 23:13:45.700282578 -0700
++++ ltrace-0.5.3/common.h 2009-10-23 23:14:13.550371553 -0700
+@@ -1,3 +1,5 @@
++#ifndef COMMON_H
++#define COMMON_H
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <stdio.h>
+@@ -251,3 +253,5 @@ extern void * sym2addr(Process *, struct
+ #if 0 /* not yet */
+ extern int umoven(Process * proc, void * addr, int len, void * laddr);
+ #endif
++#endif
++
+Index: ltrace-0.5.3/configure
+===================================================================
+--- ltrace-0.5.3.orig/configure 2009-10-23 23:13:45.630316494 -0700
++++ ltrace-0.5.3/configure 2009-10-23 23:13:59.672869527 -0700
+@@ -30,7 +30,7 @@ int main () {
+ return cplus_demangle();
+ }
+ EOF
+-if gcc conftest.c -liberty 2>/dev/null
++if $CC conftest.c -liberty 2>/dev/null
+ then
+ HAVE_LIBIBERTY=1
+ echo "yes"
+@@ -48,7 +48,7 @@ int main () {
+ return __cxa_demangle();
+ }
+ EOF
+-if gcc conftest.c -lsupc++ 2>/dev/null
++if $CC conftest.c -lsupc++ 2>/dev/null
+ then
+ HAVE_LIBSUPC__=1
+ echo "yes"
+@@ -67,7 +67,7 @@ int main () {
+ return 0;
+ }
+ EOF
+-if gcc conftest.c 2>/dev/null
++if $CC conftest.c 2>/dev/null
+ then
+ HAVE_ELF_C_READ_MMAP=1
+ echo "yes"
+@@ -77,15 +77,12 @@ else
+ fi
+ rm -f conftest.c a.out
+
+-CC=gcc
+-CPPFLAGS=' -I /usr/include/libelf'
+ CFLAGS='-g -O2'
+ LIBS='-lelf -lsupc++ -liberty '
+-INSTALL='/usr/bin/install -c'
++INSTALL='install -c'
+ iquote='-iquote '
+ iquoteend=''
+
+-prefix=/usr/local
+ sysconfdir='${prefix}/etc'
+ bindir='${prefix}/bin'
+ mandir='${prefix}/share/man'
+Index: ltrace-0.5.3/debug.h
+===================================================================
+--- ltrace-0.5.3.orig/debug.h 2009-10-23 23:13:45.670276809 -0700
++++ ltrace-0.5.3/debug.h 2009-10-23 23:14:26.440319785 -0700
+@@ -1,3 +1,5 @@
++#ifndef DEBUG_H
++#define DEBUG_H
+ #include <features.h>
+
+ /* debug levels:
+@@ -14,4 +16,4 @@ void debug_(int level, const char *file,
+ int xinfdump(long, void *, int);
+
+ # define debug(level, expr...) debug_(level, __FILE__, __LINE__, expr)
+-
++#endif
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch b/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
new file mode 100644
index 0000000..b9e5f7f
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
@@ -0,0 +1,33 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/Makefile
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/Makefile
++++ ltrace-0.5.3/sysdeps/linux-gnu/Makefile
+@@ -12,7 +12,10 @@ CPPFLAGS += -I$(TOPDIR)/sysdeps/linux-gn
+
+ OBJ = events.o trace.o proc.o breakpoint.o
+
+-all: sysdep.h signalent.h syscallent.h arch_syscallent.h signalent1.h syscallent1.h ../sysdep.o
++HDRS = sysdep.h signalent.h syscallent.h arch_syscallent.h \
++ signalent1.h syscallent1.h
++
++all: ../sysdep.o
+
+ sysdep.h: $(ARCH)/arch.h
+ cat $(ARCH)/arch.h > sysdep.h
+@@ -49,12 +52,14 @@ arch_syscallent.h:
+ os.o: $(OBJ)
+ $(CC) -nostdlib -r -o os.o $(OBJ)
+
++$(OBJ): $(HDRS)
++
+ $(ARCH)/arch.o: dummy
+ $(MAKE) -C $(ARCH)
+
+ clean:
+ $(MAKE) -C $(ARCH) clean
+- rm -f $(OBJ) sysdep.h signalent.h signalent1.h syscallent.h arch_syscallent.h
+- rm -f syscallent1.h os.o sysdep.o ../sysdep.o
++ rm -f $(HDRS)
++ rm -f $(OBJ) os.o sysdep.o ../sysdep.o
+
+ dummy:
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch b/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
new file mode 100644
index 0000000..2af193d
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
@@ -0,0 +1,12 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/trace.c 2009-10-23 23:15:59.822783128 -0700
++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c 2009-10-23 23:16:10.441268788 -0700
+@@ -127,7 +127,6 @@ gimme_arg(enum tof type, Process *proc,
+ return ret;
+ } else {
+ // If we need this, I think we can look at [sp+16] for arg_num==4.
+- CP;
+ return 0;
+ }
+ }
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch b/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
new file mode 100644
index 0000000..6df5e21
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
@@ -0,0 +1,36 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:25:59.292780574 -0700
++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:26:22.671522220 -0700
+@@ -1,4 +1,4 @@
+-#include <debug.h>
++#include "debug.h"
+ #include <gelf.h>
+ #include <sys/ptrace.h>
+ #include "common.h"
+Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:25:59.312777529 -0700
++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:26:08.190311896 -0700
+@@ -4,7 +4,6 @@
+ #include <sys/types.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
+-#include <linux/user.h>
+
+ #include "common.h"
+ #include "mipsel.h"
+Index: ltrace-0.5.3/handle_event.c
+===================================================================
+--- ltrace-0.5.3.orig/handle_event.c 2009-10-23 23:29:48.780274445 -0700
++++ ltrace-0.5.3/handle_event.c 2009-10-23 23:37:32.260284055 -0700
+@@ -573,7 +573,8 @@ handle_breakpoint(Event *event) {
+ void *old_addr;
+ struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc;
+ assert(sym);
+- old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr;
++ struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym));
++ old_addr = tbp->addr;
+ addr=sym2addr(event->proc,sym);
+ assert(old_addr !=0 && addr !=0);
+ if(addr != old_addr){
diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch b/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
new file mode 100644
index 0000000..d5ea0f0
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
@@ -0,0 +1,11 @@
+Index: ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c
+===================================================================
+--- ltrace-0.5.3.orig/sysdeps/linux-gnu/ppc/plt.c 2009-11-15 03:46:14.459233772 +0300
++++ ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c 2009-11-15 03:46:25.299232646 +0300
+@@ -1,5 +1,6 @@
+ #include <gelf.h>
+ #include "common.h"
++#include "ptrace.h"
+
+ GElf_Addr
+ arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) {
diff --git a/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb b/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
new file mode 100644
index 0000000..b2f5574
--- /dev/null
+++ b/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "ltrace shows runtime library call information for dynamically linked executables."
+HOMEPAGE = "http://ltrace.alioth.debian.org"
+SECTION = "devel"
+DEPENDS = "libelf binutils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+PR = "r3"
+
+# ltrace is not ported to sh3/sh4 targets at this time
+COMPATIBLE_TARGET_SYS = (?!sh[34])
+
+SRC_URI = "\
+ ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}.orig.tar.gz;name=archive \
+ ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}-2.diff.gz;name=patch \
+ file://add-sysdep.patch \
+ file://ltrace-compile.patch \
+ file://ltrace-mips-remove-CP.patch \
+ file://ltrace-mips.patch \
+ file://ltrace-ppc.patch \
+ file://ltrace-fix-sysdep_h-dependency.patch \
+"
+inherit autotools
+
+export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_INCDIR}"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure_prepend() {
+ case ${TARGET_ARCH} in
+ arm*) ln -sf ./linux-gnu sysdeps/linux-gnueabi ;;
+ mips*) ln -sf ./mipsel sysdeps/linux-gnu/mips ;;
+ esac
+ sed -e 's:uname -m:echo @HOST_CPU@:' \
+ sysdeps/linux-gnu/Makefile > sysdeps/linux-gnu/Makefile.in
+
+}
+
+do_compile() {
+ case ${TARGET_ARCH} in
+ alpha*) LTRACE_ARCH=alpha ;;
+ arm*) LTRACE_ARCH=arm ;;
+ cris*) LTRACE_ARCH=cris ;;
+ hppa*) LTRACE_ARCH=parisc ;;
+ i*86*) LTRACE_ARCH=i386 ;;
+ ia64*) LTRACE_ARCH=ia64 ;;
+ mips*) LTRACE_ARCH=mips ;;
+ m68k*) LTRACE_ARCH=m68k ;;
+ powerpc*) LTRACE_ARCH=ppc ;;
+ s390*) LTRACE_ARCH=s390 ;;
+ sh*) LTRACE_ARCH=sh ;;
+ sparc64*) LTRACE_ARCH=sparc64 ;;
+ sparc*) LTRACE_ARCH=sparc ;;
+ x86_64*) LTRACE_ARCH=x86_64 ;;
+ esac
+ oe_runmake LDFLAGS=${TARGET_LDFLAGS} LIBS="-lsupc++ -liberty -Wl,-Bstatic -lelf -Wl,-Bdynamic" ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH}
+}
+
+do_install() {
+ case ${TARGET_ARCH} in
+ alpha*) LTRACE_ARCH=alpha ;;
+ arm*) LTRACE_ARCH=arm ;;
+ cris*) LTRACE_ARCH=cris ;;
+ hppa*) LTRACE_ARCH=parisc ;;
+ i*86*) LTRACE_ARCH=i386 ;;
+ ia64*) LTRACE_ARCH=ia64 ;;
+ mips*) LTRACE_ARCH=mips ;;
+ m68k*) LTRACE_ARCH=m68k ;;
+ powerpc*) LTRACE_ARCH=ppc ;;
+ s390*) LTRACE_ARCH=s390 ;;
+ sh*) LTRACE_ARCH=sh ;;
+ sparc64*) LTRACE_ARCH=sparc64 ;;
+ sparc*) LTRACE_ARCH=sparc ;;
+ x86_64*) LTRACE_ARCH=x86_64 ;;
+ esac
+ oe_runmake install ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} DESTDIR=${D}
+}
+
+SRC_URI[archive.md5sum] = "3fa7fe715ab879db08bd06d1d59fd90f"
+SRC_URI[archive.sha256sum] = "5c6627d6d5a98a92ca4661cfc16378b182cc46a9ec479ebf7e6121ee3fe2be32"
+SRC_URI[patch.md5sum] = "969baa0900646c0262b2d505b9fef154"
+SRC_URI[patch.sha256sum] = "f647d7c2f2b0d1dbddd632f3a17fef670aed3ebf5fbe6c1633337acac1eba8e3"
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 09/14] pxaregs: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (7 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 08/14] ltrace: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 10/14] serial-utils: " Martin Jansa
` (4 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../recipes-support/pxaregs/pxaregs-1.14/Makefile | 3 ++
.../recipes-support/pxaregs/pxaregs-1.14/i2c.patch | 15 ++++++++++++
.../pxaregs/pxaregs-1.14/munmap.patch | 22 +++++++++++++++++
.../pxaregs/pxaregs-1.14/serial.patch | 14 +++++++++++
.../recipes-support/pxaregs/pxaregs-1.14/usb.patch | 17 +++++++++++++
meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb | 25 ++++++++++++++++++++
6 files changed, 96 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
create mode 100644 meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile
new file mode 100644
index 0000000..00b7d52
--- /dev/null
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile
@@ -0,0 +1,3 @@
+
+
+all: pxaregs
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
new file mode 100644
index 0000000..36983ec
--- /dev/null
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
@@ -0,0 +1,15 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -21,10 +21,6 @@
+ #include <fcntl.h>
+ #include <ctype.h>
+
+-#include <linux/i2c.h>
+-#include <linux/i2c-dev.h>
+-
+-
+ // fd for /dev/mem
+ static int fd = -1;
+
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
new file mode 100644
index 0000000..a9c4b95
--- /dev/null
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
@@ -0,0 +1,22 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -1794,7 +1794,7 @@ static int getmem(u32 addr)
+ regaddr = map + (addr & MAP_MASK);
+
+ val = *(u32*) regaddr;
+- munmap(0,MAP_SIZE);
++ munmap(map,MAP_SIZE);
+
+ return val;
+ }
+@@ -1829,7 +1829,7 @@ static void putmem(u32 addr, u32 val)
+ regaddr = map + (addr & MAP_MASK);
+
+ *(u32*) regaddr = val;
+- munmap(0,MAP_SIZE);
++ munmap(map,MAP_SIZE);
+ }
+
+ static u32 lastaddr = 0;
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
new file mode 100644
index 0000000..0685385
--- /dev/null
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
@@ -0,0 +1,14 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -78,6 +78,9 @@ static struct reg_info regs[] = {
+ { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" },
+ { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" },
+
++{ "HW_MCR", 0x41600010, 0, 0xffffffff, 'x', "HWUART Modem Control Register" },
++{ "HW_MSR", 0x41600018, 0, 0xffffffff, 'x', "HWUART Modem Status Register" },
++
+ { "PMCR", 0x40F00000, 0, 0xffffffff, 'x', "Power Manager Control Register (3-23)" },
+ { "PMCR_IDAE", 0x40F00000, 0, 0x00000001, 'd', "PM imprecise data abort abort signal" },
+
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
new file mode 100644
index 0000000..59f21fe
--- /dev/null
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
@@ -0,0 +1,17 @@
+Index: pxaregs-1.14/pxaregs.c
+===================================================================
+--- pxaregs-1.14.orig/pxaregs.c
++++ pxaregs-1.14/pxaregs.c
+@@ -78,6 +78,12 @@ static struct reg_info regs[] = {
+ { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" },
+ { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" },
+
++{ "UP2OCR", 0x40600020, 0, 0xffffffff, 'x', "USB Port 2 Output Control Register" },
++{ "UP2OCR_SEOS", 0x40600020, 24, 7, 'x', "USB Port 2 Single-Ended Output Select" },
++{ "UP2OCR_HXOE", 0x40600020, 17, 1, 'x', "USB Port 2 Tranceiver OE" },
++{ "UP2OCR_HXS", 0x40600020, 16, 1, 'x', "USB Port 2 Tranceiver Output Select" },
++{ "UP2OCR_IDON", 0x40600020, 10, 1, 'x', "OTG ID Read Enable" },
++
+ { "HW_MCR", 0x41600010, 0, 0xffffffff, 'x', "HWUART Modem Control Register" },
+ { "HW_MSR", 0x41600018, 0, 0xffffffff, 'x', "HWUART Modem Status Register" },
+
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb b/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
new file mode 100644
index 0000000..d5a5b4b
--- /dev/null
+++ b/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Tool to display and modify PXA registers at runtime"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://pxaregs.c;endline=12;md5=2cb6b33300eacdec4d7299bc42533740"
+AUTHOR = "Holger Schurig <hs4233@mail.mn-solutions.de>"
+HOMEPAGE = "http://www.mn-logistik.de/unsupported/pxa250/"
+
+SRC_URI = "http://www.mn-logistik.de/unsupported/pxa250/pxaregs.c \
+ file://i2c.patch \
+ file://munmap.patch \
+ file://serial.patch \
+ file://usb.patch "
+
+S = "${WORKDIR}"
+
+do_compile() {
+ ${CC} pxaregs.c -o pxaregs ${CFLAGS} ${LDFLAGS}
+}
+
+do_install() {
+ install -d ${D}${sbindir}/
+ install -m 0755 pxaregs ${D}${sbindir}/
+}
+
+SRC_URI[md5sum] = "a43baa88842cd5926dbffb6fb87624f6"
+SRC_URI[sha256sum] = "f339b91cd8ab348052c36b36d20033e4bffc3666bc836ff72d5704f025e1c057"
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 10/14] serial-utils: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (8 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 09/14] pxaregs: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 11/14] tcp-wrappers: " Martin Jansa
` (3 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../serial-utils/pty-forward-native.bb | 21 ++++++++++++++++++++
.../serial-utils/serial-forward_git.bb | 13 ++++++++++++
2 files changed, 34 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/serial-utils/pty-forward-native.bb
create mode 100644 meta-oe/recipes-support/serial-utils/serial-forward_git.bb
diff --git a/meta-oe/recipes-support/serial-utils/pty-forward-native.bb b/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
new file mode 100644
index 0000000..72dfa22
--- /dev/null
+++ b/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Receive a forwarded serial from serial-forward and provide a PTY"
+AUTHOR = "Holger 'Zecke' Freyther"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
+SECTION = "console/network"
+SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec"
+PV = "1.1+gitr${SRCPV}"
+PR = "r0"
+
+SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia.git;protocol=git"
+S = "${WORKDIR}/git/tools/serial_forward"
+
+inherit autotools native
+
+do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0755 ${S}/src/pty_forward ${DEPLOY_DIR_IMAGE}/pty-forward
+}
+
+addtask deploy before do_package after do_install
diff --git a/meta-oe/recipes-support/serial-utils/serial-forward_git.bb b/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
new file mode 100644
index 0000000..0e4ec44
--- /dev/null
+++ b/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Forward a serial using TCP/IP"
+AUTHOR = "Holger 'Zecke' Freyther'"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
+SECTION = "console/devel"
+SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec"
+PV = "1.1+gitr${SRCPV}"
+PR = "r0"
+
+SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia.git/;protocol=git"
+S = "${WORKDIR}/git/tools/serial_forward"
+
+inherit autotools
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 11/14] tcp-wrappers: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (9 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 10/14] serial-utils: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 12/14] nfs-utils: " Martin Jansa
` (2 subsequent siblings)
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../tcp-wrappers-7.6/00_man_quoting.diff | 75 ++
.../tcp-wrappers-7.6/01_man_portability.patch | 248 ++++
.../tcp-wrappers-7.6/05_wildcard_matching.patch | 103 ++
.../tcp-wrappers-7.6/06_fix_gethostbyname.patch | 30 +
.../tcp-wrappers-7.6/10_usagi-ipv6.patch | 1253 ++++++++++++++++++++
.../tcp-wrappers-7.6/11_tcpd_blacklist.patch | 151 +++
.../tcp-wrappers-7.6/11_usagi_fix.patch | 45 +
.../tcp-wrappers-7.6/12_makefile_config.patch | 81 ++
.../tcp-wrappers-7.6/13_shlib_weaksym.patch | 253 ++++
.../tcp-wrappers-7.6/14_cidr_support.patch | 66 +
.../tcp-wrappers-7.6/15_match_clarify.patch | 12 +
.../tcp-wrappers-7.6/expand_remote_port.patch | 71 ++
.../tcp-wrappers-7.6/have_strerror.patch | 19 +
.../tcp-wrappers/tcp-wrappers-7.6/ldflags.patch | 55 +
.../tcp-wrappers-7.6/man_fromhost.patch | 21 +
.../tcp-wrappers-7.6/restore_sigalarm.patch | 37 +
.../tcp-wrappers/tcp-wrappers-7.6/rfc931.diff | 39 +
.../tcp-wrappers/tcp-wrappers-7.6/safe_finger.8 | 34 +
.../tcp-wrappers-7.6/safe_finger.patch | 29 +
.../tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch | 34 +
.../tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch | 30 +
.../tcp-wrappers/tcp-wrappers-7.6/size_t.patch | 42 +
.../tcp-wrappers-7.6/tcpdchk_libwrapped.patch | 39 +
.../tcp-wrappers/tcp-wrappers-7.6/try-from.8 | 28 +
.../tcp-wrappers/tcp-wrappers_7.6.bb | 111 ++
25 files changed, 2906 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/size_t.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/try-from.8
create mode 100644 meta-oe/recipes-support/tcp-wrappers/tcp-wrappers_7.6.bb
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff
new file mode 100644
index 0000000..ff60a84
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff
@@ -0,0 +1,75 @@
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 1995-01-30 19:51:47.000000000 +0100
++++ tcp_wrappers_7.6/hosts_access.5 2004-04-09 16:59:45.000000000 +0200
+@@ -173,7 +173,7 @@
+ Patterns like these can be used when the machine has different internet
+ addresses with different internet hostnames. Service providers can use
+ this facility to offer FTP, GOPHER or WWW archives with internet names
+-that may even belong to different organizations. See also the `twist'
++that may even belong to different organizations. See also the `twist\'
+ option in the hosts_options(5) document. Some systems (Solaris,
+ FreeBSD) can have more than one internet address on one physical
+ interface; with other systems you may have to resort to SLIP or PPP
+@@ -236,10 +236,10 @@
+ Before accepting a client request, the wrappers can use the IDENT
+ service to find out that the client did not send the request at all.
+ When the client host provides IDENT service, a negative IDENT lookup
+-result (the client matches `UNKNOWN@host') is strong evidence of a host
++result (the client matches `UNKNOWN@host\') is strong evidence of a host
+ spoofing attack.
+ .PP
+-A positive IDENT lookup result (the client matches `KNOWN@host') is
++A positive IDENT lookup result (the client matches `KNOWN@host\') is
+ less trustworthy. It is possible for an intruder to spoof both the
+ client connection and the IDENT lookup, although doing so is much
+ harder than spoofing just a client connection. It may also be that
+diff -ruN tcp_wrappers_7.6.orig/hosts_options.5 tcp_wrappers_7.6/hosts_options.5
+--- tcp_wrappers_7.6.orig/hosts_options.5 1994-12-28 17:42:29.000000000 +0100
++++ tcp_wrappers_7.6/hosts_options.5 2004-04-09 16:59:49.000000000 +0200
+@@ -124,7 +124,7 @@
+ value is taken.
+ .SH MISCELLANEOUS
+ .IP "banners /some/directory"
+-Look for a file in `/some/directory' with the same name as the daemon
++Look for a file in `/some/directory\' with the same name as the daemon
+ process (for example in.telnetd for the telnet service), and copy its
+ contents to the client. Newline characters are replaced by
+ carriage-return newline, and %<letter> sequences are expanded (see
+diff -ruN tcp_wrappers_7.6.orig/tcpdmatch.8 tcp_wrappers_7.6/tcpdmatch.8
+--- tcp_wrappers_7.6.orig/tcpdmatch.8 1996-02-11 17:01:36.000000000 +0100
++++ tcp_wrappers_7.6/tcpdmatch.8 2004-04-09 17:00:49.000000000 +0200
+@@ -26,7 +26,7 @@
+ A daemon process name. Typically, the last component of a daemon
+ executable pathname.
+ .IP client
+-A host name or network address, or one of the `unknown' or `paranoid'
++A host name or network address, or one of the `unknown\' or `paranoid\'
+ wildcard patterns.
+ .sp
+ When a client host name is specified, \fItcpdmatch\fR gives a
+@@ -37,13 +37,13 @@
+ .PP
+ Optional information specified with the \fIdaemon@server\fR form:
+ .IP server
+-A host name or network address, or one of the `unknown' or `paranoid'
+-wildcard patterns. The default server name is `unknown'.
++A host name or network address, or one of the `unknown\' or `paranoid\'
++wildcard patterns. The default server name is `unknown\'.
+ .PP
+ Optional information specified with the \fIuser@client\fR form:
+ .IP user
+ A client user identifier. Typically, a login name or a numeric userid.
+-The default user name is `unknown'.
++The default user name is `unknown\'.
+ .SH OPTIONS
+ .IP -d
+ Examine \fIhosts.allow\fR and \fIhosts.deny\fR files in the current
+@@ -70,7 +70,7 @@
+ .ti +5
+ tcpdmatch in.telnetd paranoid
+ .PP
+-On some systems, daemon names have no `in.' prefix, or \fItcpdmatch\fR
++On some systems, daemon names have no `in.\' prefix, or \fItcpdmatch\fR
+ may need some help to locate the inetd configuration file.
+ .SH FILES
+ .PP
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch
new file mode 100644
index 0000000..4963f82
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch
@@ -0,0 +1,248 @@
+diff -ruNp tcp_wrappers_7.6.orig/hosts_access.3 tcp_wrappers_7.6/hosts_access.3
+--- tcp_wrappers_7.6.orig/hosts_access.3 2005-03-09 18:30:25.000000000 +0100
++++ tcp_wrappers_7.6/hosts_access.3 2005-03-09 18:27:03.000000000 +0100
+@@ -3,7 +3,7 @@
+ hosts_access, hosts_ctl, request_init, request_set \- access control library
+ .SH SYNOPSIS
+ .nf
+-#include "tcpd.h"
++#include <tcpd.h>
+
+ extern int allow_severity;
+ extern int deny_severity;
+diff -ruNp tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2005-03-09 18:30:25.000000000 +0100
++++ tcp_wrappers_7.6/hosts_access.5 2005-03-09 18:30:18.000000000 +0100
+@@ -8,9 +8,9 @@ name, host name/address) patterns. Exam
+ impatient reader is encouraged to skip to the EXAMPLES section for a
+ quick introduction.
+ .PP
+-An extended version of the access control language is described in the
+-\fIhosts_options\fR(5) document. The extensions are turned on at
+-program build time by building with -DPROCESS_OPTIONS.
++The extended version of the access control language is described in the
++\fIhosts_options\fR(5) document. \fBNote that this language supersedes
++the meaning of \fIshell_command\fB as documented below.\fR
+ .PP
+ In the following text, \fIdaemon\fR is the the process name of a
+ network daemon process, and \fIclient\fR is the name and/or address of
+@@ -346,8 +346,8 @@ in.tftpd: LOCAL, .my.domain
+ /etc/hosts.deny:
+ .in +3
+ .nf
+-in.tftpd: ALL: (/some/where/safe_finger -l @%h | \\
+- /usr/ucb/mail -s %d-%h root) &
++in.tftpd: ALL: (/usr/sbin/safe_finger -l @%h | \\
++ /usr/bin/mail -s %d-%h root) &
+ .fi
+ .PP
+ The safe_finger command comes with the tcpd wrapper and should be
+@@ -383,6 +383,7 @@ that shouldn\'t. All problems are repor
+ .fi
+ .SH SEE ALSO
+ .nf
++hosts_options(5) extended syntax.
+ tcpd(8) tcp/ip daemon wrapper program.
+ tcpdchk(8), tcpdmatch(8), test programs.
+ .SH BUGS
+diff -ruNp tcp_wrappers_7.6.orig/hosts_options.5 tcp_wrappers_7.6/hosts_options.5
+--- tcp_wrappers_7.6.orig/hosts_options.5 2005-03-09 18:30:24.000000000 +0100
++++ tcp_wrappers_7.6/hosts_options.5 2005-03-09 18:27:03.000000000 +0100
+@@ -2,10 +2,8 @@
+ .SH NAME
+ hosts_options \- host access control language extensions
+ .SH DESCRIPTION
+-This document describes optional extensions to the language described
+-in the hosts_access(5) document. The extensions are enabled at program
+-build time. For example, by editing the Makefile and turning on the
+-PROCESS_OPTIONS compile-time option.
++This document describes extensions to the language described
++in the hosts_access(5) document.
+ .PP
+ The extensible language uses the following format:
+ .sp
+@@ -58,12 +56,12 @@ Notice the leading dot on the domain nam
+ Execute, in a child process, the specified shell command, after
+ performing the %<letter> expansions described in the hosts_access(5)
+ manual page. The command is executed with stdin, stdout and stderr
+-connected to the null device, so that it won\'t mess up the
++connected to the null device, so that it won't mess up the
+ conversation with the client host. Example:
+ .sp
+ .nf
+ .ti +3
+-spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) &
++spawn (/usr/sbin/safe_finger -l @%h | /usr/bin/mail root) &
+ .fi
+ .sp
+ executes, in a background child process, the shell command "safe_finger
+diff -ruNp tcp_wrappers_7.6.orig/inetcf.c tcp_wrappers_7.6/inetcf.c
+--- tcp_wrappers_7.6.orig/inetcf.c 1997-02-12 02:13:24.000000000 +0100
++++ tcp_wrappers_7.6/inetcf.c 2005-03-09 18:27:03.000000000 +0100
+@@ -26,13 +26,17 @@ extern void exit();
+ * guesses. Shorter names follow longer ones.
+ */
+ char *inet_files[] = {
++#if 0
+ "/private/etc/inetd.conf", /* NEXT */
+ "/etc/inet/inetd.conf", /* SYSV4 */
+ "/usr/etc/inetd.conf", /* IRIX?? */
++#endif
+ "/etc/inetd.conf", /* BSD */
++#if 0
+ "/etc/net/tlid.conf", /* SYSV4?? */
+ "/etc/saf/tlid.conf", /* SYSV4?? */
+ "/etc/tlid.conf", /* SYSV4?? */
++#endif
+ 0,
+ };
+
+diff -ruNp tcp_wrappers_7.6.orig/tcpd.8 tcp_wrappers_7.6/tcpd.8
+--- tcp_wrappers_7.6.orig/tcpd.8 1996-02-21 16:39:16.000000000 +0100
++++ tcp_wrappers_7.6/tcpd.8 2005-03-09 18:27:03.000000000 +0100
+@@ -12,7 +12,11 @@ The program supports both 4.3BSD-style s
+ TLI. Functionality may be limited when the protocol underneath TLI is
+ not an internet protocol.
+ .PP
+-Operation is as follows: whenever a request for service arrives, the
++There are two possible modes of operation: execution of \fItcpd\fP
++before a service started by \fIinetd\fP, or linking a daemon with
++the \fIlibwrap\fP shared library as documented in the \fIhosts_access\fR(3)
++manual page. Operation when started by \fIinetd\fP
++is as follows: whenever a request for service arrives, the
+ \fIinetd\fP daemon is tricked into running the \fItcpd\fP program
+ instead of the desired server. \fItcpd\fP logs the request and does
+ some additional checks. When all is well, \fItcpd\fP runs the
+@@ -88,11 +92,11 @@ configuration files.
+ .sp
+ .in +5
+ # mkdir /other/place
+-# mv /usr/etc/in.fingerd /other/place
+-# cp tcpd /usr/etc/in.fingerd
++# mv /usr/sbin/in.fingerd /other/place
++# cp tcpd /usr/sbin/in.fingerd
+ .fi
+ .PP
+-The example assumes that the network daemons live in /usr/etc. On some
++The example assumes that the network daemons live in /usr/sbin. On some
+ systems, network daemons live in /usr/sbin or in /usr/libexec, or have
+ no `in.\' prefix to their name.
+ .SH EXAMPLE 2
+@@ -101,35 +105,34 @@ are left in their original place.
+ .PP
+ In order to monitor access to the \fIfinger\fR service, perform the
+ following edits on the \fIinetd\fR configuration file (usually
+-\fI/etc/inetd.conf\fR or \fI/etc/inet/inetd.conf\fR):
++\fI/etc/inetd.conf\fR):
+ .nf
+ .sp
+ .ti +5
+-finger stream tcp nowait nobody /usr/etc/in.fingerd in.fingerd
++finger stream tcp nowait nobody /usr/sbin/in.fingerd in.fingerd
+ .sp
+ becomes:
+ .sp
+ .ti +5
+-finger stream tcp nowait nobody /some/where/tcpd in.fingerd
++finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
+ .sp
+ .fi
+ .PP
+-The example assumes that the network daemons live in /usr/etc. On some
++The example assumes that the network daemons live in /usr/sbin. On some
+ systems, network daemons live in /usr/sbin or in /usr/libexec, the
+ daemons have no `in.\' prefix to their name, or there is no userid
+ field in the inetd configuration file.
+ .PP
+ Similar changes will be needed for the other services that are to be
+ covered by \fItcpd\fR. Send a `kill -HUP\' to the \fIinetd\fR(8)
+-process to make the changes effective. AIX users may also have to
+-execute the `inetimp\' command.
++process to make the changes effective.
+ .SH EXAMPLE 3
+ In the case of daemons that do not live in a common directory ("secret"
+ or otherwise), edit the \fIinetd\fR configuration file so that it
+ specifies an absolute path name for the process name field. For example:
+ .nf
+ .sp
+- ntalk dgram udp wait root /some/where/tcpd /usr/local/lib/ntalkd
++ ntalk dgram udp wait root /usr/sbin/tcpd /usr/local/lib/ntalkd
+ .sp
+ .fi
+ .PP
+@@ -164,6 +167,7 @@ The default locations of the host access
+ .SH SEE ALSO
+ .na
+ .nf
++hosts_access(3), functions provided by the libwrap library.
+ hosts_access(5), format of the tcpd access control tables.
+ syslog.conf(5), format of the syslogd control file.
+ inetd.conf(5), format of the inetd control file.
+diff -ruNp tcp_wrappers_7.6.orig/tcpdchk.8 tcp_wrappers_7.6/tcpdchk.8
+--- tcp_wrappers_7.6.orig/tcpdchk.8 1995-01-08 17:00:31.000000000 +0100
++++ tcp_wrappers_7.6/tcpdchk.8 2005-03-09 18:27:03.000000000 +0100
+@@ -9,8 +9,8 @@ tcpdchk [-a] [-d] [-i inet_conf] [-v]
+ potential and real problems it can find. The program examines the
+ \fItcpd\fR access control files (by default, these are
+ \fI/etc/hosts.allow\fR and \fI/etc/hosts.deny\fR), and compares the
+-entries in these files against entries in the \fIinetd\fR or \fItlid\fR
+-network configuration files.
++entries in these files against entries in the \fIinetd\fR
++network configuration file.
+ .PP
+ \fItcpdchk\fR reports problems such as non-existent pathnames; services
+ that appear in \fItcpd\fR access control rules, but are not controlled
+@@ -26,14 +26,13 @@ problem.
+ .SH OPTIONS
+ .IP -a
+ Report access control rules that permit access without an explicit
+-ALLOW keyword. This applies only when the extended access control
+-language is enabled (build with -DPROCESS_OPTIONS).
++ALLOW keyword.
+ .IP -d
+ Examine \fIhosts.allow\fR and \fIhosts.deny\fR files in the current
+ directory instead of the default ones.
+ .IP "-i inet_conf"
+ Specify this option when \fItcpdchk\fR is unable to find your
+-\fIinetd.conf\fR or \fItlid.conf\fR network configuration file, or when
++\fIinetd.conf\fR network configuration file, or when
+ you suspect that the program uses the wrong one.
+ .IP -v
+ Display the contents of each access control rule. Daemon lists, client
+@@ -54,7 +53,6 @@ tcpdmatch(8), explain what tcpd would do
+ hosts_access(5), format of the tcpd access control tables.
+ hosts_options(5), format of the language extensions.
+ inetd.conf(5), format of the inetd control file.
+-tlid.conf(5), format of the tlid control file.
+ .SH AUTHORS
+ .na
+ .nf
+diff -ruNp tcp_wrappers_7.6.orig/tcpdmatch.8 tcp_wrappers_7.6/tcpdmatch.8
+--- tcp_wrappers_7.6.orig/tcpdmatch.8 2005-03-09 18:30:24.000000000 +0100
++++ tcp_wrappers_7.6/tcpdmatch.8 2005-03-09 18:27:03.000000000 +0100
+@@ -13,7 +13,7 @@ request for service. Examples are given
+ The program examines the \fItcpd\fR access control tables (default
+ \fI/etc/hosts.allow\fR and \fI/etc/hosts.deny\fR) and prints its
+ conclusion. For maximal accuracy, it extracts additional information
+-from your \fIinetd\fR or \fItlid\fR network configuration file.
++from your \fIinetd\fR network configuration file.
+ .PP
+ When \fItcpdmatch\fR finds a match in the access control tables, it
+ identifies the matched rule. In addition, it displays the optional
+@@ -50,7 +50,7 @@ Examine \fIhosts.allow\fR and \fIhosts.d
+ directory instead of the default ones.
+ .IP "-i inet_conf"
+ Specify this option when \fItcpdmatch\fR is unable to find your
+-\fIinetd.conf\fR or \fItlid.conf\fR network configuration file, or when
++\fIinetd.conf\fR network configuration file, or when
+ you suspect that the program uses the wrong one.
+ .SH EXAMPLES
+ To predict how \fItcpd\fR would handle a telnet request from the local
+@@ -86,7 +86,6 @@ tcpdchk(8), tcpd configuration checker
+ hosts_access(5), format of the tcpd access control tables.
+ hosts_options(5), format of the language extensions.
+ inetd.conf(5), format of the inetd control file.
+-tlid.conf(5), format of the tlid control file.
+ .SH AUTHORS
+ .na
+ .nf
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch
new file mode 100644
index 0000000..a168f6d
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch
@@ -0,0 +1,103 @@
+See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=17847
+
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 18:54:33.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 18:54:27.000000000 +0200
+@@ -89,6 +89,10 @@
+ bitwise AND of the address and the `mask\'. For example, the net/mask
+ pattern `131.155.72.0/255.255.254.0\' matches every address in the
+ range `131.155.72.0\' through `131.155.73.255\'.
++.IP \(bu
++Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
++method of matching cannot be used in conjunction with `net/mask\' matching,
++hostname matching beginning with `.\' or IP address matching ending with `.\'.
+ .SH WILDCARDS
+ The access control language supports explicit wildcards:
+ .IP ALL
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
+--- tcp_wrappers_7.6.orig/hosts_access.c 1997-02-12 02:13:23.000000000 +0100
++++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 18:52:21.000000000 +0200
+@@ -289,6 +289,11 @@
+ {
+ int n;
+
++#ifndef DISABLE_WILDCARD_MATCHING
++ if (strchr(tok, '*') || strchr(tok,'?')) { /* contains '*' or '?' */
++ return (match_pattern_ylo(string,tok));
++ } else
++#endif
+ if (tok[0] == '.') { /* suffix */
+ n = strlen(string) - strlen(tok);
+ return (n > 0 && STR_EQ(tok, string + n));
+@@ -329,3 +334,71 @@
+ }
+ return ((addr & mask) == net);
+ }
++
++#ifndef DISABLE_WILDCARD_MATCHING
++/* Note: this feature has been adapted in a pretty straightforward way
++ from Tatu Ylonen's last SSH version under free license by
++ Pekka Savola <pekkas@netcore.fi>.
++
++ Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
++*/
++
++/* Returns true if the given string matches the pattern (which may contain
++ ? and * as wildcards), and zero if it does not match. */
++
++int match_pattern_ylo(const char *s, const char *pattern)
++{
++ while (1)
++ {
++ /* If at end of pattern, accept if also at end of string. */
++ if (!*pattern)
++ return !*s;
++
++ /* Process '*'. */
++ if (*pattern == '*')
++ {
++ /* Skip the asterisk. */
++ pattern++;
++
++ /* If at end of pattern, accept immediately. */
++ if (!*pattern)
++ return 1;
++
++ /* If next character in pattern is known, optimize. */
++ if (*pattern != '?' && *pattern != '*')
++ {
++ /* Look instances of the next character in pattern, and try
++ to match starting from those. */
++ for (; *s; s++)
++ if (*s == *pattern &&
++ match_pattern_ylo(s + 1, pattern + 1))
++ return 1;
++ /* Failed. */
++ return 0;
++ }
++
++ /* Move ahead one character at a time and try to match at each
++ position. */
++ for (; *s; s++)
++ if (match_pattern_ylo(s, pattern))
++ return 1;
++ /* Failed. */
++ return 0;
++ }
++
++ /* There must be at least one more character in the string. If we are
++ at the end, fail. */
++ if (!*s)
++ return 0;
++
++ /* Check if the next character of the string is acceptable. */
++ if (*pattern != '?' && *pattern != *s)
++ return 0;
++
++ /* Move to the next character, both in string and in pattern. */
++ s++;
++ pattern++;
++ }
++ /*NOTREACHED*/
++}
++#endif /* DISABLE_WILDCARD_MATCHING */
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch
new file mode 100644
index 0000000..d06aaef
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch
@@ -0,0 +1,30 @@
+* Mon Feb 5 2001 Preston Brown <pbrown@redhat.com>
+- fix gethostbyname to work better with dot "." notation (#16949)
+
+--- tcp_wrappers_7.6/socket.c.fixgethostbyname Fri Mar 21 13:27:25 1997
++++ tcp_wrappers_7.6/socket.c Mon Feb 5 14:09:40 2001
+@@ -52,7 +52,8 @@
+ char *name;
+ {
+ char dot_name[MAXHOSTNAMELEN + 1];
+-
++ struct hostent *hp;
++
+ /*
+ * Don't append dots to unqualified names. Such names are likely to come
+ * from local hosts files or from NIS.
+@@ -61,8 +62,12 @@
+ if (strchr(name, '.') == 0 || strlen(name) >= MAXHOSTNAMELEN - 1) {
+ return (gethostbyname(name));
+ } else {
+- sprintf(dot_name, "%s.", name);
+- return (gethostbyname(dot_name));
++ sprintf(dot_name, "%s.", name);
++ hp = gethostbyname(dot_name);
++ if (hp)
++ return hp;
++ else
++ return (gethostbyname(name));
+ }
+ }
+
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch
new file mode 100644
index 0000000..5c8be5c
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch
@@ -0,0 +1,1253 @@
+diff -ruN tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
+--- tcp_wrappers_7.6.orig/fix_options.c 1997-04-08 02:29:19.000000000 +0200
++++ tcp_wrappers_7.6/fix_options.c 2004-04-10 19:07:43.000000000 +0200
+@@ -11,6 +11,9 @@
+
+ #include <sys/types.h>
+ #include <sys/param.h>
++#ifdef INET6
++#include <sys/socket.h>
++#endif
+ #include <netinet/in.h>
+ #include <netinet/in_systm.h>
+ #include <netinet/ip.h>
+@@ -41,6 +44,22 @@
+ unsigned int opt;
+ int optlen;
+ struct in_addr dummy;
++#ifdef INET6
++ struct sockaddr_storage ss;
++ int sslen;
++
++ /*
++ * check if this is AF_INET socket
++ * XXX IPv6 support?
++ */
++ sslen = sizeof(ss);
++ if (getsockname(fd, (struct sockaddr *)&ss, &sslen) < 0) {
++ syslog(LOG_ERR, "getpeername: %m");
++ clean_exit(request);
++ }
++ if (ss.ss_family != AF_INET)
++ return;
++#endif
+
+ if ((ip = getprotobyname("ip")) != 0)
+ ipproto = ip->p_proto;
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 19:22:58.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 19:07:43.000000000 +0200
+@@ -85,11 +85,18 @@
+ for daemon process names or for client user names.
+ .IP \(bu
+ An expression of the form `n.n.n.n/m.m.m.m\' is interpreted as a
+-`net/mask\' pair. A host address is matched if `net\' is equal to the
++`net/mask\' pair. An IPv4 host address is matched if `net\' is equal to the
+ bitwise AND of the address and the `mask\'. For example, the net/mask
+ pattern `131.155.72.0/255.255.254.0\' matches every address in the
+ range `131.155.72.0\' through `131.155.73.255\'.
+ .IP \(bu
++An expression of the form `[n:n:n:n:n:n:n:n]/m\' is interpreted as a
++`[net]/prefixlen\' pair. An IPv6 host address is matched if
++`prefixlen\' bits of `net\' is equal to the `prefixlen\' bits of the
++address. For example, the [net]/prefixlen pattern
++`[3ffe:505:2:1::]/64\' matches every address in the range
++`3ffe:505:2:1::\' through `3ffe:505:2:1:ffff:ffff:ffff:ffff\'.
++.IP \(bu
+ Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
+ method of matching cannot be used in conjunction with `net/mask\' matching,
+ hostname matching beginning with `.\' or IP address matching ending with `.\'.
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
+--- tcp_wrappers_7.6.orig/hosts_access.c 2004-04-10 19:22:58.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 19:07:43.000000000 +0200
+@@ -24,7 +24,13 @@
+ /* System libraries. */
+
+ #include <sys/types.h>
++#ifdef INT32_T
++ typedef uint32_t u_int32_t;
++#endif
+ #include <sys/param.h>
++#ifdef INET6
++#include <sys/socket.h>
++#endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
+@@ -33,6 +39,9 @@
+ #include <errno.h>
+ #include <setjmp.h>
+ #include <string.h>
++#ifdef INET6
++#include <netdb.h>
++#endif
+
+ extern char *fgets();
+ extern int errno;
+@@ -82,6 +91,10 @@
+ static int host_match();
+ static int string_match();
+ static int masked_match();
++#ifdef INET6
++static int masked_match4();
++static int masked_match6();
++#endif
+
+ /* Size of logical line buffer. */
+
+@@ -289,6 +302,13 @@
+ {
+ int n;
+
++#ifdef INET6
++ /* convert IPv4 mapped IPv6 address to IPv4 address */
++ if (STRN_EQ(string, "::ffff:", 7)
++ && dot_quad_addr(string + 7) != INADDR_NONE) {
++ string += 7;
++ }
++#endif
+ #ifndef DISABLE_WILDCARD_MATCHING
+ if (strchr(tok, '*') || strchr(tok,'?')) { /* contains '*' or '?' */
+ return (match_pattern_ylo(string,tok));
+@@ -304,20 +324,72 @@
+ } else if (tok[(n = strlen(tok)) - 1] == '.') { /* prefix */
+ return (STRN_EQ(tok, string, n));
+ } else { /* exact match */
++#ifdef INET6
++ struct addrinfo hints, *res;
++ struct sockaddr_in6 pat, addr;
++ int len, ret;
++ char ch;
++
++ len = strlen(tok);
++ if (*tok == '[' && tok[len - 1] == ']') {
++ ch = tok[len - 1];
++ tok[len - 1] = '\0';
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = AF_INET6;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
++ if ((ret = getaddrinfo(tok + 1, NULL, &hints, &res)) == 0) {
++ memcpy(&pat, res->ai_addr, sizeof(pat));
++ freeaddrinfo(res);
++ }
++ tok[len - 1] = ch;
++ if (ret != 0 || getaddrinfo(string, NULL, &hints, &res) != 0)
++ return NO;
++ memcpy(&addr, res->ai_addr, sizeof(addr));
++ freeaddrinfo(res);
++#ifdef NI_WITHSCOPEID
++ if (pat.sin6_scope_id != 0 &&
++ addr.sin6_scope_id != pat.sin6_scope_id)
++ return NO;
++#endif
++ return (!memcmp(&pat.sin6_addr, &addr.sin6_addr,
++ sizeof(struct in6_addr)));
++ return (ret);
++ }
++#endif
+ return (STR_EQ(tok, string));
+ }
+ }
+
+ /* masked_match - match address against netnumber/netmask */
+
++#ifdef INET6
+ static int masked_match(net_tok, mask_tok, string)
+ char *net_tok;
+ char *mask_tok;
+ char *string;
+ {
++ return (masked_match4(net_tok, mask_tok, string) ||
++ masked_match6(net_tok, mask_tok, string));
++}
++
++static int masked_match4(net_tok, mask_tok, string)
++#else
++static int masked_match(net_tok, mask_tok, string)
++#endif
++char *net_tok;
++char *mask_tok;
++char *string;
++{
++#ifdef INET6
++ u_int32_t net;
++ u_int32_t mask;
++ u_int32_t addr;
++#else
+ unsigned long net;
+ unsigned long mask;
+ unsigned long addr;
++#endif
+
+ /*
+ * Disallow forms other than dotted quad: the treatment that inet_addr()
+@@ -329,12 +401,78 @@
+ return (NO);
+ if ((net = dot_quad_addr(net_tok)) == INADDR_NONE
+ || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE) {
++#ifndef INET6
+ tcpd_warn("bad net/mask expression: %s/%s", net_tok, mask_tok);
++#endif
+ return (NO); /* not tcpd_jump() */
+ }
+ return ((addr & mask) == net);
+ }
+
++#ifdef INET6
++static int masked_match6(net_tok, mask_tok, string)
++char *net_tok;
++char *mask_tok;
++char *string;
++{
++ struct addrinfo hints, *res;
++ struct sockaddr_in6 net, addr;
++ u_int32_t mask;
++ int len, mask_len, i = 0;
++ char ch;
++
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = AF_INET6;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
++ if (getaddrinfo(string, NULL, &hints, &res) != 0)
++ return NO;
++ memcpy(&addr, res->ai_addr, sizeof(addr));
++ freeaddrinfo(res);
++
++ if (IN6_IS_ADDR_V4MAPPED(&addr.sin6_addr)) {
++ if ((*(u_int32_t *)&net.sin6_addr.s6_addr[12] = dot_quad_addr(net_tok)) == INADDR_NONE
++ || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE)
++ return (NO);
++ return ((*(u_int32_t *)&addr.sin6_addr.s6_addr[12] & mask) == *(u_int32_t *)&net.sin6_addr.s6_addr[12]);
++ }
++
++ /* match IPv6 address against netnumber/prefixlen */
++ len = strlen(net_tok);
++ if (*net_tok != '[' || net_tok[len - 1] != ']')
++ return NO;
++ ch = net_tok[len - 1];
++ net_tok[len - 1] = '\0';
++ if (getaddrinfo(net_tok + 1, NULL, &hints, &res) != 0) {
++ net_tok[len - 1] = ch;
++ return NO;
++ }
++ memcpy(&net, res->ai_addr, sizeof(net));
++ freeaddrinfo(res);
++ net_tok[len - 1] = ch;
++ if ((mask_len = atoi(mask_tok)) < 0 || mask_len > 128)
++ return NO;
++
++#ifdef NI_WITHSCOPEID
++ if (net.sin6_scope_id != 0 && addr.sin6_scope_id != net.sin6_scope_id)
++ return NO;
++#endif
++ while (mask_len > 0) {
++ if (mask_len < 32) {
++ mask = htonl(~(0xffffffff >> mask_len));
++ if ((*(u_int32_t *)&addr.sin6_addr.s6_addr[i] & mask) != (*(u_int32_t *)&net.sin6_addr.s6_addr[i] & mask))
++ return NO;
++ break;
++ }
++ if (*(u_int32_t *)&addr.sin6_addr.s6_addr[i] != *(u_int32_t *)&net.sin6_addr.s6_addr[i])
++ return NO;
++ i += 4;
++ mask_len -= 32;
++ }
++ return YES;
++}
++#endif /* INET6 */
++
+ #ifndef DISABLE_WILDCARD_MATCHING
+ /* Note: this feature has been adapted in a pretty straightforward way
+ from Tatu Ylonen's last SSH version under free license by
+diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
+--- tcp_wrappers_7.6.orig/Makefile 1997-03-21 19:27:21.000000000 +0100
++++ tcp_wrappers_7.6/Makefile 2004-04-10 19:22:44.000000000 +0200
+@@ -21,7 +21,7 @@
+ @echo " dynix epix esix freebsd hpux irix4 irix5 irix6 isc iunix"
+ @echo " linux machten mips(untested) ncrsvr4 netbsd next osf power_unix_211"
+ @echo " ptx-2.x ptx-generic pyramid sco sco-nis sco-od2 sco-os5 sinix sunos4"
+- @echo " sunos40 sunos5 sysv4 tandem ultrix unicos7 unicos8 unixware1 unixware2"
++ @echo " sunos40 sunos5 solaris8 sysv4 tandem ultrix unicos7 unicos8 unixware1 unixware2"
+ @echo " uts215 uxp"
+ @echo
+ @echo "If none of these match your environment, edit the system"
+@@ -131,20 +131,34 @@
+ NETGROUP=-DNETGROUP TLI= SYSTYPE="-systype bsd43" all
+
+ # Freebsd and linux by default have no NIS.
+-386bsd netbsd bsdos:
++386bsd bsdos:
+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
+ LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
+ EXTRA_CFLAGS=-DSYS_ERRLIST_DEFINED VSYSLOG= all
+
+ freebsd:
+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
++ LIBS="-L/usr/local/v6/lib -linet6" \
+ LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
+- EXTRA_CFLAGS=-DSYS_ERRLIST_DEFINED VSYSLOG= all
++ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DINET6 -Dss_family=__ss_family -Dss_len=__ss_len" \
++ VSYSLOG= all
++
++netbsd:
++ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
++ LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
++ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DINET6 -Dss_family=__ss_family -Dss_len=__ss_len" VSYSLOG= all
+
+ linux:
+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
+- LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ=setenv.o \
+- NETGROUP= TLI= EXTRA_CFLAGS="-DBROKEN_SO_LINGER" all
++ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
++ NETGROUP="-DNETGROUP" TLI= VSYSLOG= BUGS= \
++ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" all
++
++gnu:
++ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
++ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
++ NETGROUP=-DNETGROUP TLI= VSYSLOG= BUGS= \
++ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR" all
+
+ # This is good for many SYSV+BSD hybrids with NIS, probably also for HP-UX 7.x.
+ hpux hpux8 hpux9 hpux10:
+@@ -196,6 +210,13 @@
+ NETGROUP=-DNETGROUP AUX_OBJ=setenv.o TLI=-DTLI \
+ BUGS="$(BUGS) -DSOLARIS_24_GETHOSTBYNAME_BUG" all
+
++# SunOS 5.8 is another SYSV4 variant, but has IPv6 support
++solaris8:
++ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
++ LIBS="-lsocket -lnsl" RANLIB=echo ARFLAGS=rv VSYSLOG= \
++ NETGROUP=-DNETGROUP AUX_OBJ=setenv.o TLI=-DTLI \
++ EXTRA_CFLAGS="-DINET6 -DNO_CLONE_DEVICE -DINT32_T" all
++
+ # Generic SYSV40
+ esix sysv4:
+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
+diff -ruN tcp_wrappers_7.6.orig/misc.c tcp_wrappers_7.6/misc.c
+--- tcp_wrappers_7.6.orig/misc.c 1996-02-11 17:01:30.000000000 +0100
++++ tcp_wrappers_7.6/misc.c 2004-04-10 19:07:43.000000000 +0200
+@@ -58,9 +58,31 @@
+ {
+ char *cp;
+
++#ifdef INET6
++ int bracket = 0;
++
++ for (cp = string; cp && *cp; cp++) {
++ switch (*cp) {
++ case '[':
++ bracket++;
++ break;
++ case ']':
++ bracket--;
++ break;
++ default:
++ if (bracket == 0 && *cp == delimiter) {
++ *cp++ = 0;
++ return cp;
++ }
++ break;
++ }
++ }
++ return (NULL);
++#else
+ if ((cp = strchr(string, delimiter)) != 0)
+ *cp++ = 0;
+ return (cp);
++#endif
+ }
+
+ /* dot_quad_addr - convert dotted quad to internal form */
+diff -ruN tcp_wrappers_7.6.orig/refuse.c tcp_wrappers_7.6/refuse.c
+--- tcp_wrappers_7.6.orig/refuse.c 1994-12-28 17:42:40.000000000 +0100
++++ tcp_wrappers_7.6/refuse.c 2004-04-10 19:07:43.000000000 +0200
+@@ -25,7 +25,12 @@
+ void refuse(request)
+ struct request_info *request;
+ {
++#ifdef INET6
++ syslog(deny_severity, "refused connect from %s (%s)",
++ eval_client(request), eval_hostaddr(request->client));
++#else
+ syslog(deny_severity, "refused connect from %s", eval_client(request));
++#endif
+ clean_exit(request);
+ /* NOTREACHED */
+ }
+diff -ruN tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
+--- tcp_wrappers_7.6.orig/rfc931.c 1995-01-02 16:11:34.000000000 +0100
++++ tcp_wrappers_7.6/rfc931.c 2004-04-10 19:07:43.000000000 +0200
+@@ -68,20 +68,50 @@
+ /* rfc931 - return remote user name, given socket structures */
+
+ void rfc931(rmt_sin, our_sin, dest)
++#ifdef INET6
++struct sockaddr *rmt_sin;
++struct sockaddr *our_sin;
++#else
+ struct sockaddr_in *rmt_sin;
+ struct sockaddr_in *our_sin;
++#endif
+ char *dest;
+ {
+ unsigned rmt_port;
+ unsigned our_port;
++#ifdef INET6
++ struct sockaddr_storage rmt_query_sin;
++ struct sockaddr_storage our_query_sin;
++ int alen;
++#else
+ struct sockaddr_in rmt_query_sin;
+ struct sockaddr_in our_query_sin;
++#endif
+ char user[256]; /* XXX */
+ char buffer[512]; /* XXX */
+ char *cp;
+ char *result = unknown;
+ FILE *fp;
+
++#ifdef INET6
++ /* address family must be the same */
++ if (rmt_sin->sa_family != our_sin->sa_family) {
++ STRN_CPY(dest, result, STRING_LENGTH);
++ return;
++ }
++ switch (our_sin->sa_family) {
++ case AF_INET:
++ alen = sizeof(struct sockaddr_in);
++ break;
++ case AF_INET6:
++ alen = sizeof(struct sockaddr_in6);
++ break;
++ default:
++ STRN_CPY(dest, result, STRING_LENGTH);
++ return;
++ }
++#endif
++
+ /*
+ * Use one unbuffered stdio stream for writing to and for reading from
+ * the RFC931 etc. server. This is done because of a bug in the SunOS
+@@ -92,7 +122,11 @@
+ * sockets.
+ */
+
++#ifdef INET6
++ if ((fp = fsocket(our_sin->sa_family, SOCK_STREAM, 0)) != 0) {
++#else
+ if ((fp = fsocket(AF_INET, SOCK_STREAM, 0)) != 0) {
++#endif
+ setbuf(fp, (char *) 0);
+
+ /*
+@@ -112,6 +146,25 @@
+ * addresses from the query socket.
+ */
+
++#ifdef INET6
++ memcpy(&our_query_sin, our_sin, alen);
++ memcpy(&rmt_query_sin, rmt_sin, alen);
++ switch (our_sin->sa_family) {
++ case AF_INET:
++ ((struct sockaddr_in *)&our_query_sin)->sin_port = htons(ANY_PORT);
++ ((struct sockaddr_in *)&rmt_query_sin)->sin_port = htons(RFC931_PORT);
++ break;
++ case AF_INET6:
++ ((struct sockaddr_in6 *)&our_query_sin)->sin6_port = htons(ANY_PORT);
++ ((struct sockaddr_in6 *)&rmt_query_sin)->sin6_port = htons(RFC931_PORT);
++ break;
++ }
++
++ if (bind(fileno(fp), (struct sockaddr *) & our_query_sin,
++ alen) >= 0 &&
++ connect(fileno(fp), (struct sockaddr *) & rmt_query_sin,
++ alen) >= 0) {
++#else
+ our_query_sin = *our_sin;
+ our_query_sin.sin_port = htons(ANY_PORT);
+ rmt_query_sin = *rmt_sin;
+@@ -121,6 +174,7 @@
+ sizeof(our_query_sin)) >= 0 &&
+ connect(fileno(fp), (struct sockaddr *) & rmt_query_sin,
+ sizeof(rmt_query_sin)) >= 0) {
++#endif
+
+ /*
+ * Send query to server. Neglect the risk that a 13-byte
+@@ -129,8 +183,13 @@
+ */
+
+ fprintf(fp, "%u,%u\r\n",
++#ifdef INET6
++ ntohs(((struct sockaddr_in *)rmt_sin)->sin_port),
++ ntohs(((struct sockaddr_in *)our_sin)->sin_port));
++#else
+ ntohs(rmt_sin->sin_port),
+ ntohs(our_sin->sin_port));
++#endif
+ fflush(fp);
+
+ /*
+@@ -144,8 +203,13 @@
+ && ferror(fp) == 0 && feof(fp) == 0
+ && sscanf(buffer, "%u , %u : USERID :%*[^:]:%255s",
+ &rmt_port, &our_port, user) == 3
++#ifdef INET6
++ && ntohs(((struct sockaddr_in *)rmt_sin)->sin_port) == rmt_port
++ && ntohs(((struct sockaddr_in *)our_sin)->sin_port) == our_port) {
++#else
+ && ntohs(rmt_sin->sin_port) == rmt_port
+ && ntohs(our_sin->sin_port) == our_port) {
++#endif
+
+ /*
+ * Strip trailing carriage return. It is part of the
+diff -ruN tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c
+--- tcp_wrappers_7.6.orig/scaffold.c 1997-03-21 19:27:24.000000000 +0100
++++ tcp_wrappers_7.6/scaffold.c 2004-04-10 19:07:43.000000000 +0200
+@@ -25,7 +25,9 @@
+ #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
+ #endif
+
++#ifndef INET6
+ extern char *malloc();
++#endif
+
+ /* Application-specific. */
+
+@@ -39,6 +41,7 @@
+ int deny_severity = LOG_WARNING;
+ int rfc931_timeout = RFC931_TIMEOUT;
+
++#ifndef INET6
+ /* dup_hostent - create hostent in one memory block */
+
+ static struct hostent *dup_hostent(hp)
+@@ -73,9 +76,46 @@
+ }
+ return (&hb->host);
+ }
++#endif
+
+ /* find_inet_addr - find all addresses for this host, result to free() */
+
++#ifdef INET6
++struct addrinfo *find_inet_addr(host)
++char *host;
++{
++ struct addrinfo hints, *res;
++
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = PF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
++ if (getaddrinfo(host, NULL, &hints, &res) == 0)
++ return (res);
++
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = PF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_CANONNAME;
++ if (getaddrinfo(host, NULL, &hints, &res) != 0) {
++ tcpd_warn("%s: host not found", host);
++ return (0);
++ }
++ if (res->ai_family != AF_INET6 && res->ai_family != AF_INET) {
++ tcpd_warn("%d: not an internet host", res->ai_family);
++ freeaddrinfo(res);
++ return (0);
++ }
++ if (!res->ai_canonname) {
++ tcpd_warn("%s: hostname alias", host);
++ tcpd_warn("(cannot obtain official name)", res->ai_canonname);
++ } else if (STR_NE(host, res->ai_canonname)) {
++ tcpd_warn("%s: hostname alias", host);
++ tcpd_warn("(official name: %.*s)", STRING_LENGTH, res->ai_canonname);
++ }
++ return (res);
++}
++#else
+ struct hostent *find_inet_addr(host)
+ char *host;
+ {
+@@ -118,6 +158,7 @@
+ }
+ return (dup_hostent(hp));
+ }
++#endif
+
+ /* check_dns - give each address thorough workout, return address count */
+
+@@ -125,8 +166,13 @@
+ char *host;
+ {
+ struct request_info request;
++#ifdef INET6
++ struct sockaddr_storage sin;
++ struct addrinfo *hp, *res;
++#else
+ struct sockaddr_in sin;
+ struct hostent *hp;
++#endif
+ int count;
+ char *addr;
+
+@@ -134,11 +180,18 @@
+ return (0);
+ request_init(&request, RQ_CLIENT_SIN, &sin, 0);
+ sock_methods(&request);
++#ifndef INET6
+ memset((char *) &sin, 0, sizeof(sin));
+ sin.sin_family = AF_INET;
++#endif
+
++#ifdef INET6
++ for (res = hp, count = 0; res; res = res->ai_next, count++) {
++ memcpy(&sin, res->ai_addr, res->ai_addrlen);
++#else
+ for (count = 0; (addr = hp->h_addr_list[count]) != 0; count++) {
+ memcpy((char *) &sin.sin_addr, addr, sizeof(sin.sin_addr));
++#endif
+
+ /*
+ * Force host name and address conversions. Use the request structure
+@@ -151,7 +204,11 @@
+ tcpd_warn("host address %s->name lookup failed",
+ eval_hostaddr(request.client));
+ }
++#ifdef INET6
++ freeaddrinfo(hp);
++#else
+ free((char *) hp);
++#endif
+ return (count);
+ }
+
+diff -ruN tcp_wrappers_7.6.orig/scaffold.h tcp_wrappers_7.6/scaffold.h
+--- tcp_wrappers_7.6.orig/scaffold.h 1994-12-31 18:19:20.000000000 +0100
++++ tcp_wrappers_7.6/scaffold.h 2004-04-10 19:07:43.000000000 +0200
+@@ -4,6 +4,10 @@
+ * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
+ */
+
++#ifdef INET6
++extern struct addrinfo *find_inet_addr();
++#else
+ extern struct hostent *find_inet_addr();
++#endif
+ extern int check_dns();
+ extern int check_path();
+diff -ruN tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
+--- tcp_wrappers_7.6.orig/socket.c 2004-04-10 19:22:58.000000000 +0200
++++ tcp_wrappers_7.6/socket.c 2004-04-10 19:07:43.000000000 +0200
+@@ -24,13 +24,22 @@
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/socket.h>
++#ifdef INT32_T
++typedef uint32_t u_int32_t;
++#endif
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
+
++#ifdef INET6
++#ifndef NI_WITHSCOPEID
++#define NI_WITHSCOPEID 0
++#endif
++#else
+ extern char *inet_ntoa();
++#endif
+
+ /* Local stuff. */
+
+@@ -79,8 +88,13 @@
+ void sock_host(request)
+ struct request_info *request;
+ {
++#ifdef INET6
++ static struct sockaddr_storage client;
++ static struct sockaddr_storage server;
++#else
+ static struct sockaddr_in client;
+ static struct sockaddr_in server;
++#endif
+ int len;
+ char buf[BUFSIZ];
+ int fd = request->fd;
+@@ -109,7 +123,11 @@
+ memset(buf, 0 sizeof(buf));
+ #endif
+ }
++#ifdef INET6
++ request->client->sin = (struct sockaddr *)&client;
++#else
+ request->client->sin = &client;
++#endif
+
+ /*
+ * Determine the server binding. This is used for client username
+@@ -122,7 +140,11 @@
+ tcpd_warn("getsockname: %m");
+ return;
+ }
++#ifdef INET6
++ request->server->sin = (struct sockaddr *)&server;
++#else
+ request->server->sin = &server;
++#endif
+ }
+
+ /* sock_hostaddr - map endpoint address to printable form */
+@@ -130,10 +152,26 @@
+ void sock_hostaddr(host)
+ struct host_info *host;
+ {
++#ifdef INET6
++ struct sockaddr *sin = host->sin;
++ int salen;
++
++ if (!sin)
++ return;
++#ifdef SIN6_LEN
++ salen = sin->sa_len;
++#else
++ salen = (sin->sa_family == AF_INET) ? sizeof(struct sockaddr_in)
++ : sizeof(struct sockaddr_in6);
++#endif
++ getnameinfo(sin, salen, host->addr, sizeof(host->addr),
++ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID);
++#else
+ struct sockaddr_in *sin = host->sin;
+
+ if (sin != 0)
+ STRN_CPY(host->addr, inet_ntoa(sin->sin_addr), sizeof(host->addr));
++#endif
+ }
+
+ /* sock_hostname - map endpoint address to host name */
+@@ -141,6 +179,160 @@
+ void sock_hostname(host)
+ struct host_info *host;
+ {
++#ifdef INET6
++ struct sockaddr *sin = host->sin;
++ struct sockaddr_in sin4;
++ struct addrinfo hints, *res, *res0 = NULL;
++ int salen, alen, err = 1;
++ char *ap = NULL, *rap, hname[NI_MAXHOST];
++
++ if (sin != NULL) {
++ if (sin->sa_family == AF_INET6) {
++ struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sin;
++
++ if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
++ memset(&sin4, 0, sizeof(sin4));
++#ifdef SIN6_LEN
++ sin4.sin_len = sizeof(sin4);
++#endif
++ sin4.sin_family = AF_INET;
++ sin4.sin_port = sin6->sin6_port;
++ sin4.sin_addr.s_addr = *(u_int32_t *)&sin6->sin6_addr.s6_addr[12];
++ sin = (struct sockaddr *)&sin4;
++ }
++ }
++ switch (sin->sa_family) {
++ case AF_INET:
++ ap = (char *)&((struct sockaddr_in *)sin)->sin_addr;
++ alen = sizeof(struct in_addr);
++ salen = sizeof(struct sockaddr_in);
++ break;
++ case AF_INET6:
++ ap = (char *)&((struct sockaddr_in6 *)sin)->sin6_addr;
++ alen = sizeof(struct in6_addr);
++ salen = sizeof(struct sockaddr_in6);
++ break;
++ default:
++ break;
++ }
++ if (ap)
++ err = getnameinfo(sin, salen, hname, sizeof(hname),
++ NULL, 0, NI_WITHSCOPEID | NI_NAMEREQD);
++ }
++ if (!err) {
++
++ STRN_CPY(host->name, hname, sizeof(host->name));
++
++ /* reject numeric addresses */
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = sin->sa_family;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST;
++ if ((err = getaddrinfo(host->name, NULL, &hints, &res0) == 0)) {
++ freeaddrinfo(res0);
++ res0 = NULL;
++ tcpd_warn("host name/name mismatch: "
++ "reverse lookup results in non-FQDN %s",
++ host->name);
++ strcpy(host->name, paranoid); /* name is bad, clobber it */
++ }
++ err = !err;
++ }
++ if (!err) {
++ /* we are now sure that this is non-numeric */
++
++ /*
++ * Verify that the address is a member of the address list returned
++ * by gethostbyname(hostname).
++ *
++ * Verify also that gethostbyaddr() and gethostbyname() return the same
++ * hostname, or rshd and rlogind may still end up being spoofed.
++ *
++ * On some sites, gethostbyname("localhost") returns "localhost.domain".
++ * This is a DNS artefact. We treat it as a special case. When we
++ * can't believe the address list from gethostbyname("localhost")
++ * we're in big trouble anyway.
++ */
++
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = sin->sa_family;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_CANONNAME;
++ if (getaddrinfo(host->name, NULL, &hints, &res0) != 0) {
++
++ /*
++ * Unable to verify that the host name matches the address. This
++ * may be a transient problem or a botched name server setup.
++ */
++
++ tcpd_warn("can't verify hostname: getaddrinfo(%s, %s) failed",
++ host->name,
++ (sin->sa_family == AF_INET) ? "AF_INET" : "AF_INET6");
++
++ } else if ((res0->ai_canonname == NULL
++ || STR_NE(host->name, res0->ai_canonname))
++ && STR_NE(host->name, "localhost")) {
++
++ /*
++ * The gethostbyaddr() and gethostbyname() calls did not return
++ * the same hostname. This could be a nameserver configuration
++ * problem. It could also be that someone is trying to spoof us.
++ */
++
++ tcpd_warn("host name/name mismatch: %s != %.*s",
++ host->name, STRING_LENGTH,
++ (res0->ai_canonname == NULL) ? "" : res0->ai_canonname);
++
++ } else {
++
++ /*
++ * The address should be a member of the address list returned by
++ * gethostbyname(). We should first verify that the h_addrtype
++ * field is AF_INET, but this program has already caused too much
++ * grief on systems with broken library code.
++ */
++
++ for (res = res0; res; res = res->ai_next) {
++ if (res->ai_family != sin->sa_family)
++ continue;
++ switch (res->ai_family) {
++ case AF_INET:
++ rap = (char *)&((struct sockaddr_in *)res->ai_addr)->sin_addr;
++ break;
++ case AF_INET6:
++ /* need to check scope_id */
++ if (((struct sockaddr_in6 *)sin)->sin6_scope_id !=
++ ((struct sockaddr_in6 *)res->ai_addr)->sin6_scope_id) {
++ continue;
++ }
++ rap = (char *)&((struct sockaddr_in6 *)res->ai_addr)->sin6_addr;
++ break;
++ default:
++ continue;
++ }
++ if (memcmp(rap, ap, alen) == 0) {
++ freeaddrinfo(res0);
++ return; /* name is good, keep it */
++ }
++ }
++
++ /*
++ * The host name does not map to the initial address. Perhaps
++ * someone has messed up. Perhaps someone compromised a name
++ * server.
++ */
++
++ getnameinfo(sin, salen, hname, sizeof(hname),
++ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID);
++ tcpd_warn("host name/address mismatch: %s != %.*s",
++ hname, STRING_LENGTH,
++ (res0->ai_canonname == NULL) ? "" : res0->ai_canonname);
++ }
++ strcpy(host->name, paranoid); /* name is bad, clobber it */
++ if (res0)
++ freeaddrinfo(res0);
++ }
++#else /* INET6 */
+ struct sockaddr_in *sin = host->sin;
+ struct hostent *hp;
+ int i;
+@@ -220,6 +412,7 @@
+ }
+ strcpy(host->name, paranoid); /* name is bad, clobber it */
+ }
++#endif /* INET6 */
+ }
+
+ /* sock_sink - absorb unreceived IP datagram */
+@@ -228,7 +421,11 @@
+ int fd;
+ {
+ char buf[BUFSIZ];
++#ifdef INET6
++ struct sockaddr_storage sin;
++#else
+ struct sockaddr_in sin;
++#endif
+ int size = sizeof(sin);
+
+ /*
+diff -ruN tcp_wrappers_7.6.orig/tcpd.c tcp_wrappers_7.6/tcpd.c
+--- tcp_wrappers_7.6.orig/tcpd.c 1996-02-11 17:01:33.000000000 +0100
++++ tcp_wrappers_7.6/tcpd.c 2004-04-10 19:07:43.000000000 +0200
+@@ -120,7 +120,12 @@
+
+ /* Report request and invoke the real daemon program. */
+
++#ifdef INET6
++ syslog(allow_severity, "connect from %s (%s)",
++ eval_client(&request), eval_hostaddr(request.client));
++#else
+ syslog(allow_severity, "connect from %s", eval_client(&request));
++#endif
+ closelog();
+ (void) execv(path, argv);
+ syslog(LOG_ERR, "error: cannot execute %s: %m", path);
+diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
+--- tcp_wrappers_7.6.orig/tcpdchk.c 1997-02-12 02:13:25.000000000 +0100
++++ tcp_wrappers_7.6/tcpdchk.c 2004-04-10 19:07:43.000000000 +0200
+@@ -22,6 +22,9 @@
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#ifdef INET6
++#include <sys/socket.h>
++#endif
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
+@@ -397,6 +400,31 @@
+ }
+ }
+
++#ifdef INET6
++static int is_inet6_addr(pat)
++ char *pat;
++{
++ struct addrinfo hints, *res;
++ int len, ret;
++ char ch;
++
++ if (*pat != '[')
++ return (0);
++ len = strlen(pat);
++ if ((ch = pat[len - 1]) != ']')
++ return (0);
++ pat[len - 1] = '\0';
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = AF_INET6;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
++ if ((ret = getaddrinfo(pat + 1, NULL, &hints, &res)) == 0)
++ freeaddrinfo(res);
++ pat[len - 1] = ch;
++ return (ret == 0);
++}
++#endif
++
+ /* check_host - criticize host pattern */
+
+ static int check_host(pat)
+@@ -423,14 +451,27 @@
+ #endif
+ #endif
+ } else if (mask = split_at(pat, '/')) { /* network/netmask */
++#ifdef INET6
++ int mask_len;
++
++ if ((dot_quad_addr(pat) == INADDR_NONE
++ || dot_quad_addr(mask) == INADDR_NONE)
++ && (!is_inet6_addr(pat)
++ || ((mask_len = atoi(mask)) < 0 || mask_len > 128)))
++#else
+ if (dot_quad_addr(pat) == INADDR_NONE
+ || dot_quad_addr(mask) == INADDR_NONE)
++#endif
+ tcpd_warn("%s/%s: bad net/mask pattern", pat, mask);
+ } else if (STR_EQ(pat, "FAIL")) { /* obsolete */
+ tcpd_warn("FAIL is no longer recognized");
+ tcpd_warn("(use EXCEPT or DENY instead)");
+ } else if (reserved_name(pat)) { /* other reserved */
+ /* void */ ;
++#ifdef INET6
++ } else if (is_inet6_addr(pat)) { /* IPv6 address */
++ addr_count = 1;
++#endif
+ } else if (NOT_INADDR(pat)) { /* internet name */
+ if (pat[strlen(pat) - 1] == '.') {
+ tcpd_warn("%s: domain or host name ends in dot", pat);
+diff -ruN tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
+--- tcp_wrappers_7.6.orig/tcpd.h 1996-03-19 16:22:25.000000000 +0100
++++ tcp_wrappers_7.6/tcpd.h 2004-04-10 19:07:43.000000000 +0200
+@@ -11,7 +11,11 @@
+ struct host_info {
+ char name[STRING_LENGTH]; /* access via eval_hostname(host) */
+ char addr[STRING_LENGTH]; /* access via eval_hostaddr(host) */
++#ifdef INET6
++ struct sockaddr *sin; /* socket address or 0 */
++#else
+ struct sockaddr_in *sin; /* socket address or 0 */
++#endif
+ struct t_unitdata *unit; /* TLI transport address or 0 */
+ struct request_info *request; /* for shared information */
+ };
+diff -ruN tcp_wrappers_7.6.orig/tcpdmatch.c tcp_wrappers_7.6/tcpdmatch.c
+--- tcp_wrappers_7.6.orig/tcpdmatch.c 1996-02-11 17:01:36.000000000 +0100
++++ tcp_wrappers_7.6/tcpdmatch.c 2004-04-10 19:07:43.000000000 +0200
+@@ -57,7 +57,11 @@
+ int argc;
+ char **argv;
+ {
++#ifdef INET6
++ struct addrinfo hints, *hp, *res;
++#else
+ struct hostent *hp;
++#endif
+ char *myname = argv[0];
+ char *client;
+ char *server;
+@@ -68,8 +72,13 @@
+ int ch;
+ char *inetcf = 0;
+ int count;
++#ifdef INET6
++ struct sockaddr_storage server_sin;
++ struct sockaddr_storage client_sin;
++#else
+ struct sockaddr_in server_sin;
+ struct sockaddr_in client_sin;
++#endif
+ struct stat st;
+
+ /*
+@@ -172,13 +181,20 @@
+ if (NOT_INADDR(server) == 0 || HOSTNAME_KNOWN(server)) {
+ if ((hp = find_inet_addr(server)) == 0)
+ exit(1);
++#ifndef INET6
+ memset((char *) &server_sin, 0, sizeof(server_sin));
+ server_sin.sin_family = AF_INET;
++#endif
+ request_set(&request, RQ_SERVER_SIN, &server_sin, 0);
+
++#ifdef INET6
++ for (res = hp, count = 0; res; res = res->ai_next, count++) {
++ memcpy(&server_sin, res->ai_addr, res->ai_addrlen);
++#else
+ for (count = 0; (addr = hp->h_addr_list[count]) != 0; count++) {
+ memcpy((char *) &server_sin.sin_addr, addr,
+ sizeof(server_sin.sin_addr));
++#endif
+
+ /*
+ * Force evaluation of server host name and address. Host name
+@@ -194,7 +210,11 @@
+ fprintf(stderr, "Please specify an address instead\n");
+ exit(1);
+ }
++#ifdef INET6
++ freeaddrinfo(hp);
++#else
+ free((char *) hp);
++#endif
+ } else {
+ request_set(&request, RQ_SERVER_NAME, server, 0);
+ }
+@@ -208,6 +228,18 @@
+ tcpdmatch(&request);
+ exit(0);
+ }
++#ifdef INET6
++ memset(&hints, 0, sizeof(hints));
++ hints.ai_family = AF_INET6;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
++ if (getaddrinfo(client, NULL, &hints, &res) == 0) {
++ freeaddrinfo(res);
++ request_set(&request, RQ_CLIENT_ADDR, client, 0);
++ tcpdmatch(&request);
++ exit(0);
++ }
++#endif
+
+ /*
+ * Perhaps they are testing special client hostname patterns that aren't
+@@ -229,6 +261,34 @@
+ */
+ if ((hp = find_inet_addr(client)) == 0)
+ exit(1);
++#ifdef INET6
++ request_set(&request, RQ_CLIENT_SIN, &client_sin, 0);
++
++ for (res = hp, count = 0; res; res = res->ai_next, count++) {
++ memcpy(&client_sin, res->ai_addr, res->ai_addrlen);
++
++ /*
++ * getnameinfo() doesn't do reverse lookup against link-local
++ * address. So, we pass through host name evaluation against
++ * such addresses.
++ */
++ if (res->ai_family != AF_INET6 ||
++ !IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)res->ai_addr)->sin6_addr)) {
++ /*
++ * Force evaluation of client host name and address. Host name
++ * conflicts will be reported while eval_hostname() does its job.
++ */
++ request_set(&request, RQ_CLIENT_NAME, "", RQ_CLIENT_ADDR, "", 0);
++ if (STR_EQ(eval_hostname(request.client), unknown))
++ tcpd_warn("host address %s->name lookup failed",
++ eval_hostaddr(request.client));
++ }
++ tcpdmatch(&request);
++ if (res->ai_next)
++ printf("\n");
++ }
++ freeaddrinfo(hp);
++#else
+ memset((char *) &client_sin, 0, sizeof(client_sin));
+ client_sin.sin_family = AF_INET;
+ request_set(&request, RQ_CLIENT_SIN, &client_sin, 0);
+@@ -250,6 +310,7 @@
+ printf("\n");
+ }
+ free((char *) hp);
++#endif
+ exit(0);
+ }
+
+diff -ruN tcp_wrappers_7.6.orig/tli.c tcp_wrappers_7.6/tli.c
+--- tcp_wrappers_7.6.orig/tli.c 1997-03-21 19:27:26.000000000 +0100
++++ tcp_wrappers_7.6/tli.c 2004-04-10 19:07:43.000000000 +0200
+@@ -65,8 +65,13 @@
+ void tli_host(request)
+ struct request_info *request;
+ {
++#ifdef INET6
++ static struct sockaddr_storage client;
++ static struct sockaddr_storage server;
++#else
+ static struct sockaddr_in client;
+ static struct sockaddr_in server;
++#endif
+
+ /*
+ * If we discover that we are using an IP transport, pretend we never
+@@ -76,14 +81,29 @@
+
+ tli_endpoints(request);
+ if ((request->config = tli_transport(request->fd)) != 0
++#ifdef INET6
++ && (STR_EQ(request->config->nc_protofmly, "inet") ||
++ STR_EQ(request->config->nc_protofmly, "inet6"))) {
++#else
+ && STR_EQ(request->config->nc_protofmly, "inet")) {
++#endif
+ if (request->client->unit != 0) {
++#ifdef INET6
++ client = *(struct sockaddr_storage *) request->client->unit->addr.buf;
++ request->client->sin = (struct sockaddr *) &client;
++#else
+ client = *(struct sockaddr_in *) request->client->unit->addr.buf;
+ request->client->sin = &client;
++#endif
+ }
+ if (request->server->unit != 0) {
++#ifdef INET6
++ server = *(struct sockaddr_storage *) request->server->unit->addr.buf;
++ request->server->sin = (struct sockaddr *) &server;
++#else
+ server = *(struct sockaddr_in *) request->server->unit->addr.buf;
+ request->server->sin = &server;
++#endif
+ }
+ tli_cleanup(request);
+ sock_methods(request);
+@@ -187,7 +207,15 @@
+ }
+ while (config = getnetconfig(handlep)) {
+ if (stat(config->nc_device, &from_config) == 0) {
++#ifdef NO_CLONE_DEVICE
++ /*
++ * If the network devices are not cloned (as is the case for
++ * Solaris 8 Beta), we must compare the major device numbers.
++ */
++ if (major(from_config.st_rdev) == major(from_client.st_rdev))
++#else
+ if (minor(from_config.st_rdev) == major(from_client.st_rdev))
++#endif
+ break;
+ }
+ }
+diff -ruN tcp_wrappers_7.6.orig/update.c tcp_wrappers_7.6/update.c
+--- tcp_wrappers_7.6.orig/update.c 1994-12-28 17:42:56.000000000 +0100
++++ tcp_wrappers_7.6/update.c 2004-04-10 19:07:43.000000000 +0200
+@@ -46,10 +46,18 @@
+ request->fd = va_arg(ap, int);
+ continue;
+ case RQ_CLIENT_SIN:
++#ifdef INET6
++ request->client->sin = va_arg(ap, struct sockaddr *);
++#else
+ request->client->sin = va_arg(ap, struct sockaddr_in *);
++#endif
+ continue;
+ case RQ_SERVER_SIN:
++#ifdef INET6
++ request->server->sin = va_arg(ap, struct sockaddr *);
++#else
+ request->server->sin = va_arg(ap, struct sockaddr_in *);
++#endif
+ continue;
+
+ /*
+diff -ruN tcp_wrappers_7.6.orig/workarounds.c tcp_wrappers_7.6/workarounds.c
+--- tcp_wrappers_7.6.orig/workarounds.c 1996-03-19 16:22:26.000000000 +0100
++++ tcp_wrappers_7.6/workarounds.c 2004-04-10 19:07:43.000000000 +0200
+@@ -166,11 +166,22 @@
+ int *len;
+ {
+ int ret;
++#ifdef INET6
++ struct sockaddr *sin = sa;
++#else
+ struct sockaddr_in *sin = (struct sockaddr_in *) sa;
++#endif
+
+ if ((ret = getpeername(sock, sa, len)) >= 0
++#ifdef INET6
++ && ((sin->su_si.si_family == AF_INET6
++ && IN6_IS_ADDR_UNSPECIFIED(&sin->su_sin6.sin6_addr))
++ || (sin->su_si.si_family == AF_INET
++ && sin->su_sin.sin_addr.s_addr == 0))) {
++#else
+ && sa->sa_family == AF_INET
+ && sin->sin_addr.s_addr == 0) {
++#endif
+ errno = ENOTCONN;
+ return (-1);
+ } else {
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch
new file mode 100644
index 0000000..0238e35
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch
@@ -0,0 +1,151 @@
+Path: news.porcupine.org!news.porcupine.org!not-for-mail
+From: Wietse Venema <wietse@((no)(spam)(please))wzv.win.tue.nl>
+Newsgroups: comp.mail.sendmail,comp.security.unix
+Subject: TCP Wrapper Blacklist Extension
+Followup-To: poster
+Date: 8 Sep 1997 18:53:13 -0400
+Organization: Wietse's hangout while on sabattical in the USA
+Lines: 147
+Sender: wietse@spike.porcupine.org
+Message-ID: <5v1vkp$h4f$1@spike.porcupine.org>
+NNTP-Posting-Host: spike.porcupine.org
+Xref: news.porcupine.org comp.mail.sendmail:3541 comp.security.unix:7158
+
+The patch below adds a new host pattern to the TCP Wrapper access
+control language. Instead of a host name or address pattern, you
+can specify an external /file/name with host name or address
+patterns. The feature can be used recursively.
+
+The /file/name extension makes it easy to blacklist bad sites, for
+example, to block unwanted electronic mail when libwrap is linked
+into sendmail. Adding hosts to a simple text file is much easier
+than having to edit a more complex hosts.allow/deny file.
+
+I developed this a year or so ago as a substitute for NIS netgroups.
+At that time, I did not consider it of sufficient interest for
+inclusion in the TCP Wrapper distribution. How times have changed.
+
+The patch is relative to TCP Wrappers version 7.6. The main archive
+site is ftp://ftp.win.tue.nl/pub/security/tcp_wrappers_7.6.tar.gz
+
+Thanks to the Debian LINUX folks for expressing their interest in
+this patch.
+
+ Wietse
+
+
+[diff updated by Md]
+
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 19:28:09.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 19:28:01.000000000 +0200
+@@ -97,6 +97,13 @@
+ `[3ffe:505:2:1::]/64\' matches every address in the range
+ `3ffe:505:2:1::\' through `3ffe:505:2:1:ffff:ffff:ffff:ffff\'.
+ .IP \(bu
++A string that begins with a `/\' character is treated as a file
++name. A host name or address is matched if it matches any host name
++or address pattern listed in the named file. The file format is
++zero or more lines with zero or more host name or address patterns
++separated by whitespace. A file name pattern can be used anywhere
++a host name or address pattern can be used.
++.IP \(bu
+ Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
+ method of matching cannot be used in conjunction with `net/mask\' matching,
+ hostname matching beginning with `.\' or IP address matching ending with `.\'.
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
+--- tcp_wrappers_7.6.orig/hosts_access.c 2004-04-10 19:28:09.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 19:27:05.000000000 +0200
+@@ -253,6 +253,26 @@
+ }
+ }
+
++/* hostfile_match - look up host patterns from file */
++
++static int hostfile_match(path, host)
++char *path;
++struct hosts_info *host;
++{
++ char tok[BUFSIZ];
++ int match = NO;
++ FILE *fp;
++
++ if ((fp = fopen(path, "r")) != 0) {
++ while (fscanf(fp, "%s", tok) == 1 && !(match = host_match(tok, host)))
++ /* void */ ;
++ fclose(fp);
++ } else if (errno != ENOENT) {
++ tcpd_warn("open %s: %m", path);
++ }
++ return (match);
++}
++
+ /* host_match - match host name and/or address against pattern */
+
+ static int host_match(tok, host)
+@@ -280,6 +300,8 @@
+ tcpd_warn("netgroup support is disabled"); /* not tcpd_jump() */
+ return (NO);
+ #endif
++ } else if (tok[0] == '/') { /* /file hack */
++ return (hostfile_match(tok, host));
+ } else if (STR_EQ(tok, "KNOWN")) { /* check address and name */
+ char *name = eval_hostname(host);
+ return (STR_NE(eval_hostaddr(host), unknown) && HOSTNAME_KNOWN(name));
+diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
+--- tcp_wrappers_7.6.orig/tcpdchk.c 2004-04-10 19:28:09.000000000 +0200
++++ tcp_wrappers_7.6/tcpdchk.c 2004-04-10 19:27:05.000000000 +0200
+@@ -353,6 +353,8 @@
+ {
+ if (pat[0] == '@') {
+ tcpd_warn("%s: daemon name begins with \"@\"", pat);
++ } else if (pat[0] == '/') {
++ tcpd_warn("%s: daemon name begins with \"/\"", pat);
+ } else if (pat[0] == '.') {
+ tcpd_warn("%s: daemon name begins with dot", pat);
+ } else if (pat[strlen(pat) - 1] == '.') {
+@@ -385,6 +387,8 @@
+ {
+ if (pat[0] == '@') { /* @netgroup */
+ tcpd_warn("%s: user name begins with \"@\"", pat);
++ } else if (pat[0] == '/') {
++ tcpd_warn("%s: user name begins with \"/\"", pat);
+ } else if (pat[0] == '.') {
+ tcpd_warn("%s: user name begins with dot", pat);
+ } else if (pat[strlen(pat) - 1] == '.') {
+@@ -430,8 +434,13 @@
+ static int check_host(pat)
+ char *pat;
+ {
++ char buf[BUFSIZ];
+ char *mask;
+ int addr_count = 1;
++ FILE *fp;
++ struct tcpd_context saved_context;
++ char *cp;
++ char *wsp = " \t\r\n";
+
+ if (pat[0] == '@') { /* @netgroup */
+ #ifdef NO_NETGRENT
+@@ -450,6 +459,21 @@
+ tcpd_warn("netgroup support disabled");
+ #endif
+ #endif
++ } else if (pat[0] == '/') { /* /path/name */
++ if ((fp = fopen(pat, "r")) != 0) {
++ saved_context = tcpd_context;
++ tcpd_context.file = pat;
++ tcpd_context.line = 0;
++ while (fgets(buf, sizeof(buf), fp)) {
++ tcpd_context.line++;
++ for (cp = strtok(buf, wsp); cp; cp = strtok((char *) 0, wsp))
++ check_host(cp);
++ }
++ tcpd_context = saved_context;
++ fclose(fp);
++ } else if (errno != ENOENT) {
++ tcpd_warn("open %s: %m", pat);
++ }
+ } else if (mask = split_at(pat, '/')) { /* network/netmask */
+ #ifdef INET6
+ int mask_len;
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch
new file mode 100644
index 0000000..88a2b5e
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch
@@ -0,0 +1,45 @@
+diff -uN tcp_wrappers_7.6/hosts_access.c tcp_wrappers_7.6.new/hosts_access.c
+--- tcp_wrappers_7.6/hosts_access.c Mon May 20 14:00:56 2002
++++ tcp_wrappers_7.6.new/hosts_access.c Mon May 20 14:25:05 2002
+@@ -448,6 +448,15 @@
+ int len, mask_len, i = 0;
+ char ch;
+
++ /*
++ * Behavior of getaddrinfo() against IPv4-mapped IPv6 address is
++ * different between KAME and Solaris8. While KAME returns
++ * AF_INET6, Solaris8 returns AF_INET. So, we avoid this here.
++ */
++ if (STRN_EQ(string, "::ffff:", 7)
++ && dot_quad_addr(string + 7) != INADDR_NONE)
++ return (masked_match4(net_tok, mask_tok, string + 7));
++
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = AF_INET6;
+ hints.ai_socktype = SOCK_STREAM;
+@@ -457,13 +466,6 @@
+ memcpy(&addr, res->ai_addr, sizeof(addr));
+ freeaddrinfo(res);
+
+- if (IN6_IS_ADDR_V4MAPPED(&addr.sin6_addr)) {
+- if ((*(u_int32_t *)&net.sin6_addr.s6_addr[12] = dot_quad_addr(net_tok)) == INADDR_NONE
+- || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE)
+- return (NO);
+- return ((*(u_int32_t *)&addr.sin6_addr.s6_addr[12] & mask) == *(u_int32_t *)&net.sin6_addr.s6_addr[12]);
+- }
+-
+ /* match IPv6 address against netnumber/prefixlen */
+ len = strlen(net_tok);
+ if (*net_tok != '[' || net_tok[len - 1] != ']')
+diff -uN tcp_wrappers_7.6/socket.c tcp_wrappers_7.6.new/socket.c
+--- tcp_wrappers_7.6/socket.c Mon May 20 13:48:35 2002
++++ tcp_wrappers_7.6.new/socket.c Mon May 20 14:22:27 2002
+@@ -228,7 +228,7 @@
+ hints.ai_family = sin->sa_family;
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST;
+- if ((err = getaddrinfo(host->name, NULL, &hints, &res0) == 0)) {
++ if ((err = getaddrinfo(host->name, NULL, &hints, &res0)) == 0) {
+ freeaddrinfo(res0);
+ res0 = NULL;
+ tcpd_warn("host name/name mismatch: "
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
new file mode 100644
index 0000000..60ca594
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
@@ -0,0 +1,81 @@
+diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
+--- tcp_wrappers_7.6.orig/Makefile 2003-08-21 01:43:39.000000000 +0200
++++ tcp_wrappers_7.6/Makefile 2003-08-21 01:43:35.000000000 +0200
+@@ -45,7 +45,7 @@
+ #
+ # SysV.4 Solaris 2.x OSF AIX
+ #REAL_DAEMON_DIR=/usr/sbin
+-#
++REAL_DAEMON_DIR=/usr/sbin
+ # BSD 4.4
+ #REAL_DAEMON_DIR=/usr/libexec
+ #
+@@ -512,6 +519,7 @@
+ # (examples: allow, deny, banners, twist and spawn).
+ #
+ #STYLE = -DPROCESS_OPTIONS # Enable language extensions.
++STYLE = -DPROCESS_OPTIONS
+
+ ################################################################
+ # Optional: Changing the default disposition of logfile records
+@@ -535,6 +543,7 @@
+ # The LOG_XXX names below are taken from the /usr/include/syslog.h file.
+
+ FACILITY= LOG_MAIL # LOG_MAIL is what most sendmail daemons use
++FACILITY= LOG_DAEMON
+
+ # The syslog priority at which successful connections are logged.
+
+@@ -631,6 +640,7 @@
+ # lookups altogether, see the next section.
+
+ PARANOID= -DPARANOID
++PARANOID=
+
+ ########################################
+ # Optional: turning off hostname lookups
+@@ -644,6 +654,7 @@
+ # mode (see previous section) and comment out the following definition.
+
+ HOSTNAME= -DALWAYS_HOSTNAME
++HOSTNAME=
+
+ #############################################
+ # Optional: Turning on host ADDRESS checking
+@@ -670,6 +681,7 @@
+ # Solaris 2.x, and Linux. See your system documentation for details.
+ #
+ # KILL_OPT= -DKILL_IP_OPTIONS
++KILL_OPT= -DKILL_IP_OPTIONS
+
+ ## End configuration options
+ ############################
+@@ -677,9 +689,10 @@
+ # Protection against weird shells or weird make programs.
+
+ SHELL = /bin/sh
+-.c.o:; $(CC) $(CFLAGS) -c $*.c
++.c.o:; $(CC) $(CFLAGS) -o $*.o -c $*.c
+
+-CFLAGS = -O -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \
++COPTS = -O2 -g
++CFLAGS = $(COPTS) -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \
+ $(BUGS) $(SYSTYPE) $(AUTH) $(UMASK) \
+ -DREAL_DAEMON_DIR=\"$(REAL_DAEMON_DIR)\" $(STYLE) $(KILL_OPT) \
+ -DSEVERITY=$(SEVERITY) -DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \
+@@ -712,10 +725,11 @@
+
+ config-check:
+ @set +e; test -n "$(REAL_DAEMON_DIR)" || { make; exit 1; }
+- @set +e; echo $(CFLAGS) >/tmp/cflags.$$$$ ; \
+- if cmp cflags /tmp/cflags.$$$$ ; \
+- then rm /tmp/cflags.$$$$ ; \
+- else mv /tmp/cflags.$$$$ cflags ; \
++ @set +e; echo $(CFLAGS) >cflags.new ; \
++ if cmp cflags cflags.new ; \
++ then rm cflags.new ; \
++ else mv cflags.new cflags ; \
+ fi >/dev/null 2>/dev/null
++ @if [ ! -d shared ]; then mkdir shared; fi
+
+ $(LIB): $(LIB_OBJ)
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch
new file mode 100644
index 0000000..c089b33
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch
@@ -0,0 +1,253 @@
+diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
+--- tcp_wrappers_7.6.orig/Makefile 2004-05-02 15:37:59.000000000 +0200
++++ tcp_wrappers_7.6/Makefile 2004-05-02 15:31:09.000000000 +0200
+@@ -150,15 +150,15 @@
+
+ linux:
+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
+- LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
++ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ=weak_symbols.o \
+ NETGROUP="-DNETGROUP" TLI= VSYSLOG= BUGS= \
+- EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" all
++ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" all
+
+ gnu:
+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
+- LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
++ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ=weak_symbols.o \
+ NETGROUP=-DNETGROUP TLI= VSYSLOG= BUGS= \
+- EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR" all
++ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT" all
+
+ # This is good for many SYSV+BSD hybrids with NIS, probably also for HP-UX 7.x.
+ hpux hpux8 hpux9 hpux10:
+@@ -713,7 +713,22 @@
+
+ LIB = libwrap.a
+
+-all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk
++shared/%.o: %.c
++ $(CC) $(CFLAGS) $(SHCFLAGS) -c $< -o $@
++
++SOMAJOR = 0
++SOMINOR = 7.6
++
++SHLIB = shared/libwrap.so.$(SOMAJOR).$(SOMINOR)
++SHLIBSOMAJ = shared/libwrap.so.$(SOMAJOR)
++SHLIBSO = shared/libwrap.so
++SHLIBFLAGS = -Lshared -lwrap
++
++SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR) -lc $(LIBS)
++SHCFLAGS = -fPIC -shared -D_REENTRANT
++SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ));
++
++all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB)
+
+ # Invalidate all object files when the compiler options (CFLAGS) have changed.
+
+@@ -731,27 +746,33 @@
+ $(AR) $(ARFLAGS) $(LIB) $(LIB_OBJ)
+ -$(RANLIB) $(LIB)
+
+-tcpd: tcpd.o $(LIB)
+- $(CC) $(CFLAGS) -o $@ tcpd.o $(LIB) $(LIBS)
++$(SHLIB): $(SHLIB_OBJ)
++ rm -f $(SHLIB)
++ $(CC) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
++ ln -sf $(notdir $(SHLIB)) $(SHLIBSOMAJ)
++ ln -sf $(notdir $(SHLIBSOMAJ)) $(SHLIBSO)
++
++tcpd: tcpd.o $(SHLIB)
++ $(CC) $(CFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
+
+ miscd: miscd.o $(LIB)
+ $(CC) $(CFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
+
+-safe_finger: safe_finger.o $(LIB)
+- $(CC) $(CFLAGS) -o $@ safe_finger.o $(LIB) $(LIBS)
++safe_finger: safe_finger.o $(SHLIB)
++ $(CC) $(CFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
+
+ TCPDMATCH_OBJ = tcpdmatch.o fakelog.o inetcf.o scaffold.o
+
+-tcpdmatch: $(TCPDMATCH_OBJ) $(LIB)
+- $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(LIB) $(LIBS)
++tcpdmatch: $(TCPDMATCH_OBJ) $(SHLIB)
++ $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
+
+-try-from: try-from.o fakelog.o $(LIB)
+- $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(LIB) $(LIBS)
++try-from: try-from.o fakelog.o $(SHLIB)
++ $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
+
+ TCPDCHK_OBJ = tcpdchk.o fakelog.o inetcf.o scaffold.o
+
+-tcpdchk: $(TCPDCHK_OBJ) $(LIB)
+- $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(LIB) $(LIBS)
++tcpdchk: $(TCPDCHK_OBJ) $(SHLIB)
++ $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
+
+ shar: $(KIT)
+ @shar $(KIT)
+@@ -767,7 +788,9 @@
+
+ clean:
+ rm -f tcpd miscd safe_finger tcpdmatch tcpdchk try-from *.[oa] core \
++ libwrap*.so* \
+ cflags
++ rm -rf shared/
+
+ tidy: clean
+ chmod -R a+r .
+@@ -913,5 +936,6 @@
+ update.o: mystdarg.h
+ update.o: tcpd.h
+ vfprintf.o: cflags
++weak_symbols.o: tcpd.h
+ workarounds.o: cflags
+ workarounds.o: tcpd.h
+diff -ruN tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
+--- tcp_wrappers_7.6.orig/tcpd.h 2004-05-02 15:37:59.000000000 +0200
++++ tcp_wrappers_7.6/tcpd.h 2004-05-02 15:37:49.000000000 +0200
+@@ -4,6 +4,15 @@
+ * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
+ */
+
++#ifndef _TCPWRAPPERS_TCPD_H
++#define _TCPWRAPPERS_TCPD_H
++
++/* Need definitions of struct sockaddr_in and FILE. */
++#include <netinet/in.h>
++#include <stdio.h>
++
++__BEGIN_DECLS
++
+ /* Structure to describe one communications endpoint. */
+
+ #define STRING_LENGTH 128 /* hosts, users, processes */
+@@ -29,10 +38,10 @@
+ char pid[10]; /* access via eval_pid(request) */
+ struct host_info client[1]; /* client endpoint info */
+ struct host_info server[1]; /* server endpoint info */
+- void (*sink) (); /* datagram sink function or 0 */
+- void (*hostname) (); /* address to printable hostname */
+- void (*hostaddr) (); /* address to printable address */
+- void (*cleanup) (); /* cleanup function or 0 */
++ void (*sink) (int); /* datagram sink function or 0 */
++ void (*hostname) (struct host_info *); /* address to printable hostname */
++ void (*hostaddr) (struct host_info *); /* address to printable address */
++ void (*cleanup) (struct request_info *); /* cleanup function or 0 */
+ struct netconfig *config; /* netdir handle */
+ };
+
+@@ -70,20 +79,27 @@
+ #define fromhost sock_host /* no TLI support needed */
+ #endif
+
+-extern int hosts_access(); /* access control */
+-extern void shell_cmd(); /* execute shell command */
+-extern char *percent_x(); /* do %<char> expansion */
+-extern void rfc931(); /* client name from RFC 931 daemon */
+-extern void clean_exit(); /* clean up and exit */
+-extern void refuse(); /* clean up and exit */
+-extern char *xgets(); /* fgets() on steroids */
+-extern char *split_at(); /* strchr() and split */
+-extern unsigned long dot_quad_addr(); /* restricted inet_addr() */
++extern int hosts_access(struct request_info *request); /* access control */
++extern void shell_cmd(char *); /* execute shell command */
++extern char *percent_x(char *, int, char *, struct request_info *);
++ /* do %<char> expansion */
++extern void rfc931(struct sockaddr *, struct sockaddr *, char *);
++ /* client name from RFC 931 daemon */
++extern void clean_exit(struct request_info *); /* clean up and exit */
++extern void refuse(struct request_info *); /* clean up and exit */
++extern char *xgets(char *, int, FILE *); /* fgets() on steroids */
++extern char *split_at(char *, int); /* strchr() and split */
++extern unsigned long dot_quad_addr(char *); /* restricted inet_addr() */
+
+ /* Global variables. */
+
++#ifdef HAVE_WEAKSYMS
++extern int allow_severity __attribute__ ((weak)); /* for connection logging */
++extern int deny_severity __attribute__ ((weak)); /* for connection logging */
++#else
+ extern int allow_severity; /* for connection logging */
+ extern int deny_severity; /* for connection logging */
++#endif
+ extern char *hosts_allow_table; /* for verification mode redirection */
+ extern char *hosts_deny_table; /* for verification mode redirection */
+ extern int hosts_access_verbose; /* for verbose matching mode */
+@@ -98,6 +114,8 @@
+ #ifdef __STDC__
+ extern struct request_info *request_init(struct request_info *,...);
+ extern struct request_info *request_set(struct request_info *,...);
++extern int hosts_ctl(char *daemon, char *client_name, char *client_addr,
++ char *client_user);
+ #else
+ extern struct request_info *request_init(); /* initialize request */
+ extern struct request_info *request_set(); /* update request structure */
+@@ -121,20 +139,23 @@
+ * host_info structures serve as caches for the lookup results.
+ */
+
+-extern char *eval_user(); /* client user */
+-extern char *eval_hostname(); /* printable hostname */
+-extern char *eval_hostaddr(); /* printable host address */
+-extern char *eval_hostinfo(); /* host name or address */
+-extern char *eval_client(); /* whatever is available */
+-extern char *eval_server(); /* whatever is available */
++extern char *eval_user(struct request_info *); /* client user */
++extern char *eval_hostname(struct host_info *); /* printable hostname */
++extern char *eval_hostaddr(struct host_info *); /* printable host address */
++extern char *eval_hostinfo(struct host_info *); /* host name or address */
++extern char *eval_client(struct request_info *);/* whatever is available */
++extern char *eval_server(struct request_info *);/* whatever is available */
+ #define eval_daemon(r) ((r)->daemon) /* daemon process name */
+ #define eval_pid(r) ((r)->pid) /* process id */
+
+ /* Socket-specific methods, including DNS hostname lookups. */
+
+-extern void sock_host(); /* look up endpoint addresses */
+-extern void sock_hostname(); /* translate address to hostname */
+-extern void sock_hostaddr(); /* address to printable address */
++/* look up endpoint addresses */
++extern void sock_host(struct request_info *);
++/* translate address to hostname */
++extern void sock_hostname(struct host_info *);
++/* address to printable address */
++extern void sock_hostaddr(struct host_info *);
+ #define sock_methods(r) \
+ { (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }
+
+@@ -182,7 +203,7 @@
+ * behavior.
+ */
+
+-extern void process_options(); /* execute options */
++extern void process_options(char *, struct request_info *);/* execute options */
+ extern int dry_run; /* verification flag */
+
+ /* Bug workarounds. */
+@@ -221,3 +242,7 @@
+ #define strtok my_strtok
+ extern char *my_strtok();
+ #endif
++
++__END_DECLS
++
++#endif
+diff -ruN tcp_wrappers_7.6.orig/weak_symbols.c tcp_wrappers_7.6/weak_symbols.c
+--- tcp_wrappers_7.6.orig/weak_symbols.c 1970-01-01 01:00:00.000000000 +0100
++++ tcp_wrappers_7.6/weak_symbols.c 2004-05-02 15:31:09.000000000 +0200
+@@ -0,0 +1,11 @@
++ /*
++ * @(#) weak_symbols.h 1.5 99/12/29 23:50
++ *
++ * Author: Anthony Towns <ajt@debian.org>
++ */
++
++#ifdef HAVE_WEAKSYMS
++#include <syslog.h>
++int deny_severity = LOG_WARNING;
++int allow_severity = SEVERITY;
++#endif
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch
new file mode 100644
index 0000000..0e1ecf5
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch
@@ -0,0 +1,66 @@
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2003-08-21 03:15:36.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.5 2003-08-21 03:15:31.000000000 +0200
+@@ -90,6 +90,10 @@
+ pattern `131.155.72.0/255.255.254.0\' matches every address in the
+ range `131.155.72.0\' through `131.155.73.255\'.
+ .IP \(bu
++An expression of the form `n.n.n.n/mm' is interpreted as a
++`net/masklength' pair, where `mm' is the number of consecutive `1'
++bits in the netmask applied to the `n.n.n.n' address.
++.IP \(bu
+ An expression of the form `[n:n:n:n:n:n:n:n]/m\' is interpreted as a
+ `[net]/prefixlen\' pair. An IPv6 host address is matched if
+ `prefixlen\' bits of `net\' is equal to the `prefixlen\' bits of the
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
+--- tcp_wrappers_7.6.orig/hosts_access.c 2003-08-21 03:15:36.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.c 2003-08-21 03:09:30.000000000 +0200
+@@ -417,7 +417,8 @@
+ if ((addr = dot_quad_addr(string)) == INADDR_NONE)
+ return (NO);
+ if ((net = dot_quad_addr(net_tok)) == INADDR_NONE
+- || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE) {
++ || ((mask = dot_quad_addr(mask_tok)) == INADDR_NONE
++ && (mask = cidr_mask_addr(mask_tok)) == 0)) {
+ #ifndef INET6
+ tcpd_warn("bad net/mask expression: %s/%s", net_tok, mask_tok);
+ #endif
+diff -ruN tcp_wrappers_7.6.orig/misc.c tcp_wrappers_7.6/misc.c
+--- tcp_wrappers_7.6.orig/misc.c 2003-08-21 03:15:36.000000000 +0200
++++ tcp_wrappers_7.6/misc.c 2003-08-21 03:09:30.000000000 +0200
+@@ -107,3 +107,17 @@
+ }
+ return (runs == 4 ? inet_addr(str) : INADDR_NONE);
+ }
++
++/* cidr_mask_addr - convert cidr netmask length to internal form */
++
++unsigned long cidr_mask_addr(str)
++char *str;
++{
++ int maskbits;
++
++ maskbits = atoi(str);
++ if (maskbits < 1 || maskbits > 32)
++ return (0);
++ return htonl(0xFFFFFFFF << (32 - maskbits));
++}
++
+diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
+--- tcp_wrappers_7.6.orig/tcpdchk.c 2003-08-21 03:15:36.000000000 +0200
++++ tcp_wrappers_7.6/tcpdchk.c 2003-08-21 03:09:30.000000000 +0200
+@@ -497,12 +497,12 @@
+ int mask_len;
+
+ if ((dot_quad_addr(pat) == INADDR_NONE
+- || dot_quad_addr(mask) == INADDR_NONE)
++ || dot_quad_addr(mask) == INADDR_NONE && cidr_mask_addr(mask) == 0)
+ && (!is_inet6_addr(pat)
+ || ((mask_len = atoi(mask)) < 0 || mask_len > 128)))
+ #else
+ if (dot_quad_addr(pat) == INADDR_NONE
+- || dot_quad_addr(mask) == INADDR_NONE)
++ || dot_quad_addr(mask) == INADDR_NONE && cidr_mask_addr(mask) == 0)
+ #endif
+ tcpd_warn("%s/%s: bad net/mask pattern", pat, mask);
+ } else if (STR_EQ(pat, "FAIL")) { /* obsolete */
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch
new file mode 100644
index 0000000..913ed98
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch
@@ -0,0 +1,12 @@
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-25 12:17:59.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.5 2004-04-25 12:17:53.000000000 +0200
+@@ -89,6 +89,8 @@
+ bitwise AND of the address and the `mask\'. For example, the net/mask
+ pattern `131.155.72.0/255.255.254.0\' matches every address in the
+ range `131.155.72.0\' through `131.155.73.255\'.
++`255.255.255.255\' is not a valid mask value, so a single host can be
++matched just by its IP.
+ .IP \(bu
+ An expression of the form `n.n.n.n/mm' is interpreted as a
+ `net/masklength' pair, where `mm' is the number of consecutive `1'
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch
new file mode 100644
index 0000000..e35fc7e
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch
@@ -0,0 +1,71 @@
+diff -ruN tcp_wrappers_7.6.orig/eval.c tcp_wrappers_7.6/eval.c
+--- tcp_wrappers_7.6.orig/eval.c 1995-01-30 19:51:46.000000000 +0100
++++ tcp_wrappers_7.6/eval.c 2004-11-04 13:59:01.000000000 +0100
+@@ -98,6 +98,28 @@
+ }
+ }
+
++/* eval_port - return string with the port */
++char *eval_port(saddr)
++#ifdef INET6
++struct sockaddr *saddr;
++#else
++struct sockaddr_in *saddr;
++#endif
++{
++ static char port[16];
++ if (saddr != 0) {
++ sprintf(port, "%u",
++#ifdef INET6
++ ntohs(((struct sockaddr_in *)saddr)->sin_port));
++#else
++ ntohs(saddr->sin_port));
++#endif
++ } else {
++ strcpy(port, "0");
++ }
++ return (port);
++}
++
+ /* eval_client - return string with as much about the client as we know */
+
+ char *eval_client(request)
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
+--- tcp_wrappers_7.6.orig/hosts_access.5 2004-11-04 13:17:45.000000000 +0100
++++ tcp_wrappers_7.6/hosts_access.5 2004-11-04 13:55:32.000000000 +0100
+@@ -175,6 +175,8 @@
+ unavailable.
+ .IP "%n (%N)"
+ The client (server) host name (or "unknown" or "paranoid").
++.IP "%r (%R)"
++The clients (servers) port number (or "0").
+ .IP %p
+ The daemon process id.
+ .IP %s
+diff -ruN tcp_wrappers_7.6.orig/percent_x.c tcp_wrappers_7.6/percent_x.c
+--- tcp_wrappers_7.6.orig/percent_x.c 1994-12-28 17:42:38.000000000 +0100
++++ tcp_wrappers_7.6/percent_x.c 2004-11-04 13:19:29.000000000 +0100
+@@ -63,6 +63,8 @@
+ ch == 'n' ? eval_hostname(request->client) :
+ ch == 'N' ? eval_hostname(request->server) :
+ ch == 'p' ? eval_pid(request) :
++ ch == 'r' ? eval_port(request->client->sin) :
++ ch == 'R' ? eval_port(request->server->sin) :
+ ch == 's' ? eval_server(request) :
+ ch == 'u' ? eval_user(request) :
+ ch == '%' ? "%" : (tcpd_warn("unrecognized %%%c", ch), "");
+diff -ruN tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
+--- tcp_wrappers_7.6.orig/tcpd.h 2004-11-04 13:17:45.000000000 +0100
++++ tcp_wrappers_7.6/tcpd.h 2004-11-04 13:19:13.000000000 +0100
+@@ -145,6 +145,11 @@
+ extern char *eval_hostinfo(struct host_info *); /* host name or address */
+ extern char *eval_client(struct request_info *);/* whatever is available */
+ extern char *eval_server(struct request_info *);/* whatever is available */
++#ifdef INET6
++extern char *eval_port(struct sockaddr *);
++#else
++extern char *eval_port(struct sockaddr_in *);
++#endif
+ #define eval_daemon(r) ((r)->daemon) /* daemon process name */
+ #define eval_pid(r) ((r)->pid) /* process id */
+
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch
new file mode 100644
index 0000000..31c2b92
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch
@@ -0,0 +1,19 @@
+diff -ruN tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c
+--- tcp_wrappers_7.6.orig/percent_m.c 1994-12-28 17:42:37.000000000 +0100
++++ tcp_wrappers_7.6/percent_m.c 2003-08-21 02:45:31.000000000 +0200
+@@ -29,11 +29,15 @@
+
+ while (*bp = *cp)
+ if (*cp == '%' && cp[1] == 'm') {
++#ifdef HAVE_STRERROR
++ strcpy(bp, strerror(errno));
++#else
+ if (errno < sys_nerr && errno > 0) {
+ strcpy(bp, sys_errlist[errno]);
+ } else {
+ sprintf(bp, "Unknown error %d", errno);
+ }
++#endif
+ bp += strlen(bp);
+ cp += 2;
+ } else {
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
new file mode 100644
index 0000000..cac8615
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
@@ -0,0 +1,55 @@
+Index: tcp_wrappers_7.6/Makefile
+===================================================================
+--- tcp_wrappers_7.6.orig/Makefile
++++ tcp_wrappers_7.6/Makefile
+@@ -724,9 +724,9 @@ SHLIBSOMAJ = shared/libwrap.so.$(SOMAJOR
+ SHLIBSO = shared/libwrap.so
+ SHLIBFLAGS = -Lshared -lwrap
+
+-SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR) -lc $(LIBS)
++SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR)
+ SHCFLAGS = -fPIC -shared -D_REENTRANT
+-SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ));
++SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ))
+
+ all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB)
+
+@@ -748,31 +748,31 @@ $(LIB): $(LIB_OBJ)
+
+ $(SHLIB): $(SHLIB_OBJ)
+ rm -f $(SHLIB)
+- $(CC) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
++ $(CC) $(LDFLAGS) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ) $(LIBS)
+ ln -sf $(notdir $(SHLIB)) $(SHLIBSOMAJ)
+ ln -sf $(notdir $(SHLIBSOMAJ)) $(SHLIBSO)
+
+ tcpd: tcpd.o $(SHLIB)
+- $(CC) $(CFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
+
+ miscd: miscd.o $(LIB)
+- $(CC) $(CFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
+
+ safe_finger: safe_finger.o $(SHLIB)
+- $(CC) $(CFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
+
+ TCPDMATCH_OBJ = tcpdmatch.o fakelog.o inetcf.o scaffold.o
+
+ tcpdmatch: $(TCPDMATCH_OBJ) $(SHLIB)
+- $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
+
+ try-from: try-from.o fakelog.o $(SHLIB)
+- $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
+
+ TCPDCHK_OBJ = tcpdchk.o fakelog.o inetcf.o scaffold.o
+
+ tcpdchk: $(TCPDCHK_OBJ) $(SHLIB)
+- $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
+
+ shar: $(KIT)
+ @shar $(KIT)
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch
new file mode 100644
index 0000000..afaa9c8
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch
@@ -0,0 +1,21 @@
+diff -ruN tcp_wrappers_7.6.orig/hosts_access.3 tcp_wrappers_7.6/hosts_access.3
+--- tcp_wrappers_7.6.orig/hosts_access.3 2004-04-25 00:10:48.000000000 +0200
++++ tcp_wrappers_7.6/hosts_access.3 2004-04-25 00:09:36.000000000 +0200
+@@ -14,6 +14,9 @@
+ struct request_info *request_set(request, key, value, ..., 0)
+ struct request_info *request;
+
++void fromhost(request)
++struct request_info *request;
++
+ int hosts_access(request)
+ struct request_info *request;
+
+@@ -60,6 +63,7 @@
+ is available, host names and client user names are looked up on demand,
+ using the request structure as a cache. hosts_access() returns zero if
+ access should be denied.
++fromhost() must be called before hosts_access().
+ .PP
+ hosts_ctl() is a wrapper around the request_init() and hosts_access()
+ routines with a perhaps more convenient interface (though it does not
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch
new file mode 100644
index 0000000..ece7da3
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch
@@ -0,0 +1,37 @@
+diff -ruN tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
+--- tcp_wrappers_7.6.orig/rfc931.c 2004-08-29 18:40:08.000000000 +0200
++++ tcp_wrappers_7.6/rfc931.c 2004-08-29 18:40:02.000000000 +0200
+@@ -92,6 +92,8 @@
+ char *cp;
+ char *result = unknown;
+ FILE *fp;
++ unsigned saved_timeout;
++ struct sigaction nact, oact;
+
+ #ifdef INET6
+ /* address family must be the same */
+@@ -134,7 +136,12 @@
+ */
+
+ if (setjmp(timebuf) == 0) {
+- signal(SIGALRM, timeout);
++ /* Save SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
++ saved_timeout = alarm(0);
++ nact.sa_handler = timeout;
++ nact.sa_flags = 0;
++ (void) sigemptyset(&nact.sa_mask);
++ (void) sigaction(SIGALRM, &nact, &oact);
+ alarm(rfc931_timeout);
+
+ /*
+@@ -223,6 +230,10 @@
+ }
+ alarm(0);
+ }
++ /* Restore SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
++ (void) sigaction(SIGALRM, &oact, NULL);
++ if (saved_timeout > 0)
++ alarm(saved_timeout);
+ fclose(fp);
+ }
+ STRN_CPY(dest, result, STRING_LENGTH);
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff
new file mode 100644
index 0000000..a926d0e
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff
@@ -0,0 +1,39 @@
+diff -ruNp tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c
+--- tcp_wrappers_7.6.orig/scaffold.c 2005-03-09 18:22:04.000000000 +0100
++++ tcp_wrappers_7.6/scaffold.c 2005-03-09 18:20:47.000000000 +0100
+@@ -237,10 +237,17 @@ struct request_info *request;
+
+ /* ARGSUSED */
+
+-void rfc931(request)
+-struct request_info *request;
++void rfc931(rmt_sin, our_sin, dest)
++#ifdef INET6
++struct sockaddr *rmt_sin;
++struct sockaddr *our_sin;
++#else
++struct sockaddr_in *rmt_sin;
++struct sockaddr_in *our_sin;
++#endif
++char *dest;
+ {
+- strcpy(request->user, unknown);
++ strcpy(dest, unknown);
+ }
+
+ /* check_path - examine accessibility */
+diff -ruNp tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
+--- tcp_wrappers_7.6.orig/tcpd.h 2005-03-09 18:22:04.000000000 +0100
++++ tcp_wrappers_7.6/tcpd.h 2005-03-09 18:21:23.000000000 +0100
+@@ -83,7 +83,11 @@ extern int hosts_access(struct request_i
+ extern void shell_cmd(char *); /* execute shell command */
+ extern char *percent_x(char *, int, char *, struct request_info *);
+ /* do %<char> expansion */
++#ifdef INET6
+ extern void rfc931(struct sockaddr *, struct sockaddr *, char *);
++#else
++extern void rfc931(struct sockaddr_in *, struct sockaddr_in *, char *);
++#endif
+ /* client name from RFC 931 daemon */
+ extern void clean_exit(struct request_info *); /* clean up and exit */
+ extern void refuse(struct request_info *); /* clean up and exit */
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8 b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8
new file mode 100644
index 0000000..875616b
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8
@@ -0,0 +1,34 @@
+.TH SAFE_FINGER 8 "21th June 1997" Linux "Linux Programmer's Manual"
+.SH NAME
+safe_finger \- finger client wrapper that protects against nasty stuff
+from finger servers
+.SH SYNOPSIS
+.B safe_finger [finger_options]
+.SH DESCRIPTION
+The
+.B safe_finger
+command protects against nasty stuff from finger servers. Use this
+program for automatic reverse finger probes from the
+.B tcp_wrapper
+.B (tcpd)
+, not the raw finger command. The
+.B safe_finger
+command makes sure that the finger client is not run with root
+privileges. It also runs the finger client with a defined PATH
+environment.
+.B safe_finger
+will also protect you from problems caused by the output of some
+finger servers. The problem: some programs may react to stuff in
+the first column. Other programs may get upset by thrash anywhere
+on a line. File systems may fill up as the finger server keeps
+sending data. Text editors may bomb out on extremely long lines.
+The finger server may take forever because it is somehow wedged.
+.B safe_finger
+takes care of all this badness.
+.SH SEE ALSO
+.BR hosts_access (5),
+.BR hosts_options (5),
+.BR tcpd (8)
+.SH AUTHOR
+Wietse Venema, Eindhoven University of Technology, The Netherlands.
+
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch
new file mode 100644
index 0000000..5c8c9a1
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch
@@ -0,0 +1,29 @@
+--- tcp-wrappers-7.6-ipv6.1.orig/safe_finger.c
++++ tcp-wrappers-7.6-ipv6.1/safe_finger.c
+@@ -26,21 +26,24 @@
+ #include <stdio.h>
+ #include <ctype.h>
+ #include <pwd.h>
++#include <syslog.h>
+
+ extern void exit();
+
+ /* Local stuff */
+
+-char path[] = "PATH=/bin:/usr/bin:/usr/ucb:/usr/bsd:/etc:/usr/etc:/usr/sbin";
++char path[] = "PATH=/bin:/usr/bin:/sbin:/usr/sbin";
+
+ #define TIME_LIMIT 60 /* Do not keep listinging forever */
+ #define INPUT_LENGTH 100000 /* Do not keep listinging forever */
+ #define LINE_LENGTH 128 /* Editors can choke on long lines */
+ #define FINGER_PROGRAM "finger" /* Most, if not all, UNIX systems */
+ #define UNPRIV_NAME "nobody" /* Preferred privilege level */
+-#define UNPRIV_UGID 32767 /* Default uid and gid */
++#define UNPRIV_UGID 65534 /* Default uid and gid */
+
+ int finger_pid;
++int allow_severity = SEVERITY;
++int deny_severity = LOG_WARNING;
+
+ void cleanup(sig)
+ int sig;
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch
new file mode 100644
index 0000000..f286605
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch
@@ -0,0 +1,34 @@
+* Mon Feb 10 2003 Harald Hoyer <harald@redhat.de> 7.6-29
+- added security patch tcp_wrappers-7.6-sig.patch
+
+--- tcp_wrappers_7.6/hosts_access.c.sig 2003-02-10 16:18:31.000000000 +0100
++++ tcp_wrappers_7.6/hosts_access.c 2003-02-10 16:50:38.000000000 +0100
+@@ -66,6 +66,7 @@
+
+ #define YES 1
+ #define NO 0
++#define ERR -1
+
+ /*
+ * These variables are globally visible so that they can be redirected in
+@@ -129,9 +129,9 @@
+ return (verdict == AC_PERMIT);
+ if (table_match(hosts_allow_table, request))
+ return (YES);
+- if (table_match(hosts_deny_table, request))
+- return (NO);
+- return (YES);
++ if (table_match(hosts_deny_table, request) == NO)
++ return (YES);
++ return (NO);
+ }
+
+ /* table_match - match table entries with (daemon, client) pair */
+@@ -175,6 +175,7 @@
+ (void) fclose(fp);
+ } else if (errno != ENOENT) {
+ tcpd_warn("cannot open %s: %m", table);
++ match = ERR;
+ }
+ if (match) {
+ if (hosts_access_verbose > 1)
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch
new file mode 100644
index 0000000..71be340
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch
@@ -0,0 +1,30 @@
+diff -ruNp tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
+--- tcp_wrappers_7.6.orig/rfc931.c 2004-08-29 18:42:25.000000000 +0200
++++ tcp_wrappers_7.6/rfc931.c 2004-08-29 18:41:04.000000000 +0200
+@@ -33,7 +33,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
+
+ int rfc931_timeout = RFC931_TIMEOUT;/* Global so it can be changed */
+
+-static jmp_buf timebuf;
++static sigjmp_buf timebuf;
+
+ /* fsocket - open stdio stream on top of socket */
+
+@@ -62,7 +62,7 @@ int protocol;
+ static void timeout(sig)
+ int sig;
+ {
+- longjmp(timebuf, sig);
++ siglongjmp(timebuf, sig);
+ }
+
+ /* rfc931 - return remote user name, given socket structures */
+@@ -135,7 +135,7 @@ char *dest;
+ * Set up a timer so we won't get stuck while waiting for the server.
+ */
+
+- if (setjmp(timebuf) == 0) {
++ if (sigsetjmp(timebuf, 0) == 0) {
+ /* Save SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
+ saved_timeout = alarm(0);
+ nact.sa_handler = timeout;
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/size_t.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/size_t.patch
new file mode 100644
index 0000000..4db40f4
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/size_t.patch
@@ -0,0 +1,42 @@
+diff -ruN tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
+--- tcp_wrappers_7.6.orig/fix_options.c 2003-08-21 03:41:33.000000000 +0200
++++ tcp_wrappers_7.6/fix_options.c 2003-08-21 03:41:27.000000000 +0200
+@@ -38,7 +38,11 @@
+ #ifdef IP_OPTIONS
+ unsigned char optbuf[BUFFER_SIZE / 3], *cp;
+ char lbuf[BUFFER_SIZE], *lp;
++#ifdef __GLIBC__
++ size_t optsize = sizeof(optbuf), ipproto;
++#else
+ int optsize = sizeof(optbuf), ipproto;
++#endif
+ struct protoent *ip;
+ int fd = request->fd;
+ unsigned int opt;
+diff -ruN tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
+--- tcp_wrappers_7.6.orig/socket.c 2003-08-21 03:41:33.000000000 +0200
++++ tcp_wrappers_7.6/socket.c 2003-08-21 03:40:51.000000000 +0200
+@@ -90,7 +90,11 @@
+ static struct sockaddr_in client;
+ static struct sockaddr_in server;
+ #endif
++#ifdef __GLIBC__
++ size_t len;
++#else
+ int len;
++#endif
+ char buf[BUFSIZ];
+ int fd = request->fd;
+
+@@ -421,7 +425,11 @@
+ #else
+ struct sockaddr_in sin;
+ #endif
++#ifdef __GLIBC__
++ size_t size = sizeof(sin);
++#else
+ int size = sizeof(sin);
++#endif
+
+ /*
+ * Eat up the not-yet received datagram. Some systems insist on a
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch
new file mode 100644
index 0000000..3beae39
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch
@@ -0,0 +1,39 @@
+diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
+--- tcp_wrappers_7.6.orig/tcpdchk.c 2003-08-21 02:50:37.000000000 +0200
++++ tcp_wrappers_7.6/tcpdchk.c 2003-08-21 02:50:33.000000000 +0200
+@@ -53,6 +53,24 @@
+ #include "inetcf.h"
+ #include "scaffold.h"
+
++/* list of programs which are known to be linked with libwrap in debian */
++static const char *const libwrap_programs[] = {
++ "portmap", "mountd", "statd", "ugidd",
++ "redir", "rlinetd",
++ "sshd",
++ "atftpd",
++ "diald",
++ "esound",
++ "gdm", "gnome-session",
++ "icecast", "icecast_admin", "icecast_client", "icecast_source",
++ "mysqld",
++ "ntop",
++ "pptpd",
++ "rquotad",
++ "sendmail", "smail",
++ NULL
++};
++
+ /*
+ * Stolen from hosts_access.c...
+ */
+@@ -147,8 +165,8 @@
+ /*
+ * These are not run from inetd but may have built-in access control.
+ */
+- inet_set("portmap", WR_NOT);
+- inet_set("rpcbind", WR_NOT);
++ for (c = 0; libwrap_programs[c]; c++)
++ inet_set(libwrap_programs[c], WR_YES);
+
+ /*
+ * Check accessibility of access control files.
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/try-from.8 b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/try-from.8
new file mode 100644
index 0000000..9c8f305
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers-7.6/try-from.8
@@ -0,0 +1,28 @@
+.TH TRY-FROM 8 "21th June 1997" Linux "Linux Programmer's Manual"
+.SH NAME
+try-from \- test program for the tcp_wrapper
+.SH SYNOPSIS
+.B try-from
+.SH DESCRIPTION
+The
+.B try-from
+command can be called via a remote shell command to find out
+if the hostname and address are properly recognized
+by the
+.B tcp_wrapper
+library, if username lookup works, and (SysV only) if the TLI
+on top of IP heuristics work. Diagnostics are reported through
+.BR syslog (3)
+and redirected to stderr.
+
+Example:
+
+rsh host /some/where/try-from
+
+.SH SEE ALSO
+.BR hosts_access (5),
+.BR hosts_options (5),
+.BR tcpd (8)
+.SH AUTHOR
+Wietse Venema, Eindhoven University of Technology, The Netherlands.
+
diff --git a/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers_7.6.bb b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers_7.6.bb
new file mode 100644
index 0000000..8642c8e
--- /dev/null
+++ b/meta-oe/recipes-support/tcp-wrappers/tcp-wrappers_7.6.bb
@@ -0,0 +1,111 @@
+DESCRIPTION = "Tools for monitoring and filtering incoming requests for TCP \
+ services."
+HOMEPAGE = "ftp://ftp.porcupine.org/pub/security/index.html"
+LICENSE = "tcp-wrappers"
+LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
+SECTION = "console/network"
+PRIORITY = "optional"
+PR ="r6"
+
+SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
+ file://00_man_quoting.diff \
+ file://01_man_portability.patch \
+ file://05_wildcard_matching.patch \
+ file://06_fix_gethostbyname.patch \
+ file://10_usagi-ipv6.patch \
+ file://11_tcpd_blacklist.patch \
+ file://11_usagi_fix.patch \
+ file://12_makefile_config.patch \
+ file://13_shlib_weaksym.patch \
+ file://14_cidr_support.patch \
+ file://15_match_clarify.patch \
+ file://expand_remote_port.patch \
+ file://have_strerror.patch \
+ file://man_fromhost.patch \
+ file://restore_sigalarm.patch \
+ file://rfc931.diff \
+ file://safe_finger.patch \
+ file://sig_fix.patch \
+ file://siglongjmp.patch \
+ file://size_t.patch \
+ file://tcpdchk_libwrapped.patch \
+ file://ldflags.patch \
+ \
+ file://try-from.8 \
+ file://safe_finger.8"
+
+SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a"
+SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d"
+
+S = "${WORKDIR}/tcp_wrappers_${PV}"
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "'CC=${CC}' \
+ 'AR=${AR}' \
+ 'RANLIB=${RANLIB}' \
+ 'REAL_DAEMON_DIR=${sbindir}' \
+ 'STYLE=-DPROCESS_OPTIONS' \
+ 'FACILITY=LOG_DAEMON' \
+ 'SEVERITY=LOG_INFO' \
+ 'BUGS=' \
+ 'VSYSLOG=' \
+ 'RFC931_TIMEOUT=10' \
+ 'ACCESS=-DHOSTS_ACCESS' \
+ 'KILL_OPT=-DKILL_IP_OPTIONS' \
+ 'UMASK=-DDAEMON_UMASK=022' \
+ 'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \
+ 'LIBS=-lnsl' \
+ 'ARFLAGS=rv' \
+ 'AUX_OBJ=weak_symbols.o' \
+ 'TLI=' \
+ 'COPTS=' \
+ 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
+
+EXTRA_OEMAKE_NETGROUP = "-DNETGROUP"
+EXTRA_OEMAKE_NETGROUP_libc-uclibc = ""
+
+do_compile () {
+ oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
+ all
+}
+
+BINS = "safe_finger tcpd tcpdchk try-from tcpdmatch"
+MANS3 = "hosts_access"
+MANS5 = "hosts_options"
+MANS8 = "tcpd tcpdchk tcpdmatch"
+do_install () {
+ oe_libinstall -C shared -so libwrap ${D}${libdir}/
+
+ install -d ${D}${sbindir}
+ for b in ${BINS}; do
+ install -m 0755 $b ${D}${sbindir}/ || exit 1
+ done
+
+ install -d ${D}${mandir}/man3
+ for m in ${MANS3}; do
+ install -m 0644 $m.3 ${D}${mandir}/man3/ || exit 1
+ done
+
+ install -d ${D}${mandir}/man5
+ for m in ${MANS5}; do
+ install -m 0644 $m.5 ${D}${mandir}/man5/ || exit 1
+ done
+
+ install -d ${D}${mandir}/man8
+ for m in ${MANS8}; do
+ install -m 0644 $m.8 ${D}${mandir}/man8/ || exit 1
+ done
+
+ install -m 0644 ${WORKDIR}/try-from.8 ${D}${mandir}/man8/
+ install -m 0644 ${WORKDIR}/safe_finger.8 ${D}${mandir}/man8/
+
+ install -d ${D}${includedir}
+ install -m 0644 tcpd.h ${D}${includedir}/
+}
+
+PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev tcp-wrappers tcp-wrappers-doc"
+FILES_libwrap = "${libdir}/lib*.so.*"
+FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5"
+FILES_libwrap-dev = "${libdir}/lib*.so ${includedir}"
+FILES_tcp-wrappers = "${bindir}"
+FILES_tcp-wrappers-doc = "${mandir}/man8"
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 12/14] nfs-utils: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (10 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 11/14] tcp-wrappers: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 13/14] i2c-tools: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 14/14] tcpdump: " Martin Jansa
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../nfs-utils-S_ISREG-missing-include.patch | 33 +++++
.../nfs-utils-tools-unset-cflags.patch | 92 ++++++++++++
.../nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch | 49 +++++++
.../nfs-utils/nfs-utils-1.1.2/nfsserver | 149 ++++++++++++++++++++
.../recipes-support/nfs-utils/nfs-utils_1.1.2.bb | 54 +++++++
5 files changed, 377 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-S_ISREG-missing-include.patch
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-tools-unset-cflags.patch
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfsserver
create mode 100644 meta-oe/recipes-support/nfs-utils/nfs-utils_1.1.2.bb
diff --git a/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-S_ISREG-missing-include.patch b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-S_ISREG-missing-include.patch
new file mode 100644
index 0000000..6b2c75e
--- /dev/null
+++ b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-S_ISREG-missing-include.patch
@@ -0,0 +1,33 @@
+diff -uNr nfs-utils-1.1.2.orig//utils/exportfs/exportfs.c nfs-utils-1.1.2/utils/exportfs/exportfs.c
+--- nfs-utils-1.1.2.orig//utils/exportfs/exportfs.c 2008-03-14 16:46:29.000000000 +0100
++++ nfs-utils-1.1.2/utils/exportfs/exportfs.c 2010-05-26 10:31:23.000000000 +0200
+@@ -19,6 +19,7 @@
+ #include <getopt.h>
+ #include <netdb.h>
+ #include <errno.h>
++#include <sys/stat.h>
+ #include "xmalloc.h"
+ #include "misc.h"
+ #include "nfslib.h"
+diff -uNr nfs-utils-1.1.2.orig//utils/mount/mount.c nfs-utils-1.1.2/utils/mount/mount.c
+--- nfs-utils-1.1.2.orig//utils/mount/mount.c 2008-03-14 16:46:29.000000000 +0100
++++ nfs-utils-1.1.2/utils/mount/mount.c 2010-05-26 10:31:32.000000000 +0200
+@@ -24,6 +24,7 @@
+
+ #include <unistd.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+diff -uNr nfs-utils-1.1.2.orig//utils/mount/network.c nfs-utils-1.1.2/utils/mount/network.c
+--- nfs-utils-1.1.2.orig//utils/mount/network.c 2008-03-14 16:46:29.000000000 +0100
++++ nfs-utils-1.1.2/utils/mount/network.c 2010-05-26 10:31:35.000000000 +0200
+@@ -37,6 +37,7 @@
+ #include <rpc/pmap_prot.h>
+ #include <rpc/pmap_clnt.h>
+ #include <sys/socket.h>
++#include <sys/stat.h>
+
+ #include "xcommon.h"
+ #include "mount.h"
diff --git a/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-tools-unset-cflags.patch b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-tools-unset-cflags.patch
new file mode 100644
index 0000000..16bdebf
--- /dev/null
+++ b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-tools-unset-cflags.patch
@@ -0,0 +1,92 @@
+Index: nfs-utils-1.1.2/tools/Makefile.am
+===================================================================
+--- nfs-utils-1.1.2.orig/tools/Makefile.am 2008-03-14 08:46:29.000000000 -0700
++++ nfs-utils-1.1.2/tools/Makefile.am 2009-03-04 01:58:50.000000000 -0800
+@@ -5,7 +5,10 @@
+ if CONFIG_RPCGEN
+ OPTDIRS += rpcgen
+ endif
+-
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+ SUBDIRS = locktest rpcdebug nlmtest $(OPTDIRS)
+
+ MAINTAINERCLEANFILES = Makefile.in
+Index: nfs-utils-1.1.2/tools/locktest/Makefile.am
+===================================================================
+--- nfs-utils-1.1.2.orig/tools/locktest/Makefile.am 2008-03-14 08:46:29.000000000 -0700
++++ nfs-utils-1.1.2/tools/locktest/Makefile.am 2009-03-04 01:58:50.000000000 -0800
+@@ -1,12 +1,13 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+ LIBTOOL = @LIBTOOL@ --tag=CC
+
+ noinst_PROGRAMS = testlk
+ testlk_SOURCES = testlk.c
+-testlk_CFLAGS=$(CFLAGS_FOR_BUILD)
+-testlk_CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
+-testlk_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+
+ MAINTAINERCLEANFILES = Makefile.in
+Index: nfs-utils-1.1.2/tools/nlmtest/Makefile.am
+===================================================================
+--- nfs-utils-1.1.2.orig/tools/nlmtest/Makefile.am 2008-03-14 08:46:29.000000000 -0700
++++ nfs-utils-1.1.2/tools/nlmtest/Makefile.am 2009-03-04 01:58:50.000000000 -0800
+@@ -1,5 +1,8 @@
+ ## Process this file with automake to produce Makefile.in
+-
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+ EXTRA_DIST = \
+ README \
+ host.h \
+Index: nfs-utils-1.1.2/tools/rpcgen/Makefile.am
+===================================================================
+--- nfs-utils-1.1.2.orig/tools/rpcgen/Makefile.am 2008-03-14 08:46:29.000000000 -0700
++++ nfs-utils-1.1.2/tools/rpcgen/Makefile.am 2009-03-04 01:58:50.000000000 -0800
+@@ -1,6 +1,10 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+ LIBTOOL = @LIBTOOL@ --tag=CC
+
+ noinst_PROGRAMS = rpcgen
+@@ -9,10 +13,6 @@
+ rpc_util.c rpc_sample.c rpc_output.h rpc_parse.h \
+ rpc_scan.h rpc_util.h
+
+-rpcgen_CFLAGS=$(CFLAGS_FOR_BUILD)
+-rpcgen_CPPLAGS=$(CPPFLAGS_FOR_BUILD)
+-rpcgen_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+-
+ MAINTAINERCLEANFILES = Makefile.in
+
+ EXTRA_DIST = rpcgen.new.1
+Index: nfs-utils-1.1.2/tools/rpcdebug/Makefile.am
+===================================================================
+--- nfs-utils-1.1.2.orig/tools/rpcdebug/Makefile.am 2009-03-04 02:01:41.000000000 -0800
++++ nfs-utils-1.1.2/tools/rpcdebug/Makefile.am 2009-03-04 02:02:42.000000000 -0800
+@@ -1,6 +1,10 @@
+ ## Process this file with automake to produce Makefile.in
+
+ CC=$(CC_FOR_BUILD)
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
+ LIBTOOL = @LIBTOOL@ --tag=CC
+
+ man8_MANS = rpcdebug.man
diff --git a/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch
new file mode 100644
index 0000000..f242ead
--- /dev/null
+++ b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfs-utils-uclibc-compile.patch
@@ -0,0 +1,49 @@
+--- a/support/nfs/svc_socket.c.org 2007-05-11 03:40:57 +0000
++++ b/support/nfs/svc_socket.c 2007-10-24 15:20:05 +0000
+@@ -67,8 +67,13 @@
+ memset (&addr, 0, sizeof (addr));
+ addr.sin_family = AF_INET;
+
++#ifdef __UCLIBC__
++ rpcp = getrpcbynumber (number);
++ ret = 0;
++#else
+ ret = getrpcbynumber_r (number, &rpcbuf, rpcdata, sizeof rpcdata,
+ &rpcp);
++#endif
+ if (ret == 0 && rpcp != NULL)
+ {
+ /* First try name. */
+--- a/utils/mountd/cache.c.org 2007-05-11 03:40:57 +0000
++++ b/utils/mountd/cache.c 2007-10-24 15:21:53 +0000
+@@ -131,6 +131,7 @@
+ pw = getpwuid(uid);
+ if (!pw)
+ rv = -1;
++#ifndef __UCLIBC__
+ else {
+ rv = getgrouplist(pw->pw_name, pw->pw_gid, groups, &ngroups);
+ if (rv == -1 && ngroups >= 100) {
+@@ -142,6 +143,7 @@
+ groups, &ngroups);
+ }
+ }
++#endif
+ qword_printint(f, uid);
+ qword_printint(f, time(0)+30*60);
+ if (rv >= 0) {
+--- a/tools/rpcgen/rpc_cout.c.org 2007-05-11 03:40:57 +0000
++++ b/tools/rpcgen/rpc_cout.c 2007-10-24 15:23:17 +0000
+@@ -647,7 +647,11 @@
+ int freed=0;
+
+ if(flag == PUT)
++#ifdef __UCLIBC__
++ f_print(fout,"\t\t IXDR_PUT_");
++#else
+ f_print(fout,"\t\t (void) IXDR_PUT_");
++#endif
+ else
+ if(rel== REL_ALIAS)
+ f_print(fout,"\t\t objp->%s = IXDR_GET_",decl->name);
+
diff --git a/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfsserver b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfsserver
new file mode 100644
index 0000000..b4c7662
--- /dev/null
+++ b/meta-oe/recipes-support/nfs-utils/nfs-utils-1.1.2/nfsserver
@@ -0,0 +1,149 @@
+#!/bin/sh
+#
+# Startup script for nfs-utils
+#
+#
+# The environment variable NFS_SERVERS may be set in /etc/default/nfsd
+# Other control variables may be overridden here too
+test -r /etc/default/nfsd && . /etc/default/nfsd
+#
+# Location of executables:
+test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd
+test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd
+test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd
+#
+# The user mode program must also exist (it just starts the kernel
+# threads using the kernel module code).
+test -x "$NFS_MOUNTD" || exit 0
+test -x "$NFS_NFSD" || exit 0
+#
+# Default is 8 threads, value is settable between 1 and the truely
+# ridiculous 99
+test "$NFS_SERVERS" -gt 0 && test "$NFS_SERVERS" -lt 100 || NFS_SERVERS=8
+#
+# The default state directory is /var/lib/nfs
+test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs
+#
+#----------------------------------------------------------------------
+# Startup and shutdown functions.
+# Actual startup/shutdown is at the end of this file.
+#directories
+create_directories(){
+ echo -n 'creating NFS state directory: '
+ mkdir -p "$NFS_STATEDIR"
+ ( cd "$NFS_STATEDIR"
+ umask 077
+ mkdir -p sm sm.bak
+ test -w sm/state || {
+ rm -f sm/state
+ :>sm/state
+ }
+ umask 022
+ for file in xtab etab smtab rmtab
+ do
+ test -w "$file" || {
+ rm -f "$file"
+ :>"$file"
+ }
+ done
+ )
+ echo done
+}
+#mountd
+start_mountd(){
+ echo -n 'starting mountd: '
+ start-stop-daemon --start --exec "$NFS_MOUNTD" -- "-f /etc/exports $@"
+ echo done
+}
+stop_mountd(){
+ echo -n 'stopping mountd: '
+ start-stop-daemon --stop --quiet --exec "$NFS_MOUNTD"
+ echo done
+}
+#
+#nfsd
+start_nfsd(){
+ echo -n "starting $1 nfsd kernel threads: "
+ start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
+ echo done
+}
+delay_nfsd(){
+ for delay in 0 1 2 3 4 5 6 7 8 9
+ do
+ if pidof nfsd >/dev/null
+ then
+ echo -n .
+ sleep 1
+ else
+ return 0
+ fi
+ done
+ return 1
+}
+stop_nfsd(){
+ # WARNING: this kills any process with the executable
+ # name 'nfsd'.
+ echo -n 'stopping nfsd: '
+ start-stop-daemon --stop --quiet --signal 1 --name nfsd
+ if delay_nfsd || {
+ echo failed
+ echo ' using signal 9: '
+ start-stop-daemon --stop --quiet --signal 9 --name nfsd
+ delay_nfsd
+ }
+ then
+ echo done
+ # This will remove, recursively, dependencies
+ echo -n 'removing nfsd kernel module: '
+ if modprobe -r nfsd
+ then
+ echo done
+ else
+ echo failed
+ fi
+ else
+ echo failed
+ fi
+}
+
+#statd
+start_statd(){
+ echo -n "starting statd: "
+ start-stop-daemon --start --exec "$NFS_STATD"
+ echo done
+}
+stop_statd(){
+ # WARNING: this kills any process with the executable
+ # name 'statd'.
+ echo -n 'stopping statd: '
+ start-stop-daemon --stop --quiet --signal 1 --name statd
+ echo done
+}
+#----------------------------------------------------------------------
+#
+# supported options:
+# start
+# stop
+# reload: reloads the exports file
+# restart: stops and starts mountd
+#FIXME: need to create the /var/lib/nfs/... directories
+case "$1" in
+start) create_directories
+ start_nfsd "$NFS_SERVERS"
+ start_mountd
+ start_statd
+ test -r /etc/exports && exportfs -a;;
+stop) exportfs -ua
+ stop_statd
+ stop_mountd
+ stop_nfsd;;
+reload) test -r /etc/exports && exportfs -r;;
+restart)exportfs -ua
+ stop_mountd
+ stop_statd
+ # restart does not restart the kernel threads,
+ # only the user mode processes
+ start_mountd
+ start_statd
+ test -r /etc/exports && exportfs -a;;
+esac
diff --git a/meta-oe/recipes-support/nfs-utils/nfs-utils_1.1.2.bb b/meta-oe/recipes-support/nfs-utils/nfs-utils_1.1.2.bb
new file mode 100644
index 0000000..9510b30
--- /dev/null
+++ b/meta-oe/recipes-support/nfs-utils/nfs-utils_1.1.2.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "userspace utilities for kernel nfs"
+PRIORITY = "optional"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+PR = "r9"
+
+DEPENDS = "util-linux tcp-wrappers libevent"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.gz \
+ file://nfs-utils-tools-unset-cflags.patch \
+ file://nfs-utils-uclibc-compile.patch \
+ file://nfs-utils-S_ISREG-missing-include.patch \
+ file://nfsserver \
+ "
+
+S = "${WORKDIR}/nfs-utils-${PV}/"
+
+PARALLEL_MAKE = ""
+
+# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
+# pull in the remainder of the dependencies.
+RDEPENDS_${PN} = "portmap"
+RRECOMMENDS_${PN} = "kernel-module-nfsd"
+
+INITSCRIPT_NAME = "nfsserver"
+# The server has no dependencies at the user run levels, so just put
+# it in at the default levels. It must be terminated before the network
+# in the shutdown levels, but that works fine.
+INITSCRIPT_PARAMS = "defaults"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = "--with-statduser=nobody \
+ --enable-nfsv3 \
+ --disable-nfsv4 \
+ --disable-gss \
+ --with-statedir=/var/lib/nfs"
+
+INHIBIT_AUTO_STAGE = "1"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
+
+ rm ${D}${sbindir}/rpcdebug
+}
+
+PACKAGES =+ "nfs-utils-client"
+FILES_nfs-utils-client = "${base_sbindir}/*mount.nfs*"
+
+SRC_URI[md5sum] = "76ee9274c2b867839427eba91b327f03"
+SRC_URI[sha256sum] = "1d09b1c133e4eed9d2df07ead4eba813e6993875c39e66d7b4081287029d4033"
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 13/14] i2c-tools: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (11 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 12/14] nfs-utils: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 14/14] tcpdump: " Martin Jansa
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../i2c-tools/i2c-tools-3.0.3/Module.mk | 72 ++++++++++++++++++++
.../recipes-support/i2c-tools/i2c-tools_3.0.3.bb | 24 +++++++
2 files changed, 96 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/i2c-tools/i2c-tools-3.0.3/Module.mk
create mode 100644 meta-oe/recipes-support/i2c-tools/i2c-tools_3.0.3.bb
diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools-3.0.3/Module.mk b/meta-oe/recipes-support/i2c-tools/i2c-tools-3.0.3/Module.mk
new file mode 100644
index 0000000..fcaf72f
--- /dev/null
+++ b/meta-oe/recipes-support/i2c-tools/i2c-tools-3.0.3/Module.mk
@@ -0,0 +1,72 @@
+# EEPROMER
+#
+# Licensed under the GNU General Public License.
+
+EEPROMER_DIR := eepromer
+
+EEPROMER_CFLAGS := -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \
+ -Wcast-align -Wwrite-strings -Wnested-externs -Winline \
+ -W -Wundef -Wmissing-prototypes -Iinclude
+
+EEPROMER_TARGETS := eepromer eeprom eeprog
+
+#
+# Programs
+#
+
+$(EEPROMER_DIR)/eepromer: $(EEPROMER_DIR)/eepromer.o
+ $(CC) $(LDFLAGS) -o $@ $^
+
+$(EEPROMER_DIR)/eeprom: $(EEPROMER_DIR)/eeprom.o
+ $(CC) $(LDFLAGS) -o $@ $^
+
+$(EEPROMER_DIR)/eeprog: $(EEPROMER_DIR)/eeprog.o $(EEPROMER_DIR)/24cXX.o
+ $(CC) $(LDFLAGS) -o $@ $^
+
+#
+# Objects
+#
+
+$(EEPROMER_DIR)/eepromer.o: $(EEPROMER_DIR)/eepromer.c
+ $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
+
+$(EEPROMER_DIR)/eeprom.o: $(EEPROMER_DIR)/eeprom.c
+ $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
+
+$(EEPROMER_DIR)/eeprog.o: $(EEPROMER_DIR)/eeprog.c
+ $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
+
+$(EEPROMER_DIR)/24cXX.o: $(EEPROMER_DIR)/24cXX.c
+ $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@
+
+#
+# Commands
+#
+
+all-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
+
+strip-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
+ strip $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
+
+clean-eepromer:
+ $(RM) $(addprefix $(EEPROMER_DIR)/,*.o $(EEPROMER_TARGETS))
+
+install-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS))
+ $(INSTALL_DIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir)
+ for program in $(EEPROMER_TARGETS) ; do \
+ $(INSTALL_PROGRAM) $(EEPROMER_DIR)/$$program $(DESTDIR)$(sbindir) ; done
+
+uninstall-eepromer:
+ for program in $(EEPROMER_TARGETS) ; do \
+ $(RM) $(DESTDIR)$(sbindir)/$$program ; \
+ $(RM) $(DESTDIR)$(man8dir)/$$program.8 ; done
+
+all: all-eepromer
+
+strip: strip-eepromer
+
+clean: clean-eepromer
+
+install: install-eepromer
+
+uninstall: uninstall-eepromer
diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.0.3.bb b/meta-oe/recipes-support/i2c-tools/i2c-tools_3.0.3.bb
new file mode 100644
index 0000000..021090c
--- /dev/null
+++ b/meta-oe/recipes-support/i2c-tools/i2c-tools_3.0.3.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Set of i2c tools for linux"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \
+ file://Module.mk \
+ "
+SRC_URI[md5sum] = "511376eed04455cdb277ef19c5f73bb4"
+SRC_URI[sha256sum] = "23b28e474741834e3f1b35b0686528769a13adc92d2ff5603cbda1d6bd5e5629"
+
+inherit autotools
+
+do_compile_prepend() {
+ cp ${WORKDIR}/Module.mk ${S}/eepromer/
+ sed -i 's#/usr/local#/usr#' Makefile
+ echo "include eepromer/Module.mk" >> Makefile
+}
+
+do_install_append() {
+ install -d ${D}${includedir}/linux
+ install -m 0644 include/linux/i2c-dev.h ${D}${includedir}/linux/i2c-dev-user.h
+ rm -f ${D}${includedir}/linux/i2c-dev.h
+}
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [meta-oe][PATCH 14/14] tcpdump: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
` (12 preceding siblings ...)
2011-05-29 21:56 ` [meta-oe][PATCH 13/14] i2c-tools: " Martin Jansa
@ 2011-05-29 21:56 ` Martin Jansa
13 siblings, 0 replies; 21+ messages in thread
From: Martin Jansa @ 2011-05-29 21:56 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../0001-minimal-IEEE802.15.4-allowed.patch | 22 ++++++++++
.../tcpdump/tcpdump-4.1.1/configure.patch | 29 +++++++++++++
.../tcpdump/tcpdump-4.1.1/ipv6-cross.patch | 41 +++++++++++++++++++
.../tcpdump-4.1.1/tcpdump_configure_no_-O2.patch | 42 ++++++++++++++++++++
meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb | 42 ++++++++++++++++++++
5 files changed, 176 insertions(+), 0 deletions(-)
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/0001-minimal-IEEE802.15.4-allowed.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/configure.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/ipv6-cross.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/tcpdump_configure_no_-O2.patch
create mode 100644 meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb
diff --git a/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/0001-minimal-IEEE802.15.4-allowed.patch b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/0001-minimal-IEEE802.15.4-allowed.patch
new file mode 100644
index 0000000..9d3d60d
--- /dev/null
+++ b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/0001-minimal-IEEE802.15.4-allowed.patch
@@ -0,0 +1,22 @@
+From: Sergey Lapin <slapin@slind.org>
+Date: Wed, 28 Jan 2009 16:34:15 +0300
+Subject: [PATCH] minimal IEEE802.15.4 allowed
+
+---
+ tcpdump.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/tcpdump.c b/tcpdump.c
+index 06683af..fbc944c 100644
+--- a/tcpdump.c
++++ b/tcpdump.c
+@@ -282,6 +282,9 @@ static struct printer printers[] = {
+ #ifdef DLT_MFR
+ { mfr_if_print, DLT_MFR },
+ #endif
++#ifdef DLT_IEEE802_15_4
++ { raw_if_print, DLT_IEEE802_15_4 },
++#endif
+ #if defined(DLT_BLUETOOTH_HCI_H4_WITH_PHDR) && defined(HAVE_PCAP_BLUETOOTH_H)
+ { bt_if_print, DLT_BLUETOOTH_HCI_H4_WITH_PHDR},
+ #endif
diff --git a/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/configure.patch b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/configure.patch
new file mode 100644
index 0000000..3697420
--- /dev/null
+++ b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/configure.patch
@@ -0,0 +1,29 @@
+---
+ aclocal.m4 | 1 -
+ configure.in | 1 +
+ 2 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 40b5866..0c662b0 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -40,7 +40,6 @@ dnl
+ AC_DEFUN(AC_LBL_C_INIT_BEFORE_CC,
+ [AC_PREREQ(2.50)
+ AC_BEFORE([$0], [AC_LBL_C_INIT])
+- AC_BEFORE([$0], [AC_PROG_CC])
+ AC_BEFORE([$0], [AC_LBL_FIXINCLUDES])
+ AC_BEFORE([$0], [AC_LBL_DEVEL])
+ AC_ARG_WITH(gcc, [ --without-gcc don't use gcc])
+diff --git a/configure.in b/configure.in
+index 11257c9..7f9591c 100644
+--- a/configure.in
++++ b/configure.in
+@@ -19,6 +19,7 @@ AC_REVISION($Revision: 1.204 $)
+ AC_PREREQ(2.50)
+ AC_INIT(tcpdump.c)
+
++AC_PROG_CC
+ AC_CANONICAL_HOST
+
+ AC_LBL_C_INIT_BEFORE_CC(V_CCOPT, V_INCLS)
diff --git a/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/ipv6-cross.patch b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/ipv6-cross.patch
new file mode 100644
index 0000000..7eba2c5
--- /dev/null
+++ b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/ipv6-cross.patch
@@ -0,0 +1,41 @@
+---
+ configure.in | 12 ++++++++----
+ 1 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index eb3e5e8..11257c9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -181,8 +181,9 @@ yes) AC_MSG_RESULT(yes)
+ ipv6=no
+ ;;
+ esac ],
+-
+- AC_TRY_RUN([ /* AF_INET6 available check */
++[
++ if test x"$cross_compiling" != "xyes"; then
++ AC_TRY_RUN([ /* AF_INET6 avalable check */
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ main()
+@@ -201,7 +202,10 @@ main()
+ ipv6=no],
+ [ AC_MSG_RESULT(no)
+ ipv6=no]
+-))
++ )
++else
++ AC_MSG_FAILURE([Unable to check for ipv6 when crosscompiling, please specify.])
++fi])
+
+ ipv6type=unknown
+ ipv6lib=none
+@@ -316,7 +320,7 @@ if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then
+ fi
+
+
+-if test "$ipv6" = "yes"; then
++if test x"$cross_compiling" != "xyes" -a "$ipv6" = "yes"; then
+ #
+ # XXX - on Tru64 UNIX 5.1, there is no "getaddrinfo()"
+ # function in libc; there are "ngetaddrinfo()" and
diff --git a/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/tcpdump_configure_no_-O2.patch b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/tcpdump_configure_no_-O2.patch
new file mode 100644
index 0000000..7929da5
--- /dev/null
+++ b/meta-oe/recipes-support/tcpdump/tcpdump-4.1.1/tcpdump_configure_no_-O2.patch
@@ -0,0 +1,42 @@
+---
+ configure | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index cb51d19..73d51af 100755
+--- a/configure
++++ b/configure
+@@ -2691,13 +2691,13 @@ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+ elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+- CFLAGS="-g -O2"
++ CFLAGS="-g"
+ else
+ CFLAGS="-g"
+ fi
+ else
+ if test "$GCC" = yes; then
+- CFLAGS="-O2"
++ CFLAGS=""
+ else
+ CFLAGS=
+ fi
+@@ -2830,7 +2830,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ if test "$GCC" = yes ; then
+ if test "$SHLICC2" = yes ; then
+ ac_cv_lbl_gcc_vers=2
+- V_CCOPT="-O2"
++ V_CCOPT=""
+ else
+ { echo "$as_me:$LINENO: checking gcc version" >&5
+ echo $ECHO_N "checking gcc version... $ECHO_C" >&6; }
+@@ -2847,7 +2847,7 @@ fi
+ { echo "$as_me:$LINENO: result: $ac_cv_lbl_gcc_vers" >&5
+ echo "${ECHO_T}$ac_cv_lbl_gcc_vers" >&6; }
+ if test $ac_cv_lbl_gcc_vers -gt 1 ; then
+- V_CCOPT="-O2"
++ V_CCOPT=""
+ fi
+ fi
+ else
diff --git a/meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb b/meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb
new file mode 100644
index 0000000..109bc77
--- /dev/null
+++ b/meta-oe/recipes-support/tcpdump/tcpdump_4.1.1.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "A sophisticated network protocol analyzer"
+HOMEPAGE = "http://www.tcpdump.org/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
+SECTION = "console/network"
+PRIORITY = "optional"
+DEPENDS = "libpcap"
+PR = "r1"
+
+SRC_URI = " \
+ http://www.tcpdump.org/release/tcpdump-${PV}.tar.gz \
+ file://tcpdump_configure_no_-O2.patch \
+ file://0001-minimal-IEEE802.15.4-allowed.patch \
+ file://ipv6-cross.patch \
+ file://configure.patch \
+"
+
+inherit autotools
+# ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+EXTRA_OECONF = "--without-crypto \
+ ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6', '--disable-ipv6', d)}"
+
+do_configure() {
+ # AC_CHECK_LIB(dlpi.. was looking to host /lib
+ sed -i 's:-L/lib:-L${STAGING_LIBDIR}:g' ./configure.in
+
+ gnu-configize
+ autoconf
+ oe_runconf
+ sed -i 's:/usr/lib:${STAGING_LIBDIR}:' ./Makefile
+ sed -i 's:/usr/include:${STAGING_INCDIR}:' ./Makefile
+}
+
+do_install_append() {
+ # tcpdump 4.0.0 installs a copy to /usr/sbin/tcpdump.4.0.0
+ rm -f ${D}${sbindir}/tcpdump.${PV}
+}
+
+SRC_URI[md5sum] = "d0dd58bbd6cd36795e05c6f1f74420b0"
+SRC_URI[sha256sum] = "e6cd4bbd61ec7adbb61ba8352c4b4734f67b8caaa845d88cb826bc0b9f1e7f0a"
+
--
1.7.5.rc3
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [meta-oe][PATCH 07/14] libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 ` [meta-oe][PATCH 07/14] libelf: " Martin Jansa
@ 2011-05-30 1:48 ` Khem Raj
2011-05-30 5:30 ` Martin Jansa
0 siblings, 1 reply; 21+ messages in thread
From: Khem Raj @ 2011-05-30 1:48 UTC (permalink / raw)
To: openembedded-devel
On Sun, 2011-05-29 at 23:56 +0200, Martin Jansa wrote:
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
You do not need to import libelf recipe. oe-core provides libelf via
elfutils change the depending recipes to depend on elfutils instead.
> ---
> meta-oe/recipes-support/libelf/libelf_0.8.13.bb | 38 +++++++++++++++++++++++
> 1 files changed, 38 insertions(+), 0 deletions(-)
> create mode 100644 meta-oe/recipes-support/libelf/libelf_0.8.13.bb
>
> diff --git a/meta-oe/recipes-support/libelf/libelf_0.8.13.bb b/meta-oe/recipes-support/libelf/libelf_0.8.13.bb
> new file mode 100644
> index 0000000..2ca562f
> --- /dev/null
> +++ b/meta-oe/recipes-support/libelf/libelf_0.8.13.bb
> @@ -0,0 +1,38 @@
> +DESCRIPTION = "libelf is an ELF object file access library. \
> +The elf library provides routines to access, and manipulate, Elf object files."
> +LICENSE = "LGPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
> +SECTION = "libs"
> +PR = "r1"
> +
> +SRC_URI = "http://www.mr511.de/software/libelf-${PV}.tar.gz"
> +SRC_URI[md5sum] = "4136d7b4c04df68b686570afa26988ac"
> +SRC_URI[sha256sum] = "591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d"
> +
> +inherit autotools
> +
> +PARALLEL_MAKE = ""
> +
> +TARGET_CC_ARCH += "${LDFLAGS}"
> +
> +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> +
> +do_configure_prepend () {
> + if test ! -e acinclude.m4; then
> + cp aclocal.m4 acinclude.m4
> + fi
> +}
> +
> +do_install () {
> + oe_runmake 'prefix=${D}${prefix}' 'exec_prefix=${D}${exec_prefix}' \
> + 'libdir=${D}${libdir}' 'includedir=${D}${includedir}' \
> + install
> + install -d ${STAGING_INCDIR}/libelf
> + for i in libelf.h nlist.h gelf.h sys_elf.h; do
> + install -m 0644 lib/$i ${STAGING_INCDIR}/libelf/
> + done
> + make includedir=${STAGING_INCDIR} install-compat
> +}
> +
> +BBCLASSEXTEND = "native"
> +
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [meta-oe][PATCH 08/14] ltrace: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-29 21:56 ` [meta-oe][PATCH 08/14] ltrace: " Martin Jansa
@ 2011-05-30 1:50 ` Khem Raj
0 siblings, 0 replies; 21+ messages in thread
From: Khem Raj @ 2011-05-30 1:50 UTC (permalink / raw)
To: openembedded-devel
On Sun, 2011-05-29 at 23:56 +0200, Martin Jansa wrote:
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
ltrace belongs to recipes-devtools IMO
> ---
> .../recipes-support/ltrace/files/add-sysdep.patch | 13 +++
> .../ltrace/files/ltrace-compile.patch | 80 +++++++++++++++++++
> .../files/ltrace-fix-sysdep_h-dependency.patch | 33 ++++++++
> .../ltrace/files/ltrace-mips-remove-CP.patch | 12 +++
> .../recipes-support/ltrace/files/ltrace-mips.patch | 36 +++++++++
> .../recipes-support/ltrace/files/ltrace-ppc.patch | 11 +++
> meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb | 81 ++++++++++++++++++++
> 7 files changed, 266 insertions(+), 0 deletions(-)
> create mode 100644 meta-oe/recipes-support/ltrace/files/add-sysdep.patch
> create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
> create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
> create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
> create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
> create mode 100644 meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
> create mode 100644 meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
>
> diff --git a/meta-oe/recipes-support/ltrace/files/add-sysdep.patch b/meta-oe/recipes-support/ltrace/files/add-sysdep.patch
> new file mode 100644
> index 0000000..1d0432f
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/files/add-sysdep.patch
> @@ -0,0 +1,13 @@
> +Index: ltrace-0.5.3/Makefile.in
> +===================================================================
> +--- ltrace-0.5.3.orig/Makefile.in 2009-10-23 22:06:08.130304691 -0700
> ++++ ltrace-0.5.3/Makefile.in 2009-10-23 22:06:53.160369614 -0700
> +@@ -39,6 +39,8 @@ ltrace: main.o libltrace.a
> + libltrace.a: sysdeps/sysdep.o $(OBJ)
> + $(AR) rcv $@ $^
> +
> ++$(OBJ): sysdeps/sysdep.o
> ++
> + sysdeps/sysdep.o: dummy
> + $(MAKE) -C sysdeps/$(OS)
> +
> diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch b/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
> new file mode 100644
> index 0000000..4784deb
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/files/ltrace-compile.patch
> @@ -0,0 +1,80 @@
> +Index: ltrace-0.5.3/common.h
> +===================================================================
> +--- ltrace-0.5.3.orig/common.h 2009-10-23 23:13:45.700282578 -0700
> ++++ ltrace-0.5.3/common.h 2009-10-23 23:14:13.550371553 -0700
> +@@ -1,3 +1,5 @@
> ++#ifndef COMMON_H
> ++#define COMMON_H
> + #include <sys/types.h>
> + #include <sys/time.h>
> + #include <stdio.h>
> +@@ -251,3 +253,5 @@ extern void * sym2addr(Process *, struct
> + #if 0 /* not yet */
> + extern int umoven(Process * proc, void * addr, int len, void * laddr);
> + #endif
> ++#endif
> ++
> +Index: ltrace-0.5.3/configure
> +===================================================================
> +--- ltrace-0.5.3.orig/configure 2009-10-23 23:13:45.630316494 -0700
> ++++ ltrace-0.5.3/configure 2009-10-23 23:13:59.672869527 -0700
> +@@ -30,7 +30,7 @@ int main () {
> + return cplus_demangle();
> + }
> + EOF
> +-if gcc conftest.c -liberty 2>/dev/null
> ++if $CC conftest.c -liberty 2>/dev/null
> + then
> + HAVE_LIBIBERTY=1
> + echo "yes"
> +@@ -48,7 +48,7 @@ int main () {
> + return __cxa_demangle();
> + }
> + EOF
> +-if gcc conftest.c -lsupc++ 2>/dev/null
> ++if $CC conftest.c -lsupc++ 2>/dev/null
> + then
> + HAVE_LIBSUPC__=1
> + echo "yes"
> +@@ -67,7 +67,7 @@ int main () {
> + return 0;
> + }
> + EOF
> +-if gcc conftest.c 2>/dev/null
> ++if $CC conftest.c 2>/dev/null
> + then
> + HAVE_ELF_C_READ_MMAP=1
> + echo "yes"
> +@@ -77,15 +77,12 @@ else
> + fi
> + rm -f conftest.c a.out
> +
> +-CC=gcc
> +-CPPFLAGS=' -I /usr/include/libelf'
> + CFLAGS='-g -O2'
> + LIBS='-lelf -lsupc++ -liberty '
> +-INSTALL='/usr/bin/install -c'
> ++INSTALL='install -c'
> + iquote='-iquote '
> + iquoteend=''
> +
> +-prefix=/usr/local
> + sysconfdir='${prefix}/etc'
> + bindir='${prefix}/bin'
> + mandir='${prefix}/share/man'
> +Index: ltrace-0.5.3/debug.h
> +===================================================================
> +--- ltrace-0.5.3.orig/debug.h 2009-10-23 23:13:45.670276809 -0700
> ++++ ltrace-0.5.3/debug.h 2009-10-23 23:14:26.440319785 -0700
> +@@ -1,3 +1,5 @@
> ++#ifndef DEBUG_H
> ++#define DEBUG_H
> + #include <features.h>
> +
> + /* debug levels:
> +@@ -14,4 +16,4 @@ void debug_(int level, const char *file,
> + int xinfdump(long, void *, int);
> +
> + # define debug(level, expr...) debug_(level, __FILE__, __LINE__, expr)
> +-
> ++#endif
> diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch b/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
> new file mode 100644
> index 0000000..b9e5f7f
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/files/ltrace-fix-sysdep_h-dependency.patch
> @@ -0,0 +1,33 @@
> +Index: ltrace-0.5.3/sysdeps/linux-gnu/Makefile
> +===================================================================
> +--- ltrace-0.5.3.orig/sysdeps/linux-gnu/Makefile
> ++++ ltrace-0.5.3/sysdeps/linux-gnu/Makefile
> +@@ -12,7 +12,10 @@ CPPFLAGS += -I$(TOPDIR)/sysdeps/linux-gn
> +
> + OBJ = events.o trace.o proc.o breakpoint.o
> +
> +-all: sysdep.h signalent.h syscallent.h arch_syscallent.h signalent1.h syscallent1.h ../sysdep.o
> ++HDRS = sysdep.h signalent.h syscallent.h arch_syscallent.h \
> ++ signalent1.h syscallent1.h
> ++
> ++all: ../sysdep.o
> +
> + sysdep.h: $(ARCH)/arch.h
> + cat $(ARCH)/arch.h > sysdep.h
> +@@ -49,12 +52,14 @@ arch_syscallent.h:
> + os.o: $(OBJ)
> + $(CC) -nostdlib -r -o os.o $(OBJ)
> +
> ++$(OBJ): $(HDRS)
> ++
> + $(ARCH)/arch.o: dummy
> + $(MAKE) -C $(ARCH)
> +
> + clean:
> + $(MAKE) -C $(ARCH) clean
> +- rm -f $(OBJ) sysdep.h signalent.h signalent1.h syscallent.h arch_syscallent.h
> +- rm -f syscallent1.h os.o sysdep.o ../sysdep.o
> ++ rm -f $(HDRS)
> ++ rm -f $(OBJ) os.o sysdep.o ../sysdep.o
> +
> + dummy:
> diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch b/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
> new file mode 100644
> index 0000000..2af193d
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/files/ltrace-mips-remove-CP.patch
> @@ -0,0 +1,12 @@
> +Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c
> +===================================================================
> +--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/trace.c 2009-10-23 23:15:59.822783128 -0700
> ++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/trace.c 2009-10-23 23:16:10.441268788 -0700
> +@@ -127,7 +127,6 @@ gimme_arg(enum tof type, Process *proc,
> + return ret;
> + } else {
> + // If we need this, I think we can look at [sp+16] for arg_num==4.
> +- CP;
> + return 0;
> + }
> + }
> diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch b/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
> new file mode 100644
> index 0000000..6df5e21
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/files/ltrace-mips.patch
> @@ -0,0 +1,36 @@
> +Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c
> +===================================================================
> +--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:25:59.292780574 -0700
> ++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/plt.c 2009-10-23 23:26:22.671522220 -0700
> +@@ -1,4 +1,4 @@
> +-#include <debug.h>
> ++#include "debug.h"
> + #include <gelf.h>
> + #include <sys/ptrace.h>
> + #include "common.h"
> +Index: ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c
> +===================================================================
> +--- ltrace-0.5.3.orig/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:25:59.312777529 -0700
> ++++ ltrace-0.5.3/sysdeps/linux-gnu/mipsel/regs.c 2009-10-23 23:26:08.190311896 -0700
> +@@ -4,7 +4,6 @@
> + #include <sys/types.h>
> + #include <sys/ptrace.h>
> + #include <asm/ptrace.h>
> +-#include <linux/user.h>
> +
> + #include "common.h"
> + #include "mipsel.h"
> +Index: ltrace-0.5.3/handle_event.c
> +===================================================================
> +--- ltrace-0.5.3.orig/handle_event.c 2009-10-23 23:29:48.780274445 -0700
> ++++ ltrace-0.5.3/handle_event.c 2009-10-23 23:37:32.260284055 -0700
> +@@ -573,7 +573,8 @@ handle_breakpoint(Event *event) {
> + void *old_addr;
> + struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc;
> + assert(sym);
> +- old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr;
> ++ struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym));
> ++ old_addr = tbp->addr;
> + addr=sym2addr(event->proc,sym);
> + assert(old_addr !=0 && addr !=0);
> + if(addr != old_addr){
> diff --git a/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch b/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
> new file mode 100644
> index 0000000..d5ea0f0
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/files/ltrace-ppc.patch
> @@ -0,0 +1,11 @@
> +Index: ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c
> +===================================================================
> +--- ltrace-0.5.3.orig/sysdeps/linux-gnu/ppc/plt.c 2009-11-15 03:46:14.459233772 +0300
> ++++ ltrace-0.5.3/sysdeps/linux-gnu/ppc/plt.c 2009-11-15 03:46:25.299232646 +0300
> +@@ -1,5 +1,6 @@
> + #include <gelf.h>
> + #include "common.h"
> ++#include "ptrace.h"
> +
> + GElf_Addr
> + arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) {
> diff --git a/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb b/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
> new file mode 100644
> index 0000000..b2f5574
> --- /dev/null
> +++ b/meta-oe/recipes-support/ltrace/ltrace_0.5.3.bb
> @@ -0,0 +1,81 @@
> +DESCRIPTION = "ltrace shows runtime library call information for dynamically linked executables."
> +HOMEPAGE = "http://ltrace.alioth.debian.org"
> +SECTION = "devel"
> +DEPENDS = "libelf binutils"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
> +
> +PR = "r3"
> +
> +# ltrace is not ported to sh3/sh4 targets at this time
> +COMPATIBLE_TARGET_SYS = (?!sh[34])
> +
> +SRC_URI = "\
> + ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}.orig.tar.gz;name=archive \
> + ${DEBIAN_MIRROR}/main/l/ltrace/ltrace_${PV}-2.diff.gz;name=patch \
> + file://add-sysdep.patch \
> + file://ltrace-compile.patch \
> + file://ltrace-mips-remove-CP.patch \
> + file://ltrace-mips.patch \
> + file://ltrace-ppc.patch \
> + file://ltrace-fix-sysdep_h-dependency.patch \
> +"
> +inherit autotools
> +
> +export TARGET_CFLAGS = "${SELECTED_OPTIMIZATION} -isystem ${STAGING_INCDIR}"
> +TARGET_CC_ARCH += "${LDFLAGS}"
> +
> +do_configure_prepend() {
> + case ${TARGET_ARCH} in
> + arm*) ln -sf ./linux-gnu sysdeps/linux-gnueabi ;;
> + mips*) ln -sf ./mipsel sysdeps/linux-gnu/mips ;;
> + esac
> + sed -e 's:uname -m:echo @HOST_CPU@:' \
> + sysdeps/linux-gnu/Makefile > sysdeps/linux-gnu/Makefile.in
> +
> +}
> +
> +do_compile() {
> + case ${TARGET_ARCH} in
> + alpha*) LTRACE_ARCH=alpha ;;
> + arm*) LTRACE_ARCH=arm ;;
> + cris*) LTRACE_ARCH=cris ;;
> + hppa*) LTRACE_ARCH=parisc ;;
> + i*86*) LTRACE_ARCH=i386 ;;
> + ia64*) LTRACE_ARCH=ia64 ;;
> + mips*) LTRACE_ARCH=mips ;;
> + m68k*) LTRACE_ARCH=m68k ;;
> + powerpc*) LTRACE_ARCH=ppc ;;
> + s390*) LTRACE_ARCH=s390 ;;
> + sh*) LTRACE_ARCH=sh ;;
> + sparc64*) LTRACE_ARCH=sparc64 ;;
> + sparc*) LTRACE_ARCH=sparc ;;
> + x86_64*) LTRACE_ARCH=x86_64 ;;
> + esac
> + oe_runmake LDFLAGS=${TARGET_LDFLAGS} LIBS="-lsupc++ -liberty -Wl,-Bstatic -lelf -Wl,-Bdynamic" ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH}
> +}
> +
> +do_install() {
> + case ${TARGET_ARCH} in
> + alpha*) LTRACE_ARCH=alpha ;;
> + arm*) LTRACE_ARCH=arm ;;
> + cris*) LTRACE_ARCH=cris ;;
> + hppa*) LTRACE_ARCH=parisc ;;
> + i*86*) LTRACE_ARCH=i386 ;;
> + ia64*) LTRACE_ARCH=ia64 ;;
> + mips*) LTRACE_ARCH=mips ;;
> + m68k*) LTRACE_ARCH=m68k ;;
> + powerpc*) LTRACE_ARCH=ppc ;;
> + s390*) LTRACE_ARCH=s390 ;;
> + sh*) LTRACE_ARCH=sh ;;
> + sparc64*) LTRACE_ARCH=sparc64 ;;
> + sparc*) LTRACE_ARCH=sparc ;;
> + x86_64*) LTRACE_ARCH=x86_64 ;;
> + esac
> + oe_runmake install ${EXTRA_OEMAKE} ARCH=${LTRACE_ARCH} DESTDIR=${D}
> +}
> +
> +SRC_URI[archive.md5sum] = "3fa7fe715ab879db08bd06d1d59fd90f"
> +SRC_URI[archive.sha256sum] = "5c6627d6d5a98a92ca4661cfc16378b182cc46a9ec479ebf7e6121ee3fe2be32"
> +SRC_URI[patch.md5sum] = "969baa0900646c0262b2d505b9fef154"
> +SRC_URI[patch.sha256sum] = "f647d7c2f2b0d1dbddd632f3a17fef670aed3ebf5fbe6c1633337acac1eba8e3"
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [meta-oe][PATCH 07/14] libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-30 1:48 ` Khem Raj
@ 2011-05-30 5:30 ` Martin Jansa
2011-05-30 6:23 ` Koen Kooi
0 siblings, 1 reply; 21+ messages in thread
From: Martin Jansa @ 2011-05-30 5:30 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 2591 bytes --]
On Sun, May 29, 2011 at 06:48:55PM -0700, Khem Raj wrote:
> On Sun, 2011-05-29 at 23:56 +0200, Martin Jansa wrote:
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>
> You do not need to import libelf recipe. oe-core provides libelf via
> elfutils change the depending recipes to depend on elfutils instead.
OK, thanks! Will test and update patch.
koen: should I update patch in same branch or send new patch removing
libelf and changing deps?
>
> > ---
> > meta-oe/recipes-support/libelf/libelf_0.8.13.bb | 38 +++++++++++++++++++++++
> > 1 files changed, 38 insertions(+), 0 deletions(-)
> > create mode 100644 meta-oe/recipes-support/libelf/libelf_0.8.13.bb
> >
> > diff --git a/meta-oe/recipes-support/libelf/libelf_0.8.13.bb b/meta-oe/recipes-support/libelf/libelf_0.8.13.bb
> > new file mode 100644
> > index 0000000..2ca562f
> > --- /dev/null
> > +++ b/meta-oe/recipes-support/libelf/libelf_0.8.13.bb
> > @@ -0,0 +1,38 @@
> > +DESCRIPTION = "libelf is an ELF object file access library. \
> > +The elf library provides routines to access, and manipulate, Elf object files."
> > +LICENSE = "LGPLv2"
> > +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812"
> > +SECTION = "libs"
> > +PR = "r1"
> > +
> > +SRC_URI = "http://www.mr511.de/software/libelf-${PV}.tar.gz"
> > +SRC_URI[md5sum] = "4136d7b4c04df68b686570afa26988ac"
> > +SRC_URI[sha256sum] = "591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d"
> > +
> > +inherit autotools
> > +
> > +PARALLEL_MAKE = ""
> > +
> > +TARGET_CC_ARCH += "${LDFLAGS}"
> > +
> > +EXTRA_OECONF_append_virtclass-native = " --enable-static"
> > +
> > +do_configure_prepend () {
> > + if test ! -e acinclude.m4; then
> > + cp aclocal.m4 acinclude.m4
> > + fi
> > +}
> > +
> > +do_install () {
> > + oe_runmake 'prefix=${D}${prefix}' 'exec_prefix=${D}${exec_prefix}' \
> > + 'libdir=${D}${libdir}' 'includedir=${D}${includedir}' \
> > + install
> > + install -d ${STAGING_INCDIR}/libelf
> > + for i in libelf.h nlist.h gelf.h sys_elf.h; do
> > + install -m 0644 lib/$i ${STAGING_INCDIR}/libelf/
> > + done
> > + make includedir=${STAGING_INCDIR} install-compat
> > +}
> > +
> > +BBCLASSEXTEND = "native"
> > +
>
>
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [meta-oe][PATCH 07/14] libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-30 5:30 ` Martin Jansa
@ 2011-05-30 6:23 ` Koen Kooi
2011-05-30 9:30 ` Martin Jansa
0 siblings, 1 reply; 21+ messages in thread
From: Koen Kooi @ 2011-05-30 6:23 UTC (permalink / raw)
To: openembedded-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 30-05-11 07:30, Martin Jansa wrote:
> On Sun, May 29, 2011 at 06:48:55PM -0700, Khem Raj wrote:
>> On Sun, 2011-05-29 at 23:56 +0200, Martin Jansa wrote:
>>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>>
>> You do not need to import libelf recipe. oe-core provides libelf via
>> elfutils change the depending recipes to depend on elfutils instead.
>
> OK, thanks! Will test and update patch.
> koen: should I update patch in same branch or send new patch removing
> libelf and changing deps?
updating the branch would be good enough for me.
regards,
Koen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFN4zflMkyGM64RGpERAhRpAJ9HSrlrJvJe3Hh//DOSmPsRWBNccwCgoKcA
vIjuY40aCNQ5tvsEMWODoeY=
=Oewp
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [meta-oe][PATCH 07/14] libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-30 6:23 ` Koen Kooi
@ 2011-05-30 9:30 ` Martin Jansa
2011-05-30 11:35 ` Koen Kooi
0 siblings, 1 reply; 21+ messages in thread
From: Martin Jansa @ 2011-05-30 9:30 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 947 bytes --]
On Mon, May 30, 2011 at 08:23:33AM +0200, Koen Kooi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 30-05-11 07:30, Martin Jansa wrote:
> > On Sun, May 29, 2011 at 06:48:55PM -0700, Khem Raj wrote:
> >> On Sun, 2011-05-29 at 23:56 +0200, Martin Jansa wrote:
> >>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >>
> >> You do not need to import libelf recipe. oe-core provides libelf via
> >> elfutils change the depending recipes to depend on elfutils instead.
> >
> > OK, thanks! Will test and update patch.
> > koen: should I update patch in same branch or send new patch removing
> > libelf and changing deps?
>
> updating the branch would be good enough for me.
updated branch pushed
libelf removed and ltrace DEPENDS updated and moved to recipes-devtools
devmem2 removed from branch because it was already applied :)
Regards,
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [meta-oe][PATCH 07/14] libelf: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d
2011-05-30 9:30 ` Martin Jansa
@ 2011-05-30 11:35 ` Koen Kooi
0 siblings, 0 replies; 21+ messages in thread
From: Koen Kooi @ 2011-05-30 11:35 UTC (permalink / raw)
To: openembedded-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 30-05-11 11:30, Martin Jansa wrote:
> On Mon, May 30, 2011 at 08:23:33AM +0200, Koen Kooi wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 30-05-11 07:30, Martin Jansa wrote:
>>> On Sun, May 29, 2011 at 06:48:55PM -0700, Khem Raj wrote:
>>>> On Sun, 2011-05-29 at 23:56 +0200, Martin Jansa wrote:
>>>>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>>>>
>>>> You do not need to import libelf recipe. oe-core provides libelf via
>>>> elfutils change the depending recipes to depend on elfutils instead.
>>>
>>> OK, thanks! Will test and update patch.
>>> koen: should I update patch in same branch or send new patch removing
>>> libelf and changing deps?
>>
>> updating the branch would be good enough for me.
>
> updated branch pushed
> libelf removed and ltrace DEPENDS updated and moved to recipes-devtools
> devmem2 removed from branch because it was already applied :)
I cherry-picked devmem2 since I needed it for something in meta-ti I had
already pushed :)
Anyway, the rest is in as well now.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFN44EeMkyGM64RGpERAp2sAKC43/IKsjZ5rP9PDLOHuxs9l1Z0NwCgoXm1
R10Mh9E8khV0LK9wkGZAOxk=
=mxOk
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2011-05-30 11:39 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-29 21:56 [meta-oe][PATCH 00/14] Pull request #13 Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 01/14] dbus-daemon-proxy: add LIC_FILES_CHKSUM and disable as-needed Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 02/14] s3c24xx-gpio, s3c64xx-gpio: add LIC_FILES_CHKSUM Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 03/14] devmem2: import from OE rev d4f0211e2078d5033ae0dee74664de5520d8392d Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 04/14] socat: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 05/14] mbuffer: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 06/14] nmon: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 07/14] libelf: " Martin Jansa
2011-05-30 1:48 ` Khem Raj
2011-05-30 5:30 ` Martin Jansa
2011-05-30 6:23 ` Koen Kooi
2011-05-30 9:30 ` Martin Jansa
2011-05-30 11:35 ` Koen Kooi
2011-05-29 21:56 ` [meta-oe][PATCH 08/14] ltrace: " Martin Jansa
2011-05-30 1:50 ` Khem Raj
2011-05-29 21:56 ` [meta-oe][PATCH 09/14] pxaregs: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 10/14] serial-utils: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 11/14] tcp-wrappers: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 12/14] nfs-utils: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 13/14] i2c-tools: " Martin Jansa
2011-05-29 21:56 ` [meta-oe][PATCH 14/14] tcpdump: " Martin Jansa
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.