Re: Rationale behind script-not-executable lintian warning
Bas Wijnen <firstname.lastname@example.org> wrote:
> On Wed, Dec 21, 2005 at 05:45:43PM +0100, Frank K?ster wrote:
>> It's of course clear that any script in the path should be executable.
>> But if a script is in /usr/share/somewhere, and meant to be used as a
>> "library", it could be that upstream wants to allow both to source and
>> to execute it.
>> So to make lintian happy, I would have to make it executable although I
>> know it will never be executed by Debian programs. Or I would have to
>> patch the file to remove the shebang line.
> If it is meant to be executed, it should be executable. If it is not, it
> should not have the shebang line. I don't see the problem.
The problem is that it isn't meant to be executed on a Debian system,
but by upstream.
> Indeed, if upstream wants to allow both to source and to execute it, then it
> is meant to be executed and thus should be executable IMO, even if the script
> is never executed from the Debian package (but only sourced).
If I make it executable, I would get the "executable-not-in-path"
lintian warning (or however it is called exactly).
>> Therefore I'd rather keep things as they are, but there must be a reason
>> for the lintian warning. In the Policy section on permissions I
>> couldn't find anything specific.
> I haven't seen anything in policy either, but I can't see any use for having a
> shebang line without execute permissions. Can you give an example?
The rationale is not to have hunks for removing the shebang line
cluttering the Debian-specific patches, just for the sake of making
lintian silent. If there's a reason for the warning, I can judge
whether it applies in my case, and fix it or add a lintian override.
But if I don't know any rationale (except "why not?"), I can't.
Inst. f. Biochemie der Univ. Zürich