Patchwork [1/2] qmmp: update to 0.5.2

login
register
mail settings
Submitter Xiaofeng Yan
Date Oct. 18, 2011, 5:21 a.m.
Message ID <ff63f110f1f657a011c24f5c8cfb8e7328fae49a.1318904555.git.xiaofeng.yan@windriver.com>
Download mbox | patch
Permalink /patch/13411/
State New, archived
Headers show

Comments

Xiaofeng Yan - Oct. 18, 2011, 5:21 a.m.
From: Xiaofeng Yan <xiaofeng.yan@windriver.com>

The new version of qmmp can run on core-image-sato by test.
$qmmp *.mp3

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
---
 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb |   49 +++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
Saul Wold - Oct. 18, 2011, 5:35 a.m.
On 10/17/2011 10:21 PM, Xiaofeng Yan wrote:
> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>
> The new version of qmmp can run on core-image-sato by test.
> $qmmp *.mp3
>
> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
> ---
>   meta/recipes-qt/qt-apps/qmmp_0.5.2.bb |   49 +++++++++++++++++++++++++++++++++
>   1 files changed, 49 insertions(+), 0 deletions(-)
>   create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>
> diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
> new file mode 100644
> index 0000000..f31409b
> --- /dev/null
> +++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
> @@ -0,0 +1,49 @@
> +dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library"
> +HOMEPAGE = "http://qmmp.ylsoftware.com"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
> +SECTION = "multimedia"
> +
> +PR = "r3"
> +
> +PROVIDES = "qmmp"
> +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
> +RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
> +
> +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
> +
> +SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
> +SRC_URI[sha256sum] = "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
> +
> +
> +PARALLEL_MAKE = ""
> +
> +inherit qmake2 cmake
> +
> +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
> +                        -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
> +                        -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
> +                        -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
> +                        -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
> +                        -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
> +                        -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
> +                        -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
> +                        "
> +
> +FILES_${PN} =+ "\
> +               ${libdir}/qmmp/*/*.so \
> +               ${datadir}/icons/* \
> +               ${datadir}/qmmp/images/* \
> +               ${datadir}/applications/qmmp.desktop \
> +               "
> +
Xiaofeng,

I was looking into this also, I think it would be better to split all 
the various plugins into separate packages using do_split_packages(), in
the packages.bbclass.

I started with this code:
> PACKAGES_DYNAMIC = "qmmp-plugin-*"
>
> python populate_packages_prepend () {
>         qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>
>         do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$', 'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s', extra_depends='')
> }

But have not completed it yet, if you have time to investigate further 
and complete this correctly, there might be a problem with using 
multiple Regular expressions in the do_split_packages code, but I have 
not fully debugged this yet.

Please let me know if you can complete this task.

Thanks
	Sau!


> +FILES_${PN}-dbg += "\
> +                ${libdir}/qmmp/*/.debug/* \
> +               "
> +
> +PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
> +
> +FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
> +RDEPENDS_${PN}-plugin-input-mad = "libmad"
> +FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
> +RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
Xiaofeng Yan - Oct. 18, 2011, 5:44 a.m.
On 2011?10?18? 13:35, Saul Wold wrote:
> On 10/17/2011 10:21 PM, Xiaofeng Yan wrote:
>> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>
>> The new version of qmmp can run on core-image-sato by test.
>> $qmmp *.mp3
>>
>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>> ---
>> meta/recipes-qt/qt-apps/qmmp_0.5.2.bb | 49 
>> +++++++++++++++++++++++++++++++++
>> 1 files changed, 49 insertions(+), 0 deletions(-)
>> create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>
>> diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb 
>> b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>> new file mode 100644
>> index 0000000..f31409b
>> --- /dev/null
>> +++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>> @@ -0,0 +1,49 @@
>> +dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, 
>> written with help of Qt library"
>> +HOMEPAGE = "http://qmmp.ylsoftware.com"
>> +LICENSE = "GPLv2"
>> +LIC_FILES_CHKSUM = 
>> "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
>> +SECTION = "multimedia"
>> +
>> +PR = "r3"
>> +
>> +PROVIDES = "qmmp"
>> +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
>> +RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
>> +
>> +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
>> +
>> +SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
>> +SRC_URI[sha256sum] = 
>> "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
>> +
>> +
>> +PARALLEL_MAKE = ""
>> +
>> +inherit qmake2 cmake
>> +
>> +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
>> + -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
>> + -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
>> + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
>> + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
>> + -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
>> + -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
>> + -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
>> + "
>> +
>> +FILES_${PN} =+ "\
>> + ${libdir}/qmmp/*/*.so \
>> + ${datadir}/icons/* \
>> + ${datadir}/qmmp/images/* \
>> + ${datadir}/applications/qmmp.desktop \
>> + "
>> +
> Xiaofeng,
>
> I was looking into this also, I think it would be better to split all 
> the various plugins into separate packages using do_split_packages(), in
> the packages.bbclass.
>
> I started with this code:
>> PACKAGES_DYNAMIC = "qmmp-plugin-*"
>>
>> python populate_packages_prepend () {
>> qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>
>> do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$', 
>> 'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s', extra_depends='')
>> }
>
> But have not completed it yet, if you have time to investigate further 
> and complete this correctly, there might be a problem with using 
> multiple Regular expressions in the do_split_packages code, but I have 
> not fully debugged this yet.
>
> Please let me know if you can complete this task.
>
Thanks for your reply and I will investigate it according to your 
suggestion.

