Bug 26322 - /etc/locale.gen sollte auch locale/default enthalten
/etc/locale.gen sollte auch locale/default enthalten
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: General
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0-2
Assigned To: Jürgen Kahrs
Felix Botner
: interim-2
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-03-01 16:35 CET by Sönke Schwardt-Krummrich
Modified: 2012-07-20 15:24 CEST (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2012-03-01 16:35:10 CET
Aufgrund von Bug 26320 wurde ein System installiert, welches Werte ohne Schnittmenge in den UCR-Variablen "locale" und "localte/default" enthielt.

Ggf. sollte in /etc/locale.gen auch der Wert aus "locale/default" eingetragen
werden, falls der Wert nicht in der UCR-Variable "locale" enthalten ist.

Dies würde z.B. Probleme wie in 26320 bzw. 24913 vermeiden.
Comment 1 Jürgen Kahrs univentionstaff 2012-06-04 08:46:32 CEST
Die Änderungen sind als Python-Code einzufügen in der Datei 
dev/branches/ucs-3.0/ucs/base/univention-base-files/conffiles/etc/locale.gen.

Zur Laufzeit liegt die Datei unter /etc/univention/templates/files/etc/locale.gen und UCR erzeugt daraus die Datei /etc/locale.gen.

Wie teste ich, ob die Lösung funktioniert ? Mit UCR einen Wert für locale/default setzen, der so noch nirgends existiert. Danach prüfen, ob dieser Wert auch in /etc/locale.gen ankommt (im Moment kommt er noch nicht an).

  ucr set locale/default=de_DE.UTF-16:UTF-16
  cat /etc/locale.gen

In /etc/locale.gen dürfen aber keine Zeilen doppelt vorkommen.
Comment 2 Jürgen Kahrs univentionstaff 2012-06-04 10:17:55 CEST
Ich habe die Änderung so implementiert wie von Sönke vorgeschlagen. Der Wert von ucr locale/default (falls es einen gibt) wird grundsätzlich als erster in /etc/locale.gen eingetragen. Dieser Wert wird nicht wiederholt generiert, falls er in der locale wiederholt vorkommt. Es wird aber nach wie vor NICHTS generiert, falls diese UCR-Variablen überhaupt nicht existieren (das ist OK so, sagt Stefan).

Das fertig gebaute Paket habe ich lokal installiert und getestet. Getestet habe ich so wie oben beschrieben und es funktionierte gut.

Im Handbuch/changelog hab ich die Änderung unter "other changes" eingetragen, weil es kein besseres Kapitel zum Thema locale gab.
Comment 3 Felix Botner univentionstaff 2012-06-20 14:55:48 CEST
-> ucr unset locale/default 
Unsetting locale/default
File: /usr/share/univention-management-console-frontend/languages.json
File: /etc/default/locale
File: /etc/profile
File: /etc/locale.gen
Traceback (most recent call last):
  File "<stdin>", line 14, in <module>
NameError: name 'dl' is not defined
Generating locales (this might take a while)...
Generation complete.
Comment 4 Jürgen Kahrs univentionstaff 2012-06-21 09:20:28 CEST
Ja, den Fall hatte ich leider übersehen.

Der Fall einer ungesetzten ucr locale/default wird nun korrekt behandelt. Ich hab auch mit einer ungesetzten ucr locale getestet. Falls beide (locale/default und locale) ungesetzt sind, dann ist natürlich auch /etc/locale.gen leer, aber es gibt auf keinen Fall einen Python traceback.

ucr get locale
ucr get locale/default
de_DE.UTF-8:UTF-8
ucr set locale="de_AT.UTF-8:UTF-8"
Create locale
File: /usr/share/univention-management-console-frontend/languages.json
File: /etc/locale.gen
Generating locales (this might take a while)...
  de_DE.UTF-8... done
  de_AT.UTF-8... done
Generation complete.

ucr unset locale
Unsetting locale
File: /usr/share/univention-management-console-frontend/languages.json
File: /etc/locale.gen
Generating locales (this might take a while)...
  de_DE.UTF-8... done
Generation complete.
cat /etc/locale.gen

de_DE.UTF-8 UTF-8
Comment 5 Felix Botner univentionstaff 2012-06-28 16:12:48 CEST
OK, funktioniert

Changelog Eintrag vorhanden.
Comment 6 Stefan Gohmann univentionstaff 2012-07-20 15:24:59 CEST
UCS 3.0-2 has been released: 
  http://forum.univention.de/viewtopic.php?f=54&t=1905

If this error occurs again, please use "Clone This Bug".