Hello Andreas,
I was offline on Friday(I included that on my report) and the past 3 days.
I was invited to go to Thessaloniki by a friend to attend at openSUSE
conf[0] and thus I was offline the past 4 days, mostly because of
travelling(sorry I should have mentioned this earlier but it was a last
minute decision). I will have covered up the working hours by the end of
the week.
I read again Debian Policy Manual in order to check for the control file
alternative syntax. From here[1] it seems that the syntax you mentioned is
also valid for the Depends field. So we can have Depends header like:
Depends: foo [i386], bar [amd64]
or
Depends: foo [!i386], bar [!amd64] etc.
So my first idea is to add "Architecture: any" in our packages, for example:
Package: med-bio
Architecture: any
Priority: extra
Depends: foo [!i386], bar (etc..)
So in this case any "Depends" package which is not in Debian distribution
and the main component will be moved to "Suggests"(as we are doing now) and
the rest of the packages(debian,main) will stay in Depends but they will
exclude the architectures in which they are not available. For example if
the package "foo" is available in all architectures except kfreebsd-amd64
and kfreebsd-i386 it will be like:
Depends: foo [!kfreebsd-amd64 !kfreebsd-i386 ] ...
In this case I have a question. If the -D argument is passed into the
blend-gen-control then the Depends are fixed like:
Depends: med-tasks (= ${binary:Version})
and the "Depends" are added into the "Recommends". So in case of -D the
control file should be like the following: ?(does it make sense to exclude
an architecture from the Recommends header?)
Depends: med-tasks (= ${binary:Version})
Recommends: foo [!kfreebsd-amd64 !kfreebsd-i386 ]
Kind regards
Emmanouil
[0]: https://conference.opensuse.org/
[1]: http://www.debian.org/doc/debian-policy/ch-relationships.html