Mailinglist Archive: opensuse-de (5757 mails)
| < Previous | Next > |
Re: LSB-Konfomität der Distributoren (was: mysql)
- From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
- Date: 30 Oct 2002 09:03:15 +0100
- Message-id: <1035964991.3039.21620.camel@mccallum>
Am Son, 2002-10-27 um 13.12 schrieb Philipp Thomas:
> Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx> [27 Oct 2002 05:17:52 +0100]:
>
> >[SuSE-8.1 und RH-8.0 besitzen /usr/lib/lsb/*_initd]
> >... warten wir auf den Tag, an dem die Distributoren anfangen, diese
> >Scripte auch zu verwenden
>
> Wozu? LSB ist dafür gedacht, das ISVs ihre Programme/Scripte nur
> einmal zu schreiben brauchen und diese dann auf LSB-konformen System
> ohne Änderung laufen (sofern sie sich an die Spezifikation halten).
> SuSE kann also problemlos weiterhin insserv verwenden.
Offensichtlich ist der LSB derart ungenau, dass er diese Möglichkeit
offenlässt.
> >und an dem die eigentlichen Bootscripte auch auf allen vorgeblich
> >LSB-kompatiblen Systemen ohne jegliche Änderung laufen.
>
> Auch hier habe ich den Eindruck, dass du den Sinn von LSB nicht so
> ganz verstanden hast (s.o.).
Wenn Du meinst.
Allerdings gibt es Stellen im LSB die Deiner Interpretation
widersprechen, z.B.:
http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/overpurp.html
"The Linux Standard Base (LSB) defines a system interface for compiled
applications and a minimal environment for support of installation
scripts. Its purpose is to enable a uniform industry standard
environment for high-volume applications conforming to the LSB."
Weiterhin, aus: http://www.linuxbase.org/FAQ.html
"# Who is the LSB Specification written for?
The LSB Specification is written for application developers and
platform/operating system developers. For the application developer, it
provides a set of rules which, when followed, will allow the completed
application to run on a variety of platforms. For the platform/operating
system developer it provides a minimal set of functionality required to
support all applications written to comply to the LSB Specification."
Hier ist explizit von "Application developer" und "Industrial Standards"
die Rede. Somit widerspricht Deine (und offensichtlich SuSE's)
Interpretation der Intension des LSB.
> Die Initscripte der Distributoren werden wahrscheinlich nie auf einem
> anderen System laufen, schon weil z.B. zusätzliche
> herstellerspezifische Headereinträge (die mit X-<hersteller> starten)
> ausgewertet werden, die zusätzliche Funktionalitäten bietet, die der
> Standard so nicht vorsieht. Ein Beispiel dafür sind die
> X-UnitedLinux-should-start Einträge.
Noch ein Zitat:
http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/initscrcomconv.html
"LSB applications which need to execute script(s) at bootup and/or
shutdown may provide one or more init.d files. These files are installed
by the install_initd program described below, which copies it into a
standard directory and makes whatever other adjustments (creation of
symlinks, creation of entries in a database, etc.) are necessary so that
the script can be run at boot-time."
Beachte: "These files are installed by the install_initd program ..."
Meine Interpretation:
Man (Integratoren, Distributoren, Entwickler usw.) ist _verpflichtet_
install_initd zu verwenden, sobald eine "application" init.d-Scripte
verwendet
=> chkconfig oder insserv sind Implementierungsdetail.
Und noch ein Zitat:
"The comment conventions described in this session are only required for
use by LSB-compliant applications; system init scripts as provided by
LSB-compliant run-time environments are not required to use the scheme
outlined here."
Hiermit weicht der LSB sich selbst auf, indem er es Distributoren
freistellt, die install_initd zu verwenden, Applikationen (Und damit
deren Entwicklern) aber dazu verpflichtet.
Somit stellt sich die Frage wo "run-time environment" aufhört und wo
"application" anfängt. (Ist mysql Teil des "run-time-environments" oder
ist mysql eine "application"?).
Weitgehend Ansichtssache und nur z.T. vom LSB abgedeckt (network,
portmap sind z.B. vorgeschrieben, mysql z.B. aber nicht.).
Und nun versetz dich in die Rolle eines Entwicklers, Integrators,
SysAdmins o.ä. Sollte er inserv, chkconfig und was immer auch noch an
proprietären Tools existieren mag, kennen und berücksichtigen müssen?
Nein, da das nicht im Interesse eines (Industrie-) Standards liegen
kann.
Allerdings, steht aus meiner Sicht auch ausser Frage, dass der LSB nicht
unbedingt zu den "starken, defakto-normativen Standards" gehört und mehr
eine Art "kleinster gemeinsamer Nenner voller Widersprüche und
mehrdeutiger Aussagen Detail", mit in der Praxis an dieser Stelle nur
geringfügiger Bedeutung darstellt, .
Ralf
> Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx> [27 Oct 2002 05:17:52 +0100]:
>
> >[SuSE-8.1 und RH-8.0 besitzen /usr/lib/lsb/*_initd]
> >... warten wir auf den Tag, an dem die Distributoren anfangen, diese
> >Scripte auch zu verwenden
>
> Wozu? LSB ist dafür gedacht, das ISVs ihre Programme/Scripte nur
> einmal zu schreiben brauchen und diese dann auf LSB-konformen System
> ohne Änderung laufen (sofern sie sich an die Spezifikation halten).
> SuSE kann also problemlos weiterhin insserv verwenden.
Offensichtlich ist der LSB derart ungenau, dass er diese Möglichkeit
offenlässt.
> >und an dem die eigentlichen Bootscripte auch auf allen vorgeblich
> >LSB-kompatiblen Systemen ohne jegliche Änderung laufen.
>
> Auch hier habe ich den Eindruck, dass du den Sinn von LSB nicht so
> ganz verstanden hast (s.o.).
Wenn Du meinst.
Allerdings gibt es Stellen im LSB die Deiner Interpretation
widersprechen, z.B.:
http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/overpurp.html
"The Linux Standard Base (LSB) defines a system interface for compiled
applications and a minimal environment for support of installation
scripts. Its purpose is to enable a uniform industry standard
environment for high-volume applications conforming to the LSB."
Weiterhin, aus: http://www.linuxbase.org/FAQ.html
"# Who is the LSB Specification written for?
The LSB Specification is written for application developers and
platform/operating system developers. For the application developer, it
provides a set of rules which, when followed, will allow the completed
application to run on a variety of platforms. For the platform/operating
system developer it provides a minimal set of functionality required to
support all applications written to comply to the LSB Specification."
Hier ist explizit von "Application developer" und "Industrial Standards"
die Rede. Somit widerspricht Deine (und offensichtlich SuSE's)
Interpretation der Intension des LSB.
> Die Initscripte der Distributoren werden wahrscheinlich nie auf einem
> anderen System laufen, schon weil z.B. zusätzliche
> herstellerspezifische Headereinträge (die mit X-<hersteller> starten)
> ausgewertet werden, die zusätzliche Funktionalitäten bietet, die der
> Standard so nicht vorsieht. Ein Beispiel dafür sind die
> X-UnitedLinux-should-start Einträge.
Noch ein Zitat:
http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/initscrcomconv.html
"LSB applications which need to execute script(s) at bootup and/or
shutdown may provide one or more init.d files. These files are installed
by the install_initd program described below, which copies it into a
standard directory and makes whatever other adjustments (creation of
symlinks, creation of entries in a database, etc.) are necessary so that
the script can be run at boot-time."
Beachte: "These files are installed by the install_initd program ..."
Meine Interpretation:
Man (Integratoren, Distributoren, Entwickler usw.) ist _verpflichtet_
install_initd zu verwenden, sobald eine "application" init.d-Scripte
verwendet
=> chkconfig oder insserv sind Implementierungsdetail.
Und noch ein Zitat:
"The comment conventions described in this session are only required for
use by LSB-compliant applications; system init scripts as provided by
LSB-compliant run-time environments are not required to use the scheme
outlined here."
Hiermit weicht der LSB sich selbst auf, indem er es Distributoren
freistellt, die install_initd zu verwenden, Applikationen (Und damit
deren Entwicklern) aber dazu verpflichtet.
Somit stellt sich die Frage wo "run-time environment" aufhört und wo
"application" anfängt. (Ist mysql Teil des "run-time-environments" oder
ist mysql eine "application"?).
Weitgehend Ansichtssache und nur z.T. vom LSB abgedeckt (network,
portmap sind z.B. vorgeschrieben, mysql z.B. aber nicht.).
Und nun versetz dich in die Rolle eines Entwicklers, Integrators,
SysAdmins o.ä. Sollte er inserv, chkconfig und was immer auch noch an
proprietären Tools existieren mag, kennen und berücksichtigen müssen?
Nein, da das nicht im Interesse eines (Industrie-) Standards liegen
kann.
Allerdings, steht aus meiner Sicht auch ausser Frage, dass der LSB nicht
unbedingt zu den "starken, defakto-normativen Standards" gehört und mehr
eine Art "kleinster gemeinsamer Nenner voller Widersprüche und
mehrdeutiger Aussagen Detail", mit in der Praxis an dieser Stelle nur
geringfügiger Bedeutung darstellt, .
Ralf
| < Previous | Next > |