From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by mail.openembedded.org (Postfix) with ESMTP id 1EA696D5DE for ; Wed, 6 Nov 2013 18:53:02 +0000 (UTC) Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga101.ch.intel.com with ESMTP; 06 Nov 2013 10:53:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.93,535,1378882800"; d="scan'208";a="385593897" Received: from unknown (HELO [10.255.14.249]) ([10.255.14.249]) by azsmga001.ch.intel.com with ESMTP; 06 Nov 2013 10:53:02 -0800 Message-ID: <527A900E.4050502@linux.intel.com> Date: Wed, 06 Nov 2013 10:53:02 -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: Khem Raj References: <1383622893-5185-1-git-send-email-raj.khem@gmail.com> <5279C70B.90103@linux.intel.com> In-Reply-To: Cc: openembedded-core@lists.openembedded.org 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 18:53:03 -0000 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit On 11/05/2013 08:58 PM, Khem Raj wrote: > > On Nov 5, 2013, at 8:35 PM, Saul Wold wrote: > >> 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 > > > OK what happens if you readd DEPENDS += “tcl” ? > since you have it reproduced may be its best to try it out. > yup, DEPENDS does the trick, so there might be some issue someplace else. Sau! > >>> >> 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}/* \ >>> + " >>> > > >