[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

debci: chroot setup for non-Debian



Hi ci-team,

I'm looking into setting up a debci instance for Freexian's ELTS
offering and have been running into problems that I'd like to see solved
in a generic way. Please Cc me in replies.

As far as I understand things, to set up a worker, one is supposed to
invoke

    debci setup --suite ... --arch ... --backend ... --mirror ...

for each relevant configuration. This happens to work well for a few
specific configurations, but when one gets out of tested configuration,
things become strange wrt. apt sources.

 debci-setup
   -> debci/backends/lxc/create-testbed (using lxc as example here)
     -> autopkgtest-build-lxc
        -> lxc-create
	   -> lxc-debian lxc-template

	      This one consumes the KEYRING environment variable, but
	      poking through this many layers using an environment
	      variable feels slightly wrong. In any case, this works
	      well.

              It also uses the --mirror value passed from debci, which
	      is good.

	autopkgtest-build-lxc replaces apt sources, but this can be
	influenced using variables such as AUTOPKGTEST_APT_SOURCES.
	This kinda works, but it feels strange that I have to change
	mirrors in multiple places.

     create-testbed again replaces apt sources unless we're on Kali
     Linux or Ubuntu.

     -> debci-generate-apt-sources --source --dbgsym

        Since --dbgsym is unconditional it always adds dbgsym URIs and
	also ignores our --mirror and does not allow overriding via
	environment variables in a similar way as the other layers
	earlier.

I think it is unfortunate, that we have at least three different layers
that modify apt sources in conflicting ways. The architecture seems less
than ideal to me. I'm happy to help rework this. Do you have a vision on
how this is supposed in a generic way for Debian derivatives?

>From a naive point of view, having all these layers deal with
sources.list at the same time seems suboptimal. Personally, I think that
the uppermost layer (debci-generate-apt-sources) or similar should be in
charge of deciding about the contents (and currently is) and all other
layers should be told to use the decision of that layer (as currently
does not happen). Furthermore, debci-setup should be able to customize
debci-generate-apt-sources. Do you agree with these views?

Helmut


Reply to: