]> granicus.if.org Git - python/commitdiff
Unmark files as executable that can't actually be executed. (GH-15353)
authorGreg Price <gnprice@gmail.com>
Wed, 21 Aug 2019 04:53:59 +0000 (21:53 -0700)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 21 Aug 2019 04:53:59 +0000 (21:53 -0700)
There are plenty of legitimate scripts in the tree that begin with a
`#!`, but also a few that seem to be marked executable by mistake.

Found them with this command -- it gets executable files known to Git,
filters to the ones that don't start with a `#!`, and then unmarks
them as executable:

    $ git ls-files --stage \
      | perl -lane 'print $F[3] if (!/^100644/)' \
      | while read f; do
          head -c2 "$f" | grep -qxF '#!' \
          || chmod a-x "$f"; \
        done

Looking at the list by hand confirms that we didn't sweep up any
files that should have the executable bit after all.  In particular

 * The `.psd` files are images from Photoshop.

 * The `.bat` files sure look like things that can be run.
   But we have lots of other `.bat` files, and they don't have
   this bit set, so it must not be needed for them.

Automerge-Triggered-By: @benjaminp
16 files changed:
.azure-pipelines/posix-deps-apt.sh
Doc/c-api/buffer.rst [changed mode: 0755->0644]
Include/cpython/abstract.h [changed mode: 0755->0644]
Lib/idlelib/idle.bat [changed mode: 0755->0644]
Lib/test/test_buffer.py [changed mode: 0755->0644]
Lib/test/test_dataclasses.py [changed mode: 0755->0644]
Lib/test/test_importlib/test_abc.py [changed mode: 0755->0644]
Lib/turtledemo/two_canvases.py [changed mode: 0755->0644]
Mac/Resources/iconsrc/PythonCompiled.psd [changed mode: 0755->0644]
Mac/Resources/iconsrc/PythonIcon.psd [changed mode: 0755->0644]
Mac/Resources/iconsrc/PythonSource.psd [changed mode: 0755->0644]
Misc/NEWS.d/next/Documentation/2019-04-02-19-23-00.bpo-36487.Jg6-MG.rst [changed mode: 0755->0644]
Modules/_decimal/tests/runall.bat [changed mode: 0755->0644]
Modules/_testcapimodule.c [changed mode: 0755->0644]
Modules/socketmodule.c [changed mode: 0755->0644]
Modules/socketmodule.h [changed mode: 0755->0644]

index 4f489903ab569b6464a68c6031bbc52e8138a75d..e0f4ca5d8d8e88602a543225193da0624cd26b76 100755 (executable)
@@ -1,3 +1,4 @@
+#!/bin/sh
 apt-get update
 
 apt-get -yq install \
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)