Bug 22557 - /bin/sh für UCS 3.0
/bin/sh für UCS 3.0
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: General
UCS 2.4
Other Linux
: P5 normal (vote)
: UCS 3.0 - RC
Assigned To: Stefan Gohmann
Felix Botner
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-05-18 09:33 CEST by Moritz Muehlenhoff
Modified: 2011-12-13 15:48 CET (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 Moritz Muehlenhoff univentionstaff 2011-05-18 09:33:53 CEST
In Squeeze wird für /bin/sh die dash verwendet, der einige Features der Bash fehlen, aber etwas schneller startet.

Da die Standard-Shell vorher bash war, verwenden einige Skripte Bash-spezifische Features, ohne explizit /bin/bash als Shebang zu setzen.

Eine Liste dieser Funktionen:
http://mywiki.wooledge.org/Bashism

Die in Debian Squeeze integrierten Skripte sollten alle korrigiert sein, für UCS 3.0 sollten die UCS-eigenen Skripte im Rahmen der normalen 3.0-Entwicklung identifiziert werden.

Das Skript checkbashisms aus devscripts testet Skripte auf Bash-spezifische Funktionen.

Wir sollten später prüfen, ob wir dem Debian-Weg folgen oder bei /bin/bash verbleiben, da potentiell Kunden-Skripte nicht mehr funktionieren.
Comment 1 Alexander Kläser univentionstaff 2011-08-11 16:49:32 CEST
Bitte die Anpassungen aus Bug #23005 mit in den Changelog-Eintrag für diesen Bug übernehmen.
Comment 2 Stefan Gohmann univentionstaff 2011-10-12 08:41:59 CEST
Default für /bin/sh in 3.0 ist dash. Alle Univention Pakete wurden entsprechend angepasst.
Comment 3 Stefan Gohmann univentionstaff 2011-11-11 16:16:47 CET
Aktuell wird die dash irgendwann während des Updates aktualisiert und zum Shell Standard. Dadurch kann es zu Problemen kommen, die noch nicht aktualisiert wurden:

Configuration file `/etc/nagios/nrpe.cfg.debian'
 ==> Deleted (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
 ==> Using current old file as you requested.
/etc/init.d/nagios-nrpe-server: 84: source: not found
invoke-rc.d: initscript nagios-nrpe-server, action "start" failed.
dpkg: error processing nagios-nrpe-server (--configure):
 subprocess installed post-installation script returned error exit status 127
Comment 4 Stefan Gohmann univentionstaff 2011-11-12 22:40:46 CET
fixed

dash wird jetzt vor dem Update auf hold gesetzt und anschließend zurückgesetzt. Somit ist es nach dem Update auf 3.0 vorhanden.
Comment 5 Felix Botner univentionstaff 2011-11-23 12:57:30 CET
Während des Update wird die dash gehalten:

dpkg -l dash
hi  dash   0.5.4-12.8.200909080514       POSIX-compliant shell

Nach dem Update ist die dash aktualisiert:

dpkg -l dash
ii  dash  0.5.5.1-7.4.10.201104230223   

die Standardshell ist dann aber immer noch die bash

-> ls -la /bin/sh
lrwxrwxrwx 1 root root 4 21. Nov 17:55 /bin/sh -> dash
-> dpkg-divert --list| grep bash
Umleitung von /bin/sh zu /bin/sh.distrib durch bash

Das ist aber OK.

UCS 3.0 Neuinstallation:

-> ls -la /bin/sh
lrwxrwxrwx 1 root root 4 21. Nov 17:55 /bin/sh -> dash

Die univention Pakete werden ja beim Bau durch ucslint auf bashisms getestet. Ich habe jetzt nur noch schnell die univention Skripte in /var/lib/dpkg/info getestet.
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:48:54 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"