Patchwork autotools.bbclass: Don't copy into non-existant directory

login
register
mail settings
Submitter Andreas Oberritter
Date Feb. 10, 2012, 6 p.m.
Message ID <4F355B52.6050007@opendreambox.org>
Download mbox | patch
Permalink /patch/21139/
State Accepted
Commit ba175bdfe85d701298d28e5190e55207420a24e8
Headers show

Comments

Andreas Oberritter - Feb. 10, 2012, 6 p.m.
* If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
  doesn't exist, autotools_do_configure() copies a local
  version of Makefile.in.in to this location. If the directory
  'po' doesn't exist, the function aborts.

* This patch verifies that the directory exists before copying
  a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
  but has no 'po' directory.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 meta/classes/autotools.bbclass |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Khem Raj - Feb. 11, 2012, 2:07 a.m.
On (10/02/12 19:00), Andreas Oberritter wrote:
> * If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
>   doesn't exist, autotools_do_configure() copies a local
>   version of Makefile.in.in to this location. If the directory
>   'po' doesn't exist, the function aborts.
> 
> * This patch verifies that the directory exists before copying
>   a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
>   but has no 'po' directory.
> 

this patch is ok however did you try to create the dir and then copy
over the file if it did not exist ?

> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> ---
>  meta/classes/autotools.bbclass |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index 5d74333..e22ea68 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -149,7 +149,7 @@ autotools_do_configure() {
>  			  else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
>                              # We'd call gettextize here if it wasn't so broken...
>  			    cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
> -			    if [ ! -e ${S}/po/Makefile.in.in ]; then
> +			    if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
>  			      cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
>                              fi
>  			  fi
> -- 
> 1.7.5.4
> 


> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Andreas Oberritter - Feb. 11, 2012, 4:02 p.m.
On 11.02.2012 03:07, Khem Raj wrote:
> On (10/02/12 19:00), Andreas Oberritter wrote:
>> * If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
>>   doesn't exist, autotools_do_configure() copies a local
>>   version of Makefile.in.in to this location. If the directory
>>   'po' doesn't exist, the function aborts.
>>
>> * This patch verifies that the directory exists before copying
>>   a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
>>   but has no 'po' directory.
>>
> 
> this patch is ok however did you try to create the dir and then copy
> over the file if it did not exist ?

I didn't, because I don't think it would do anything useful, if there
are no other files in po/.

>> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
>> ---
>>  meta/classes/autotools.bbclass |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
>> index 5d74333..e22ea68 100644
>> --- a/meta/classes/autotools.bbclass
>> +++ b/meta/classes/autotools.bbclass
>> @@ -149,7 +149,7 @@ autotools_do_configure() {
>>  			  else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
>>                              # We'd call gettextize here if it wasn't so broken...
>>  			    cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
>> -			    if [ ! -e ${S}/po/Makefile.in.in ]; then
>> +			    if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
>>  			      cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
>>                              fi
>>  			  fi
>> -- 
>> 1.7.5.4
>>
> 
> 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
>
Saul Wold - Feb. 24, 2012, 6:29 p.m.
On 02/10/2012 10:00 AM, Andreas Oberritter wrote:
> * If configure.ac contains AM_GNU_GETTEXT and po/Makefile.in.in
>    doesn't exist, autotools_do_configure() copies a local
>    version of Makefile.in.in to this location. If the directory
>    'po' doesn't exist, the function aborts.
>
> * This patch verifies that the directory exists before copying
>    a file to it. This fixes libcddb, which uses AM_GNU_GETTEXT,
>    but has no 'po' directory.
>
> Signed-off-by: Andreas Oberritter<obi@opendreambox.org>
> ---
>   meta/classes/autotools.bbclass |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index 5d74333..e22ea68 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -149,7 +149,7 @@ autotools_do_configure() {
>   			  else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC>/dev/null; then
>                               # We'd call gettextize here if it wasn't so broken...
>   			    cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
> -			    if [ ! -e ${S}/po/Makefile.in.in ]; then
> +			    if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
>   			      cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
>                               fi
>   			  fi
>
Merged into OE-core

Thanks
	Sau!

>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 5d74333..e22ea68 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -149,7 +149,7 @@  autotools_do_configure() {
 			  else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
                             # We'd call gettextize here if it wasn't so broken...
 			    cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
-			    if [ ! -e ${S}/po/Makefile.in.in ]; then
+			    if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
 			      cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
                             fi
 			  fi