Hi Paul, On Friday 16 August 2013 16:22:00 Paul D. DeRocco wrote: > In meta-oe/recipes-graphics/xinput-calibrator (Danny branch, currently > used by Gumstix), there's a recipe called xinput-calibrator-git.bb, which > installs a script for running a touchscreen calibration app if not already > calibrated. > > In > meta-openembedded/meta-systemd/meta-oe/recipes-graphics/xinput-calibrator, > there's a bbappend for this recipe, which declares a local file called > xinput-calibrator.service, which is supposed to run the above script on > startup. It inherits the systemd bbclass, which I assume knows how to > install this service file automagically, since there's no explicit > do_install copying the file anywhere.
The systemd.bbclass we now have in OE-Core (as of dylan) does not handle this automatically. The old one in meta-systemd does appear to though. > The trouble is, on my Gumstix, the service fails because it needs a > DISPLAY environment variable to tell it what display to calibrate. I > figured the simplest thing to do would be to add an Environment=DISPLAY=:0 > line to the service unit file. FWIW, when xinput-calibrator was moved over to OE-Core it was determined that this shouldn't even be started as a service by systemd, but instead launched using Xsession.d. You may have better results if you bring in the recipe from OE-Core master and use that instead. > My shameless hack was to add a ROOTFS_POSTPROCESS_COMMAND that runs sed on > the final copy of this service file in the rootfs, to insert the > Environment= line, and that works. But I'd rather just provide my own > version of the file, and use another .bbappend to prepend its file > location to FILESEXTRAPATHS, overriding the one in the systemd .bbappend > file. > > So I tried that, just putting the following two lines into my own > .bbappend: > > FILESEXTRAPATHS_prepend := "${THISDIR}/files:" > PRINC := "${@int(PRINC) + 1}" > > and of course putting the tweaked service file into my files subdirectory. > On starting the build, it almost immediately spat this out: > > NOTE: > ['/home/pauld/yocto/meta-foo/recipes/xinput-calibrator_git.bbappend', > '/home/pauld/yocto/poky/meta-openembedded/meta-systemd/meta-oe/recipes-gra > phics/xinput-calibrator/xinput-calibrator_git.bbappend'] to > ['/home/pauld/yocto/poky/meta-openembedded/meta-systemd/meta-oe/recipes-gr > aphics/xinput-calibrator/xinput-calibrator_git.bbappend'] > > (That was all on one line, of course.) BitBake will report new appends this way so this is expected. It is ugly though. > The do_rootfs failed, and its log says that xinput-calibrator is an > unknown package, and that it can't satisfy the dependency from > packagegroup-core-x11-base. I don't know why this would happen. It's unlikely to be related to changes you've made that are discussed here. Does the package appear under tmp/deploy/(ipk|rpm|deb)/ ? > I read somewhere that stacked bbappends are handled in the order of layer > priority. Mine is 5, the meta-systemd layer is 7. I don't know which is > "higher", or if one wants a higher or lower priority in order to be the > last one to prepend to the path. They will be applied in ascending order, so anything in the bbappend from a layer with a higher layer priority number takes precedence. FYI you can see the appends in effect in your configuration using: bitbake-layers show-appends Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto