mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
update-rc.d.bbclass: Cleanup package scripts
* Add proper preinst script * Use -n "$D"/-z "$D" checks throughout the scripts * Only set OPT in cases where its used * Don't pass unnecessary -f to update-rc.d in postrm script * Remove outdated comment (From OE-Core rev: 2d9114aaf130179cb13c20c8b045c2694eca6fd9) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
452b23a3bb
commit
717c1ed719
@@ -12,13 +12,11 @@ INITSCRIPT_PARAMS ?= "defaults"
|
||||
|
||||
INIT_D_DIR = "${sysconfdir}/init.d"
|
||||
|
||||
updatercd_postinst() {
|
||||
# test if there is a previous init script there, ie, we are updating the package
|
||||
# if so, we stop the service and remove it before we install from the new package
|
||||
updatercd_preinst() {
|
||||
if [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
|
||||
${INIT_D_DIR}/${INITSCRIPT_NAME} stop
|
||||
fi
|
||||
if type update-rc.d >/dev/null 2>/dev/null; then
|
||||
if [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
|
||||
${INIT_D_DIR}/${INITSCRIPT_NAME} stop
|
||||
fi
|
||||
if [ -n "$D" ]; then
|
||||
OPT="-f -r $D"
|
||||
else
|
||||
@@ -26,30 +24,32 @@ if type update-rc.d >/dev/null 2>/dev/null; then
|
||||
fi
|
||||
update-rc.d $OPT ${INITSCRIPT_NAME} remove
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -n "$D" ]; then
|
||||
OPT="-r $D"
|
||||
else
|
||||
OPT="-s"
|
||||
fi
|
||||
updatercd_postinst() {
|
||||
if type update-rc.d >/dev/null 2>/dev/null; then
|
||||
if [ -n "$D" ]; then
|
||||
OPT="-r $D"
|
||||
else
|
||||
OPT="-s"
|
||||
fi
|
||||
update-rc.d $OPT ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS}
|
||||
fi
|
||||
}
|
||||
|
||||
updatercd_prerm() {
|
||||
if test "x$D" = "x"; then
|
||||
if [ -z "$D" ]; then
|
||||
${INIT_D_DIR}/${INITSCRIPT_NAME} stop
|
||||
fi
|
||||
}
|
||||
|
||||
updatercd_postrm() {
|
||||
if test "$D" != ""; then
|
||||
OPT="-f -r $D"
|
||||
else
|
||||
OPT=""
|
||||
fi
|
||||
if type update-rc.d >/dev/null 2>/dev/null; then
|
||||
if [ -n "$D" ]; then
|
||||
OPT="-r $D"
|
||||
else
|
||||
OPT=""
|
||||
fi
|
||||
update-rc.d $OPT ${INITSCRIPT_NAME} remove
|
||||
fi
|
||||
}
|
||||
@@ -68,22 +68,23 @@ python __anonymous() {
|
||||
|
||||
PACKAGESPLITFUNCS_prepend = "populate_packages_updatercd "
|
||||
|
||||
populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_postinst"
|
||||
populate_packages_updatercd[vardeps] += "updatercd_prerm updatercd_postrm updatercd_preinst updatercd_postinst"
|
||||
|
||||
python populate_packages_updatercd () {
|
||||
def update_rcd_package(pkg):
|
||||
bb.debug(1, 'adding update-rc.d calls to postinst/postrm for %s' % pkg)
|
||||
"""
|
||||
update_rc.d postinst is appended here because pkg_postinst may require to
|
||||
execute on the target. Not doing so may cause update_rc.d postinst invoked
|
||||
twice to cause unwanted warnings.
|
||||
"""
|
||||
bb.debug(1, 'adding update-rc.d calls to preinst/postinst/prerm/postrm for %s' % pkg)
|
||||
|
||||
localdata = bb.data.createCopy(d)
|
||||
overrides = localdata.getVar("OVERRIDES", True)
|
||||
localdata.setVar("OVERRIDES", "%s:%s" % (pkg, overrides))
|
||||
bb.data.update_data(localdata)
|
||||
|
||||
preinst = d.getVar('pkg_preinst_%s' % pkg, True)
|
||||
if not preinst:
|
||||
preinst = '#!/bin/sh\n'
|
||||
preinst += localdata.getVar('updatercd_preinst', True)
|
||||
d.setVar('pkg_preinst_%s' % pkg, preinst)
|
||||
|
||||
postinst = d.getVar('pkg_postinst_%s' % pkg, True)
|
||||
if not postinst:
|
||||
postinst = '#!/bin/sh\n'
|
||||
|
||||
Reference in New Issue
Block a user