12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #
- # This class is used by recipes installing mime types
- #
- DEPENDS += "${@bb.utils.contains('BPN', 'shared-mime-info', '', 'shared-mime-info', d)}"
- PACKAGE_WRITE_DEPS += "shared-mime-info-native"
- MIMEDIR = "${datadir}/mime"
- mime_postinst() {
- if [ "x$D" != "x" ]; then
- $INTERCEPT_DIR/postinst_intercept update_mime_database ${PKG} \
- mlprefix=${MLPREFIX} \
- mimedir=${MIMEDIR}
- else
- echo "Updating MIME database... this may take a while."
- update-mime-database $D${MIMEDIR}
- fi
- }
- mime_postrm() {
- if [ "x$D" != "x" ]; then
- $INTERCEPT_DIR/postinst_intercept update_mime_database ${PKG} \
- mlprefix=${MLPREFIX} \
- mimedir=${MIMEDIR}
- else
- echo "Updating MIME database... this may take a while."
- # $D${MIMEDIR}/packages belong to package shared-mime-info-data,
- # packages like libfm-mime depend on shared-mime-info-data.
- # after shared-mime-info-data uninstalled, $D${MIMEDIR}/packages
- # is removed, but update-mime-database need this dir to update
- # database, workaround to create one and remove it later
- if [ ! -d $D${MIMEDIR}/packages ]; then
- mkdir -p $D${MIMEDIR}/packages
- update-mime-database $D${MIMEDIR}
- rmdir --ignore-fail-on-non-empty $D${MIMEDIR}/packages
- else
- update-mime-database $D${MIMEDIR}
- fi
- fi
- }
- python populate_packages_append () {
- packages = d.getVar('PACKAGES').split()
- pkgdest = d.getVar('PKGDEST')
- mimedir = d.getVar('MIMEDIR')
- for pkg in packages:
- mime_packages_dir = '%s/%s%s/packages' % (pkgdest, pkg, mimedir)
- mimes_types_found = False
- if os.path.exists(mime_packages_dir):
- for f in os.listdir(mime_packages_dir):
- if f.endswith('.xml'):
- mimes_types_found = True
- break
- if mimes_types_found:
- bb.note("adding mime postinst and postrm scripts to %s" % pkg)
- postinst = d.getVar('pkg_postinst_%s' % pkg)
- if not postinst:
- postinst = '#!/bin/sh\n'
- postinst += d.getVar('mime_postinst')
- d.setVar('pkg_postinst_%s' % pkg, postinst)
- postrm = d.getVar('pkg_postrm_%s' % pkg)
- if not postrm:
- postrm = '#!/bin/sh\n'
- postrm += d.getVar('mime_postrm')
- d.setVar('pkg_postrm_%s' % pkg, postrm)
- if pkg != 'shared-mime-info-data':
- bb.note("adding shared-mime-info-data dependency to %s" % pkg)
- d.appendVar('RDEPENDS_' + pkg, " " + d.getVar('MLPREFIX')+"shared-mime-info-data")
- }
|