diff options
author | David Tardon <dtardon@redhat.com> | 2013-05-03 16:53:09 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-05-06 17:04:07 +0200 |
commit | 38b1b1aa4bf86653dd8363e85eb7e63d19d5b123 (patch) | |
tree | 92246dac8b72294edaa191c1aeb7549f328e696f /solenv | |
parent | 9cb21a33421b8531dd25f76cc757f0d7f0fcc5ee (diff) |
gbuild: add gb_UnpackedTarball_set_pre_action
This function is for running arbitrary command just after unpacking. It
turns out that gb_UnpackedTarball_set_post_action is not enough :-(
Change-Id: Ibad9d7fbcdd2b95a16cc838ad8773eef5c6da019
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/UnpackedTarball.mk | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/solenv/gbuild/UnpackedTarball.mk b/solenv/gbuild/UnpackedTarball.mk index 2342dc9e9ee2..a62b42aaba48 100644 --- a/solenv/gbuild/UnpackedTarball.mk +++ b/solenv/gbuild/UnpackedTarball.mk @@ -131,6 +131,9 @@ $(call gb_Output_announce,$(2),$(true),PAT,2) $(call gb_Helper_abbreviate_dirs,\ ( \ cd $(3) && \ + $(if $(UNPACKED_PRE_ACTION),\ + $(UNPACKED_PRE_ACTION) && \ + ) \ $(if $(UNPACKED_FILES),\ mkdir -p $(sort $(dir $(UNPACKED_DESTFILES))) && \ $(call gb_UnpackedTarball__copy_files,$(UNPACKED_FILES),$(UNPACKED_DESTFILES)) && \ @@ -193,6 +196,7 @@ $(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_FIX_EOL := $(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_PATCHES := $(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_PATCHLEVEL := $(gb_UnpackedTarball_PATCHLEVEL_DEFAULT) $(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_POST_ACTION := +$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_PRE_ACTION := $(call gb_UnpackedTarball_get_preparation_target,$(1)) : $(gb_Module_CURRENTMAKEFILE) $(call gb_UnpackedTarball_get_preparation_target,$(1)) :| $(dir $(call gb_UnpackedTarball_get_target,$(1))).dir @@ -288,6 +292,19 @@ endef # Set arbitrary shell command to be run during unpack # +# The command is run at the very beginning, in freshly unpacked tarball. +# The command is run in the unpacked directory. If more than one command +# is used, care should be taken that the whole command fails if either +# of the sub-commands fails. +# +# gb_UnpackedTarball_set_pre_action unpacked shell-command +define gb_UnpackedTarball_set_pre_action +$(call gb_UnpackedTarball_get_target,$(1)) : UNPACKED_PRE_ACTION := $(strip $(2)) + +endef + +# Set arbitrary shell command to be run during unpack +# # The command is run at the very end: after patching, C++ extension # mangling and copying additional files in. The command is run in the # unpacked directory. If more than one command is used, care should be |