* [PATCH V3] expect: Add recipe
@ 2013-11-02 2:08 Khem Raj
2013-11-02 18:22 ` Saul Wold
0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2013-11-02 2:08 UTC (permalink / raw)
To: openembedded-core; +Cc: Khem Raj
From: Mihaela Sendrea <mihaela.sendrea@enea.com>
Nedeed for gcc-runtime tests.
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 <mihaela.sendrea@enea.com>
Signed-off-by: Khem Raj <kraj@juniper.net>
---
.../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 | 52 ++++++++
4 files changed, 321 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 <anders.roxell@enea.com>
+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 <anders.roxell@enea.com>
+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 <mike@markley.org>
+Author: Sergei Golovan <sgolovan@debian.org>
+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 <libes@nist.gov>
+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 <remote> 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..bfb8200
--- /dev/null
+++ b/meta/recipes-devtools/expect/expect_5.45.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "expect."
+HOMEPAGE = " http://expect.nist.gov"
+LICENSE="GPLv3+"
+SECTION = "devel"
+
+LIC_FILES_CHKSUM = "file://README;md5=2862a5993e5f43b368a49cfaad5bead6"
+DEPENDS = "tcl"
+RDEPENDS_${PN} = "tcl"
+ALLOW_EMPTY_${PN} = "1"
+
+S = "${WORKDIR}/${BPN}${PV}"
+
+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 \
+ "
+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}/* \
+ "
+
+inherit autotools
+
+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
+}
+
+SRC_URI[md5sum] = "44e1a4f4c877e9ddc5a542dfa7ecc92b"
+SRC_URI[sha256sum] = "b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040"
--
1.8.4.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH V3] expect: Add recipe
2013-11-02 2:08 [PATCH V3] expect: Add recipe Khem Raj
@ 2013-11-02 18:22 ` Saul Wold
2013-11-04 10:01 ` Paul Eggleton
0 siblings, 1 reply; 4+ messages in thread
From: Saul Wold @ 2013-11-02 18:22 UTC (permalink / raw)
To: openembedded-core, Mihaela Sendrea
The recipe itself needs some work.
See below
Sau!
On 11/01/2013 07:08 PM, Khem Raj wrote:
> From: Mihaela Sendrea <mihaela.sendrea@enea.com>
>
> Nedeed for gcc-runtime tests.
>
> 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 <mihaela.sendrea@enea.com>
> Signed-off-by: Khem Raj <kraj@juniper.net>
> ---
> .../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 | 52 ++++++++
> 4 files changed, 321 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 <anders.roxell@enea.com>
> +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 <anders.roxell@enea.com>
> +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 <mike@markley.org>
> +Author: Sergei Golovan <sgolovan@debian.org>
> +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 <libes@nist.gov>
> +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 <remote> 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..bfb8200
> --- /dev/null
> +++ b/meta/recipes-devtools/expect/expect_5.45.bb
> @@ -0,0 +1,52 @@
> +DESCRIPTION = "expect."
This needs a better full descption about what expect is, it would be
nice to also have a short (less than 80 chars) SUMMARY.
> +HOMEPAGE = " http://expect.nist.gov"
> +LICENSE="GPLv3+"
> +SECTION = "devel"
> +
> +LIC_FILES_CHKSUM = "file://README;md5=2862a5993e5f43b368a49cfaad5bead6"
> +DEPENDS = "tcl"
> +RDEPENDS_${PN} = "tcl"
You don't need an RDEPENDS_${PN} if it matches with the DEPENDS
> +ALLOW_EMPTY_${PN} = "1"
This should not be needed and if it is needed, it should co-exist with
the FILES_${PN} entry below
> +
> +S = "${WORKDIR}/${BPN}${PV}"
> +
Setting of S normally is after the SRC_URI and SRC_URI[*] checksum
entries (which should move up here from below)
> +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 \
> + "
> +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}/* \
> + "
> +
> +inherit autotools
> +
Should move up to after the DEPENDS line before SRC_URI
> +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
> +}
> +
Should move up after the S line before the packaging information
> +SRC_URI[md5sum] = "44e1a4f4c877e9ddc5a542dfa7ecc92b"
> +SRC_URI[sha256sum] = "b28dca90428a3b30e650525cdc16255d76bb6ccd65d448be53e620d95d5cc040"
>
Already noted that this should move up to between SRC_URI and S
The ordering of the metadata is not standard, normally the ordering is
such that it follows the process and tasks that bitbake does to fetch,
patch, configure, compile, install, package.
Thanks
Sau!
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH V3] expect: Add recipe
2013-11-02 18:22 ` Saul Wold
@ 2013-11-04 10:01 ` Paul Eggleton
2013-11-04 13:31 ` Richard Purdie
0 siblings, 1 reply; 4+ messages in thread
From: Paul Eggleton @ 2013-11-04 10:01 UTC (permalink / raw)
To: openembedded-core
On Saturday 02 November 2013 11:22:07 Saul Wold wrote:
> > +DEPENDS = "tcl"
> > +RDEPENDS_${PN} = "tcl"
>
> You don't need an RDEPENDS_${PN} if it matches with the DEPENDS
For the sake of others reading, it's not as simple as that. DEPENDS is for
build-time dependencies, RDEPENDS is for runtime dependencies; if tcl is
needed both at build time and at runtime, and the runtime dependency isn't a
shared library dependency, it would be valid to have both in the recipe. It
depends on the situation.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH V3] expect: Add recipe
2013-11-04 10:01 ` Paul Eggleton
@ 2013-11-04 13:31 ` Richard Purdie
0 siblings, 0 replies; 4+ messages in thread
From: Richard Purdie @ 2013-11-04 13:31 UTC (permalink / raw)
To: Paul Eggleton; +Cc: openembedded-core
On Mon, 2013-11-04 at 10:01 +0000, Paul Eggleton wrote:
> On Saturday 02 November 2013 11:22:07 Saul Wold wrote:
> > > +DEPENDS = "tcl"
> > > +RDEPENDS_${PN} = "tcl"
> >
> > You don't need an RDEPENDS_${PN} if it matches with the DEPENDS
>
> For the sake of others reading, it's not as simple as that. DEPENDS is for
> build-time dependencies, RDEPENDS is for runtime dependencies; if tcl is
> needed both at build time and at runtime, and the runtime dependency isn't a
> shared library dependency, it would be valid to have both in the recipe. It
> depends on the situation.
Just to further confuse things, if you have the RDEPENDS, you don't need
the DEPENDS since bitbake can infer that...
Cheers,
Richard
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-04 13:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-02 2:08 [PATCH V3] expect: Add recipe Khem Raj
2013-11-02 18:22 ` Saul Wold
2013-11-04 10:01 ` Paul Eggleton
2013-11-04 13:31 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox