From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mail.openembedded.org (Postfix) with ESMTP id ABA3D6D419 for ; Wed, 6 Nov 2013 04:35:27 +0000 (UTC) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP; 05 Nov 2013 20:35:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.93,535,1378882800"; d="scan'208";a="430484841" Received: from unknown (HELO [10.255.14.249]) ([10.255.14.249]) by orsmga002.jf.intel.com with ESMTP; 05 Nov 2013 20:35:24 -0800 Message-ID: <5279C70B.90103@linux.intel.com> Date: Tue, 05 Nov 2013 20:35:23 -0800 From: Saul Wold User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: openembedded-core@lists.openembedded.org, Mihaela Sendrea References: <1383622893-5185-1-git-send-email-raj.khem@gmail.com> In-Reply-To: <1383622893-5185-1-git-send-email-raj.khem@gmail.com> Subject: Re: [PATCH V5] expect: Add recipe X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Nov 2013 04:35:27 -0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 11/04/2013 07:41 PM, Khem Raj wrote: > From: Mihaela Sendrea > > Nedeed for gcc-runtime tests. > i am seeing configure fails with this patch > configure:2350: checking for correct TEA configuration > configure:2363: result: ok (TEA 3.9) > configure:2430: configuring expect 5.45 > configure:2508: checking for Tcl configuration > configure:2528: error: /srv/ssd/sgw/builds/world/tmp/sysroots/genericx86/usr/lib directory doesn't contain tclConfig.sh > Sau! > Fixed build on multilib and add patch to remove > !/depot/path/expect -f > which caused rpm to puke on rfs generation > > Signed-off-by: Mihaela Sendrea > Signed-off-by: Khem Raj > --- > .../expect/expect/0001-configure.in.patch | 108 ++++++++++++++++ > .../expect/expect/0002-tcl.m4.patch | 17 +++ > .../expect/expect/01-example-shebang.patch | 144 +++++++++++++++++++++ > meta/recipes-devtools/expect/expect_5.45.bb | 60 +++++++++ > 4 files changed, 329 insertions(+) > create mode 100644 meta/recipes-devtools/expect/expect/0001-configure.in.patch > create mode 100644 meta/recipes-devtools/expect/expect/0002-tcl.m4.patch > create mode 100644 meta/recipes-devtools/expect/expect/01-example-shebang.patch > create mode 100644 meta/recipes-devtools/expect/expect_5.45.bb > > diff --git a/meta/recipes-devtools/expect/expect/0001-configure.in.patch b/meta/recipes-devtools/expect/expect/0001-configure.in.patch > new file mode 100644 > index 0000000..7595a25 > --- /dev/null > +++ b/meta/recipes-devtools/expect/expect/0001-configure.in.patch > @@ -0,0 +1,108 @@ > +Allow cross compiling. > + > +Signed-off-by: Anders Roxell > +Upstream-Status: Pending > +--- > +diff -uNr a/configure.in b/configure.in > +--- a/configure.in 2012-12-14 15:31:32.623180450 +0100 > ++++ b/configure.in 2012-12-14 15:53:34.518233519 +0100 > +@@ -481,7 +481,7 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_MSG_RESULT(no) > + ) > + > + AC_MSG_CHECKING([if any value exists for WNOHANG]) > +@@ -506,7 +506,9 @@ > + AC_MSG_RESULT(no) > + AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_MSG_RESULT(yes) > ++ AC_DEFINE_UNQUOTED(WNOHANG_BACKUP_VALUE, `cat wnohang`) > ++ rm -f wnohang > + ) > + > + # > +@@ -574,7 +576,8 @@ > + AC_DEFINE(REARM_SIG) > + , > + AC_MSG_RESULT(no) > +-, AC_MSG_WARN([Expect can't be cross compiled]) > ++, > ++ AC_MSG_RESULT(no) > + ) > + > + # HPUX7 has trouble with the big cat so split it > +@@ -725,7 +728,9 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_MSG_RESULT(yes) > ++ AC_DEFINE(HAVE_SGTTYB) > ++ PTY_TYPE=sgttyb > + ) > + > + # mach systems have include files for unimplemented features > +@@ -749,7 +754,9 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_DEFINE(HAVE_TERMIO) > ++ PTY_TYPE=termios > ++ AC_MSG_RESULT(yes) > + ) > + > + # now check for the new style ttys (not yet posix) > +@@ -771,7 +778,9 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_DEFINE(HAVE_TERMIOS) > ++ PTY_TYPE=termios > ++ AC_MSG_RESULT(yes) > + ) > + fi > + > +@@ -794,7 +803,7 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_MSG_RESULT(no) > + ) > + > + AC_MSG_CHECKING([if TIOCGWINSZ in termios.h]) > +@@ -816,7 +825,7 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_MSG_RESULT(no) > + ) > + > + # finally check for Cray style ttys > +@@ -837,7 +846,7 @@ > + , > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_MSG_RESULT(no) > + ) > + > + # > +@@ -889,7 +898,8 @@ > + AC_MSG_RESULT(yes), > + AC_MSG_RESULT(no) > + , > +- AC_MSG_ERROR([Expect can't be cross compiled]) > ++ AC_DEFINE(HAVE_SV_TIMEZONE) > ++ AC_MSG_RESULT(yes), > + ) > + > + > diff --git a/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch b/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch > new file mode 100644 > index 0000000..dc4c6ba > --- /dev/null > +++ b/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch > @@ -0,0 +1,17 @@ > +Use proper -L path when cross compiling. > + > +Signed-off-by: Anders Roxell > +Upstream-Status: Pending > +--- > +diff -uNr a/tclconfig/tcl.m4 b/tclconfig/tcl.m4 > +--- a/tclconfig/tcl.m4 2012-12-14 09:16:58.789861281 +0100 > ++++ b/tclconfig/tcl.m4 2012-12-14 10:55:43.542297010 +0100 > +@@ -371,7 +371,7 @@ > + # of TCL_BUILD_LIB_SPEC. An extension should make use of TCL_LIB_SPEC > + # instead of TCL_BUILD_LIB_SPEC since it will work with both an > + # installed and uninstalled version of Tcl. > +- if test -f "${TCL_BIN_DIR}/Makefile" ; then > ++ if test -f "${TCL_BIN_DIR}/Makefile" || test "$cross_compiling" = yes; then > + TCL_LIB_SPEC="${TCL_BUILD_LIB_SPEC}" > + TCL_STUB_LIB_SPEC="${TCL_BUILD_STUB_LIB_SPEC}" > + TCL_STUB_LIB_PATH="${TCL_BUILD_STUB_LIB_PATH}" > diff --git a/meta/recipes-devtools/expect/expect/01-example-shebang.patch b/meta/recipes-devtools/expect/expect/01-example-shebang.patch > new file mode 100644 > index 0000000..8597f31 > --- /dev/null > +++ b/meta/recipes-devtools/expect/expect/01-example-shebang.patch > @@ -0,0 +1,144 @@ > +Author: Mike Markley > +Author: Sergei Golovan > +Description: Fixes shebangs in examples (Closes: #152367). > + > +Backported from Debian > + > +Upstream-Status: Pending > +Index: expect5.45/example/beer.exp > +=================================================================== > +--- expect5.45.orig/example/beer.exp 2006-01-25 13:51:39.000000000 -0800 > ++++ expect5.45/example/beer.exp 2013-11-01 17:35:19.817318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expect -f > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > + > + # 99 bottles of beer on the wall, Expect-style > + # Author: Don Libes > +Index: expect5.45/example/expectd.proto > +=================================================================== > +--- expect5.45.orig/example/expectd.proto 2010-07-02 09:03:31.000000000 -0700 > ++++ expect5.45/example/expectd.proto 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,10 @@ > +-#!/depot/tcl/src/expect/e -- > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > ++ > + # Description: Simple fragment to begin a telnet daemon > + # For more information, see Chapter 17 of "Exploring Expect" > + # Author: Don Libes, NIST > +Index: expect5.45/example/irsh > +=================================================================== > +--- expect5.45.orig/example/irsh 2010-07-02 09:03:31.000000000 -0700 > ++++ expect5.45/example/irsh 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expect -- > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > + > + # Do rsh interactively. For example, consider the following command: > + # rsh ls -l "|" more > +Index: expect5.45/example/passwd.cgi > +=================================================================== > +--- expect5.45.orig/example/passwd.cgi 2000-01-06 15:22:07.000000000 -0800 > ++++ expect5.45/example/passwd.cgi 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expect -- > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > + > + # This is a CGI script to process requests created by the accompanying > + # passwd.html form. This script is pretty basic, although it is > +Index: expect5.45/example/passwdprompt > +=================================================================== > +--- expect5.45.orig/example/passwdprompt 2003-09-05 12:01:59.000000000 -0700 > ++++ expect5.45/example/passwdprompt 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expect > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > + > + # This script prompts for a passwd from stdin while echoing *'s > + > +Index: expect5.45/example/reprompt > +=================================================================== > +--- expect5.45.orig/example/reprompt 2000-01-06 15:22:07.000000000 -0800 > ++++ expect5.45/example/reprompt 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expect -- > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > + > + # Name: reprompt > + # Description: reprompt every so often until user enters something > +Index: expect5.45/example/term_expect > +=================================================================== > +--- expect5.45.orig/example/term_expect 2005-02-15 10:11:31.000000000 -0800 > ++++ expect5.45/example/term_expect 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expectk > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec wish "$0" ${1+"$@"} > ++ > ++package require Expect > + > + # Name: tkterm - terminal emulator using Expect and Tk text widget, v3.0 > + # Author: Don Libes, July '94 > +Index: expect5.45/example/vrfy > +=================================================================== > +--- expect5.45.orig/example/vrfy 2010-07-02 09:03:31.000000000 -0700 > ++++ expect5.45/example/vrfy 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,9 @@ > +-#!/depot/path/expect -f > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > + > + > + # separate address into user and host > +Index: expect5.45/example/xrlogin > +=================================================================== > +--- expect5.45.orig/example/xrlogin 2000-01-06 15:22:08.000000000 -0800 > ++++ expect5.45/example/xrlogin 2013-11-01 17:35:19.821318341 -0700 > +@@ -1,4 +1,10 @@ > +-#!/depot/path/expect -- > ++#!/bin/sh > ++# -*- tcl -*- > ++# The next line is executed by /bin/sh, but not tcl \ > ++exec tclsh "$0" ${1+"$@"} > ++ > ++package require Expect > ++ > + # xrlogin - rlogin but with current DISPLAY > + # > + # You can extend this idea to save any arbitrary information across rlogin > diff --git a/meta/recipes-devtools/expect/expect_5.45.bb b/meta/recipes-devtools/expect/expect_5.45.bb > new file mode 100644 > index 0000000..ecc5e75 > --- /dev/null > +++ b/meta/recipes-devtools/expect/expect_5.45.bb > @@ -0,0 +1,60 @@ > +SUMMARY = "tool for automating interactive applications according to a script" > +DESCRIPTION = "Expect is a tool for automating interactive applications according to a script. \ > +Following the script, Expect knows what can be expected from a program and what \ > +the correct response should be. Expect is also useful for testing these same \ > +applications. And by adding Tk, you can also wrap interactive applications in \ > +X11 GUIs. An interpreted language provides branching and high-level control \ > +structures to direct the dialogue. In addition, the user can take control and \ > +interact directly when desired, afterward returning control to the script. \ > +" > +HOMEPAGE = "http://sourceforge.net/projects/expect/" > +LICENSE="PD" > +SECTION = "devel" > + > +LIC_FILES_CHKSUM = "file://license.terms;md5=fbf2de7e9102505b1439db06fc36ce5c" > + > +RDEPENDS_${PN} = "tcl" > + > +inherit autotools > + > +SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/${PV}/${BPN}${PV}.tar.gz \ > + file://0001-configure.in.patch \ > + file://0002-tcl.m4.patch \ > + file://01-example-shebang.patch \ > + " > +SRC_URI[md5sum] = "44e1a4f4c877e9ddc5a542dfa7ecc92b" > +SRC_URI[sha256sum] = "b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040" > + > +S = "${WORKDIR}/${BPN}${PV}" > + > +do_install_append() { > + install -d ${D}${libdir} > + install -m 0755 ${D}${libdir}/expect${PV}/libexpect*.so ${D}${libdir}/ > + install -m 0755 ${S}/fixline1 ${D}${libdir}/expect${PV}/ > + install -m 0755 ${S}/example/* ${D}${libdir}/expect${PV}/ > + rm ${D}${libdir}/expect${PV}/libexpect*.so > +} > + > +EXTRA_OECONF += "--includedir=${STAGING_INCDIR} \ > + --with-tcl=${STAGING_LIBDIR} \ > + --with-tclinclude=${STAGING_INCDIR} \ > + --enable-shared \ > + --enable-threads \ > + --disable-rpath \ > + " > +EXTRA_OEMAKE_install = " 'SCRIPTS=' " > + > +FILES_${PN}-dbg += "${libdir}/${BPN}${PV}/.debug \ > + ${libdir}/.debug \ > + " > +FILES_${PN}-dev = "${libdir_native}/expect${PV}/libexpect*.so \ > + ${STAGING_INCDIR}/expect.h \ > + ${STAGING_INCDIR}/expect_tcl.h \ > + ${STAGING_INCDIR}/expect_comm.h \ > + ${STAGING_INCDIR}/tcldbg.h \ > + ${includedir}/*.h \ > + " > + > +FILES_${PN} += "${libdir}/libexpect${PV}.so \ > + ${libdir}/expect${PV}/* \ > + " >