Thanks
Yan
> Thanks
> Sau!
>
>
>> +FILES_${PN}-dbg += "\
>> + ${libdir}/qmmp/*/.debug/* \
>> + "
>> +
>> +PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
>> +
>> +FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
>> +RDEPENDS_${PN}-plugin-input-mad = "libmad"
>> +FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
>> +RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
>
>
Xiaofeng Yan - Oct. 19, 2011, 10:31 a.m.
On 2011?10?18? 13:44, Xiaofeng Yan wrote:
> On 2011?10?18? 13:35, Saul Wold wrote:
>> On 10/17/2011 10:21 PM, Xiaofeng Yan wrote:
>>> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>
>>> The new version of qmmp can run on core-image-sato by test.
>>> $qmmp *.mp3
>>>
>>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>> ---
>>> meta/recipes-qt/qt-apps/qmmp_0.5.2.bb | 49 
>>> +++++++++++++++++++++++++++++++++
>>> 1 files changed, 49 insertions(+), 0 deletions(-)
>>> create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>
>>> diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb 
>>> b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>> new file mode 100644
>>> index 0000000..f31409b
>>> --- /dev/null
>>> +++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>> @@ -0,0 +1,49 @@
>>> +dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an 
>>> audio-player, written with help of Qt library"
>>> +HOMEPAGE = "http://qmmp.ylsoftware.com"
>>> +LICENSE = "GPLv2"
>>> +LIC_FILES_CHKSUM = 
>>> "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
>>> +SECTION = "multimedia"
>>> +
>>> +PR = "r3"
>>> +
>>> +PROVIDES = "qmmp"
>>> +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
>>> +RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
>>> +
>>> +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
>>> +
>>> +SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
>>> +SRC_URI[sha256sum] = 
>>> "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
>>> +
>>> +
>>> +PARALLEL_MAKE = ""
>>> +
>>> +inherit qmake2 cmake
>>> +
>>> +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
>>> + -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
>>> + -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
>>> + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
>>> + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
>>> + -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
>>> + -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
>>> + -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
>>> + "
>>> +
>>> +FILES_${PN} =+ "\
>>> + ${libdir}/qmmp/*/*.so \
>>> + ${datadir}/icons/* \
>>> + ${datadir}/qmmp/images/* \
>>> + ${datadir}/applications/qmmp.desktop \
>>> + "
>>> +
>> Xiaofeng,
>>
>> I was looking into this also, I think it would be better to split all 
>> the various plugins into separate packages using do_split_packages(), in
>> the packages.bbclass.
>>
>> I started with this code:
>>> PACKAGES_DYNAMIC = "qmmp-plugin-*"
>>>
>>> python populate_packages_prepend () {
>>> qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>>
>>> do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$', 
>>> 'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s', extra_depends='')
>>> }
>>
>> But have not completed it yet, if you have time to investigate 
>> further and complete this correctly, there might be a problem with 
>> using multiple Regular expressions in the do_split_packages code, but 
>> I have not fully debugged this yet.
>>
>> Please let me know if you can complete this task.
>>
Hi saul,

The following is my modification to qmmp_0.5.2.bb. Please review it.
I want to get a reply about how to ship files in ${datadir} for qmmp. I 
shipped them to FILES_${PN} because qmmp need these files when starting 
up. Do you think that they should be packaged like qmmp-plugin-* ?

