Re: Updated maint-guide contents, question on style
Jonathan Nieder wrote:
>> But then what about the omitted option (d), just patching the package
>> to rename the relevant file?
>
> Thus I suspect it might be better to mention (e) [let one package,
> possibly a new one, take care of providing the file] first, then (d),
> then (a), then (c)? I don't think the maint-guide should encourage
> use of diversions as a way to steal a filename from another package,
> so pretending that the alternatives system is the only way for
> multiple packages to provide a resource with the same filename doesn't
> seem so bad.
(I wasn't thinking of diversions - I just meant, for instance,
packaging the config directory of foo-tng as "/etc/foo-tng" instead of
letting it claim "/etc/foo".)
> While a file conflict can be a symptom of a semantic conflict that
> should be declared with Conflicts, using Conflicts to work around a
> namespace clash is strongly discouraged (so it is tempting to keep it
> last).
[...]
>> +To prevent installation problem on different systems, you must make
>> +sure that there are no filenames conflict with other existing packages,
>
> "filename conflicts" or "filenames conflicting", I think.
Oops, yes. Make it "filenames conflicting" to reduce the subliminal
advertising for Conflicts.
>> +are collisions, please take action to avoid this real problem, whether by
>> +declaring a <literal>Conflicts</literal> relationship in the
>> +<filename>debian/control</filename> file or by coordinating with other
>> +affected packages, for instance to use the alternatives mechanism (see
>> +<citerefentry> <refentrytitle>update-alternatives</refentrytitle>
>> +<manvolnum>1</manvolnum> </citerefentry>).
>
> Maybe:
>
> are collisions, please take action to avoid this real problem, whether by
> renaming the file, moving a common file to a separate package
> multiple packages can depend on, using the alternatives mechanism (see
> <citerefentry><refentrytitle>update-alternatives</refentrytitle>
> <manvolnum>1</manvolnum></citereferentry>) in coordination with the
> maintainers of other affected packages, or declaring a
> <literal>Conflicts</literal> relationship in the
> <filename>debian/control</filename> file.
Looks good to me, but insert a "that" at the end of the second line
("a separate package that multiple packages can depend on").
>> +All maintainer scripts (that is,
>> <filename>preinst</filename>, <filename>prerm</filename>,
>> -<filename>postinst</filename>, and <filename>postrm</filename> files, are
>> -non-trivial unless they are auto-generated by the <systemitem role="package">debhelper</systemitem> programs. So do not use them if you are
>> +<filename>postinst</filename>, and <filename>postrm</filename> files) are
>> +potentially problematic unless they are auto-generated by the
>> +<systemitem role="package">debhelper</systemitem> programs. So do not use them if you are
>> a novice maintainer (see <xref linkend="maintscripts"/>).
>
> I suppose "potentially problematic" means "hard to write correctly".
Yes; I'm assuming "non-trivial" in the original is used in a sort of
colloquially understated sense (and then trying to say that more
clearly). Mind you, "non-trivial maintainer scripts" crops up a
couple of lines later, and there it's "with significant content"...
--
JBR with qualifications in linguistics, experience as a Debian
sysadmin, and probably no clue about this particular package
Reply to: