Hi, Quoting Raphael Hertzog (2013-04-21 21:49:55) > So I tend to agree with Ian, it would be much more future-proof to have a > generic syntax instead of introducing another metacharacter. > > (Furthermore the ">" and "<" are already used in many dependencies, so > it would not really stand out in the dependency line.) > > And we already have wishlist request to extend the expressiveness of > dependencies so that some dependencies are only considered if a third > package is installed, this generic scheme could be a way to do it: > > Package: iceweasel > Depends: [...], iceweasel-gnome [if-installed: gnome] > > So I believe that even if we can't foresee the future, I can easily > imagine other use cases for such a generic dependency tagging mechanism.
Raphael, your argument is very convincing and I am now even more in favour of Ian's proposal, thanks! Can you list some of those other use cases you said you can imagine? Maybe that helps to better decide upon the following: So if we agree on Ian Jackson's proposal, then there are a few other details that have to be decided upon. One is between the following two variants: Build-Depends: huge (>= 1.0) [i386 arm] [!profile:embedded !profile:stage1], tiny Build-Depends: huge (>= 1.0) [i386 arm] [profile: !embedded !stage1], tiny Both versions were also brought up by Ian Jackson in his initial email. Is there any technical reason to prefer one over the other? Otherwise, the advantage of the second is, that it prevents mixing different scopes in one [...] qualifier and is also a bit shorter (but also more irregular). Incidentally, the second option was also chosen by Raphael for his "if-installed" example above, so maybe the second option is the more intuitive one? Since this topic is much about being future proof, I also thought about the choice of the ":" (colon) character to separate the scope from the value in each label like: "<scope>:<value>". If the colon is used for this purpose, then it will be hard to depend upon a binary package that was built with a certain build profile. Currently, the way to depend upon a binary package of a certain architecture is by using "<packagename>:<architecture>". Using this syntax, the natural way of depending on a binary package that was built with a certain profile would be "<packagename>:<profile:stage1>" but there is the problem with those multiple colons. So maybe another character should be used to separate scopes from values? Like the dot: "<scope>.<value>". Is this a valid concern? cheers, josch -- To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130422221407.3500.52444@hoothoot