Please give me your suggestion and I will modify this file.


PACKAGES_DYNAMIC += "qmmp-plugin-*"


python populate_packages_prepend () {
         qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
         do_split_packages(d, qmmp_libdir, '^lib(.*)\.so$', 
'qmmp-plugin-%s', 'Qmmp %s Plugin for', recursive=True,extra_depends='')
}

FILES_${PN} = "\
                 ${bindir}/qmmp \
                 ${libdir}/lib*${SOLIBS} \
                 ${datadir}/icons/* \
                 ${datadir}/qmmp/images/* \
                 ${datadir}/applications/* \
                 "

FILES_${PN}-dbg += "\
                 ${libdir}/qmmp/*/.debug/* \
                "

PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis "

FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
RDEPENDS_${PN}-plugin-input-mad = "libmad"
FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"



Thanks
Yan
> Thanks for your reply and I will investigate it according to your 
> suggestion.
>
> Thanks
> Yan
>> Thanks
>> Sau!
>>
>>
>>> +FILES_${PN}-dbg += "\
>>> + ${libdir}/qmmp/*/.debug/* \
>>> + "
>>> +
>>> +PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
>>> +
>>> +FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
>>> +RDEPENDS_${PN}-plugin-input-mad = "libmad"
>>> +FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
>>> +RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
>>
>>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Saul Wold - Oct. 19, 2011, 11:18 p.m.
On 10/19/2011 03:31 AM, Xiaofeng Yan wrote:
> On 2011?10?18? 13:44, Xiaofeng Yan wrote:
>> On 2011?10?18? 13:35, Saul Wold wrote:
>>> On 10/17/2011 10:21 PM, Xiaofeng Yan wrote:
>>>> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>>
>>>> The new version of qmmp can run on core-image-sato by test.
>>>> $qmmp *.mp3
>>>>
>>>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>> ---
>>>> meta/recipes-qt/qt-apps/qmmp_0.5.2.bb | 49
>>>> +++++++++++++++++++++++++++++++++
>>>> 1 files changed, 49 insertions(+), 0 deletions(-)
>>>> create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>
>>>> diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>> b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>> new file mode 100644
>>>> index 0000000..f31409b
>>>> --- /dev/null
>>>> +++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>> @@ -0,0 +1,49 @@
>>>> +dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an
>>>> audio-player, written with help of Qt library"
>>>> +HOMEPAGE = "http://qmmp.ylsoftware.com"
>>>> +LICENSE = "GPLv2"
>>>> +LIC_FILES_CHKSUM =
>>>> "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
>>>> +SECTION = "multimedia"
>>>> +
>>>> +PR = "r3"
>>>> +
>>>> +PROVIDES = "qmmp"
>>>> +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
>>>> +RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
>>>> +
>>>> +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
>>>> +
>>>> +SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
>>>> +SRC_URI[sha256sum] =
>>>> "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
>>>> +
>>>> +
>>>> +PARALLEL_MAKE = ""
>>>> +
>>>> +inherit qmake2 cmake
>>>> +
>>>> +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
>>>> + -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
>>>> + -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
>>>> + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
>>>> + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
>>>> + -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
>>>> + -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
>>>> + -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
>>>> + "
>>>> +
>>>> +FILES_${PN} =+ "\
>>>> + ${libdir}/qmmp/*/*.so \
>>>> + ${datadir}/icons/* \
>>>> + ${datadir}/qmmp/images/* \
>>>> + ${datadir}/applications/qmmp.desktop \
>>>> + "
>>>> +
>>> Xiaofeng,
>>>
>>> I was looking into this also, I think it would be better to split all
>>> the various plugins into separate packages using do_split_packages(), in
>>> the packages.bbclass.
>>>
>>> I started with this code:
>>>> PACKAGES_DYNAMIC = "qmmp-plugin-*"
>>>>
>>>> python populate_packages_prepend () {
>>>> qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>>>
>>>> do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$',
>>>> 'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s', extra_depends='')
>>>> }
>>>
>>> But have not completed it yet, if you have time to investigate
>>> further and complete this correctly, there might be a problem with
>>> using multiple Regular expressions in the do_split_packages code, but
>>> I have not fully debugged this yet.
>>>
>>> Please let me know if you can complete this task.
>>>
> Hi saul,
>
> The following is my modification to qmmp_0.5.2.bb. Please review it.
> I want to get a reply about how to ship files in ${datadir} for qmmp. I
> shipped them to FILES_${PN} because qmmp need these files when starting
> up. Do you think that they should be packaged like qmmp-plugin-* ?
>
> Please give me your suggestion and I will modify this file.
>
>
> PACKAGES_DYNAMIC += "qmmp-plugin-*"
>
>
> python populate_packages_prepend () {
>          qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>          do_split_packages(d, qmmp_libdir, '^lib(.*)\.so$',
> 'qmmp-plugin-%s', 'Qmmp %s Plugin for', recursive=True,extra_depends='')
> }
>
Ah, I see you added the recursive flag, I was trying to capture the 
plugin group (Input, Ouput, Effect, ...) in the package name incase 
there was name conflict, also to match the mad and vorbis naming below.

