Allow use of dash as /bin/sh
We've had the check for dash as /bin/sh for a long time. Dash has been around long enough now that most major issues have been identified and fixed from build perspective. This patch fixes a bashism in the openjade-native recipe. It also adjusts libtool so that the header at the script is used and not the value of $SHELL. This is because many Makefiles change $SHELL so dash can get used to execute what is otherwise configured as a bash shell script. Since we don't need to execute scripts this way on any system I'm aware of us building upon, the simplest fix is just to remove $SHELL. With these two changes the dash check can be removed and we can allow builds with dash as /bin/sh (From OE-Core rev: 07ded02ffd37b4fe60a6210dbf56490ea306f0b6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [Note: I know I need to add the description of the libtool change above into the prefix.patch]
This commit is contained in:
parent
d9740cdcd7
commit
5d3860f4a8
|
@ -331,9 +331,6 @@ def check_sanity(e):
|
||||||
if not data.getVar( 'DISPLAY', e.data, True ) and data.getVar( 'IMAGETEST', e.data, True ) == 'qemu':
|
if not data.getVar( 'DISPLAY', e.data, True ) and data.getVar( 'IMAGETEST', e.data, True ) == 'qemu':
|
||||||
messages = messages + 'qemuimagetest needs a X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n'
|
messages = messages + 'qemuimagetest needs a X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n'
|
||||||
|
|
||||||
if os.path.basename(os.readlink('/bin/sh')) == 'dash':
|
|
||||||
messages = messages + "Using dash as /bin/sh causes various subtle build problems, please use bash instead (e.g. 'dpkg-reconfigure dash' on an Ubuntu system.\n"
|
|
||||||
|
|
||||||
omask = os.umask(022)
|
omask = os.umask(022)
|
||||||
if omask & 0755:
|
if omask & 0755:
|
||||||
messages = messages + "Please use a umask which allows a+rx and u+rwx\n"
|
messages = messages + "Please use a umask which allows a+rx and u+rwx\n"
|
||||||
|
|
|
@ -8,6 +8,15 @@ Originally by: RP
|
||||||
Updated: Date: 2010/06/28
|
Updated: Date: 2010/06/28
|
||||||
Nitin A Kamble <nitin.a.kamble@intel.com>
|
Nitin A Kamble <nitin.a.kamble@intel.com>
|
||||||
|
|
||||||
|
It also adjusts libtool so that the header at the script is used for
|
||||||
|
script execution and not thevalue of $SHELL. This is because many
|
||||||
|
Makefiles change $SHELL so dash can get used to execute what is
|
||||||
|
otherwise configured as a bash shell script. Since we don't need to
|
||||||
|
execute scipts this way on any system I'm aware of us building upon,
|
||||||
|
the simplest fix is just to remove $SHELL.
|
||||||
|
|
||||||
|
Updated: Date: 2011/11/09
|
||||||
|
RP
|
||||||
|
|
||||||
Index: libtool-2.4/libltdl/m4/libtool.m4
|
Index: libtool-2.4/libltdl/m4/libtool.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
|
@ -18,7 +27,7 @@ Index: libtool-2.4/libltdl/m4/libtool.m4
|
||||||
|
|
||||||
# Always use our own libtool.
|
# Always use our own libtool.
|
||||||
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||||
+LIBTOOL='$(SHELL) $(top_builddir)'
|
+LIBTOOL='$(top_builddir)'
|
||||||
+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
|
+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
|
||||||
AC_SUBST(LIBTOOL)dnl
|
AC_SUBST(LIBTOOL)dnl
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,9 @@ do_install() {
|
||||||
|
|
||||||
install -d ${D}${datadir}/sgml/openjade-${PV}
|
install -d ${D}${datadir}/sgml/openjade-${PV}
|
||||||
install -m 644 dsssl/catalog ${D}${datadir}/sgml/openjade-${PV}
|
install -m 644 dsssl/catalog ${D}${datadir}/sgml/openjade-${PV}
|
||||||
install -m 644 dsssl/*.{dtd,dsl,sgm} ${D}${datadir}/sgml/openjade-${PV}
|
install -m 644 dsssl/*.dtd ${D}${datadir}/sgml/openjade-${PV}
|
||||||
|
install -m 644 dsssl/*.dsl ${D}${datadir}/sgml/openjade-${PV}
|
||||||
|
install -m 644 dsssl/*.sgm ${D}${datadir}/sgml/openjade-${PV}
|
||||||
|
|
||||||
install -d ${datadir}/sgml/openjade-${PV}
|
install -d ${datadir}/sgml/openjade-${PV}
|
||||||
install -m 644 dsssl/catalog ${datadir}/sgml/openjade-${PV}/catalog
|
install -m 644 dsssl/catalog ${datadir}/sgml/openjade-${PV}/catalog
|
||||||
|
|
Loading…
Reference in New Issue