[OE-core] [PATCH] directfb: retire directfb.inc

Andre McCurdy armccurdy at gmail.com
Fri Mar 20 19:17:41 UTC 2015


On Fri, Mar 20, 2015 at 11:40 AM, Khem Raj <raj.khem at gmail.com> wrote:
>
>> On Mar 20, 2015, at 11:32 AM, Andre McCurdy <armccurdy at gmail.com> wrote:
>>
>> Splitting the DirectFB recipe into .bb and .inc hinders maintenance
>> and the addition of new features such as class-native support.
>>
>> Remove directfb.inc and merge everything into directfb_1.7.6.bb.
>
> Having a fairly static inc file has advantage that we don’t have to do git log —follow
> to see what the sequence of changes were since the recipe gets renamed with upgrades
> and not much changes ideally just the SRC_URI and signatures which can stay in a recipe
> but if we change the .inc all the time then we have not abstracted out properly

OK, that's a good reason to keep it. Actually from that point of view
DirectFB is a good candidate for having almost everything in the .inc
and using the .bb to define version and hashes only (there's no
_git.bb so the .inc can be dedicated to building just the current
recipe).

My motivation was mainly to get rid of the confusing duplicated
EXTRA_OECONF definitions. I'll send a new patch to fix that without
removing the .inc file.

