Problems with building experimental / backport packages
I had some discussion what the problems are with building experimental
packages, and why the current strategies to install packages are not good
enough. I'm trying to summarize them here.
removing packages with dpkg is not enough
That's an easy one: If a experimental packages requires e.g. a new
glibc, than this one is installed, and not removed after that build. So, my
chroot is broken, and all packages that I build are now built against that
too new glibc.
how to select the right package
This is a tougher one. How do I select whether to install package foo
from unstable or experimental? There are two solutions:
- We install always the newest one: In this case, consider we have a
newer package foo (just make it a library with bumped shlibs), and want to
build package bar that build-depends foo (the old version in unstable is
enough). With that approach, we will still install the newer foo, and
every user of our package bar will need to take experimentals foo, though
there is no technically need for it.
- We pin the older one: In this case, consider we have a newer package
foo, and want to build package bar that build-depends on the newer one: apt
will just fail to install the newer version, so we can't even compile.
- We pin the older one, except if the maintainer sends mail to a newer one
(thanks to aj for this idea): [need to consider potential issues]