123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # A bbclass to handle installed GSettings (glib) schemas, updated the compiled
- # form on package install and remove.
- #
- # The compiled schemas are platform-agnostic, so we can depend on
- # glib-2.0-native for the native tool and run the postinst script when the
- # rootfs builds to save a little time on first boot.
- # TODO use a trigger so that this runs once per package operation run
- GSETTINGS_PACKAGE ?= "${PN}"
- python __anonymous() {
- pkg = d.getVar("GSETTINGS_PACKAGE")
- if pkg:
- d.appendVar("PACKAGE_WRITE_DEPS", " glib-2.0-native")
- d.appendVar("RDEPENDS_" + pkg, " ${MLPREFIX}glib-2.0-utils")
- d.appendVar("FILES_" + pkg, " ${datadir}/glib-2.0/schemas")
- }
- gsettings_postinstrm () {
- glib-compile-schemas $D${datadir}/glib-2.0/schemas
- }
- python populate_packages_append () {
- pkg = d.getVar('GSETTINGS_PACKAGE')
- if pkg:
- bb.note("adding gsettings postinst scripts to %s" % pkg)
- postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
- if not postinst:
- postinst = '#!/bin/sh\n'
- postinst += d.getVar('gsettings_postinstrm')
- d.setVar('pkg_postinst_%s' % pkg, postinst)
- bb.note("adding gsettings postrm scripts to %s" % pkg)
- postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
- if not postrm:
- postrm = '#!/bin/sh\n'
- postrm += d.getVar('gsettings_postinstrm')
- d.setVar('pkg_postrm_%s' % pkg, postrm)
- }
|