systemd.eclass: Allow systemd_update_catalog only during pkg_post*
authorMichał Górny <mgorny@gentoo.org>
Fri, 27 Nov 2015 14:44:48 +0000 (15:44 +0100)
committerMichał Górny <mgorny@gentoo.org>
Tue, 1 Dec 2015 22:07:17 +0000 (23:07 +0100)
eclass/systemd.eclass

index c0c21a1426f60e1869f661d8c7a79b240912e840..ae933aad8cd336e74b38a37f144399835610a393 100644 (file)
@@ -353,7 +353,7 @@ systemd_with_utildir() {
 # @FUNCTION: systemd_update_catalog
 # @DESCRIPTION:
 # Update the journald catalog. This needs to be called after installing
-# or removing catalog files.
+# or removing catalog files. This must be called in pkg_post* phases.
 #
 # If systemd is not installed, no operation will be done. The catalog
 # will be (re)built once systemd is installed.
@@ -362,6 +362,9 @@ systemd_with_utildir() {
 systemd_update_catalog() {
        debug-print-function ${FUNCNAME} "${@}"
 
+       [[ ${EBUILD_PHASE} == post* ]] \
+               || die "${FUNCNAME} disallowed during ${EBUILD_PHASE_FUNC:-${EBUILD_PHASE}}"
+
        # Make sure to work on the correct system.
 
        local journalctl=${EPREFIX}/usr/bin/journalctl