summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastian Ballmann <balle@chaostal.de>2006-09-13 21:06:11 +0000
committerKoen Kooi <koen@openembedded.org>2006-09-13 21:06:11 +0000
commit83d89572948d158c80e48af9b1e49a44c9894178 (patch)
tree13875ead94b37e1ee78612480e149bb3bdd0d2eb
parenteaa76110c6263ceef285e5abd5d678855c10b751 (diff)
socat: fix termios stuff, closes #1407
-rw-r--r--packages/socat/socat-1.3.2.1/xioinitialize.patch52
-rw-r--r--packages/socat/socat-1.3.2.1/xioopen.patch11
-rw-r--r--packages/socat/socat_1.3.2.1.bb8
3 files changed, 70 insertions, 1 deletions
diff --git a/packages/socat/socat-1.3.2.1/xioinitialize.patch b/packages/socat/socat-1.3.2.1/xioinitialize.patch
new file mode 100644
index 0000000000..24e816cfd7
--- /dev/null
+++ b/packages/socat/socat-1.3.2.1/xioinitialize.patch
@@ -0,0 +1,52 @@
+diff -Naur socat-1.3/xioinitialize.c socat-1.3_patched/xioinitialize.c
+--- socat-1.3/xioinitialize.c 2003-05-23 08:24:53.000000000 +0200
++++ socat-1.3_patched/xioinitialize.c 2006-09-09 18:18:19.000000000 +0200
+@@ -19,48 +19,10 @@
+ assert(O_WRONLY==1);
+ assert(O_RDWR==2);
+
+- /* some assertions about termios */
+-#if WITH_TERMIOS
+-#ifdef CRDLY
+- assert(3 << opt_crdly.arg3 == CRDLY);
+-#endif
+-#ifdef TABDLY
+- assert(3 << opt_tabdly.arg3 == TABDLY);
+-#endif
+- assert(3 << opt_csize.arg3 == CSIZE);
+- {
+- union {
+- struct termios termarg;
+- tcflag_t flags[4];
+-#if HAVE_TERMIOS_ISPEED
+- speed_t speeds[sizeof(struct termios)/sizeof(speed_t)];
+-#endif
+- } tdata;
+- tdata.termarg.c_iflag = 0x12345678;
+- tdata.termarg.c_oflag = 0x23456789;
+- tdata.termarg.c_cflag = 0x3456789a;
+- tdata.termarg.c_lflag = 0x456789ab;
+- assert(tdata.termarg.c_iflag == tdata.flags[0]);
+- assert(tdata.termarg.c_oflag == tdata.flags[1]);
+- assert(tdata.termarg.c_cflag == tdata.flags[2]);
+- assert(tdata.termarg.c_lflag == tdata.flags[3]);
+-#if HAVE_TERMIOS_ISPEED
+- tdata.termarg.c_ispeed = 0x56789abc;
+- tdata.termarg.c_ospeed = 0x6789abcd;
+- assert(tdata.termarg.c_ispeed == tdata.speeds[ISPEED_OFFSET]);
+- assert(tdata.termarg.c_ospeed == tdata.speeds[OSPEED_OFFSET]);
+-#endif
+- }
+-#endif
+-
+ /* these dependencies required in applyopts() for OFUNC_FCNTL */
+ assert(F_GETFD == F_SETFD-1);
+ assert(F_GETFL == F_SETFL-1);
+
+- if (Atexit(xioexit) < 0) {
+- Error("atexit(xioexit) failed");
+- return -1;
+- }
+ xioinitialized = 1;
+ return 0;
+ }
diff --git a/packages/socat/socat-1.3.2.1/xioopen.patch b/packages/socat/socat-1.3.2.1/xioopen.patch
new file mode 100644
index 0000000000..456862653a
--- /dev/null
+++ b/packages/socat/socat-1.3.2.1/xioopen.patch
@@ -0,0 +1,11 @@
+diff -Naur socat-1.3/xioopen.h socat-1.3_patched/xioopen.h
+--- socat-1.3/xioopen.h 2003-02-15 15:26:22.000000000 +0100
++++ socat-1.3_patched/xioopen.h 2006-09-05 10:49:15.000000000 +0200
+@@ -42,7 +42,6 @@
+ extern const char *ddirection[];
+ extern const char *filetypenames[];
+ extern const struct addrname addressnames[];
+-extern const char *addressgroupnames[];
+ extern const struct optname optionnames[];
+
+ extern int xioopen_makedual(xiofile_t *file);
diff --git a/packages/socat/socat_1.3.2.1.bb b/packages/socat/socat_1.3.2.1.bb
index 378ea60729..41ea3a8309 100644
--- a/packages/socat/socat_1.3.2.1.bb
+++ b/packages/socat/socat_1.3.2.1.bb
@@ -3,12 +3,18 @@ DEPENDS = "openssl"
DESCRIPTION = "Socat is a relay for bidirectional data \
transfer between two independent data channels."
LICENSE = "GPL"
+PR="r1"
+
SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
- file://ldflags.patch;patch=1"
+ file://xioopen.patch;patch=1 \
+ file://ldflags.patch;patch=1 \
+ file://xioinitialize.patch;patch=1"
+
S = "${WORKDIR}/socat-1.3"
inherit autotools
do_install_prepend () {
+ mkdir -p ${D}${bindir}
install -d ${D}${bindir} ${D}${mandir}/man1
}