Packages with moves between main and non-free in different versions
recently I realised that we sometimes have packages which are in
different components of Debian for different versions. That's not
really new but I learned that it has a side effect on the tasks
pages where it leads to false positives about "New upstream". If
you look for instance at the entry for seaview it is marked as
not up to date but in fact we really have the latest upstream
version. A deeper look into UDD uncovers the problem:
udd=# SELECT version, component,
release || CASE WHEN char_length(substring(distribution from '-.*')) > 0 THEN substring(distribution from '-.*') ELSE '' END AS release FROM packages
WHERE package = 'seaview'
GROUP BY version, release, distribution, component
ORDER BY version;
version | component | release
20060918-1 | main | etch
1:2.4-1 | main | lenny
1:3.2-1 | main | sid *)
1:3.2-1 | main | squeeze
1:4.1-1 | non-free | sid
1:4.2-1 | non-free | sid
1:4.2.1-1 | non-free | sid
*) That's for hurd and mips/mipsel where autobuilders are lagging
You see, that (unfortunately) seaview became non-free. What are
the effects concerning our tools?
No harm is done here. When building metapackages all packages
which are not found in main are "downgraded" to "Suggests".
Because metapackages are builded against a certain release
everything works as expected. If you build against Lenny or
Squeeze the package will be Recommended, if you build against
Sid the package now found in non-free will be only "Suggested"
That's perfectly intended behaviour (except that metapackage
building tools currently ignore architectures but that's for
practical reasons not relevant and will be fixed in the rewrite
of the tools somewhen in this year).
2. Tasks pages
The tasks pages building tools are seeking for a package
matching a given name and if they hit this name in main the
entry is put into the section
"Official Debian packages with high relevance"
Later the tools are querying UDD which versions are available
in *this* component - so the versions in non-free are ignored
which leads to the "New version available" alarm.
So far to the current behaviour. The question is: What behaviour
do we really *want*? Leaving it as it is sounds not good because
it is actually a false alarm. On the other hand the version in
main is not the latest upstream version. Please tell me what you
think. I have some vague ideas what to do, but I will not put
any influence on possible answers.
PS: If you want to discuss the fact that it is a shame that a
package moved from main to non-free please do this in a separate
thread because it is not relevant here.