As you noticed the debian/control file is auto generated depending from
the content of the package pool. In unusual cases this could mean that
without any manual change in the source the resulting source package
could be different from a previous version simply because packages were
added (or removed) from the package pool. These kind of changes are
not reflected inside debian/changelog ... but should. I imagine the
following for debian/changelog (here using Debian Med example):
----------------------------------------------------------------
debian-med (1.14) unstable; urgency=low
<start_manual_changes>
* Build-Depends: blends-dev (>= 0.6.17)
* ...
<end_manual_changes>
* Changes in metapackage dependencies
- med-bio:
added: package_a, package_b, ...
removed (optional): ...
- med-...
* New metapackages
- med-...
-- Andreas Tille <tille@debian.org> [creation date / time]
debian-med (1.13.2) unstable; urgency=low
-----------------------------------------------------------------
To solve this we need some way to store the old dependency list of
the previous package. Some json file comes to mind and it would
not harm to store the dependency status of *all* versions inside
such a json database. This could in addition come very handy for
the team analysis I did in
git://git.debian.org/git/blends/website.git
in dir misc/team_analysis_tools
which in this case would boil donw to graphing this json file rather
than checking VCS tags.