>>
>> No functional changes.
>>
>> Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
>> ---
>> meta/recipes-graphics/directfb/directfb.inc      | 76 ------------------------
>> meta/recipes-graphics/directfb/directfb_1.7.6.bb | 75 ++++++++++++++++++++---
>> 2 files changed, 68 insertions(+), 83 deletions(-)
>> delete mode 100644 meta/recipes-graphics/directfb/directfb.inc
>>
>> diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc
>> deleted file mode 100644
>> index 669c0ff..0000000
>> --- a/meta/recipes-graphics/directfb/directfb.inc
>> +++ /dev/null
>> @@ -1,76 +0,0 @@
>> -SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
>> -DESCRIPTION = "DirectFB is a thin library that provides developers \
>> -with hardware graphics acceleration, input device handling and \
>> -abstraction, an integrated windowing system with support for \
>> -translucent windows and multiple display layers on top of the \
>> -Linux framebuffer device."
>> -SECTION = "libs"
>> -LICENSE = "LGPLv2.1"
>> -LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
>> -
>> -HOMEPAGE = "http://directfb.org"
>> -DEPENDS = "jpeg libpng freetype zlib tslib"
>> -
>> -SRC_URI = "http://www.directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${PV}.tar.gz \
>> -           file://configurefix.patch \
>> -           file://fusion.patch"
>> -
>> -S = "${WORKDIR}/DirectFB-${PV}"
>> -
>> -LDFLAGS_append =" -lts -lm"
>> -
>> -BINCONFIG = "${bindir}/directfb-config"
>> -
>> -inherit autotools binconfig-disabled pkgconfig
>> -
>> -PACKAGECONFIG ??= ""
>> -PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
>> -PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm"
>> -PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
>> -PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>> -
>> -EXTRA_OECONF = "\
>> -  --with-gfxdrivers=none \
>> -  --enable-libmpeg3=no \
>> -  --enable-freetype=yes \
>> -  --enable-sdl=no \
>> -  --enable-vnc=no \
>> -  --disable-x11 \
>> -  --disable-mesa \
>> -"
>> -
>> -#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
>> -#this will cause directfb build failure on x86 arch, so filter out it.
>> -TARGET_CFLAGS_x86 := "${@oe_filter_out('-fno-omit-frame-pointer', '${TARGET_CFLAGS}', d)}"
>> -
>> -#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
>> -#
>> -#python populate_packages_prepend () {
>> -#    inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
>> -#    do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
>> -#}
>> -
>> -# NOTE: monolithic packaging for now, should improve that eventually
>> -
>> -
>> -
>> -FILES_${PN}-dbg += "\
>> -  ${libdir}/directfb-${RV}/*/*/.debug/*.so \
>> -  ${libdir}/directfb-${RV}/*/.debug/*.so \
>> -"
>> -
>> -FILES_${PN}-dev += "\
>> -  ${bindir}/directfb-config \
>> -  ${libdir}/directfb-${RV}/systems/*.la \
>> -  ${libdir}/directfb-${RV}/inputdrivers/*.la \
>> -  ${libdir}/directfb-${RV}/interfaces/*/*.la \
>> -  ${libdir}/directfb-${RV}/wm/*.la \
>> -"
>> -
>> -FILES_${PN} += "\
>> -  ${libdir}/directfb-${RV}/systems/*.so \
>> -  ${libdir}/directfb-${RV}/inputdrivers/*.so \
>> -  ${libdir}/directfb-${RV}/interfaces/*/*.so \
>> -  ${libdir}/directfb-${RV}/wm/*.so \
>> -  ${datadir}/directfb-${PV} \
>> -"
>> diff --git a/meta/recipes-graphics/directfb/directfb_1.7.6.bb b/meta/recipes-graphics/directfb/directfb_1.7.6.bb
>> index d25d987..53451e3 100644
>> --- a/meta/recipes-graphics/directfb/directfb_1.7.6.bb
>> +++ b/meta/recipes-graphics/directfb/directfb_1.7.6.bb
>> @@ -1,21 +1,82 @@
>> -require directfb.inc
>> +SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
>> +DESCRIPTION = "DirectFB is a thin library that provides developers \
>> +with hardware graphics acceleration, input device handling and \
>> +abstraction, an integrated windowing system with support for \
>> +translucent windows and multiple display layers on top of the \
>> +Linux framebuffer device."
>> +HOMEPAGE = "http://directfb.org"
>> +SECTION = "libs"
>> +LICENSE = "LGPLv2.1"
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
>> +
>> +DEPENDS = "jpeg libpng freetype zlib tslib sysfsutils"
>>
>> RV = "1.7-6"
>>
>> -DEPENDS += "sysfsutils"
>> +SRC_URI = "http://www.directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${PV}.tar.gz \
>> +           file://configurefix.patch \
>> +           file://fusion.patch"
>> +
>> +SRC_URI[md5sum] = "8a7bb06b3f58599b230b4cf314004512"
>> +SRC_URI[sha256sum] = "44f32bacfb842ea234599532f8481fe41b5bd2310d2bd101508eb3a5df26c9e1"
>> +
>> +S = "${WORKDIR}/DirectFB-${PV}"
>> +
>> +LDFLAGS_append =" -lts -lm"
>> +
>> +BINCONFIG = "${bindir}/directfb-config"
>> +
>> +inherit autotools binconfig-disabled pkgconfig
>> +
>> +PACKAGECONFIG ??= ""
>> +PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
>> +PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm"
>> +PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
>> +PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>>
>> EXTRA_OECONF = "\
>> +  --with-gfxdrivers=none \
>>   --enable-freetype=yes \
>>   --enable-zlib \
>> -  --with-gfxdrivers=none \
>> +  --disable-imlib2 \
>> +  --disable-mesa \
>>   --disable-sdl \
>>   --disable-vnc \
>>   --disable-x11 \
>> -  --disable-imlib2 \
>> -  --disable-mesa \
>> "
>>
>> LEAD_SONAME = "libdirectfb-1.7.so.0"
>>
>> -SRC_URI[md5sum] = "8a7bb06b3f58599b230b4cf314004512"
>> -SRC_URI[sha256sum] = "44f32bacfb842ea234599532f8481fe41b5bd2310d2bd101508eb3a5df26c9e1"
>> +#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
>> +#this will cause directfb build failure on x86 arch, so filter out it.
>> +TARGET_CFLAGS_x86 := "${@oe_filter_out('-fno-omit-frame-pointer', '${TARGET_CFLAGS}', d)}"
>> +
>> +#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
>> +#
>> +#python populate_packages_prepend () {
>> +#    inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
>> +#    do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
>> +#}
>> +
>> +# NOTE: monolithic packaging for now, should improve that eventually
>> +
>> +FILES_${PN}-dbg += "\
>> +  ${libdir}/directfb-${RV}/*/*/.debug/*.so \
>> +  ${libdir}/directfb-${RV}/*/.debug/*.so \
>> +"
>> +
>> +FILES_${PN}-dev += "\
>> +  ${bindir}/directfb-config \
>> +  ${libdir}/directfb-${RV}/systems/*.la \
>> +  ${libdir}/directfb-${RV}/inputdrivers/*.la \
>> +  ${libdir}/directfb-${RV}/interfaces/*/*.la \
>> +  ${libdir}/directfb-${RV}/wm/*.la \
>> +"
>> +
>> +FILES_${PN} += "\
>> +  ${libdir}/directfb-${RV}/systems/*.so \
>> +  ${libdir}/directfb-${RV}/inputdrivers/*.so \
>> +  ${libdir}/directfb-${RV}/interfaces/*/*.so \
>> +  ${libdir}/directfb-${RV}/wm/*.so \
>> +  ${datadir}/directfb-${PV} \
>> +"
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



More information about the Openembedded-core mailing list