]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
rpm: Make sure we only match files in the directories in triggers
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 22 Oct 2025 20:13:36 +0000 (22:13 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 24 Oct 2025 01:29:40 +0000 (10:29 +0900)
/usr/lib/systemd/system will match /usr/lib/systemd/systemd-networkd,
which is definitely not the intention.

src/rpm/triggers.systemd.in
src/rpm/triggers.systemd.sh.in

index e257afb33b07fd6cd13b32fdd3714ee5b3bd19cf..55671f95c5f3f2af3f2772c3607e6a07a0cea13f 100644 (file)
@@ -8,17 +8,17 @@
 #
 # Minimum rpm version supported: 4.14.0
 
-%transfiletriggerin -P 900900 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerin -P 900900 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 -- This script will run after any package is initially installed or
 -- upgraded. We care about the case where a package is initially
 -- installed, because other cases are covered by the *un scriptlets,
 -- so sometimes we will reload needlessly.
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "system-reload-restart"))
 
-%transfiletriggerin -P 900899 -p <lua> -- {{USER_DATA_UNIT_DIR}} /etc/systemd/user
+%transfiletriggerin -P 900899 -p <lua> -- {{USER_DATA_UNIT_DIR}}/ /etc/systemd/user/
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "user-reload-restart"))
 
-%transfiletriggerpostun -P 1000100 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerpostun -P 1000100 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 -- On removal, we need to run daemon-reload after any units have been
 -- removed.
 -- On upgrade, we need to run daemon-reload after any new unit files
@@ -26,53 +26,53 @@ assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "user-reload-restart"))
 -- executed.
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "system-reload"))
 
-%transfiletriggerpostun -P 1000100 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerpostun -P 1000100 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 -- Execute daemon-reload in user managers.
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "user-reload"))
 
-%transfiletriggerpostun -P 10000 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerpostun -P 10000 -p <lua> -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 -- We restart remaining system services that should be restarted here.
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "system-restart"))
 
-%transfiletriggerpostun -P 9999 -p <lua> -- {{USER_DATA_UNIT_DIR}} /etc/systemd/user
+%transfiletriggerpostun -P 9999 -p <lua> -- {{USER_DATA_UNIT_DIR}}/ /etc/systemd/user/
 -- We restart remaining user services that should be restarted here.
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "user-restart"))
 
-%transfiletriggerin -P 1000700 -p <lua> -- {{SYSUSERS_DIR}}
+%transfiletriggerin -P 1000700 -p <lua> -- {{SYSUSERS_DIR}}/
 -- This script will process files installed in {{SYSUSERS_DIR}} to create
 -- specified users automatically. The priority is set such that it
 -- will run before the tmpfiles file trigger.
 assert(rpm.execute("systemd-sysusers"))
 
-%transfiletriggerin -P 1000700 udev -p <lua> -- {{UDEV_HWDB_DIR}}
+%transfiletriggerin -P 1000700 udev -p <lua> -- {{UDEV_HWDB_DIR}}/
 -- This script will automatically invoke hwdb update if files have been
 -- installed or updated in {{UDEV_HWDB_DIR}}.
 assert(rpm.execute("systemd-hwdb", "update"))
 
-%transfiletriggerin -P 1000700 -p <lua> -- {{SYSTEMD_CATALOG_DIR}}
+%transfiletriggerin -P 1000700 -p <lua> -- {{SYSTEMD_CATALOG_DIR}}/
 -- This script will automatically invoke journal catalog update if files
 -- have been installed or updated in {{SYSTEMD_CATALOG_DIR}}.
 assert(rpm.execute("journalctl", "--update-catalog"))
 
-%transfiletriggerin -P 1000700 -p <lua> -- {{BINFMT_DIR}}
+%transfiletriggerin -P 1000700 -p <lua> -- {{BINFMT_DIR}}/
 -- This script will automatically apply binfmt rules if files have been
 -- installed or updated in {{BINFMT_DIR}}.
 if posix.access("/run/systemd/system") then
     assert(rpm.execute("{{LIBEXECDIR}}/systemd-binfmt"))
 end
 
-%transfiletriggerin -P 1000600 -p <lua> -- {{TMPFILES_DIR}}
+%transfiletriggerin -P 1000600 -p <lua> -- {{TMPFILES_DIR}}/
 -- This script will process files installed in {{TMPFILES_DIR}} to create
 -- tmpfiles automatically. The priority is set such that it will run
 -- after the sysusers file trigger, but before any other triggers.
 assert(rpm.execute("systemd-tmpfiles", "--create"))
 
-%transfiletriggerin -P 1000600 udev -p <lua> -- {{UDEV_RULES_DIR}}
+%transfiletriggerin -P 1000600 udev -p <lua> -- {{UDEV_RULES_DIR}}/
 -- This script will automatically update udev with new rules if files
 -- have been installed or updated in {{UDEV_RULES_DIR}}.
 assert(rpm.execute("{{SYSTEMD_UPDATE_HELPER_PATH}}", "mark-reload-system-units", "systemd-udevd.service"))
 
-%transfiletriggerin -P 1000500 -p <lua> -- {{SYSCTL_DIR}}
+%transfiletriggerin -P 1000500 -p <lua> -- {{SYSCTL_DIR}}/
 -- This script will automatically apply sysctl rules if files have been
 -- installed or updated in {{SYSCTL_DIR}}.
 if posix.access("/run/systemd/system") then
