diff --git a/Makefile b/Makefile index f17d229e..9b8054fa 100755 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ else local-files: $(eval BOXMODEL = nevis) @test -e config.local || cp config.example config.local @touch Makefile.local - @mkdir -p local/root + @mkdir -p local/{root,scripts} -include config.local include make/environment.mk diff --git a/make/environment.mk b/make/environment.mk index a983cb2f..bf2f7a31 100644 --- a/make/environment.mk +++ b/make/environment.mk @@ -139,6 +139,7 @@ TARGETPREFIX ?= $(BASE_DIR)/root SOURCE_DIR = $(BASE_DIR)/source MAKE_DIR = $(BASE_DIR)/make STAGING_DIR = $(BASE_DIR)/staging +LOCAL_DIR = $(BASE_DIR)/local IMAGE_DIR = $(STAGING_DIR)/images UPDATE_DIR = $(STAGING_DIR)/updates STATIC_DIR = $(BASE_DIR)/static/$(BOXARCH)/$(BOXSERIES) @@ -290,3 +291,8 @@ TUXBOX_TUXWETTER = plugin-tuxwetter # various NI_LOGO_STUFF = ni-logo-stuff NI_SMARTHOMEINFO = ni-neutrino-plugin-smarthomeinfo + +# execute local scripts +define local-script + @$(LOCAL_DIR)/scripts/$(1) $(2) $(TARGETPREFIX) $(BUILD_TMP) 2>/dev/null || true +endef diff --git a/make/rootfs.mk b/make/rootfs.mk index 1072515b..fbd6ec1c 100644 --- a/make/rootfs.mk +++ b/make/rootfs.mk @@ -181,9 +181,11 @@ get-update-info-hd1: @echo " ============================================================================== " personalize: | $(TARGETPREFIX) - @YOURDIR=$(BASE_DIR)/local/root; \ - if [ -d $$YOURDIR/ ]; then \ - cp -a $$YOURDIR/* $(TARGETPREFIX)/; \ + $(call local-script,$(shell basename $@),start) + @LOCAL_ROOT=$(LOCAL_DIR)/root; \ + if [ $$(ls -A $$LOCAL_ROOT) ]; then \ + cp -a -v $$LOCAL_ROOT/* $(TARGETPREFIX)/; \ fi + $(call local-script,$(shell basename $@),stop) PHONY += $(TARGETPREFIX)/.version $(TARGETPREFIX)/var/etc/update.urls $(BOX)