We agree that using MIME type suffices like "*.py" as a selector is 
intrinsically flawed.

Equally flawed is, say, assuming that Python is always installed on prefixed 
paths that match the pattern "/usr/lib(64)?/", or in, say, a sub directory 
"pythonX.Y" implying that /usr/bin/pythonXY should be invoked to byte compile.

The core of the problem (and the source of the above assumptions) is the rather 
poorly written bro-Python-byte compile script.

And the problem needs to be solved, not band-aided with enablers and disablers 
and distro packaging policies packaging conventions.

The traditional way to solve suffix/path based pattern rules in a script like 
bro-Python-byte compile is to invoke file(1) to apply heuristics to content to 
determine whether the contents of a "*.py" file look like Python.

Entirely equivalently, some of the "exit 1" lines in the script could be 
eliminated: an entire rpmbuild does not need to be failed to inform some Fedora 
Python packager that the country code for Paraguay happens to collide with the 
extension typically used for Python interpreter sources.

If an expert user truly needs control over some pathologically rare case where 
the automagic byte compilation needs to be disabled, the execute bit is a 
heuristic that associates a mode bit with a Boolean enabler that is consistent 
with other similar usage cases in rpm scripting, specifically #! interpreters, 
and ELF DSO libraries/modules/executables.

But adding rpm macro disablers instead of fixing the assumptions coded into 
brp-python-bytecompile makes little sense to me.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/434#issuecomment-384042734
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to