GPN17:Die manpages.debian.org-Modernisierung: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 15: Zeile 15:


* [https://manpages.debian.org manpages.debian.org]
* [https://manpages.debian.org manpages.debian.org]
* [https://entropia.de/Datei:Manpages.d.o_GPN17.pdf Folien (PDF, 445K)]




{{Navigationsleiste GPN17:Vorträge}}
{{Navigationsleiste GPN17:Vorträge}}

Version vom 27. Mai 2017, 22:28 Uhr

Ein Vortrag von Michael Stapelberg auf der GPN17.

Ein paar statische Seiten ausliefern klingt einfach. Manpages von einem Betriebssystem auszuliefern klingt wie etwas, was schon etliche Male erledigt wurde. Wenn man jedoch ein bisschen genauer hinschaut, stellt man schnell fest, dass man einige Wochen darauf aufwenden kann, wenn einem die Details wichtig sind.

Als einfaches Beispiel: man kann nicht einfach alle Dateien unter /usr/share/man/ extrahieren. Schließlich enthalten unterschiedliche Debian-Binärpakete Manpages mit dem selben Namen: mysqld(8) ist beispielsweise sowohl in mariadb-server-core-10.0 als auch in mysql-server-core-5.5 enthalten.

Generell, wenn man lediglich Manpages aus Paketen extrahiert, macht man es sich zu einfach. Beliebte Pakete wie vi(m) oder ganeti benutzen das Konzept der „slave alternative“-Symlinks, damit die Manpage /usr/share/man/man1/vi.1 auch auf genau die derzeit bevorzugte/installierte Variante von vi (oder Version von ganeti) zeigt. Diese Indirektion wird zur Installationszeit (!) von einem shell-Script (!) aufgesetzt.

Zu diesem inhärent schwierigen Datensatz kommen hohe Ansprüche an moderne Websites und betagte Hardware als Laufzeitumgebung hinzu, und schon steht man vor einem interessanten Problem.

Kommt zu meinem Vortrag für haufenweise interessante Details und Fun-Facts!

Links