Hello Andreas,
On Mon, Jul 15, 2013 at 10:07 AM, Andreas Tille <[email protected]> wrote: > > > Let's take the control file for architecture kfreebsd-amd64 > > For kfreebsd-amd64, testing release virtual package "nfs-server" is > > available but "nfs-kernel-server" package is not. So blend-gen-control > > correctly places "nfs-server" in Depends: and "nfs-kernel-server" in > > Suggests:. > > Well, this is actually *incorrect*! If a control file contains a > virtual package you should make sure that there is a really existing > alternative given. In other words: you would trigger the following > lintian warning > > > http://lintian.debian.org/tags/virtual-package-depends-without-real-package-depends.html > > when delivering a control file that only mentions a virtual package. I > think I remember the usage was described in policy or developers > reference but failed to find this with a very quick search - you will > definitely find something when seeking more deeply. The problematic > phrase in your arguing is: 'virtual package "nfs-server" is available'. > By definition virtual packages are *not* available - they are just > virtual and need to be provided by a real package. If there is no such > real package the whole set of alternatives should be moved to Suggests. > > I changed a little sec-blend-gen-control and now it follows the case you described. In case there is a virtual package in Depends which does not list any real package as an alternative then it moves to the Suggests(or a whole set of alternatives-virtuals is moved to Suggests). Comparing the two {sec-}blend-gen-control I also noticed that there is a case like that in Blend openstudio: blend | task | alternatives | dependency | contains_provides ------------+----------+----------------+------------+------------------- openstudio | firewire | jackd-firewire | d | t Now sec-blend-gen-control correctly places jackd-firewire in Suggests(even if there is a real package available to provide it). On the other hand blend-gen-control, which is not updated yet, places jackd-firewire virtual as standalone into Depends.So sec-blend-gen-control seems to handle these cases properly. I will now update blend-gen-control to also handle these cases. For the moment these are my todo: * Update blend-gen-control for handling virtual-package-depends-without-real-package-depends * Sum up all the missing packages problematic cases/differences from {sec-}blend-gen-control output. as you told me in a previous mail: > For the moment I do not have any hints for enhancing tasks_diff. > > BTW, yesterday I have seen in some control file: > > Build-Depends: pkg1 [!arch1 !arch2 !arch3], pkg2 [!arch1], ... > > This might be an idea for an alternative way to create a single control > file (after having checked the relevant docs which I did not - may be > this is only valid for Build-Depends which I doubt but checking might > not harm). > > * check alternative way to create single control file Once I cover the above todos what should come next( today-tomorrow and next week)? How should we continue? Kind regards Emmanouil
