Ensure prebuilt executables are executable

Use 'chmod +x' to make sure that they're executable, even if the source
file is not.

Bug: 28097475
Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79
(cherry picked from commit 08420cbc8a)
This commit is contained in:
Dan Willemsen 2016-03-01 22:04:57 -08:00
parent 839ec10bbc
commit 23f326a67d
2 changed files with 12 additions and 14 deletions

View File

@ -341,12 +341,21 @@ else # ! prebuilt_module_is_dex_javalib
ifneq ($(LOCAL_PREBUILT_STRIP_COMMENTS),)
$(built_module) : $(my_prebuilt_src_file)
$(transform-prebuilt-to-target-strip-comments)
ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
$(hide) chmod +x $@
endif
else ifneq ($(LOCAL_ACP_UNAVAILABLE),true)
$(built_module) : $(my_prebuilt_src_file) | $(ACP)
$(transform-prebuilt-to-target)
ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
$(hide) chmod +x $@
endif
else
$(built_module) : $(my_prebuilt_src_file)
$(copy-file-to-target-with-cp)
ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
$(hide) chmod +x $@
endif
endif
endif # ! prebuilt_module_is_dex_javalib
endif # LOCAL_MODULE_CLASS != APPS

View File

@ -15,26 +15,15 @@
ifneq ($(TARGET_BUILD_PDK),true)
LOCAL_PATH := $(call my-dir)
# We use copy-file-to-new-target so that the installed
# script file's timestamp is at least as new as the
# .jar file it wraps.
#TODO(dbort): add a template to do this stuff; share with jx
# the hat script
# ============================================================
include $(CLEAR_VARS)
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE := apicheck
include $(BUILD_SYSTEM)/base_rules.mk
$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/apicheck | $(ACP)
@echo "Copy: $(PRIVATE_MODULE) ($@)"
$(copy-file-to-new-target)
$(hide) chmod 755 $@
LOCAL_SRC_FILES := etc/apicheck
LOCAL_REQUIRED_MODULES := doclava
include $(BUILD_PREBUILT)
# Apicheck is now part of Doclava -- See external/doclava.
endif