Makedoc.sh uses home /tmp and fails is noexec is set

Submitted by Konrad Scherer on Oct. 2, 2014, 7:14 p.m. | Patch ID: 81251

Details

Message ID 1412277290-11352-1-git-send-email-konrad.scherer@windriver.com
State New
Headers show

Commit Message

Konrad Scherer Oct. 2, 2014, 7:14 p.m.
From: Konrad Scherer <Konrad.Scherer@windriver.com>

The Makedoc.sh script uses the following line to set TMPDIR

export TMPDIR=`mktemp -d ${TMPDIR:-/tmp}/ldt.XXXXXXXXXX`;

and then later in the script:

chmod u+x $TMPDIR/linuxdoc

Since TMPDIR is not set the script will default to /tmp and if /tmp
is set to noexec (which is becoming more common), the chmod call fails.

Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
---
 meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb | 4 ++++
 1 file changed, 4 insertions(+)

Patch hide | download patch | download mbox

diff --git a/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb b/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb
index ed6ab73..9bd2bba 100644
--- a/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb
+++ b/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb
@@ -19,3 +19,7 @@  inherit autotools-brokensep native
 do_configure () {
 	oe_runconf
 }
+
+do_install() {
+	oe_runmake TMPDIR=${T} install
+}

Comments

Richard Purdie Oct. 6, 2014, 9:33 a.m.
On Thu, 2014-10-02 at 15:14 -0400, Konrad Scherer wrote:
> From: Konrad Scherer <Konrad.Scherer@windriver.com>
> 
> The Makedoc.sh script uses the following line to set TMPDIR
> 
> export TMPDIR=`mktemp -d ${TMPDIR:-/tmp}/ldt.XXXXXXXXXX`;
> 
> and then later in the script:
> 
> chmod u+x $TMPDIR/linuxdoc
> 
> Since TMPDIR is not set the script will default to /tmp and if /tmp
> is set to noexec (which is becoming more common), the chmod call fails.
> 
> Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
> ---
>  meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb b/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb
> index ed6ab73..9bd2bba 100644
> --- a/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb
> +++ b/meta/recipes-devtools/linuxdoc-tools/linuxdoc-tools-native_0.9.69.bb
> @@ -19,3 +19,7 @@ inherit autotools-brokensep native
>  do_configure () {
>  	oe_runconf
>  }
> +
> +do_install() {
> +	oe_runmake TMPDIR=${T} install
> +}

This actually breaks the builds pretty badly. The fact the image
directory is empty after the above change is a bad sign. The reason is
that it needs to be:

oe_runmake "TMPDIR=${T}" "DESTDIR=${D}" install

If you don't specify DESTDIR, the files in the sysroot disappear and you
get strange errors from recipes like libuser. 

Cheers,

Richard