2013-05-31 19:15:56 +00:00
PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
PACKAGESPLITFUNCS_append = " set_metapkg_rdepends "
2011-07-28 09:44:57 +00:00
2013-05-31 19:15:56 +00:00
python split_gstreamer10_packages () {
2012-07-11 17:33:43 +00:00
gst_libdir = d . expand ( '${libdir}/gstreamer-${LIBV}' )
postinst = d . getVar ( 'plugin_postinst' , True )
glibdir = d . getVar ( 'libdir' , True )
2011-07-28 09:44:57 +00:00
2012-07-11 17:33:43 +00:00
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$' , d . expand ( '${PN}-%s' ), 'GStreamer plugin for %s' , postinst = postinst , extra_depends = d . expand ( '${PN}' ))
do_split_packages ( d , gst_libdir , 'libgst(.*)\.la$' , d . expand ( '${PN}-%s-dev' ), 'GStreamer plugin for %s (development files)' , extra_depends = d . expand ( '${PN}-dev' ))
do_split_packages ( d , gst_libdir , 'libgst(.*)\.a$' , d . expand ( '${PN}-%s-staticdev' ), 'GStreamer plugin for %s (static development files)' , extra_depends = d . expand ( '${PN}-staticdev' ))
2013-05-31 19:15:56 +00:00
}
python set_metapkg_rdepends () {
import os
2012-07-11 17:33:43 +00:00
pn = d . getVar ( 'PN' , True )
metapkg = pn + '-meta'
d . setVar ( 'ALLOW_EMPTY_' + metapkg , " 1 " )
d . setVar ( 'FILES_' + metapkg , " " )
2013-05-31 19:15:56 +00:00
blacklist = [ pn , pn + '-locale' , pn + '-dev' , pn + '-dbg' , pn + '-doc' , pn + '-meta' ]
2012-07-11 17:33:43 +00:00
metapkg_rdepends = []
packages = d . getVar ( 'PACKAGES' , True ) . split ()
2013-05-31 19:15:56 +00:00
pkgdest = d . getVar ( 'PKGDEST' , True )
2012-07-11 17:33:43 +00:00
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 ( '-staticdev' ) :
2013-05-31 19:15:56 +00:00
# See if the package is empty by looking at the contents of its PKGDEST subdirectory.
# If this subdirectory is empty, then the package is.
# Empty packages do not get added to the meta package's RDEPENDS
pkgdir = os . path . join ( pkgdest , pkg )
if os . path . exists ( pkgdir ) :
dir_contents = os . listdir ( pkgdir ) or []
else :
dir_contents = []
is_empty = len ( dir_contents ) == 0
if not is_empty :
metapkg_rdepends . append ( pkg )
2012-07-11 17:33:43 +00:00
d . setVar ( 'RDEPENDS_' + metapkg , ' ' . join ( metapkg_rdepends ))
d . setVar ( 'DESCRIPTION_' + metapkg , pn + ' meta package' )
2011-07-28 09:44:57 +00:00
}
2013-03-06 21:52:33 +00:00
# metapkg has runtime dependency on PN
2013-05-31 19:15:56 +00:00
# each plugin depends on PN, plugin-dev on PN-dev, plugin-staticdev on PN-staticdev
2013-03-06 21:52:33 +00:00
# so we need them even when empty (like in gst-plugins-good case)
ALLOW_EMPTY_ $ { PN } = " 1 "
ALLOW_EMPTY_ $ { PN } - dev = " 1 "
ALLOW_EMPTY_ $ { PN } - staticdev = " 1 "
2012-01-20 07:10:57 +00:00
PACKAGES += " ${ PN } -apps ${ PN } -meta ${ PN } -glib "
2011-07-28 09:44:57 +00:00
FILES_ $ { PN } - apps = " ${ bindir } "
FILES_ $ { PN } = " ${ datadir}/gstreamer-${LIBV } "
FILES_ $ { PN } - dbg += " ${ libdir}/gstreamer-${LIBV } /.debug "
2012-01-20 07:10:57 +00:00
FILES_ $ { PN } - glib = " ${ datadir } /glib-2.0 "
2011-07-28 09:44:57 +00:00