Files
poky/meta/recipes-extended/sysstat/sysstat.inc
Stefano Babic ffdd54954b systat: systemd never enables the service
Even if SYSTEMD_AUTO_ENABLE is set to "enable", the service is never
activated by systemd. The cause is the postinst function in the recipe:

 pkg_postinst_${PN} () {
         if [ -n "$D" ]; then
                 exit 0
         fi
         if [ -e /etc/init.d/populate-volatile.sh ]; then
                 /etc/init.d/populate-volatile.sh update
         fi
 }

This generates with activated systemd the following postinst script:

	set -e
	        if [ -n "$D" ]; then
	                exit 0
	        fi
	        if [ -e /etc/init.d/populate-volatile.sh ]; then
	                /etc/init.d/populate-volatile.sh update
	        fi
	OPTS=""

	if [ -n "$D" ]; then
	    OPTS="--root=$D"
	fi

	if type systemctl >/dev/null 2>/dev/null; then
		if [ -z "$D" ]; then
			systemctl daemon-reload
		fi

		systemctl $OPTS enable sysstat.service

		if [ -z "$D" -a "enable" = "enable" ]; then
			systemctl --no-block restart sysstat.service
		fi
	fi

Due to the exit statement, systemctl is never called and the service is
never enabled in rootfs.
Invert the logic for the check to let run the rest of postinst script.

(From OE-Core rev: 24ccfd80edb74871d0d69ddbe83c358f04ac0844)

Signed-off-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19 12:46:43 +01:00

65 lines
2.1 KiB
PHP

SUMMARY = "System performance tools"
DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/"
LICENSE = "GPLv2+"
SECTION = "console/utils"
SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \
file://99_sysstat \
file://sysstat.service \
"
UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html"
UPSTREAM_VERSION_UNKNOWN = "1"
DEPENDS += "base-passwd"
# autotools-brokensep as this package doesn't use automake
inherit autotools-brokensep gettext systemd upstream-version-is-even
PACKAGECONFIG ??= ""
PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
PACKAGECONFIG[cron] = "--enable-install-cron --enable-copy-only,--disable-install-cron --disable-copy-only"
EXTRA_OECONF += "--disable-stripping"
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "sysstat.service"
SYSTEMD_AUTO_ENABLE = "enable"
do_configure_prepend() {
export sa_lib_dir=${libdir}/sa
}
do_install() {
autotools_do_install
# don't install /var/log/sa when populating rootfs. Do it through volatile
rm -rf ${D}/var
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}/etc/default/volatiles
install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d ${localstatedir}/log/sa - - - -" \
> ${D}${sysconfdir}/tmpfiles.d/sysstat.conf
fi
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
sed -i -e 's#@LIBDIR@#${libdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
}
pkg_postinst_${PN} () {
if [ ! -n "$D" ]; then
if [ -e /etc/init.d/populate-volatile.sh ]; then
/etc/init.d/populate-volatile.sh update
fi
fi
}
FILES_${PN} += "${libdir}/sa ${systemd_system_unitdir}"
TARGET_CC_ARCH += "${LDFLAGS}"