| Submitter | Koen Kooi |
|---|---|
| Date | June 16, 2011, 9:45 a.m. |
| Message ID | <1308217549-13701-1-git-send-email-koen@dominion.thruhere.net> |
| Download | mbox | patch |
| Permalink | /patch/6019/ |
| State | New, archived |
| Headers | show |
Comments
On 06/16/2011 02:45 AM, Koen Kooi wrote: > Gst-plugins get 2 extra packages: > > ${PN}-apps: helper apps in ${bindir} > ${PN}-meta: meta package that will drag in all plugins, libs and apps ${PN} generates > > The packaging include was split out to be reused by external plugins (e.g. gst-plugin-gl, gst-fluendo-*). > > Signed-off-by: Koen Kooi<koen@dominion.thruhere.net> > --- > .../gstreamer/gst-plugins-bad_0.10.21.bb | 2 +- > .../gstreamer/gst-plugins-base_0.10.32.bb | 2 +- > .../gstreamer/gst-plugins-good_0.10.28.bb | 2 +- > .../gstreamer/gst-plugins-package.inc | 34 ++++++++++++++++++++ > .../gstreamer/gst-plugins-ugly_0.10.17.bb | 2 +- > meta/recipes-multimedia/gstreamer/gst-plugins.inc | 18 +--------- > 6 files changed, 40 insertions(+), 20 deletions(-) > create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-package.inc > > diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb > index 2b8a89c..a7023e3 100644 > --- a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb > +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb > @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ > > DEPENDS += "gst-plugins-base libmusicbrainz tremor librsvg" > > -PR = "r0" > +PR = "r1" > > inherit gettext > > diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb > index f81011f..e9fadf8 100644 > --- a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb > +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb > @@ -15,7 +15,7 @@ SRC_URI += " file://gst-plugins-base-tremor.patch" > SRC_URI[md5sum] = "2920af2b3162f3d9fbaa7fabc8ed4d38" > SRC_URI[sha256sum] = "e9aabfac83f6480896da0686e9c911989f896fbad634821b7771ed84a446172b" > > -PR = "r0" > +PR = "r1" > > inherit gettext > > diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb > index b9648e3..cca63e9 100644 > --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb > +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb > @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ > > DEPENDS += "gst-plugins-base gconf cairo jpeg libpng gtk+ zlib libid3tag flac \ > speex libsoup-2.4" > -PR = "r0" > +PR = "r1" > > inherit gettext > > diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc > new file mode 100644 > index 0000000..dae9416 > --- /dev/null > +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc > @@ -0,0 +1,34 @@ > +LIBV = "0.10" > + > +python populate_packages_prepend () { > + gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) > + postinst = bb.data.getVar('plugin_postinst', d, 1) > + glibdir = bb.data.expand('${libdir}', d) > + > + do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True) > + do_split_packages(d, gst_libdir, '^libgst(.*)\.so$', 'gst-plugin-%s', 'GStreamer plugin for %s', postinst=postinst, extra_depends='') > + do_split_packages(d, gst_libdir, '^libgst(.*)\.l?a$', 'gst-plugin-%s-dev', 'GStreamer plugin for %s (development files)', extra_depends='') > + > + pn = bb.data.getVar('PN', d, 1) > + metapkg = pn + '-meta' > + bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) > + bb.data.setVar('FILES_' + metapkg, "", d) > + blacklist = [ pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc' ] > + metapkg_rdepends = [] > + packages = bb.data.getVar('PACKAGES', d, 1).split() > + for pkg in packages[1:]: > + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-static'): > + metapkg_rdepends.append(pkg) > + bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d) > + bb.data.setVar('DESCRIPTION_' + metapkg, pn + ' meta package', d) > +} > + > +ALLOW_EMPTY = "1" > + > +PACKAGES += "${PN}-apps ${PN}-meta" > +FILES_${PN}-apps = "${bindir}" > + > +FILES_${PN} = "${datadir}/gstreamer-${LIBV}" > +FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" > + > + > diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb > index 76e00a5..2a79c2a 100644 > --- a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb > +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb > @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ > file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9" > > DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame" > -PR = "r0" > +PR = "r1" > > inherit gettext > > diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc > index 617aab8..c1d7cd8 100644 > --- a/meta/recipes-multimedia/gstreamer/gst-plugins.inc > +++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc > @@ -15,13 +15,6 @@ EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples " > > acpaths = "-I ${S}/common/m4 -I ${S}/m4" > > -LIBV = "0.10" > -#FILES_${PN} += "${libdir}/gstreamer-${LIBV}/*.so" > -#FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/*.la ${libdir}/gstreamer-${LIBV}/*.a" > -FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" > - > -PACKAGES_DYNAMIC = "${PN}-*" > - > # orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc, > # resulting in /usr/bin/orcc. Force it to use the staged orcc. > do_configure_append() { > @@ -30,14 +23,7 @@ do_configure_append() { > done > } > > -python populate_packages_prepend () { > - gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) > - postinst = bb.data.getVar('plugin_postinst', d, 1) > +require gst-plugins-package.inc > > -# Can't package separate debug packages yet > -# do_split_packages(d, gst_libdir, '\.debug/libgst(.*)\.so$', bb.data.expand('${PN}-%s-dbg', d), 'GStreamer plugin for %s (with debugging symbols)', recursive=True, extra_depends=bb.data.expand('${PN}-dbg', d), match_path=True) > - do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', bb.data.expand('${PN}-%s', d), 'GStreamer plugin for %s', postinst=postinst, extra_depends=bb.data.expand('${PN}',d)) > - do_split_packages(d, gst_libdir, 'libgst(.*)\.l?a$', bb.data.expand('${PN}-%s-dev', d), 'GStreamer plugin for %s (development files)', extra_depends=bb.data.expand('${PN}-dev',d)) > -} > +PACKAGES_DYNAMIC = "${PN}-*" > > -ALLOW_EMPTY = "1" Koen, This packaging does not work for most of the gst-meta-base, gst-meta-audio and gst-meta-video RDEPENDS fail with this change, along with gaku. When I build core-image-sato-sdk I get failed dependencies. Please look more closely at this change and verify that recipes that depend on gst-plugins-* get installed correctly. Thanks Sau!
Op 26 jun 2011, om 04:20 heeft Saul Wold het volgende geschreven: > On 06/16/2011 02:45 AM, Koen Kooi wrote: >> Gst-plugins get 2 extra packages: >> >> ${PN}-apps: helper apps in ${bindir} >> ${PN}-meta: meta package that will drag in all plugins, libs and apps ${PN} generates >> >> The packaging include was split out to be reused by external plugins (e.g. gst-plugin-gl, gst-fluendo-*). >> >> Signed-off-by: Koen Kooi<koen@dominion.thruhere.net> >> --- >> .../gstreamer/gst-plugins-bad_0.10.21.bb | 2 +- >> .../gstreamer/gst-plugins-base_0.10.32.bb | 2 +- >> .../gstreamer/gst-plugins-good_0.10.28.bb | 2 +- >> .../gstreamer/gst-plugins-package.inc | 34 ++++++++++++++++++++ >> .../gstreamer/gst-plugins-ugly_0.10.17.bb | 2 +- >> meta/recipes-multimedia/gstreamer/gst-plugins.inc | 18 +--------- >> 6 files changed, 40 insertions(+), 20 deletions(-) >> create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-package.inc >> >> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb >> index 2b8a89c..a7023e3 100644 >> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb >> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb >> @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ >> >> DEPENDS += "gst-plugins-base libmusicbrainz tremor librsvg" >> >> -PR = "r0" >> +PR = "r1" >> >> inherit gettext >> >> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb >> index f81011f..e9fadf8 100644 >> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb >> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb >> @@ -15,7 +15,7 @@ SRC_URI += " file://gst-plugins-base-tremor.patch" >> SRC_URI[md5sum] = "2920af2b3162f3d9fbaa7fabc8ed4d38" >> SRC_URI[sha256sum] = "e9aabfac83f6480896da0686e9c911989f896fbad634821b7771ed84a446172b" >> >> -PR = "r0" >> +PR = "r1" >> >> inherit gettext >> >> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb >> index b9648e3..cca63e9 100644 >> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb >> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb >> @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ >> >> DEPENDS += "gst-plugins-base gconf cairo jpeg libpng gtk+ zlib libid3tag flac \ >> speex libsoup-2.4" >> -PR = "r0" >> +PR = "r1" >> >> inherit gettext >> >> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc >> new file mode 100644 >> index 0000000..dae9416 >> --- /dev/null >> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc >> @@ -0,0 +1,34 @@ >> +LIBV = "0.10" >> + >> +python populate_packages_prepend () { >> + gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) >> + postinst = bb.data.getVar('plugin_postinst', d, 1) >> + glibdir = bb.data.expand('${libdir}', d) >> + >> + do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True) >> + do_split_packages(d, gst_libdir, '^libgst(.*)\.so$', 'gst-plugin-%s', 'GStreamer plugin for %s', postinst=postinst, extra_depends='') >> + do_split_packages(d, gst_libdir, '^libgst(.*)\.l?a$', 'gst-plugin-%s-dev', 'GStreamer plugin for %s (development files)', extra_depends='') >> + >> + pn = bb.data.getVar('PN', d, 1) >> + metapkg = pn + '-meta' >> + bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) >> + bb.data.setVar('FILES_' + metapkg, "", d) >> + blacklist = [ pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc' ] >> + metapkg_rdepends = [] >> + packages = bb.data.getVar('PACKAGES', d, 1).split() >> + for pkg in packages[1:]: >> + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-static'): >> + metapkg_rdepends.append(pkg) >> + bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d) >> + bb.data.setVar('DESCRIPTION_' + metapkg, pn + ' meta package', d) >> +} >> + >> +ALLOW_EMPTY = "1" >> + >> +PACKAGES += "${PN}-apps ${PN}-meta" >> +FILES_${PN}-apps = "${bindir}" >> + >> +FILES_${PN} = "${datadir}/gstreamer-${LIBV}" >> +FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" >> + >> + >> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb >> index 76e00a5..2a79c2a 100644 >> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb >> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb >> @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ >> file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9" >> >> DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame" >> -PR = "r0" >> +PR = "r1" >> >> inherit gettext >> >> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc >> index 617aab8..c1d7cd8 100644 >> --- a/meta/recipes-multimedia/gstreamer/gst-plugins.inc >> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc >> @@ -15,13 +15,6 @@ EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples " >> >> acpaths = "-I ${S}/common/m4 -I ${S}/m4" >> >> -LIBV = "0.10" >> -#FILES_${PN} += "${libdir}/gstreamer-${LIBV}/*.so" >> -#FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/*.la ${libdir}/gstreamer-${LIBV}/*.a" >> -FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" >> - >> -PACKAGES_DYNAMIC = "${PN}-*" >> - >> # orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc, >> # resulting in /usr/bin/orcc. Force it to use the staged orcc. >> do_configure_append() { >> @@ -30,14 +23,7 @@ do_configure_append() { >> done >> } >> >> -python populate_packages_prepend () { >> - gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) >> - postinst = bb.data.getVar('plugin_postinst', d, 1) >> +require gst-plugins-package.inc >> >> -# Can't package separate debug packages yet >> -# do_split_packages(d, gst_libdir, '\.debug/libgst(.*)\.so$', bb.data.expand('${PN}-%s-dbg', d), 'GStreamer plugin for %s (with debugging symbols)', recursive=True, extra_depends=bb.data.expand('${PN}-dbg', d), match_path=True) >> - do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', bb.data.expand('${PN}-%s', d), 'GStreamer plugin for %s', postinst=postinst, extra_depends=bb.data.expand('${PN}',d)) >> - do_split_packages(d, gst_libdir, 'libgst(.*)\.l?a$', bb.data.expand('${PN}-%s-dev', d), 'GStreamer plugin for %s (development files)', extra_depends=bb.data.expand('${PN}-dev',d)) >> -} >> +PACKAGES_DYNAMIC = "${PN}-*" >> >> -ALLOW_EMPTY = "1" > > Koen, > > This packaging does not work for most of the gst-meta-base, gst-meta-audio and gst-meta-video RDEPENDS fail with this change, along with gaku. When I build core-image-sato-sdk I get failed dependencies. > > Please look more closely at this change and verify that recipes that depend on gst-plugins-* get installed correctly. What are the errors you are seeing? My images with gstreamer plugins work.
Op 26 jun 2011, om 09:30 heeft Koen Kooi het volgende geschreven: > > Op 26 jun 2011, om 04:20 heeft Saul Wold het volgende geschreven: > >> On 06/16/2011 02:45 AM, Koen Kooi wrote: >>> Gst-plugins get 2 extra packages: >>> >>> ${PN}-apps: helper apps in ${bindir} >>> ${PN}-meta: meta package that will drag in all plugins, libs and apps ${PN} generates >>> >>> The packaging include was split out to be reused by external plugins (e.g. gst-plugin-gl, gst-fluendo-*). >>> >>> Signed-off-by: Koen Kooi<koen@dominion.thruhere.net> >>> --- >>> .../gstreamer/gst-plugins-bad_0.10.21.bb | 2 +- >>> .../gstreamer/gst-plugins-base_0.10.32.bb | 2 +- >>> .../gstreamer/gst-plugins-good_0.10.28.bb | 2 +- >>> .../gstreamer/gst-plugins-package.inc | 34 ++++++++++++++++++++ >>> .../gstreamer/gst-plugins-ugly_0.10.17.bb | 2 +- >>> meta/recipes-multimedia/gstreamer/gst-plugins.inc | 18 +--------- >>> 6 files changed, 40 insertions(+), 20 deletions(-) >>> create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-package.inc >>> >>> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb >>> index 2b8a89c..a7023e3 100644 >>> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb >>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb >>> @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ >>> >>> DEPENDS += "gst-plugins-base libmusicbrainz tremor librsvg" >>> >>> -PR = "r0" >>> +PR = "r1" >>> >>> inherit gettext >>> >>> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb >>> index f81011f..e9fadf8 100644 >>> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb >>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb >>> @@ -15,7 +15,7 @@ SRC_URI += " file://gst-plugins-base-tremor.patch" >>> SRC_URI[md5sum] = "2920af2b3162f3d9fbaa7fabc8ed4d38" >>> SRC_URI[sha256sum] = "e9aabfac83f6480896da0686e9c911989f896fbad634821b7771ed84a446172b" >>> >>> -PR = "r0" >>> +PR = "r1" >>> >>> inherit gettext >>> >>> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb >>> index b9648e3..cca63e9 100644 >>> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb >>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb >>> @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ >>> >>> DEPENDS += "gst-plugins-base gconf cairo jpeg libpng gtk+ zlib libid3tag flac \ >>> speex libsoup-2.4" >>> -PR = "r0" >>> +PR = "r1" >>> >>> inherit gettext >>> >>> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc >>> new file mode 100644 >>> index 0000000..dae9416 >>> --- /dev/null >>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc >>> @@ -0,0 +1,34 @@ >>> +LIBV = "0.10" >>> + >>> +python populate_packages_prepend () { >>> + gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) >>> + postinst = bb.data.getVar('plugin_postinst', d, 1) >>> + glibdir = bb.data.expand('${libdir}', d) >>> + >>> + do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True) >>> + do_split_packages(d, gst_libdir, '^libgst(.*)\.so$', 'gst-plugin-%s', 'GStreamer plugin for %s', postinst=postinst, extra_depends='') >>> + do_split_packages(d, gst_libdir, '^libgst(.*)\.l?a$', 'gst-plugin-%s-dev', 'GStreamer plugin for %s (development files)', extra_depends='') >>> + >>> + pn = bb.data.getVar('PN', d, 1) >>> + metapkg = pn + '-meta' >>> + bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) >>> + bb.data.setVar('FILES_' + metapkg, "", d) >>> + blacklist = [ pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc' ] >>> + metapkg_rdepends = [] >>> + packages = bb.data.getVar('PACKAGES', d, 1).split() >>> + for pkg in packages[1:]: >>> + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-static'): >>> + metapkg_rdepends.append(pkg) >>> + bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d) >>> + bb.data.setVar('DESCRIPTION_' + metapkg, pn + ' meta package', d) >>> +} >>> + >>> +ALLOW_EMPTY = "1" >>> + >>> +PACKAGES += "${PN}-apps ${PN}-meta" >>> +FILES_${PN}-apps = "${bindir}" >>> + >>> +FILES_${PN} = "${datadir}/gstreamer-${LIBV}" >>> +FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" >>> + >>> + >>> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb >>> index 76e00a5..2a79c2a 100644 >>> --- a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb >>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb >>> @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ >>> file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9" >>> >>> DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame" >>> -PR = "r0" >>> +PR = "r1" >>> >>> inherit gettext >>> >>> diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc >>> index 617aab8..c1d7cd8 100644 >>> --- a/meta/recipes-multimedia/gstreamer/gst-plugins.inc >>> +++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc >>> @@ -15,13 +15,6 @@ EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples " >>> >>> acpaths = "-I ${S}/common/m4 -I ${S}/m4" >>> >>> -LIBV = "0.10" >>> -#FILES_${PN} += "${libdir}/gstreamer-${LIBV}/*.so" >>> -#FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/*.la ${libdir}/gstreamer-${LIBV}/*.a" >>> -FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" >>> - >>> -PACKAGES_DYNAMIC = "${PN}-*" >>> - >>> # orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc, >>> # resulting in /usr/bin/orcc. Force it to use the staged orcc. >>> do_configure_append() { >>> @@ -30,14 +23,7 @@ do_configure_append() { >>> done >>> } >>> >>> -python populate_packages_prepend () { >>> - gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) >>> - postinst = bb.data.getVar('plugin_postinst', d, 1) >>> +require gst-plugins-package.inc >>> >>> -# Can't package separate debug packages yet >>> -# do_split_packages(d, gst_libdir, '\.debug/libgst(.*)\.so$', bb.data.expand('${PN}-%s-dbg', d), 'GStreamer plugin for %s (with debugging symbols)', recursive=True, extra_depends=bb.data.expand('${PN}-dbg', d), match_path=True) >>> - do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', bb.data.expand('${PN}-%s', d), 'GStreamer plugin for %s', postinst=postinst, extra_depends=bb.data.expand('${PN}',d)) >>> - do_split_packages(d, gst_libdir, 'libgst(.*)\.l?a$', bb.data.expand('${PN}-%s-dev', d), 'GStreamer plugin for %s (development files)', extra_depends=bb.data.expand('${PN}-dev',d)) >>> -} >>> +PACKAGES_DYNAMIC = "${PN}-*" >>> >>> -ALLOW_EMPTY = "1" >> >> Koen, >> >> This packaging does not work for most of the gst-meta-base, gst-meta-audio and gst-meta-video RDEPENDS fail with this change, along with gaku. When I build core-image-sato-sdk I get failed dependencies. >> >> Please look more closely at this change and verify that recipes that depend on gst-plugins-* get installed correctly. > > What are the errors you are seeing? My images with gstreamer plugins work. I see what the problem is, let me find some to lay out all the problems associated with gst-plugin packaging and upgrade paths. regards, Koen
Patch
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb index 2b8a89c..a7023e3 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.21.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ DEPENDS += "gst-plugins-base libmusicbrainz tremor librsvg" -PR = "r0" +PR = "r1" inherit gettext diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb index f81011f..e9fadf8 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-base_0.10.32.bb @@ -15,7 +15,7 @@ SRC_URI += " file://gst-plugins-base-tremor.patch" SRC_URI[md5sum] = "2920af2b3162f3d9fbaa7fabc8ed4d38" SRC_URI[sha256sum] = "e9aabfac83f6480896da0686e9c911989f896fbad634821b7771ed84a446172b" -PR = "r0" +PR = "r1" inherit gettext diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb index b9648e3..cca63e9 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.28.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ DEPENDS += "gst-plugins-base gconf cairo jpeg libpng gtk+ zlib libid3tag flac \ speex libsoup-2.4" -PR = "r0" +PR = "r1" inherit gettext diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc new file mode 100644 index 0000000..dae9416 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-package.inc @@ -0,0 +1,34 @@ +LIBV = "0.10" + +python populate_packages_prepend () { + gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) + postinst = bb.data.getVar('plugin_postinst', d, 1) + glibdir = bb.data.expand('${libdir}', d) + + do_split_packages(d, glibdir, '^lib(.*)\.so\.*', 'lib%s', 'gstreamer %s library', extra_depends='', allow_links=True) + do_split_packages(d, gst_libdir, '^libgst(.*)\.so$', 'gst-plugin-%s', 'GStreamer plugin for %s', postinst=postinst, extra_depends='') + do_split_packages(d, gst_libdir, '^libgst(.*)\.l?a$', 'gst-plugin-%s-dev', 'GStreamer plugin for %s (development files)', extra_depends='') + + pn = bb.data.getVar('PN', d, 1) + metapkg = pn + '-meta' + bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) + bb.data.setVar('FILES_' + metapkg, "", d) + blacklist = [ pn + '-locale', pn + '-dev', pn + '-dbg', pn + '-doc' ] + metapkg_rdepends = [] + packages = bb.data.getVar('PACKAGES', d, 1).split() + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.count('locale') and not pkg.count('-static'): + metapkg_rdepends.append(pkg) + bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d) + bb.data.setVar('DESCRIPTION_' + metapkg, pn + ' meta package', d) +} + +ALLOW_EMPTY = "1" + +PACKAGES += "${PN}-apps ${PN}-meta" +FILES_${PN}-apps = "${bindir}" + +FILES_${PN} = "${datadir}/gstreamer-${LIBV}" +FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" + + diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb index 76e00a5..2a79c2a 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-ugly_0.10.17.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ file://gst/mpegstream/gstmpegparse.h;beginline=1;endline=18;md5=ff65467b0c53cdfa98d0684c1bc240a9" DEPENDS += "gst-plugins-base libid3tag libmad mpeg2dec liba52 lame" -PR = "r0" +PR = "r1" inherit gettext diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins.inc b/meta/recipes-multimedia/gstreamer/gst-plugins.inc index 617aab8..c1d7cd8 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins.inc +++ b/meta/recipes-multimedia/gstreamer/gst-plugins.inc @@ -15,13 +15,6 @@ EXTRA_OECONF = "--disable-valgrind --disable-debug --disable-examples " acpaths = "-I ${S}/common/m4 -I ${S}/m4" -LIBV = "0.10" -#FILES_${PN} += "${libdir}/gstreamer-${LIBV}/*.so" -#FILES_${PN}-dev += "${libdir}/gstreamer-${LIBV}/*.la ${libdir}/gstreamer-${LIBV}/*.a" -FILES_${PN}-dbg += "${libdir}/gstreamer-${LIBV}/.debug" - -PACKAGES_DYNAMIC = "${PN}-*" - # orc.m4 calls pkg-config ----variable=orcc orc-0.4 to get the path to orcc, # resulting in /usr/bin/orcc. Force it to use the staged orcc. do_configure_append() { @@ -30,14 +23,7 @@ do_configure_append() { done } -python populate_packages_prepend () { - gst_libdir = bb.data.expand('${libdir}/gstreamer-${LIBV}', d) - postinst = bb.data.getVar('plugin_postinst', d, 1) +require gst-plugins-package.inc -# Can't package separate debug packages yet -# do_split_packages(d, gst_libdir, '\.debug/libgst(.*)\.so$', bb.data.expand('${PN}-%s-dbg', d), 'GStreamer plugin for %s (with debugging symbols)', recursive=True, extra_depends=bb.data.expand('${PN}-dbg', d), match_path=True) - do_split_packages(d, gst_libdir, 'libgst(.*)\.so$', bb.data.expand('${PN}-%s', d), 'GStreamer plugin for %s', postinst=postinst, extra_depends=bb.data.expand('${PN}',d)) - do_split_packages(d, gst_libdir, 'libgst(.*)\.l?a$', bb.data.expand('${PN}-%s-dev', d), 'GStreamer plugin for %s (development files)', extra_depends=bb.data.expand('${PN}-dev',d)) -} +PACKAGES_DYNAMIC = "${PN}-*" -ALLOW_EMPTY = "1"
Gst-plugins get 2 extra packages: ${PN}-apps: helper apps in ${bindir} ${PN}-meta: meta package that will drag in all plugins, libs and apps ${PN} generates The packaging include was split out to be reused by external plugins (e.g. gst-plugin-gl, gst-fluendo-*). Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> --- .../gstreamer/gst-plugins-bad_0.10.21.bb | 2 +- .../gstreamer/gst-plugins-base_0.10.32.bb | 2 +- .../gstreamer/gst-plugins-good_0.10.28.bb | 2 +- .../gstreamer/gst-plugins-package.inc | 34 ++++++++++++++++++++ .../gstreamer/gst-plugins-ugly_0.10.17.bb | 2 +- meta/recipes-multimedia/gstreamer/gst-plugins.inc | 18 +--------- 6 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-package.inc