[OE-core] [PATCH] Makedoc.sh uses home /tmp and fails is noexec is set

Richard Purdie richard.purdie at linuxfoundation.org
Mon Oct 6 09:33:25 UTC 2014


On Thu, 2014-10-02 at 15:14 -0400, Konrad Scherer wrote:
> From: Konrad Scherer <Konrad.Scherer at 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 at 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





More information about the Openembedded-core mailing list