cnst/ports-readmes

lang/{erlang,mono,node}: port+category !ports-readmes

cnst opened this issue · 0 comments

cnst commented

As posted to ports@ on 2013-11-06.
http://marc.info/?l=openbsd-ports&m=138380277319411

Dear ports@,

I was adding the counts on the number of packages and categories for http://ports.su/ , and during my verification phase, I've noticed that the numbers didn't match with the total number of pages.

Investigation revealed that out of 8618 packages and 68 categories from the recent amd64 snapshot (according to the sqlports-compact package), there are 3 strings that are present in both namespaces: lang/erlang, lang/mono and lang/node.

This results in the packages being overwritten by the categories (since the categories are processed after the ports), thus causing for a total of 3 packages to be missing from ports-readmes. The original in-tree /usr/ports/databases/ports-readmes is affected, too, not just my ports.su fork. I'm not sure whether http://ports.su/databases/ports-readmes-dancer is affected.

(For what it is worth, 3 is less than some 1632 packages that are missing from openports.se, but it is still 3 packages too many.)

Are the namespaces expected to collide like that, and should be addressed within ports-readmes, or is this something that could be addressed on the http://ports.su/databases/sqlports level?

Cheers,
Constantine.

Espie has solved this by separating the namespace of the individual ports from that of the categories, however, that's an ugly workaround, and it's not a good solution for ports.su for obvious reasons.

There should be some clean solution that would determine if the namespaces collide; if they do, the category should still take precedence, and the name of the port should be amended on-the-fly to have ,pkg appended, e.g. lang/mono would be the category, and lang/mono,pkg would be the port.