On Sun, 14 Jan 2007 08:18:48 +0200 Leonard Norrgård <vinsci@refactor.fi> wrote: > One of the reasons people use one space in front of Homepage: is > probably because the developer reference asks the maintainer to make > sure it matches the regexp /^ Homepage: [^ ]*$/, "which allows > packages.debian.org to parse it correctly.": > > http://www.debian.org/doc/developers-reference/ch-best-pkging-practices.en.html#s-bpp-upstream-info > > -- Leonard Actually, that page is self-contradictory. The section above indicates a need for two spaces because the 'H' is indented one space past the '.' which itself is indented one space. (From the New Maintainer's Guide: "Line 12 is where the long description goes. This should be a paragraph which gives more details about the package. Column 1 of each line should be empty. There must be no blank lines, but you can put a single . (dot) in a column to simulate that." [1]) Which infers that as column one must always be empty, the period goes in column two, leading to the conclusion that the example in the Developer's Reference puts the 'H' of Homepage in column three - the two space prefix. Syntax highlighting of debian/control in vi indicates the same. Most (all?) debian/control files that I've seen put the '.' in column two. Indeed, the following paragraph indicates that the statement actually does intend to indicate two spaces: "Note the spaces prepending the line, which serves to break the lines correctly. To see an example of how this displays, see http://packages.debian.org/unstable/web/wml" (space*s* prepending, not space prepending) (Although the grammar is still incorrect; it should be "serve" instead of "serves" as spaces is now plural.) That URL shows the effect of having the extra space: the homepage is in a monospace font when the rest of the description is proportionally spaced. This only happens if the 'H' is in column three, not two. The Developer's Reference (the only source of this two space prefix) is recommending two spaces but specifying a reg exp that only matches a one space prefix. The reg exp *should be* /^ Homepage: [^ ]* $/ or /^\s\sHomepage:\s[^\s]*$/ or some other method to clearly require the use of the second space and prevent browsers collapsing two spaces into one. As it is, either one or two spaces is perfectly acceptable to packages.d.o as these pages demonstrate: http://packages.debian.org/unstable/utils/pilot-qof http://packages.debian.org/unstable/web/wml Both URL's are correctly parsed as HTML links and both links work. The question of one space or two is not resolved by the quoted reg exp, it is just made even more unclear. The reg exp example should probably be: /^ ?Homepage: [^ ]*$/ Or: /^\s\s?Homepage:\s[^\s]*$/ This shows that the second space is optional (because that is how packages.d.o *actually handles the space* and the reg exp is given as a rule *for packages.d.o parsing*, nothing else). The reg exp is probably intended to indicate that the 'Homepage:' tag is required and should not be changed to 'homepage:' or 'www:' and that the URL itself must not contain spaces or end in a space, just like any other URL. If anyone fancies filing a bug, just bear in mind that the real issue is whether dpkg et al are going to support a dedicated homepage field any time soon. [1] http://www.debian.org/doc/manuals/maint-guide/ch-dreq.en.html#s-control -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgpf7kRHyIdJN.pgp
Description: PGP signature