On Sat, 2022-10-08 at 19:05:01 +0200, Helge Kreutzmann wrote: > On Sat, Oct 08, 2022 at 06:42:46PM +0200, Guillem Jover wrote: > > This means that the code will try the following combinations, after > > having remapped the non-alphanum chars: > > > > lower-cased: aA-bB%Some OS → aa-bb-some-os > > as-is: aA-bB%Some OS → aA-bB-Some-OS > > lower-cased and capitalized: aA-bB%Some OS → Aa-bb-some-os > > capitalized: aA-bB%Some OS → AA-bB-Some-OS > > Ok, so I understand the 2nd sentence as follows (I write it verbose): > Namely, the following variations are accepted as well: > a) non-alphanumeric characters (‘B<[^A-Za-z0-9]>’) in the vendor name > are mapped to dashes (‘B<->’) and all letters are lower-cased > b) the vendor name is kept as it is
Non-alphanumeric mapped to dashes, then b) > c) all letters in the vendor name are lower cased and then first letter > is capitalized Non-alphanumeric mapped to dashes, then c) > d) all letters (?) in the vendor name are capitalized > (since dpkg 1.21.10). Non-alphanumeric mapped to dashes, then only the first letter is upper-cased (which I understand to be synonymous with capitalizing). > > > In addition, for " > > > "historical and backwards compatibility, the above casing attempts will > > > be " > > > "tried first as-is with no remapping, and then by remapping spaces to > > > dashes " > > > "(‘B<->’). But these will be removed during the dpkg 1.22.x release > > > cycle." > > > > This means they will be tried then first w/o remapping as follows: > > > > lower-cased: aA-bB%Some OS → aa-bb%some os > > as-is: aA-bB%Some OS → aA-bB%Some OS > > lower-cased and capitalized: aA-bB%Some OS → Aa-bb%some os > > capitalized: aA-bB%Some OS → AA-bB%Some OS > > > > And subsequently by only remapping spaces to dashes: > > > > lower-cased: aA-bB%Some OS → aa-bb%some-os > > as-is: aA-bB%Some OS → aA-bB%Some-OS > > lower-cased and capitalized: aA-bB%Some OS → Aa-bb%some-os > > capitalized: aA-bB%Some OS → AA-bB%Some-OS > > > > Was the problem with just the "as-is" or how the formulation of casing > > is listed? > > Your wording is sometims very terse and assigning the virtual () (i.e. > which ands and ors belong to each other) is sometime tricky, Sorry! :) I guess I tend to try to avoid what I perceive as unnecessary repetition, and expressing lists seems sometimes complicated. > and yes, > the "as is" made me wonder about "remapping". But of course, a 1:1 > mapping is a mapping as well'. (and the case c) I could not see from > your text alone at all). > And the third sentence thus reads (verbosely): > In addition, for historical and backwards compatibility, the above casing > attempts will be tried in the following order: > a) First no remapping (keeping the name as is) > b) Remapping spaces to dashes (‘B<->’). These would be, instead of the first phase of remapping non-alphanumeric to dashes, the a) and b) here would be applied, then the a/b/c/d from above would be repeated (for each of these two iterations. > But this does not match your examples, so I guess I still haven't > understood the third sentence. Ok, I've tried to reword the man page, how about the following, which introduced some repetition (which will eventually go away), and should hopefully be more clear? Otherwise we can iterate until it does. :) ,--- The file should be named according to the vendor name. The usual convention is to name the vendor file using the vendor name in all lowercase, but some variation is permitted. Namely (since dpkg 1.21.10), first, non-alphanumeric characters (‘B<[^A-Za-z0-9]>’) are mapped to dashes (‘B<->’), then the resulting name will be tried in sequence by lower-casing it, as-is, lower-casing then capitalizing (that is upper-casing the first character), and only capitalizing. In addition, for historical and backwards compatibility, the name will be tried as-is without non-alphanumeric characters remapping, then the resulting name be tried in sequence by lower-casing it, as-is, lower-casing then capitalizing, and only capitalizing. And finally the name will be tried by remapping spaces to dashes (‘B<->’), then the resulting name will be tried in sequence by lower-casing it, as-is, lower-casing then capitalizing, and only capitalizing. But these will be removed during the dpkg 1.22.x release cycle. `--- Thanks, Guillem