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

Bug #47767 reported by Scott Dier on 2006-05-31
8
Affects Status Importance Assigned to Milestone
preseed (Ubuntu)
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

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.

Colin Watson (cjwatson) wrote :

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

Scott Dier (sdier) wrote :

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

Colin Watson (cjwatson) wrote :

Fixed in preseed 1.13, included in Edgy.

Changed in preseed:
status: Unconfirmed → Fix Released
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  Edit
Everyone can see this information.

Other bug subscribers