Use -perm -100 rather than -perm /a+x when looking for executable files
authorIan Lynagh <igloo@earth.li>
Wed, 24 Sep 2008 12:41:37 +0000 (12:41 +0000)
committerIan Lynagh <igloo@earth.li>
Wed, 24 Sep 2008 12:41:37 +0000 (12:41 +0000)
/a+x doesn't work on some Solaris and OS X machines. Spotted by
Christian Maeder.

mk/bindist.mk

index 7e5f31b..c4ef66e 100644 (file)
@@ -25,7 +25,12 @@ endif
        # Executables
        -$(FIND) . -name "*.wrapper"                   -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
        -$(FIND) $(EXE_DIST_DIR)/setup-config          -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
-       -$(FIND) $(EXE_DIST_DIR) -type f -perm /a+x    -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
+       # We want the executable files, which in theory would be -perm /a+x
+       # ("any execute bit is set") but that doesn't work on some solaris
+       # and OS X machines, so we use -perm -100 instead ("the user execute
+       # bit is set"). In practice, this is extremely unlikely not to be the
+       # same set of files.
+       -$(FIND) $(EXE_DIST_DIR) -type f -perm -100    -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null
        # Docs
        # This gives us both docbook docs, and haddock docs
        $(FIND) . -name "*.haddock"                    -exec echo $(WHERE_AM_I)/{} \; >> $(BIN_DIST_LIST) 2> /dev/null