Excerpts from Robert Collins's message of 2015-06-18 06:40:33 +1200: > An unintended side effect of the requirements refactoring was that we > changed from preserving the 'x' bit on setup.py, to discarding it. > This happened when we started writing the file atomically rather than > in-place - a good robustness improvement. > > Previously the requirements sync, which enforces setup.py contents had > made no statement about the file mode. Now it unintentionally is. > > We could do several things: > - preserve the file mode (stat the old, use its mode in open on the temp > file) > - force the mode to be +x > - force the mode to be -x [the current behaviour] > > After a brief IRC discussion in #openstack-olso we're proposing that > forcing the mode to be -x is appropriate. > > Our reasoning is as follows: > - './setup.py XYZ' is often a bug - unless the shebang in the > setup.py is tolerant of virtualenvs (not all are), it will do the > wrong thing in a virtual env. Similarly with PATH. > - we don't require or suggest users of our requirements syncronised > packages run setup.py at all: > - sdists and releases are made in the CI infrastructure > - installation is exclusively via pip > > So it seems like a slight safety improvement to remove the x bit - and > possibly (we haven't thought it all the way through yet) also remove > the shebang entirely, so that the contract becomes explicitly > 'setup.py is not executable'. > > Please raise concerns or objections here; if there are none I'll > likely put up a patch to remove the shebang early next week, or > whenever I get reminded of this.
+1 both to using -x and to removing the shebang. Doug __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev