Re: [opensuse-packaging] rpmlint and /usr/bin/env
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dirk Mueller napsal(a):
On Thursday, 31. May 2007, Stephan Kulow wrote: b) the main reason is that correct file-requires are not added to the package. e.g if your script starts with "#!/usr/bin/env python", then /usr/bin/env will be required while actually /usr/bin/python should have been required.
Debian for example goes down the long and ugly road of patching each and every script that contains /usr/bin/env - for the reason that coolo gave you.
does this mean that /usr/bin/env should not be used in place of an interpreter? from what i knew, "#!/usr/bin/env python" is the commonly accepted best way of identifying python interpreter. i even have an oneliner that replaces every sensible shebang string with this one. looks like this: find . -name '*.py' -type f -print0 | xargs -0 grep -lE '^#! ?(/usr/.*bin/)?python' | xargs sed -rie '1s@^#![[:space:]]*(/usr/(local/)?bin/)?python@#!/usr/bin/env python@' should this be replaced by /usr/bin/python or python${version}, and perhaps used in other python packages as well? regards m. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFGXqqqjBrWA+AvBr8RArX7AJ0SgUIGeRUlr9kpJL0FTQ+3x8btigCeI8cd da0vJtQ//lCn/UHgr+SyPlU= =Pw34 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am Donnerstag 31 Mai 2007 schrieb Jan Matejek:
Dirk Mueller napsal(a):
On Thursday, 31. May 2007, Stephan Kulow wrote: b) the main reason is that correct file-requires are not added to the package. e.g if your script starts with "#!/usr/bin/env python", then /usr/bin/env will be required while actually /usr/bin/python should have been required.
Debian for example goes down the long and ugly road of patching each and every script that contains /usr/bin/env - for the reason that coolo gave you.
does this mean that /usr/bin/env should not be used in place of an interpreter? from what i knew, "#!/usr/bin/env python" is the commonly accepted best way of identifying python interpreter. i even have an oneliner that replaces every sensible shebang string with this one.
looks like this: find . -name '*.py' -type f -print0 | xargs -0 grep -lE '^#! ?(/usr/.*bin/)?python' | xargs sed -rie '1s@^#![[:space:]]*(/usr/(local/)?bin/)?python@#!/usr/bin/env python@'
should this be replaced by /usr/bin/python or python${version}, and perhaps used in other python packages as well?
For sources you want to ship, /usr/bin/env is fine. But for the distribution it should be /usr/bin/python - I guess python${version} would do, but sounds like overkill to me. Greetings, Stephan -- SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (2)
-
Jan Matejek
-
Stephan Kulow