On 01.02.25 21:46, Daniel Kampert via lists.yoctoproject.org wrote:
Hi,
I´m building a layer to install wmbusmeters for Kirkstone and I run into this issue: ERROR: wmbusmeters-1.18.0-r0 do_package_qa: QA Issue: wmbusmeters installs files in /var/volatile, but it is expected to be empty [empty-dirs] What does it mean and where does it come from / how can I solve it? My recipe looks like this

What does it mean - There are a number of folders that are not expected to contain files installed by application due to various reasons. One QA check[1] ensures that
this is respected by the packages.

Where it come from - The Makefile installs some directories in the /var/volatile folder. Frequently this folder is tmpfs, but even when it is not, its content is considered ephemeral, so installing anything here is frequently a bug. It can be used as a temporary folder during runtime, but if an application needs to store anything that will be needed after a reboot, this folder
is not a good place.

How can I solve it - There are a couple of ways. A couple of non-exhaustive options: - Delete this folder in a do_install:append() function ("rm -rf ${D}${localstatedir}/log" or something along the lines), and simply try to start the application. Maybe it re-creates the folder upon startup,
and it will just work.
- Do the same as in the previous suggestion, but add "--logfile=syslog" as a starting argument in your systemd unit file. Based on the readme this should make your application to use
the syslog for its logs instead of a dedicated file.
- If none if this is working for you, delete the folder still, but look into tmpfiles.d [2] and its configuration, how to recreate this folder during boot. This service creates folders and files early during startup, it is usable exactly in such cases. You can find a couple examples of its
usage in Yocto also[3].

[1]: https://docs.yoctoproject.org/4.0.24/ref-manual/qa-checks.html
[2]: https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html
[3]: e.g. https://git.yoctoproject.org/poky/tree/meta/recipes-extended/pam/libpam_1.5.2.bb?h=kirkstone#n137
/inherit autotools-brokensep pkgconfig/
/DESCRIPTION = "The program acquires utility meter readings from wired m-bus or wireless wm-bus meters."/
/HOMEPAGE = "https://github.com/wmbusmeters/wmbusmeters"/
/LICENSE = "GPL-3.0-only"/
/LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-3.0-only;md5=c79ff39f19dfec6d293b95dea7b07891"/ /# The Makefile is stripping. Overwrite the "STRIP" variable in the Makefile and use the stripping from Yocto/
/EXTRA_OEMAKE += "STRIP=true"/
/CXXFLAGS += "-DLIBXML_DOCB_ENABLED"/
/SRC_URI = " \/
/file://0001-set-libxml2-cxxflags-by-pkg-config.patch \/
/git://github.com/wmbusmeters/wmbusmeters;protocol=https;branch=master \/
/"/
/# Use version 1.18.0/
/SRCREV = "2f2720d9d8e043304a366d11d933be9d535e17a5"/
/DEPENDS = "rtlsdr icu libxml2"/
/RDEPENDS:${PN} = "rtlsdr icu"/
/S = "${WORKDIR}/git"/
/FILES:${PN} = " etc \/
/var \/
/lib \/
/usr/bin \/
/usr/sbin \/
/${systemd_system_unitdir}/system/wmbusmeters.service \/
/"/
/SYSTEMD_SERVICE:${PN} = "wmbusmeters.service"/
/SYSTEMD_AUTO_ENABLE:${PN} = "enable"/
Thanks for help!
Mit freundlichen Grüßen / With kind regards
Ing. Daniel Kampert, M. Sc.
Embedded Systems Solutions
Address: Hauptstr. 36 | 91469 Hagenbüchach | Deutschland
Phone: +49 (0)174 6932561
E-Mail: kont...@daniel-kampert.de
Web: www.daniel-kampert.de <https://www.daniel-kampert.de>



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#64695): https://lists.yoctoproject.org/g/yocto/message/64695
Mute This Topic: https://lists.yoctoproject.org/mt/110941591/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to