index 8c1f4e0b1f8fe83e61718e9d97900beb106db1ea..f507047785cd91e3a051f10adfd9f7901cfe77a3 100644 (file)
@@ -9,17 +9,17 @@
 #
 # Minimum rpm version supported: 4.14.0
 
-%transfiletriggerin -P 900900 -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerin -P 900900 -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 # This script will run after any package is initially installed or
 # upgraded. We care about the case where a package is initially
 # installed, because other cases are covered by the *un scriptlets,
 # so sometimes we will reload needlessly.
 {{SYSTEMD_UPDATE_HELPER_PATH}} system-reload-restart || :
 
-%transfiletriggerin -P 900899 -- {{USER_DATA_UNIT_DIR}} /etc/systemd/user
+%transfiletriggerin -P 900899 -- {{USER_DATA_UNIT_DIR}}/ /etc/systemd/user/
 {{SYSTEMD_UPDATE_HELPER_PATH}} user-reload-restart || :
 
-%transfiletriggerpostun -P 1000100 -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerpostun -P 1000100 -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 # On removal, we need to run daemon-reload after any units have been
 # removed.
 # On upgrade, we need to run daemon-reload after any new unit files
 # executed.
 {{SYSTEMD_UPDATE_HELPER_PATH}} system-reload || :
 
-%transfiletriggerpostun -P 1000099 -- {{USER_DATA_UNIT_DIR}} /etc/systemd/user
+%transfiletriggerpostun -P 1000099 -- {{USER_DATA_UNIT_DIR}}/ /etc/systemd/user/
 # Execute daemon-reload in user managers.
 {{SYSTEMD_UPDATE_HELPER_PATH}} user-reload || :
 
-%transfiletriggerpostun -P 10000 -- {{SYSTEM_DATA_UNIT_DIR}} /etc/systemd/system
+%transfiletriggerpostun -P 10000 -- {{SYSTEM_DATA_UNIT_DIR}}/ /etc/systemd/system/
 # We restart remaining system services that should be restarted here.
 {{SYSTEMD_UPDATE_HELPER_PATH}} system-restart || :
 
-%transfiletriggerpostun -P  9999 -- {{USER_DATA_UNIT_DIR}} /etc/systemd/user
+%transfiletriggerpostun -P  9999 -- {{USER_DATA_UNIT_DIR}}/ /etc/systemd/user/
 # We restart remaining user services that should be restarted here.
 {{SYSTEMD_UPDATE_HELPER_PATH}} user-restart || :
 
-%transfiletriggerin -P 1000700 -- {{SYSUSERS_DIR}}
+%transfiletriggerin -P 1000700 -- {{SYSUSERS_DIR}}/
 # This script will process files installed in {{SYSUSERS_DIR}} to create
 # specified users automatically. The priority is set such that it
 # will run before the tmpfiles file trigger.
 systemd-sysusers || :
 
-%transfiletriggerin -P 1000700 udev -- {{UDEV_HWDB_DIR}}
+%transfiletriggerin -P 1000700 udev -- {{UDEV_HWDB_DIR}}/
 # This script will automatically invoke hwdb update if files have been
 # installed or updated in {{UDEV_HWDB_DIR}}.
 systemd-hwdb update || :
 
-%transfiletriggerin -P 1000700 -- {{SYSTEMD_CATALOG_DIR}}
+%transfiletriggerin -P 1000700 -- {{SYSTEMD_CATALOG_DIR}}/
 # This script will automatically invoke journal catalog update if files
 # have been installed or updated in {{SYSTEMD_CATALOG_DIR}}.
 journalctl --update-catalog || :
 
-%transfiletriggerin -P 1000700 -- {{BINFMT_DIR}}
+%transfiletriggerin -P 1000700 -- {{BINFMT_DIR}}/
 # This script will automatically apply binfmt rules if files have been
 # installed or updated in {{BINFMT_DIR}}.
 if test -d "/run/systemd/system"; then
@@ -64,7 +64,7 @@ if test -d "/run/systemd/system"; then
   {{LIBEXECDIR}}/systemd-binfmt || :
 fi
 
-%transfiletriggerin -P 1000600 -- {{TMPFILES_DIR}}
+%transfiletriggerin -P 1000600 -- {{TMPFILES_DIR}}/
 # This script will process files installed in {{TMPFILES_DIR}} to create
 # tmpfiles automatically. The priority is set such that it will run
 # after the sysusers file trigger, but before any other triggers.
@@ -72,12 +72,12 @@ if test -d "/run/systemd/system"; then
   systemd-tmpfiles --create || :
 fi
 
-%transfiletriggerin -P 1000600 udev -- {{UDEV_RULES_DIR}}
+%transfiletriggerin -P 1000600 udev -- {{UDEV_RULES_DIR}}/
 # This script will automatically update udev with new rules if files
 # have been installed or updated in {{UDEV_RULES_DIR}}.
 {{SYSTEMD_UPDATE_HELPER_PATH}} mark-reload-system-units systemd-udevd.service || :
 
-%transfiletriggerin -P 1000500 -- {{SYSCTL_DIR}}
+%transfiletriggerin -P 1000500 -- {{SYSCTL_DIR}}/
 # This script will automatically apply sysctl rules if files have been
 # installed or updated in {{SYSCTL_DIR}}.
 if test -d "/run/systemd/system"; then