|
@@ -678,6 +678,44 @@ define SYSTEMD_INSTALL_INIT_SYSTEMD
|
|
|
$(SYSTEMD_INSTALL_NETWORK_CONFS)
|
|
|
endef
|
|
|
|
|
|
+ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
|
|
|
+# Go through all files with scheme <basename>.<langext>.catalog
|
|
|
+# and remove those where <langext> is not in LOCALE_NOPURGE
|
|
|
+define SYSTEMD_LOCALE_PURGE_CATALOGS
|
|
|
+ for cfile in `find $(TARGET_DIR)/usr/lib/systemd/catalog -name '*.*.catalog'`; \
|
|
|
+ do \
|
|
|
+ basename=$${cfile##*/}; \
|
|
|
+ basename=$${basename%.catalog}; \
|
|
|
+ langext=$${basename#*.}; \
|
|
|
+ [ "$$langext" = "$${basename}" ] && continue; \
|
|
|
+ expr '$(LOCALE_NOPURGE)' : ".*\b$${langext}\b" >/dev/null && continue; \
|
|
|
+ rm -f "$$cfile"; \
|
|
|
+ done
|
|
|
+endef
|
|
|
+SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_LOCALE_PURGE_CATALOGS
|
|
|
+endif
|
|
|
+
|
|
|
+ifeq ($(BR2_PACKAGE_SYSTEMD_CATALOGDB),y)
|
|
|
+define SYSTEMD_UPDATE_CATALOGS
|
|
|
+ $(HOST_DIR)/bin/journalctl --root=$(TARGET_DIR) --update-catalog
|
|
|
+ install -D $(TARGET_DIR)/var/lib/systemd/catalog/database \
|
|
|
+ $(TARGET_DIR)/usr/share/factory/var/lib/systemd/catalog/database
|
|
|
+ rm $(TARGET_DIR)/var/lib/systemd/catalog/database
|
|
|
+ ln -sf /usr/share/factory/var/lib/systemd/catalog/database \
|
|
|
+ $(TARGET_DIR)/var/lib/systemd/catalog/database
|
|
|
+ grep -q '^L /var/lib/systemd/catalog/database' $(TARGET_DIR)/usr/lib/tmpfiles.d/var.conf || \
|
|
|
+ printf "\nL /var/lib/systemd/catalog/database\n" >> $(TARGET_DIR)/usr/lib/tmpfiles.d/var.conf
|
|
|
+endef
|
|
|
+SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_UPDATE_CATALOGS
|
|
|
+endif
|
|
|
+
|
|
|
+define SYSTEMD_RM_CATALOG_UPDATE_SERVICE
|
|
|
+ rm -rf $(TARGET_DIR)/usr/lib/systemd/catalog \
|
|
|
+ $(TARGET_DIR)/usr/lib/systemd/system/systemd-journal-catalog-update.service \
|
|
|
+ $(TARGET_DIR)/usr/lib/systemd/system/*/systemd-journal-catalog-update.service
|
|
|
+endef
|
|
|
+SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_RM_CATALOG_UPDATE_SERVICE
|
|
|
+
|
|
|
define SYSTEMD_PRESET_ALL
|
|
|
$(HOST_DIR)/bin/systemctl --root=$(TARGET_DIR) preset-all
|
|
|
endef
|