For some time I've been working under the assumption that executable documentation is a bad idea. rpmlint complains when documentation generates dependencies, and these dependencies are often needless bloat.
Lately I'm getting pushback when asking for a quick chmod -x of docs. The usual argument is "It's an example, it's supposed to be executable." Currently I don't see anything in the guidelines that would forbid this as long as it doesn't cause extra dependencies.
So, is there concensus that allowing documentation to be executable is OK? Or is it something that should be prohibited.
- J<
On Saturday 24 February 2007, Jason L Tibbitts III wrote:
For some time I've been working under the assumption that executable documentation is a bad idea. rpmlint complains when documentation generates dependencies, and these dependencies are often needless bloat.
Lately I'm getting pushback when asking for a quick chmod -x of docs. The usual argument is "It's an example, it's supposed to be executable." Currently I don't see anything in the guidelines that would forbid this as long as it doesn't cause extra dependencies.
So, is there concensus that allowing documentation to be executable is OK? Or is it something that should be prohibited.
I don't see anything wrong with including example scripts etc as executable if they're useful and can be executed as is and don't result in additional dependencies.
Note that rpmlint does try to check if a dependency from docs is an additional one or not and suppresses output if it's not, however it doesn't do any depsolving which results in some warnings that can be argued to be false positives. Warnings about doc dependencies such as eg. /bin/sh for any package, or /usr/bin/perl for things that already require perl(...) can IMO be ignored.
But the packager needs to keep an eye on possble future package splits etc which may result in the doc dependency previously indirectly satisfied by other dependencies in the package no longer resulting in that, and to act accordingly when/if that happens.
Ville Skyttä wrote:
On Saturday 24 February 2007, Jason L Tibbitts III wrote:
For some time I've been working under the assumption that executable documentation is a bad idea. rpmlint complains when documentation generates dependencies, and these dependencies are often needless bloat.
Lately I'm getting pushback when asking for a quick chmod -x of docs. The usual argument is "It's an example, it's supposed to be executable." Currently I don't see anything in the guidelines that would forbid this as long as it doesn't cause extra dependencies.
So, is there concensus that allowing documentation to be executable is OK? Or is it something that should be prohibited.
I don't see anything wrong with including example scripts etc as executable if they're useful and can be executed as is and don't result in additional dependencies.
Note that rpmlint does try to check if a dependency from docs is an additional one or not and suppresses output if it's not, however it doesn't do any depsolving which results in some warnings that can be argued to be false positives. Warnings about doc dependencies such as eg. /bin/sh for any package, or /usr/bin/perl for things that already require perl(...) can IMO be ignored.
But the packager needs to keep an eye on possble future package splits etc which may result in the doc dependency previously indirectly satisfied by other dependencies in the package no longer resulting in that, and to act accordingly when/if that happens.
I agree entirely. So long as the packager is aware of the issues involved and keeps on top of them when updating etc.
Disclaimer: I have at least one package with executable docs, so I'm not entirely unbiased.
Paul.
Rex Dieter wrote:
Jason L Tibbitts III wrote:
> "RD" == Rex Dieter rdieter@math.unl.edu writes:
RD> imo, executable %doc's are ok, just not in %_datadir/%_docdir.
Then where should they be? %_bindir?
or under %_libdir somewhere.
What's wrong with having them under %_docdir? Typically they will be example programs referred to from other files (e.g. READMEs) in %_docdir and I think it makes sense to keep them together.
Paul.
Paul Howarth wrote:
Rex Dieter wrote:
Jason L Tibbitts III wrote:
>> "RD" == Rex Dieter rdieter@math.unl.edu writes:
RD> imo, executable %doc's are ok, just not in %_datadir/%_docdir.
Then where should they be? %_bindir?
or under %_libdir somewhere.
What's wrong with having them under %_docdir?
I was speaking in the context of binary executables, and putting them under %_datadir doesn't mesh with the intent of arch-independent data and the FHS.
-- Rex
Rex Dieter wrote:
Paul Howarth wrote:
Rex Dieter wrote:
Jason L Tibbitts III wrote:
>>> "RD" == Rex Dieter rdieter@math.unl.edu writes:
RD> imo, executable %doc's are ok, just not in %_datadir/%_docdir.
Then where should they be? %_bindir?
or under %_libdir somewhere.
What's wrong with having them under %_docdir?
I was speaking in the context of binary executables, and putting them under %_datadir doesn't mesh with the intent of arch-independent data and the FHS.
So noarch stuff like perl scripts would be OK?
Paul.
Paul Howarth wrote:
Rex Dieter wrote:
What's wrong with having them under %_docdir?
I was speaking in the context of binary executables, and putting them under %_datadir doesn't mesh with the intent of arch-independent data and the FHS.
So noarch stuff like perl scripts would be OK?
sounds ok to me.
-- Rex
packaging@lists.fedoraproject.org