Re: debtags support proposed for xcontrol
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, Apr 07, 2008 at 09:11:53AM +0200, Andreas Tille wrote:
> On Mon, 7 Apr 2008, Simon Richter wrote:
>> I can see another way of implementing that in a policy compliant
>> manner: If the "Depends-Debtags:" field exists, append
>> "${debtags:Depends}" to the normal dependency spec during control
>> file generation, and determine the list of packages at compile time
>> with a separate tool that reads the spec in the xcontrol file and
>> generates appropriate substvars.
Indeed interesting!
I see that as a separate thing than xcontrol, however.
xcontrol mess with the control file, so by nature should do its dynamic
resolving outside of official Debian packaging (either before, like the
get-orig-source hook Andreas mentions, or after, like unoffical
cross-compile rebuilds), and only ensure stabiliy while in official use.
Some separate dh-debtags tool, similar to d-shlibs, doing resolving at
build time, would make more sense to me than adding official-build-time
dynamic resolving to xcontrol.
But of course if you feel differently, I am not to tell you the scope of
your own tool :-P
> IMHO a really interesting idea. However I see a drawback here: If you
> build the packages at different points in time (delays of auto
> builders, some other reasons to rebuild the packages later) you might
> get different dependencies in the resulting binaries in case the
> Debtags database changed. I don't know whether I really like that.
Even if the above issue is solved technically, CDD developers might not
agree with official Debtags tagging, and thus might want to use Debtags
as a CDD development tool, but offer the result as static package lists
in the final CDD (either just freezing at a time they agreed with
official Debtags, or manually overriding some entries after Debtags
resolving).
Debian-junior is an example of a CDD so closely coordinated[1] with
Debtags that it even has its own unique facet.
Debian-science, on the other hand, is sceptical that Debtags is too
simple to express their needed package classification, so currently
favor hand-maintained package lists.
So Debian-junior is a simple showcase demonstrated at the xcontrol wiki
page, but also so simple that they don't really need this mechanism. The
real challenge is an implementation that even Debian-science will want
to adopt ;-)
>> About your other idea, looking whether packages are available on an
>> arch and omitting them if not: can be done, something similar was on
>> my list already (although the static version where "foo [i386]" would
>> be replaced by "not+i386 | foo"; I can certainly see that happening
>> with substvars as well for Arch: any packages, but it will be
>> difficult for Arch: all as we cannot see what the other arches have).
>
> Huh, why can't we see this? Parsing the Packages.arch.gz files comes
> to mind. I planned to do this for the cdd-dev tools but if it would
> be implemented in xcontrol I could save my time and just create a
> xcontrol file and leave the processing of this to debian-xcontrol. I
> like the idea of saving my time very much. ;-)
Packages.arch.gz isn't normally available for all architectures, and
pulling it at official-build-time it is illegal.
Currently, xcontrol can run at any build-time, and break if control
changes, to avoid violating policy.
Analyzing resources external build process causes xcontrol to _alway_
violate policy, even when the control file would not get changed.
Also, as an end-user, I dislike the not+foo mechanism: Type-handling
depends on dpkg-dev which pulls in a bunch development tools I would
like to avoid installing in non-development systems.
> BTW, if it comes to parsing Packages files I've written something that
> does this for i386 for the moment. It uses python-debian:
>
> svn svn://svn.debian.org/debian-med/trunk/community/infrastructure/scripts/cddtasktools.py
Interesting in general here on the list, but I guess not that relevant
for xcontrol implemented in C++, with (it seems) its own pkg parser :-)
[1] I belive the junior:: facet in debtags was actually an experiment,
and not the proper approach generally for CDDs (to avoid polluting the
namespace) according to the Debtags maintainers. If I got that wrong, I
am sure Enrico or others are happy to correct me here :-)
- --
* Jonas Smedegaard - idealist og Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
- Enden er nær: http://www.shibumi.org/eoti.htm
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFH+gyFn7DbMsAkQLgRAsXVAJwKus7GkP7ZXfhMTRDcJJKs6N9z/wCfd4dz
m8y1R7+6dqU3Xa3l2MF19ek=
=3KZX
-----END PGP SIGNATURE-----
Reply to: