[Bug 105539] Re: can't preseed dash/sh to false

2008-10-14 Thread Colin Watson
The correct syntax is 'dash dash/sh boolean false' (the first field is
the owning package name; if that is 'd-i', then the preseed doesn't get
used anywhere outside the installer environment).

This is actually a preseed bug: it only copies over preseeds after base-
installer has finished, which means that it's unusable for anything in
the set of packages installed by debootstrap. It's not trivial to fix
this, so I won't be doing it for Intrepid (especially since you have a
workaround), but I'll have a think about it.

** Changed in: preseed (Ubuntu)
Sourcepackagename: dash = preseed
   Status: New = Triaged

-- 
can't preseed dash/sh to false
https://bugs.launchpad.net/bugs/105539
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


[Bug 105539] Re: can't preseed dash/sh to false

2008-08-27 Thread Matthew L. Dailey
I discovered this bug on my systems this morning, and did a bunch of
digging trying to figure out what's happening. I'm no expert at debian-
installer, but I think what's happening is due to the cdebconf-debconf
transition that happens early in the installation.

When the installer first starts, it's using cdebconf, rather than debconf, with 
the database stored in /var/lib/cdebconf/questions.dat. This database is 
populated by /lib/debian-installer-startup.d/S35initrd-preseed before anything 
is installed:
Jul  7 14:32:17 preseed: successfully loaded preseed file from 
file:///preseed.cfg

However, during the first batch of installs, the real debconf gets configured 
just before dash:
Jul  7 14:33:54 debootstrap: Setting up debconf (1.5.20) ...
Jul  7 14:33:55 debootstrap: 
Jul  7 14:33:55 debootstrap: Setting up dash (0.5.4-8ubuntu1) ...
Jul  7 14:33:55 debootstrap: Adding `diversion of /bin/sh to /bin/sh.distrib by 
dash'
Jul  7 14:33:55 debootstrap: Adding `diversion of /usr/share/man/man1/sh.1.gz 
to /usr/share/man/man1/sh.distrib.1.gz by dash'

Then, later on the preseed gets re-read to populate the real debconf database 
in /var/cache/debconf/config.dat (I'm not sure of the exact mechanism of how 
this happens):
Jul  7 14:34:11 preseed: perl: warning: Setting locale failed.
Jul  7 14:34:11 preseed: perl: warning: Please check that your locale settings:
Jul  7 14:34:11 preseed: ^ILANGUAGE = (unset),
Jul  7 14:34:11 preseed: ^ILC_ALL = (unset),
Jul  7 14:34:11 preseed: ^ILANG = C.UTF-8
Jul  7 14:34:11 preseed: are supported and installed on your system.
Jul  7 14:34:11 preseed: perl: warning: Falling back to the standard locale (C
).
Jul  7 14:34:11 preseed: locale: Cannot set LC_CTYPE to default locale
Jul  7 14:34:11 preseed: : No such file or directory
Jul  7 14:34:11 preseed: locale: Cannot set LC_MESSAGES to default locale: No su
ch file or directory
Jul  7 14:34:11 preseed: 
Jul  7 14:34:11 preseed: locale: Cannot set LC_ALL to default locale: No such fi
le or directory
Jul  7 14:34:11 preseed:

So, it looks like the dash postinst is being run during the interval
between the switch from cdebconf to debconf, but before the preseed is
re-read. So, the dash postinst never sees the false dash/sh setting
provided in the preseed.

The only fix I could imagine would be something in debconf's postinst
that detected whether it was being run in d-i and, if so, calling
whatever the mechanism is in the second case above to re-read the
preseed file.

Hopefully this will provide some clues for someone who's a little more
knowledgeable about d-i to see if there's a way to fix this.

In the meantime, you should (I haven't tested this yet) be able to work around 
this with a late_command. Something like:
d-i preseed/late_commandstring  in-target 
/var/lib/dpkg/info/dash.postinst

This will just run the dash preseed before reboot, and since at this
point the preseed values are in the regular debconf database, the
postinst will do the right thing and remove the symlink diversions.

-- 
can't preseed dash/sh to false
https://bugs.launchpad.net/bugs/105539
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


[Bug 105539] Re: can't preseed dash/sh to false

2008-08-27 Thread John Morrissey
 In the meantime, you should (I haven't tested this yet) be able to work 
 around this with a late_command.
 Something like:
 d-i preseed/late_command string in-target /var/lib/dpkg/info/dash.postinst

Yup, this is basically what we're doing. Our late_command calls a more
involved local script, and one of the things it does is 'dpkg-
reconfigure dash', which causes the /bin/sh symlink to be set
appropriately.

-- 
can't preseed dash/sh to false
https://bugs.launchpad.net/bugs/105539
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


[Bug 105539] Re: can't preseed dash/sh to false

2008-06-04 Thread John Morrissey
This also affects hardy (8.04 LTS).

-- 
can't preseed dash/sh to false
https://bugs.launchpad.net/bugs/105539
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


[Bug 105539] Re: can't preseed dash/sh to false

2007-05-18 Thread Micah Cowan
** Changed in: dash (Ubuntu)
   Importance: Undecided = Low

-- 
can't preseed dash/sh to false
https://bugs.launchpad.net/bugs/105539
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs