From: Greg Price Date: Wed, 21 Aug 2019 04:53:59 +0000 (-0700) Subject: Unmark files as executable that can't actually be executed. (GH-15353) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9ece4a5057d52c42a8a064a6c0c7f923267fb3db;p=python Unmark files as executable that can't actually be executed. (GH-15353) 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 --- diff --git a/.azure-pipelines/posix-deps-apt.sh b/.azure-pipelines/posix-deps-apt.sh index 4f489903ab..e0f4ca5d8d 100755 --- a/.azure-pipelines/posix-deps-apt.sh +++ b/.azure-pipelines/posix-deps-apt.sh @@ -1,3 +1,4 @@ +#!/bin/sh apt-get update apt-get -yq install \ diff --git a/Doc/c-api/buffer.rst b/Doc/c-api/buffer.rst old mode 100755 new mode 100644 diff --git a/Include/cpython/abstract.h b/Include/cpython/abstract.h old mode 100755 new mode 100644 diff --git a/Lib/idlelib/idle.bat b/Lib/idlelib/idle.bat old mode 100755 new mode 100644 diff --git a/Lib/test/test_buffer.py b/Lib/test/test_buffer.py old mode 100755 new mode 100644 diff --git a/Lib/test/test_dataclasses.py b/Lib/test/test_dataclasses.py old mode 100755 new mode 100644 diff --git a/Lib/test/test_importlib/test_abc.py b/Lib/test/test_importlib/test_abc.py old mode 100755 new mode 100644 diff --git a/Lib/turtledemo/two_canvases.py b/Lib/turtledemo/two_canvases.py old mode 100755 new mode 100644 diff --git a/Mac/Resources/iconsrc/PythonCompiled.psd b/Mac/Resources/iconsrc/PythonCompiled.psd old mode 100755 new mode 100644 diff --git a/Mac/Resources/iconsrc/PythonIcon.psd b/Mac/Resources/iconsrc/PythonIcon.psd old mode 100755 new mode 100644 diff --git a/Mac/Resources/iconsrc/PythonSource.psd b/Mac/Resources/iconsrc/PythonSource.psd old mode 100755 new mode 100644 diff --git a/Misc/NEWS.d/next/Documentation/2019-04-02-19-23-00.bpo-36487.Jg6-MG.rst b/Misc/NEWS.d/next/Documentation/2019-04-02-19-23-00.bpo-36487.Jg6-MG.rst old mode 100755 new mode 100644 diff --git a/Modules/_decimal/tests/runall.bat b/Modules/_decimal/tests/runall.bat old mode 100755 new mode 100644 diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c old mode 100755 new mode 100644 diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c old mode 100755 new mode 100644 diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h old mode 100755 new mode 100644