mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 18:32:12 +02:00
opkg: avoid running postinst scripts twice when using systemd
OpenEmbedded has a built-in mechanism to run postinst scripts offline at build time or, if necessary, on first boot (delayed execution). If the latter is the case and systemd is in use, two services end up doing the same thing: - opkg-configure.service starts "opkg configure" directly. - run-postinsts.service starts "/usr/sbin/run-postinsts" which runs postinst scripts stored in /etc/ipk-postinsts/ or "opkg configure" if package management is installed. Since the run-postinsts.service is also used in cases where no package management is in use, it is the primary means of handling postinsts. Get rid of the opkg-configure.service to avoid duplicate opkg configure execution. (From OE-Core rev: 23dcf7ea3af84721fac126a2b2f0f100f7266368) Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
917282c41b
commit
dcef944e33
@@ -1,17 +0,0 @@
|
||||
[Unit]
|
||||
Description=Opkg first boot configure
|
||||
DefaultDependencies=no
|
||||
After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount
|
||||
Before=sysinit.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
EnvironmentFile=-@SYSCONFDIR@/default/postinst
|
||||
ExecStart=-@BASE_BINDIR@/sh -c " if [ $POSTINST_LOGGING = '1' ]; then @BINDIR@/opkg configure > $LOGFILE 2>&1; else @BINDIR@/opkg configure; fi"
|
||||
ExecStartPost=@BASE_BINDIR@/systemctl --no-reload disable opkg-configure.service
|
||||
StandardOutput=syslog
|
||||
RemainAfterExit=No
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
WantedBy=sysinit.target
|
||||
@@ -12,7 +12,6 @@ DEPENDS = "libarchive"
|
||||
PE = "1"
|
||||
|
||||
SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
|
||||
file://opkg-configure.service \
|
||||
file://opkg.conf \
|
||||
file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
|
||||
"
|
||||
@@ -22,8 +21,6 @@ SRC_URI[sha256sum] = "f607f0e61be8cf8a3bbd0d2dccd9ec9e9b6c21dd4307b671c600d6eeaf
|
||||
|
||||
inherit autotools pkgconfig systemd
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "opkg-configure.service"
|
||||
|
||||
target_localstatedir := "${localstatedir}"
|
||||
OPKGLIBDIR = "${target_localstatedir}/lib"
|
||||
|
||||
@@ -46,16 +43,6 @@ do_install_append () {
|
||||
|
||||
# We need to create the lock directory
|
||||
install -d ${D}${OPKGLIBDIR}/opkg
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
install -m 0644 ${WORKDIR}/opkg-configure.service ${D}${systemd_unitdir}/system/
|
||||
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
|
||||
-e 's,@SYSCONFDIR@,${sysconfdir},g' \
|
||||
-e 's,@BINDIR@,${bindir},g' \
|
||||
-e 's,@SYSTEMD_UNITDIR@,${systemd_unitdir},g' \
|
||||
${D}${systemd_unitdir}/system/opkg-configure.service
|
||||
fi
|
||||
}
|
||||
|
||||
RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
|
||||
@@ -68,7 +55,6 @@ RPROVIDES_${PN} = "opkg-collateral"
|
||||
PACKAGES =+ "libopkg"
|
||||
|
||||
FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
|
||||
FILES_${PN} += "${systemd_unitdir}/system/"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user