[oe] [PATCH] gphoto2_2.4.8.bb: Stop configure from looking in /usr/local/include

Graham Gower graham.gower at gmail.com
Wed Nov 3 00:04:19 UTC 2010


On 2 November 2010 17:08, Frans Meulenbroeks
<fransmeulenbroeks at gmail.com> wrote:
> 2010/11/2 Graham Gower <graham.gower at gmail.com>:
>>  * Point configure at where it can find jpeg.
>>  * Explicitly disable cdk and aalib.
>>  * Fix license while here.
>>
>> Signed-off-by: Graham Gower <graham.gower at gmail.com>
>> ---
>>  recipes/gphoto2/gphoto2_2.4.8.bb |    9 +++++++--
>>  1 files changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/recipes/gphoto2/gphoto2_2.4.8.bb b/recipes/gphoto2/gphoto2_2.4.8.bb
>> index ea54713..836ea85 100644
>> --- a/recipes/gphoto2/gphoto2_2.4.8.bb
>> +++ b/recipes/gphoto2/gphoto2_2.4.8.bb
>> @@ -1,7 +1,8 @@
>>  DESCRIPTION = "gphoto2 is a command-line utility to fetch pictures from digital cameras"
>>  SECTION = "console/utils"
>> -LICENSE = "GPL"
>> -DEPENDS = "libtool libgphoto2 popt"
>> +LICENSE = "GPLv2+"
>> +DEPENDS = "libtool libgphoto2 popt jpeg"
>
> The original recipe would build without the depends on jpeg
> adding it to depends should be mentioned in the commit message
>
>> +PR = "r1"
>>
>>  SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
>>            file://gphoto-popt-fixup.patch"
>> @@ -11,6 +12,10 @@ SRC_URI[gphoto2.sha256sum] = "a2e2f70fd6051234cbc3d76dc82df6991e8a07ead56aa8d5c4
>>
>>  inherit autotools
>>
>> +EXTRA_OECONF="--without-cdk \
>> +               --without-aalib \
>> +               --with-jpeg-prefix=${STAGING_EXECPREFIXDIR}"
>> +
>
> I have some concerns here.
> For configure it seems best to explicitly set and reset the flags in
> it, otherwise you may just pick up whatever happened to be build
> before.
>
> from --help:
>
> Optional Features:
>  --disable-option-checking  ignore unrecognized --enable/--with options
>  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
>  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
>  --disable-dependency-tracking  speeds up one-time build
>  --enable-dependency-tracking   do not reject slow dependency extractors
>  --enable-shared[=PKGS]  build shared libraries [default=yes]
>  --enable-static[=PKGS]  build static libraries [default=yes]
>  --enable-fast-install[=PKGS]
>                          optimize for fast installation [default=yes]
>  --disable-libtool-lock  avoid locking (might break parallel builds)
>  --disable-largefile     omit support for large files
>  --disable-nls           do not use Native Language Support
>  --disable-rpath         do not hardcode runtime library paths
>
> Optional Packages:
>  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
>  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
>  --with-pic              try to use only PIC/non-PIC objects [default=use
>                          both]
>  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
>  --with-gnu-ld           assume the C compiler uses GNU ld default=no
>  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
>  --without-libiconv-prefix     don't search for libiconv in
> includedir and libdir
>  --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib
>  --without-libintl-prefix     don't search for libintl in includedir and libdir
>  --with-libgphoto2=PREFIX
>                          where to find libgphoto2, "no" or "auto"
>  --without-pthread         Don't use pthread
>  --without-cdk           Do not use cdk
>  --with-cdk-prefix=PREFIX
>                          Location of cdk
>  --without-jpeg          Do not use jpeg
>  --with-jpeg-prefix=PREFIX
>                          Location of jpeg
>  --with-libexif=PREFIX   where to find libexif, "no" or "auto"
>  --without-aalib         Do not use aalib
>  --without-readline      Do not use readline
>
> All things that are not mentioned in DEPENDS should (IMHO) be
> explicitly be turned off.
> And for the things in DEPENDS I would encourage to still add them.
> E.g. --with-jpeg. Yes I know these will always be picked up when a
> DEPENDS = "jpeg" is present, but making it explict does not hurt and
> it trips an error if jpeg is not there and someone does a bitbake -b
> of the recipe (instead of silently building a package without jpeg).
>
> Thanks for your contribution & apologies for using your commit for a
> rant on configure flags.
>
> Frans.
>

I agree with you here. Often a recipe breaks when a particular
subsystem is enabled, which is usually not enabled during regular
image builds. And it can be difficult to determine if something should
be added to DEPENDS or disabled at configure time.

What I found with gphoto2 (which probably wasn't clear) was the
configure script was testing for jpeg and cdk with
-I/usr/local/include. So I guessed on what was useful and what wasn't
and added jpeg to depends to make it clear that jpeg support was
intended (even though it will likely be pulled in by other
dependencies).

I assume you just want exif and readline disabled too? (and possibly
an essay in the commit message :))

-Graham




More information about the Openembedded-devel mailing list