If using multiple RE expressions in the re match does not work, then we 
should make do_split_package for each grouping and name them correctly
qmmp-plugin-<group>-<library>  with the Description: Qmmp <Group> plugin 
for %s"

> FILES_${PN} = "\
I think this should be a +=
>                  ${bindir}/qmmp \
>                  ${libdir}/lib*${SOLIBS} \
These 2 should go away (part of default FILES_${PN}
>                  ${datadir}/icons/* \
>                  ${datadir}/qmmp/images/* \
>                  ${datadir}/applications/* \
>                  "
There are added via the += above.

>
> FILES_${PN}-dbg += "\
>                  ${libdir}/qmmp/*/.debug/* \
>                 "
>
These should be picked up by the do_split_package above I believe

> PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis "
>
> FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
> RDEPENDS_${PN}-plugin-input-mad = "libmad"
> FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
> RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
>
Ideally the above PACKAGES and FILES_ go away and the default actions 
take over.

Thanks for looking into this.

Sau!

>
>
> Thanks
> Yan
>> Thanks for your reply and I will investigate it according to your
>> suggestion.
>>
>> Thanks
>> Yan
>>> Thanks
>>> Sau!
>>>
>>>
>>>> +FILES_${PN}-dbg += "\
>>>> + ${libdir}/qmmp/*/.debug/* \
>>>> + "
>>>> +
>>>> +PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
>>>> +
>>>> +FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
>>>> +RDEPENDS_${PN}-plugin-input-mad = "libmad"
>>>> +FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
>>>> +RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
>>>
>>>
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Xiaofeng Yan - Oct. 20, 2011, 2:27 a.m.
On 2011?10?20? 07:18, Saul Wold wrote:
> On 10/19/2011 03:31 AM, Xiaofeng Yan wrote:
>> On 2011?10?18? 13:44, Xiaofeng Yan wrote:
>>> On 2011?10?18? 13:35, Saul Wold wrote:
>>>> On 10/17/2011 10:21 PM, Xiaofeng Yan wrote:
>>>>> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>>>
>>>>> The new version of qmmp can run on core-image-sato by test.
>>>>> $qmmp *.mp3
>>>>>
>>>>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>>> ---
>>>>> meta/recipes-qt/qt-apps/qmmp_0.5.2.bb | 49
>>>>> +++++++++++++++++++++++++++++++++
>>>>> 1 files changed, 49 insertions(+), 0 deletions(-)
>>>>> create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>>
>>>>> diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>> b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>> new file mode 100644
>>>>> index 0000000..f31409b
>>>>> --- /dev/null
>>>>> +++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>> @@ -0,0 +1,49 @@
>>>>> +dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an
>>>>> audio-player, written with help of Qt library"
>>>>> +HOMEPAGE = "http://qmmp.ylsoftware.com"
>>>>> +LICENSE = "GPLv2"
>>>>> +LIC_FILES_CHKSUM =
>>>>> "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
>>>>> +SECTION = "multimedia"
>>>>> +
>>>>> +PR = "r3"
>>>>> +
>>>>> +PROVIDES = "qmmp"
>>>>> +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
>>>>> +RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
>>>>> +
>>>>> +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
>>>>> +
>>>>> +SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
>>>>> +SRC_URI[sha256sum] =
>>>>> "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
>>>>> +
>>>>> +
>>>>> +PARALLEL_MAKE = ""
>>>>> +
>>>>> +inherit qmake2 cmake
>>>>> +
>>>>> +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
>>>>> + -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
>>>>> + -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
>>>>> + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
>>>>> + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
>>>>> + -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
>>>>> + -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
>>>>> + -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
>>>>> + "
>>>>> +
>>>>> +FILES_${PN} =+ "\
>>>>> + ${libdir}/qmmp/*/*.so \
>>>>> + ${datadir}/icons/* \
>>>>> + ${datadir}/qmmp/images/* \
>>>>> + ${datadir}/applications/qmmp.desktop \
>>>>> + "
>>>>> +
>>>> Xiaofeng,
>>>>
>>>> I was looking into this also, I think it would be better to split all
>>>> the various plugins into separate packages using 
>>>> do_split_packages(), in
>>>> the packages.bbclass.
>>>>
>>>> I started with this code:
>>>>> PACKAGES_DYNAMIC = "qmmp-plugin-*"
>>>>>
>>>>> python populate_packages_prepend () {
>>>>> qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>>>>
>>>>> do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$',
>>>>> 'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s', extra_depends='')
>>>>> }
>>>>
>>>> But have not completed it yet, if you have time to investigate
>>>> further and complete this correctly, there might be a problem with
>>>> using multiple Regular expressions in the do_split_packages code, but
>>>> I have not fully debugged this yet.
>>>>
>>>> Please let me know if you can complete this task.
>>>>
>> Hi saul,
>>
>> The following is my modification to qmmp_0.5.2.bb. Please review it.
>> I want to get a reply about how to ship files in ${datadir} for qmmp. I
>> shipped them to FILES_${PN} because qmmp need these files when starting
>> up. Do you think that they should be packaged like qmmp-plugin-* ?
>>
>> Please give me your suggestion and I will modify this file.
>>
>>
>> PACKAGES_DYNAMIC += "qmmp-plugin-*"
>>
>>
>> python populate_packages_prepend () {
>>          qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>          do_split_packages(d, qmmp_libdir, '^lib(.*)\.so$',
>> 'qmmp-plugin-%s', 'Qmmp %s Plugin for', recursive=True,extra_depends='')
>> }
>>
> Ah, I see you added the recursive flag, I was trying to capture the 
> plugin group (Input, Ouput, Effect, ...) in the package name incase 
> there was name conflict, also to match the mad and vorbis naming below.
>
> If using multiple RE expressions in the re match does not work, then 
> we should make do_split_package for each grouping and name them correctly
> qmmp-plugin-<group>-<library>  with the Description: Qmmp <Group> 
> plugin for %s"
>
>> FILES_${PN} = "\
> I think this should be a +=
>>                  ${bindir}/qmmp \
>>                  ${libdir}/lib*${SOLIBS} \
> These 2 should go away (part of default FILES_${PN}
>>                  ${datadir}/icons/* \
>>                  ${datadir}/qmmp/images/* \
>>                  ${datadir}/applications/* \
>>                  "
> There are added via the += above.
>
I agree with your comment
>>
>> FILES_${PN}-dbg += "\
>>                  ${libdir}/qmmp/*/.debug/* \
>>                 "
>>
> These should be picked up by the do_split_package above I believe
>
I will use do_split_package to split up them .
>> PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis "
>>
>> FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
>> RDEPENDS_${PN}-plugin-input-mad = "libmad"
>> FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
>> RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
>>
> Ideally the above PACKAGES and FILES_ go away and the default actions 
> take over.
>
I will continue looking into them and push this bb file to OE-core after 
modifying defects.
Thanks for your reply

Thanks
Yan
> Thanks for looking into this.
>
> Sau!
>
>>
>>
>> Thanks
>> Yan
>>> Thanks for your reply and I will investigate it according to your
>>> suggestion.
>>>
>>> Thanks
>>> Yan
>>>> Thanks
>>>> Sau!
>>>>
>>>>
>>>>> +FILES_${PN}-dbg += "\
>>>>> + ${libdir}/qmmp/*/.debug/* \
>>>>> + "
>>>>> +
>>>>> +PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
>>>>> +
>>>>> +FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
>>>>> +RDEPENDS_${PN}-plugin-input-mad = "libmad"
>>>>> +FILES_${PN}-plugin-input-vorbis = 
>>>>> "${libdir}/qmmp/Input/libvorbis.so"
>>>>> +RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
Xiaofeng Yan - Oct. 20, 2011, 11:46 a.m.
On 2011?10?20? 07:18, Saul Wold wrote:
> On 10/19/2011 03:31 AM, Xiaofeng Yan wrote:
>> On 2011?10?18? 13:44, Xiaofeng Yan wrote:
>>> On 2011?10?18? 13:35, Saul Wold wrote:
>>>> On 10/17/2011 10:21 PM, Xiaofeng Yan wrote:
>>>>> From: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>>>
>>>>> The new version of qmmp can run on core-image-sato by test.
>>>>> $qmmp *.mp3
>>>>>
>>>>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com>
>>>>> ---
>>>>> meta/recipes-qt/qt-apps/qmmp_0.5.2.bb | 49
>>>>> +++++++++++++++++++++++++++++++++
>>>>> 1 files changed, 49 insertions(+), 0 deletions(-)
>>>>> create mode 100644 meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>>
>>>>> diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>> b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>> new file mode 100644
>>>>> index 0000000..f31409b
>>>>> --- /dev/null
>>>>> +++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
>>>>> @@ -0,0 +1,49 @@
>>>>> +dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an
>>>>> audio-player, written with help of Qt library"
>>>>> +HOMEPAGE = "http://qmmp.ylsoftware.com"
>>>>> +LICENSE = "GPLv2"
>>>>> +LIC_FILES_CHKSUM =
>>>>> "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
>>>>> +SECTION = "multimedia"
>>>>> +
>>>>> +PR = "r3"
>>>>> +
>>>>> +PROVIDES = "qmmp"
>>>>> +DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
>>>>> +RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
>>>>> +
>>>>> +SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
>>>>> +
>>>>> +SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
>>>>> +SRC_URI[sha256sum] =
>>>>> "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
>>>>> +
>>>>> +
>>>>> +PARALLEL_MAKE = ""
>>>>> +
>>>>> +inherit qmake2 cmake
>>>>> +
>>>>> +export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
>>>>> + -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
>>>>> + -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
>>>>> + -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
>>>>> + -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
>>>>> + -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
>>>>> + -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
>>>>> + -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
>>>>> + "
>>>>> +
>>>>> +FILES_${PN} =+ "\
>>>>> + ${libdir}/qmmp/*/*.so \
>>>>> + ${datadir}/icons/* \
>>>>> + ${datadir}/qmmp/images/* \
>>>>> + ${datadir}/applications/qmmp.desktop \
>>>>> + "
>>>>> +
>>>> Xiaofeng,
>>>>
>>>> I was looking into this also, I think it would be better to split all
>>>> the various plugins into separate packages using 
>>>> do_split_packages(), in
>>>> the packages.bbclass.
>>>>
>>>> I started with this code:
>>>>> PACKAGES_DYNAMIC = "qmmp-plugin-*"
>>>>>
>>>>> python populate_packages_prepend () {
>>>>> qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>>>>
>>>>> do_split_packages(d, qmmp_libdir, '^(.*)/(.*)\.so$',
>>>>> 'qmmp-plugin-%s-%s', 'Qmmp %s Plugin for %s', extra_depends='')
>>>>> }
>>>>
>>>> But have not completed it yet, if you have time to investigate
>>>> further and complete this correctly, there might be a problem with
>>>> using multiple Regular expressions in the do_split_packages code, but
>>>> I have not fully debugged this yet.
>>>>
>>>> Please let me know if you can complete this task.
>>>>
>> Hi saul,
>>
>> The following is my modification to qmmp_0.5.2.bb. Please review it.
>> I want to get a reply about how to ship files in ${datadir} for qmmp. I
>> shipped them to FILES_${PN} because qmmp need these files when starting
>> up. Do you think that they should be packaged like qmmp-plugin-* ?
>>
>> Please give me your suggestion and I will modify this file.
>>
>>
>> PACKAGES_DYNAMIC += "qmmp-plugin-*"
>>
>>
>> python populate_packages_prepend () {
>>          qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
>>          do_split_packages(d, qmmp_libdir, '^lib(.*)\.so$',
>> 'qmmp-plugin-%s', 'Qmmp %s Plugin for', recursive=True,extra_depends='')
>> }
>>
> Ah, I see you added the recursive flag, I was trying to capture the 
> plugin group (Input, Ouput, Effect, ...) in the package name incase 
> there was name conflict, also to match the mad and vorbis naming below.
>
> If using multiple RE expressions in the re match does not work, then 
> we should make do_split_package for each grouping and name them correctly
> qmmp-plugin-<group>-<library>  with the Description: Qmmp <Group> 
> plugin for %s"
>

Hi Saul,

I find .debug can't be packaged to rpm package because it is invisible 
directory. In current OE-core .debug was shipped to FILES_${PN}-dbg, for 
example , gtk+ ,qt4-x11-free
If we want to split up .debug/* to single package, we can rename .debug 
to debug to make this directory visible, then debug directory can be 
split up to single package.
Please review the following two mode.

_Mode 1: Ship  .debug to   FILES_${PN}-dbg_

PACKAGES_DYNAMIC = "qmmp-plugin-* "


python populate_packages_prepend () {
         import os
         qmmp_libdir = bb.data.expand('${libdir}/qmmp', d)
         gd = bb.data.expand('${D}/${libdir}/qmmp', d)
         plug_dirs = os.listdir(gd)
/# for makeing  do_split_package for each grouping and name them correctly
# qmmp-plugin-<group>-<library>  with the Description: Qmmp <Group> 
plugin for %s"
# I use the following method./
         for plug_dir in plug_dirs:
                 g_plug_dir = os.path.join(qmmp_libdir,plug_dir)
                 do_split_packages(d, g_plug_dir, '^lib(.*)\.so$', 
'qmmp-plugin-' + plug_dir + '-%s', 'Qmmp' + plug_dir  + 'plugin for %s')



}

/# if I don't point files to ship file to ${PN}, then FILE_${PN} will 
get files in usr/lib/qmmp and qmmp-plug-* will not get files. /
FILES_${PN} = "\
                 ${bindir}/qmmp \
                 ${libdir}/lib*${SOLIBS} \
                 ${datadir}/icons/* \
                 ${datadir}/qmmp/images/* \
                 ${datadir}/applications/* \
                 "

FILES_${PN}-dbg += "\
                 ${libdir}/qmmp/*/.debug/* \
                "
=================================================================================

Patch

diff --git a/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
new file mode 100644
index 0000000..f31409b
--- /dev/null
+++ b/meta/recipes-qt/qt-apps/qmmp_0.5.2.bb
@@ -0,0 +1,49 @@ 
+dESCRIPTION = "Qmmp (Qt-based Multimedia Player) is an audio-player, written with help of Qt library"
+HOMEPAGE = "http://qmmp.ylsoftware.com"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+SECTION = "multimedia"
+
+PR = "r3"
+
+PROVIDES = "qmmp"
+DEPENDS = "qt4-x11-free taglib libmad libvorbis libogg alsa-lib"
+RDEPENDS_${PN} += "taglib alsa-lib libmad curl"
+
+SRC_URI = "http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "20852f3cce3471bfc5affa9b2e947dc6"
+SRC_URI[sha256sum] = "6391dec020d2a381d7f4b7890fae6c49eadf88b3c9aef571fe3c5e96140822ec"
+
+
+PARALLEL_MAKE = ""
+
+inherit qmake2 cmake
+
+export EXTRA_OECMAKE = "-DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
+                        -DQT_LRELEASE_EXECUTABLE=${OE_QMAKE_LRELEASE} \
+                        -DQT_MOC_EXECUTABLE=${OE_QMAKE_MOC} \
+                        -DQT_UIC_EXECUTABLE=${OE_QMAKE_UIC} \
+                        -DQT_RCC_EXECUTABLE=${OE_QMAKE_RCC} \
+                        -DQT_LIBRARY_DIR=${OE_QMAKE_LIBDIR_QT} \
+                        -DQT_HEADERS_DIR=${OE_QMAKE_INCDIR_QT} \
+                        -DQT_QTCORE_INCLUDE_DIR=${OE_QMAKE_INCDIR_QT}/QtCore \
+                        "
+
+FILES_${PN} =+ "\
+               ${libdir}/qmmp/*/*.so \
+               ${datadir}/icons/* \
+               ${datadir}/qmmp/images/* \
+               ${datadir}/applications/qmmp.desktop \
+               "
+
+FILES_${PN}-dbg += "\
+                ${libdir}/qmmp/*/.debug/* \
+               "
+
+PACKAGES += "${PN}-plugin-input-mad ${PN}-plugin-input-vorbis"
+
+FILES_${PN}-plugin-input-mad = "${libdir}/qmmp/Input/libmad.so"
+RDEPENDS_${PN}-plugin-input-mad = "libmad"
+FILES_${PN}-plugin-input-vorbis = "${libdir}/qmmp/Input/libvorbis.so"
+RDEPENDS_${PN}-plugin-input-vorbis = "libvorbis libogg"