On Sun, Feb 22, 2015 at 11:11:04PM -0500, Daniel Richard G. wrote: > On Fri, 2015 Feb 20 15:00+0100, Agustin Martin wrote: > > > > Strange, I could only reproduce this without apt-utils. In a chroot > > Hmm. I'm able to reproduce this fairly easily. Below, when I get the > debconf dialog, "american" is selected. (The warning is new to me, > however; I don't believe I've seen that before.) > > This is starting from a minimal Jessie install: > > # dpkg -l | grep apt-utils > ii apt-utils 1.0.9.6 i386 > package management related utility programs > > # echo > "dictionaries-common@dictionaries-common/default-wordlist@select@english > (Webster's Second International English wordlist)" | tr @ '\t' | > debconf-set-selections > > # apt-get install miscfiles > Reading package lists... Done > Building dependency tree > Reading state information... Done > The following NEW packages will be installed: > miscfiles > 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. > Need to get 1,208 kB of archives. > After this operation, 3,069 kB of additional disk space will be used. > Get:1 http://apt-cacher.example.com:3142/debian/ jessie/main miscfiles > all 1.4.2.dfsg.1-9.1 [1,208 kB] > Fetched 1,208 kB in 0s (4,308 kB/s) > Preconfiguring packages ... > [wordlist,dico_get_default_value]: dictionaries-common warning: > debconf question "dictionaries-common/default-wordlist" value did not > match that in "/var/cache/dictionaries-common/wordlist-default" > Changing debconf value "english (Webster's Second International English > wordlist)" to "american (American English)"
Hi, Daniel, This last lines show the reason for the problem you have. By the way, things are working as expected. Pre-seeding is intended for first installation, when no elements (wordlists, ispell dictionaries) are previously installed and apt-utils is already installed (pre-seeding will not work with shared questions otherwise). However, pre-seeding is not intended to work once dictionaries are installed and a default value selected. This default value will also be written to "/var/cache/dictionaries-common/wordlist-default" (for wordlists) and become the "true value". If it contains a valid value and different from what debconf thinks, "true value" will win (I should have put it under /etc, but changing it now does not worth) and debconf value will be forcibly set to that "true value". If you already have some wordlists installed and want to install a new one and make it the default value you use one of 1) Once new wordlist is installed, call `select-default-wordlist' as root and select the new value. 2) Temporarily set a debconf priority threshold lower than high (e.g. medium with DEBIAN_PRIORITY ENVAR, see debconf(7)) before installing the new wordlist. This will trigger the debconf question on instalation of the new wordlist. 3) Manually change "/var/cache/dictionaries-common/wordlist-default" to the new value. Must be sure that the string is exactly one of the valid strings, in the same encoding as the original master string identifier. *This is discouraged*. Using `select-default-wordlist' is largely preferred because 3) is more error prone. Incidentally, this is the reason why I put the backup value under /var insted of under /etc, so it is used internally in case of debconf database corruption, but leaves 1) as the preferred method. > > dictionaries-common should support this. Also, note that usually it is > > not other package who does the preseed when used, but some sort of > > "master" process during the installation. > > That's indeed what I'm doing; a master script runs debconf-set- > selections first and then "apt-get install" as needed. The difference is that you already have some wordlists installed. > Incidentally... is it supported to set a debconf value of just e.g. > "english" or "american"---that is, minus the descriptive text in > parentheses? I can't help but feel that only the first word should > matter, but the debconf choice values including the parentheticals does > imply otherwise. Sadly no, that string is used as full identifier. Note that wordlists have different sizes or variants, so the full name is relevant. Also, this schema was designed way before debconf supported internationalized choices, with the parenthesized text supposed to contain the text in dictionary pseudo-language. This was some sort of poor's man internationalization, but at that time no better choice was available. And that string is internally used as master identifier for each wordlist, so changing it will trigger new debconf questions unless a lot of migration code is written. So, changing it does not worth the work. In short, I strongly suggest to use `select-default-wordlist'. Regards, -- Agustin -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org