debconf-set-selections within installer not working with preseed files that have multiline entries

Bug #47767 reported by Scott Dier
8
Affects Status Importance Assigned to Milestone
preseed (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Tried using the netboot from the dapper RC release cd and the example-preseed.txt file refuses to be parsed. It would only work if I removed every multiline entry.

changing:
d-i partman/choose_partition \
       select Finish partitioning and write changes to disk

to:

d-i partman/choose_partition select Finish partitioning and write changes to disk

without such changes debconf-set-selections errors out with an error from shift.

ie:

debconf-set-selections debconf-seed
shift: 52: can't shift that many

Revision history for this message
Colin Watson (cjwatson) wrote :

Looks like Joey fixed this in d-i upstream r35026:

Index: debconf-set-selections
===================================================================
--- debconf-set-selections (revision 35025)
+++ debconf-set-selections (revision 35026)
@@ -24,7 +24,7 @@
                multiline="$multiline${line%\\\\}"
                continue
        elif [ -n "$multiline" ]; then
- line="$multiline"
+ line="$multiline$line"
                multiline=""
        fi

Would you mind testing this patch? If you boot with the BOOT_DEBUG=3 kernel option, then you can use nano to edit /bin/debconf-set-selections on the fly. If that works, we may be able to get it into dapper-updates.

Revision history for this message
Colin Watson (cjwatson) wrote :

Sorry about the mangled patch formatting, by the way, but it should be possible to apply it by hand anyway.

Revision history for this message
Scott Dier (sdier) wrote :

It does look to work on this end with the change to debconf-set-selections.

Revision history for this message
Colin Watson (cjwatson) wrote :

Fixed in preseed 1.13, included in Edgy.

Changed in preseed:
status: Unconfirmed → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

preseed (1.13) unstable; urgency=low

  [ Geert Stappers ]
  * Allow the URL to a preseed file to be specified as the filename in
    the DHCP lease. The filename must contain "://" to be used as an URL.

  [ Joey Hess ]
  * Don't ignore the last continued line.
  * When extracting filename from DHCP lease, be sure to quote it to prevent
    accidents.
  * Look for dhcp lease files in turn, not based on which dhcp client is
    found, to avoid tight binding to which one netcfg prefers to run.
  * Load dhcp preseed file first, but then load any specified preseed/url.
    This allows for using dhcp preseeding for network-global stuff, like
    mirrors etc, while fully automating installs in the old manner. Note that
    I chose to let preseed/url override the dhcp preseeding; which should
    override the other is debatable. Also, there is some code duplication
    between network-preseed.isinstallable and network-preseed.postinst.
    Closes: #319524

 -- Joey Hess <email address hidden> Tue, 21 Feb 2006 18:37:30 -0500

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.