[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: