Hi again, On 17/11/15 00:07, Cyril Brulebois wrote: > Regis Boudin <re...@boudin.name> (2015-11-16): >> That's a different patch indeed, which I won't push without a minimum of >> coordination as it changes the API/ABI of the plugin inteface. Also the >> patch is more intrusive, and I would probably need to review it again >> before pushing it. > > OK, thanks for confirming/clarifying. Feel free to push to a > pu/$something branch once you have polished it for review and > coordination.
So, I've split the patchinto several bits, which I pushed under pu/qflags. The most critical commit is 2cebed019dde395db6432ed1232db144da3c004b, which converts question.flags from uint to a linked list of strings. The reason being that there is no limit in the spec to which flags might or might not exist, nor is there such limitation in the perl implementation. This is what caused #666530. As we discussed at Debconf, the main issue with this patch is that it changes the API/ABI for the plugins. Fortunately, the plugins (cdebconf-terminal and cdebconf-entropy) don't use this parameter in the structure, so a simple binNMU would be enough. It also breaks the text db format ; but I don't believe this one is actually used anyway, as it's only build for non-d-i, is not the one used by default, and I doubt anyone has bothered changing it. Besides the missing debconf-apt-progress, this is the only remaining difference with the perl implementation I'm aware of. For curious people, I've attached my patch to debootstrap, which checks for the DEBOOTSTRAP_USE_CDEBCONF environment veriable to run cdebconf instead of debconf from the beginning. I think that's enough rambling for now. As usual, any comments/feedback is very welcome. And don't worry too much if I'm not very responsive, as I'll be moving a lot over the next month. Regis
From ea2b242f48749e42f373ed46b4afbcbea9b90299 Mon Sep 17 00:00:00 2001 From: Regis Boudin <re...@boudin.name> Date: Thu, 26 Apr 2012 20:52:50 +0200 Subject: [PATCH] Check environment variable to force use of cdebconf If DEBOOTSTRAP_USE_CDEBCONF is set, force cdebconf as part of the required packages, and set DEBCONF_USE_CDEBCONF during bootstrap --- scripts/sid | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/sid b/scripts/sid index bf3404f..3509e61 100644 --- a/scripts/sid +++ b/scripts/sid @@ -18,6 +18,10 @@ esac work_out_debs () { required="$(get_debs Priority: required)" + if [ "$DEBOOTSTRAP_USE_CDEBCONF" ]; then + required="$required cdebconf" + fi + if doing_variant - || doing_variant fakechroot; then #required="$required $(get_debs Priority: important)" # ^^ should be getting debconf here somehow maybe @@ -96,6 +100,13 @@ second_stage_install () { DEBCONF_NONINTERACTIVE_SEEN=true export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN + if [ "$DEBOOTSTRAP_USE_CDEBCONF" ]; then + DEBCONF_USE_CDEBCONF=1 + export DEBCONF_USE_CDEBCONF + else + unset DEBCONF_USE_CDEBCONF + fi + baseprog=0 bases=7 @@ -199,6 +210,10 @@ echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/ mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon" rm -f "$TARGET/usr/sbin/policy-rc.d" + if [ "$DEBOOTSTRAP_USE_CDEBCONF" ]; then + echo "DEBCONF_USE_CDEBCONF=1" > "$TARGET/etc/profile.d/use_cdebconf.sh" + fi + progress $bases $bases CONFBASE "Configuring base system" info BASESUCCESS "Base system installed successfully." } -- 2.6.2