aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCallaghan, Dan <dan.callaghan@opengear.com>2019-09-16 10:28:11 +1000
committerKhem Raj <raj.khem@gmail.com>2019-09-16 18:24:48 -0700
commitdf10367ebd0a2432acb9ba4114c68dc0459d8fd8 (patch)
tree363e34f379ff9505b8afae92cb12ea317de245cf
parent9b2a48016aa9f204e739c205902d28e486f83585 (diff)
downloadmeta-openembedded-contrib-df10367ebd0a2432acb9ba4114c68dc0459d8fd8.tar.gz
lmsensors: add a PACKAGECONFIG for sensord
We don't install the lmsensors-sensord subpackage in our images, but our build process still has to build the subpackage and all its dependencies, including rrdtool. Adding a PACKAGECONFIG for sensord lets us entirely avoid building rrdtool and its dependency chain, which reduces our image build process by 141 tasks. Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb23
-rw-r--r--meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb41
2 files changed, 44 insertions, 20 deletions
diff --git a/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb b/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
index b0091d6574..b55bd51619 100644
--- a/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
+++ b/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
@@ -14,6 +14,9 @@ SRC_URI = "file://fancontrol \
"
S = "${WORKDIR}"
+PACKAGECONFIG ??= "sensord"
+PACKAGECONFIG[sensord] = ",,"
+
RDEPENDS_${PN}-dev = ""
do_install() {
@@ -25,27 +28,29 @@ do_install() {
install -d ${D}${sysconfdir}/sensors.d
install -m 0644 ${WORKDIR}/sensors.conf ${D}${sysconfdir}/sensors.d
- # Install sensord configuration file
- install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ # Install sensord configuration file
+ install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir}
- # Install sensord.cgi script and create world-writable
- # web-accessible sensord directory
- install -d ${D}/www/pages/cgi-bin
- install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin
- install -d -m a=rwxs ${D}/www/pages/sensord
+ # Install sensord.cgi script and create world-writable
+ # web-accessible sensord directory
+ install -d ${D}/www/pages/cgi-bin
+ install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin
+ install -d -m a=rwxs ${D}/www/pages/sensord
+ fi
}
# libsensors configuration
PACKAGES =+ "${PN}-libsensors"
# sensord logging daemon configuration
-PACKAGES =+ "${PN}-sensord"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)}"
# fancontrol script configuration
PACKAGES =+ "${PN}-fancontrol"
# sensord web cgi support
-PACKAGES =+ "${PN}-cgi"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-cgi', '', d)}"
RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi"
RDEPENDS_${PN}-cgi = "${PN}-sensord rrdtool"
FILES_${PN}-cgi = "/www/*"
diff --git a/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb b/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
index 585dc94810..ffafd17f82 100644
--- a/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
+++ b/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
@@ -23,14 +23,26 @@ inherit update-rc.d systemd
RDEPENDS_${PN}-dev = ""
-INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord"
+PACKAGECONFIG ??= "sensord"
+PACKAGECONFIG[sensord] = "sensord,,rrdtool"
+
+INITSCRIPT_PACKAGES = "\
+ ${PN}-fancontrol \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ "
INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol"
INITSCRIPT_NAME_${PN}-sensord = "sensord"
INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
-SYSTEMD_PACKAGES = "${PN}-sensord"
-SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service"
+SYSTEMD_PACKAGES = "\
+ ${PN} \
+ ${PN}-fancontrol \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ "
+SYSTEMD_SERVICE_${PN} = "lm_sensors.service"
+SYSTEMD_SERVICE_${PN}-fancontrol = "fancontrol.service"
+SYSTEMD_SERVICE_${PN}-sensord = "sensord.service"
SYSTEMD_AUTO_ENABLE = "disable"
S = "${WORKDIR}/git"
@@ -46,13 +58,15 @@ do_compile() {
sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile
sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \
${S}/lib/Module.mk
- oe_runmake user PROG_EXTRA="sensors sensord"
+ oe_runmake user PROG_EXTRA="sensors ${PACKAGECONFIG_CONFARGS}"
}
do_install() {
oe_runmake user_install DESTDIR=${D}
- install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
- install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
+ install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
+ fi
# Install directory
install -d ${D}${INIT_D_DIR}
@@ -60,12 +74,17 @@ do_install() {
# Install fancontrol init script
install -m 0755 ${WORKDIR}/fancontrol.init ${D}${INIT_D_DIR}/fancontrol
- # Install sensord init script
- install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ # Install sensord init script
+ install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord
+ fi
# Insall sensord service script
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/prog/init/*.service ${D}${systemd_system_unitdir}
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ rm ${D}${systemd_system_unitdir}/sensord.service
+ fi
}
RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
@@ -89,7 +108,7 @@ PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${
PACKAGES =+ "${PN}-sensors ${PN}-sensors-doc"
# sensord logging daemon
-PACKAGES =+ "${PN}-sensord ${PN}-sensord-doc"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord ${PN}-sensord-doc', '', d)}"
# fancontrol script
PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc"