Gentoo Archives: gentoo-user-de

From: Werner Jansen <jansenw@××××××.edu>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] USE="doc" ohne 100MB TeX?
Date: Wed, 27 Dec 2006 17:25:55
Message-Id: 20061227182314.059dd340@tinydancer.phaoust.de
In Reply to: Re: [gentoo-user-de] USE="doc" ohne 100MB TeX? by Vaeth
1 On Tue, 26 Dec 2006 13:52:19 +0100 (CET)
2 Vaeth <vaeth@××××××××××××××××××××××××.de> wrote:
3
4 >
5 > > Warum zum
6 > > Henker sollte ich auf meinem LDAP-Server LaTeX installieren? An
7 > > sich sehe ich hierfür keine Notwendigkeit.
8 >
9 > Und warum solltest Du dort gerade eine große Dokumentation
10 > installieren? Dafür ist Platz aber für LaTeX nicht?
11
12 Ja, weil mir die Dokumentation beim Betrieb des Servers hilft,
13 insofern der Platz sinnvoll investiert ist, der Nutzen ist es wert.
14 Darüberhinaus gehe ich davon aus, daß die Dokumentation in fast allen
15 Fällen wesentlich weniger Platz benötigt (sowohl binär als auch als
16 Source) als LaTeX (inkl Schriften usw usw).
17
18 >
19 > > > Und das, *obwohl* mit gcc - im Gegensatz zu LaTeX - nur
20 > > > Entwickler/Programmierer etwas anfangen können (außer zur
21 > > > Installation).
22 > >
23 > > [...] Insofern kann mit GCC jeder "etwas anfangen", wenn
24 > > ihn auch kaum jemand selbst aufruft. Ich glaube, ich habe in
25 > > meinem Leben noch nie einen gcc manuell gestartet (wenn man
26 > > make-Aufrufe nicht mitzählt), trotzdem würde ich seine
27 > > Notwendigkeit für ein Gentoo-System nicht in Frage stellen.
28 >
29 > Und genausowenig musst Du LaTeX zum Installieren der Dokumentation
30 > manuell starten. Wo war noch gleich der Unterschied?
31
32 Daß Du nicht verstehst, was ich meine, darin liegt der Unterschied.
33 Gerade noch hast Du behauptet, jeder will LaTeX, weil jeder seine
34 Dokumente damit schreibt, jetzt wiederum sagst Du, daß man es ja
35 nicht starten muß, wenn man nicht möchte. Was denn nun?
36 GCC gehört de facto nunmal zu Gentoo wie der Pinguin zu Linux. LaTeX
37 nicht zwangsweise, da nicht extrem viel Dokumentation mit TeX
38 geschrieben ist. Daher halte ich LaTeX nicht für notwendig, GCC aber
39 schon. Gib mir ein LaTeX, das maximal 15MB groß ist und mir meine
40 Dokumentation erstellt, und es ist in Ordnung. Hunderte von MB für
41 verschiedene Dokumentencompiler zu installieren, sehe ich jedoch
42 nicht wirklich ein. Wie bereits geschrieben, demnächst kommt einer
43 auf die (durchaus naheliegende) Idee, seine Dokumentation mit
44 OpenOffice zu schreiben. Muß ich das dann auf einer Servermaschine
45 installieren, nur um die Dokumentation der Software lesen zu können?
46 Das ist ja fast so dämlich wie unter Windows, wo ich Mailing APIs und
47 Excel-Dateien m.W. aus eigener Software nur dann verwenden kann, wenn
48 ich Office bzw. Outlook & Excel installiert habe.
49
50 > > > Erstens kann der "Binärcode" (also z.B. das erzeugte PDF)
51 > > > durchaus von Features der LaTeX-Version und/oder des Viewers
52 > > > abhängen, die Dokumenatation könnte sogar indirekt von
53 > > > USE-Flags abhängen (etwa dass Pfade in der Doku angepasst
54 > > > werden oder dass nicht unterstützte Features auch nicht
55 > > > dokumentiert werden) (auch wenn beides wohl nicht die Regel
56 > > > ist),
57 > >
58 > > Das halte ich persönlich und aufgrund meiner Erfahrung in größeren
59 > > Unternehmen für keine gute Lösung.
60 >
61 > Die Entscheidung diesbezüglich trifft aber der Paketautor, daran
62 > kann man so oder so nichts ändern (wenn man nicht selbst die
63 > Dokumentation schreibt oder den Autor kontaktiert o.ä.).
64 > Dass Pfade u.ä. an die lokalen Gegebenheiten angepasst werden, ist
65 > durchaus üblich (und m.E. auch sinnvoll).
66
67 Das wäre mir neu. In welcher Dokumentation, die ich mit dem USE-Flag
68 "doc" aktivieren kann, wird das genau so gemacht?
69
70 >
71 > > Wenn das Dokument immer das gleiche ist, fällt die Versionierung
72 > > wesentlich leichter.
73 >
74 > Versioniert werden die Sourcen, und die können aber eben
75 > verschiedene Binaries erzeugen.
76
77 Wenn ich aber hier eine Mail in die Liste schreibe, daß ich ein
78 Problem mit der Software XY habe, sie aber "laut Handbuch"
79 eingerichtet habe, wird die Unterhaltung sich nicht um die Sourcen
80 der Dokumentation, sondern um die Dokumentation selbst (bzw. das
81 compilierte Ergebnis) drehen. Daher meine Aussage, daß die
82 Dokumentation als solches in der gleichen Version konsistent sein
83 muß, damit alle vom gleichen reden. "Auf Seite x im Kapitel y stand,
84 daß ...". So etwas funktioniert nur, wenn die Seiten und Kapitel
85 gleich sind. Daher meine Meinung über homogene Dokumentation.
86
87 >
88 > > Auch wenn
89 > > man sich über das Dokument oder Teilen davon unterhält,
90 > > funktioniert das nur, wenn jeder Beteiligte vom selben Dokument
91 > > spricht.
92 >
93 > i.D.R. spricht man nicht über das Dokument, sondern über die
94 > Sachfragen, die darin geklärt werden. Wenn die Kommunikationspartner
95 > nicht exakt das selbe System benutzen (in dem Fall haben sie
96 > natürlich ohnehin die identische Dokumentation), gibt es ohnehin
97 > immer wieder Unterschiede in der Dokumentation.
98
99 Bei der Beantwortung von Sachfragen wird aber immer wieder auf die
100 Informationsquelle verwiesen. Wie soll Zitieren funktionieren, wenn
101 es keine einheitliche Repräsentation der Dokumentation gibt?
102
103 > > Jedoch halte ich es für ein Gerücht, daß man
104 > > Binärdaten nicht gut patchen kann. Meistens werden die Dateien
105 > > ausgetauscht, CVS kann keine diffs für Binärdaten erstellen, das
106 > > stimmt. Aber das ist nicht ein Problem der Binärdateien, sondern
107 > > eines der Tools. :)
108 >
109 > Ein solches Tool kann es aber prinzipiell nicht geben.
110
111 Öhm, warum sollte es ein solches Tool nicht geben können? Beim
112 Patchen geht es darum, ein paar Bytes durch andere auszutauschen.
113 Wird die Datei dadurch länger und es verschieben sich im Falle von
114 Binärdateien Adressen o.ä., müssen entsprechend mehrere Stellen
115 angepaßt werden können. Die Frage ist hier nur, wo das Tool zum
116 Patchen ansetzt: Im reinen Datenstrom der Datei oder in der
117 Repräsentation der Daten (z.B. Zellen in einem Sheet). Ersteres ist
118 trivial, bei zweiterem muß das Patch-Utility die Semantik der Datei
119 kennen. Was das textbasierte Tool ja mehr oder weniger auch tut (es
120 kennt z.B. "Zeilen", es weiß, daß es sich um Text handelt, usw).
121
122 > Ich dachte beim Patchen von Dokumentation an so Sachen wie
123 > "An diesem Rechner ist noch zusätzlich die Option -x hineingepatcht
124 > worden, die bewirkt, dass ..."
125 > der eingefügte Absatz kann eine vollkommen andere Formatierung von
126 > anderen Seiten nach sich ziehen (ev. mit verschobenen
127 > Tabellen/Bildern, die dann ebenfalls anders platziert werden
128 > müssen), was man ohne Kenntnis des "geplanten" Layouts (sprich: der
129 > latex-sourcen) nicht automatisch nur am PDF alleine verändern kann.
130
131 Warum nicht? Generier Dir ein PDF ohne die Änderung, generier Dir
132 eins mit der Änderung und laß Dir (mit einem geeigneten Tool) ein
133 Binärdiff erstellen. Wo ist das Problem?
134
135 Gentoo versucht, sich so nah wie möglich an den offiziellen Quellen
136 zu halten. Wenn es Binärpakete für Dokumentation geben würde, könnten
137 die
138 - ausschließlich die offiziellen Inhalte besitzen
139 - die spezifischen mit integriert haben, solange sie unabhängig von
140 der Plattform sind.
141 - eigene PDFs (als Beispiel) generieren mit den Änderungen.
142
143 usw. Möglichkeiten gäbe es genug.
144
145 >
146 > > Ich wiederhole mich nur ungern, aber wir reden schon von Gentoo?
147 > > Sorry Bernd, für die ausgeliehene Floskel :)
148 > > Gentoo _lebt_ davon, daß man sich die benötigten Softwarepakete
149 > > aus den Weiten des Internets herunterlädt.
150 >
151 > Die *Source*-Pakete, nicht die *Binär*-Pakete.
152
153 Ach? Opera ist also ein Source-Paket? VMWare ist auch eines? Wie
154 sieht es aus mit den TrueType-Schriften? Wie Du siehst, es müssen
155 nicht zwangsweise Quellpakete sein, die heruntergeladen werden. Warum
156 also sich darauf beschränken? Portage ist so flexibel, daß es nicht
157 vorschreibt, was mit den heruntergeladenen Dateien passieren muß. Was
158 spricht also dagegen, diese Flexibilität zu nutzen?
159
160 > > Natürlich ist Bandbreite begrenzt, natürlich ist es keine
161 > > unendlich vorhandene Ressource.
162 > > Aber die 2-3MB Dokumentation machen es bei Gentoo nun wirklich
163 > > nicht aus.
164 >
165 > Pro größerem Paket und *bei jedem Versionsupdate jedes Pakets
166 > erneut*.
167
168 Wenn der Nutzer das USE-Flag aktiviert hat, ja. Ansonsten nein. Aber
169 das kann ja jeder für sich selbst
170 entscheiden. /etc/portage/package.use existiert und funktioniert.
171
172 > > 1. diese (laut aktuellem Stand der Unterhaltung von Bernd und
173 > > mir) nur heruntergeladen würde, wenn das "doc" USE-Flag gesetzt
174 > > ist oder die Doku explizit "emerged" wird. M.a.W. es kann sich
175 > > jeder selbst aussuchen, ob er das Doku-Paket möchte oder nicht.
176 >
177 > Aber der häufigste Fall für den Normalbenutzer ist:
178 > Die Dokumenatation möchte er (installiert) haben, dazu aber
179 > nicht ein riesiges Binärpaket ziehen, das der Rechner automatisch
180 > aus den bereits ohnehin vorhandenen Sourcen erstellen könnte.
181
182 Warum stellst Du an dieser Stelle wieder Annahmen auf, die so nicht
183 stimmen (können)? Wenn dem so wäre, wäre das "doc" USE-Flag per
184 default aktiviert. Ist es aber nicht.
185 Meine Vermutung wäre daher, daß das Gros der Nutzer _keine_
186 "erweiterte Dokumentation" (wie durch "doc" erzeugt) auf ihrem
187 Rechner hat.
188 Ich für meinen Teil hatte es noch nie global aktiviert, sondern nur
189 für ausgewählte Packages, von denen ich die Doku haben wollte. Sieh
190 Dir einmal an, was sich auf Deinem System befindet, wenn Du ein Paket
191 installiert hast: die Man pages, ein paar Info-Dateien und Dinge wie
192 "README" usw. im /usr/share/habsvergessen.
193
194 Vielleicht sollten wir klären, was ich mit Dokumentation meine. Es
195 geht mir nicht um die o.g. Dinge, die ohnehin auf dem System landen.
196 Es geht mir um die "erweiterte" Dokumentation, über deren Existenz
197 ich über das USE-Flag "doc" entscheiden kann. Entweder global (wer
198 macht denn sowas?) oder für ausgewählte Pakete.
199
200 >
201 > > 2. Kann ich wirklich viele, viele, viele, Doku-Pakete
202 > > herunterladen, bis ich bei den 100MB LaTeX bin, die ich nur als
203 > > Sekundärabhängigkeit benötige in diesem Zusammenhang.
204 >
205 > 10 größere Pakete mit je 5 Updates, schon ist man bei
206 > "unentschieden".
207
208 Richtig. Kerberos-Server: 1 Dokumentation von "mit-krb5", 1
209 Samba-Server mit "doc" bei Samba aktiviert. 1 DHCP-Server mit "doc"
210 aktiviert. Macht aus dem Ärmel geschüttelt 3 Dienste, also 3mal
211 Dokumentation. Auch unter der Annahme, daß DHCP eine repräsentativ
212 große Dokumentation hat (was ich nicht glaube), kann ich so 3 Pakete
213 je 16,6mal aktualisieren (um bei Deiner Rechnung mit insges. 50
214 Updates zu bleiben), bevor ich den einmaligen Download von LaTeX
215 erreicht habe. Das aber auch nur, wenn das /usr/portage/distfiles/
216 unter den verschiedenen Servern geteilt wird, also bereits eine
217 Optimierung stattgefunden hat. Keine besonders günstige Rechnung für
218 LaTeX. Für Gentoo-Releases ("-rX") muß sich die Abhängigkeit zum
219 Binärpaket der Dokumentation wohl oft nicht ändern, ähnlich
220 könnte es für kleinere Versionswechsel (3.2.4 auf 3.2.5 z.B.) sein.
221 Wenn es nur Bugfixes sind, ändert sich die Dokumentation unter
222 Umständen gar nicht. Daher wird die obige Rechnung noch weiter zu
223 Ungunsten von LaTeX verschoben.
224
225 >
226 > > Und ich bedanke mich, wenn ich über 100MB LaTeX dafür ziehen muß,
227 > > daß mir portage ein paar PDFs oder PS-Dateien erstellen kann, die
228 > > dann zusammengerechnet grad mal ein paar MB ausmachen.
229 >
230 > Dann mach Dir Binary-Pakete und installiere diese - genau dafür sind
231 > sie gedacht.
232
233 Öhm, und wo erstelle ich die Binary-Pakete? Auf einem Rechner, auf
234 dem LaTeX installiert ist? Dann mußte ich es ja doch herunterladen.
235 Also nichts gewonnen.
236
237 Außerdem bin ich immer noch der Meinung, daß die Dokumentation nur in
238 einem vernachlässigbar geringen Teil dynamisch angepaßt wird an die
239 Umgebung. Wenn die Dynamik so stark wäre, wie könnten dann viele
240 Softwareprojekte ihre Dokumentation in "Binärform" (PDF, PS, HTML)
241 online zur Verfügung stellen?
242
243 >
244 > > Der "megabyteweise" Download von Dokumentation ist zielgerichtet:
245 > > Es wird das heruntergeladen, was ich auf meinem System haben will.
246 >
247 > ...für die aktuelle Version des Pakets.
248 > Wenn Du alles nur "zielgerichtet" installieren willst, benutze
249 > Binary-Pakete.
250
251 Natürlich für die aktuelle Version des Pakets, für eine veraltete
252 bringt mir die Dokumentation nichts und für die noch nicht
253 erschienene werde ich wohl kaum Dokumentation finden. Was hat
254 zielgerichtet mit Binarypaketen zu tun?
255
256 >
257 > > Wenn jedoch, um das zu erstellen, was ich haben will, mein System
258 > > sich derart aufbläht, daß man nicht mehr von einem schlanken
259 > > System sprechen kann
260 >
261 > latex bläht genausosehr oder genausowenig auf wie gcc.
262 > Wenn Du keine Installationstools auf dem System haben willst,
263 > benutze Binary-Pakete.
264
265 LaTeX ist für mich kein Installationstool, es ist eine umfangreiche,
266 komplexe, eigene Umgebung, weit entfernt von dem, was ich noch als
267 "Tool" bezeichnen würde. Für den Zweck, eine meist statische
268 Dokumentation zu erzeugen, ist es für mich gleich 2mal kein
269 Installationstool.
270
271 >
272 > > Was kommt dann als nächstes? Muß ich openoffice
273 > > installieren, um die Doku erzeugen zu können, weil er aus einem
274 > > OpenOffice-Dokument PDF erzeugen will? Das Ganze auf einem
275 > > Rechner, wo ich nur (z.B.) DNS, DHCP samt kompletter Doku haben
276 > > möchte? Diese Reihe läßt sich fortsetzen ...
277 >
278 > Das sind gute Gründe für die Benutzung für Binary-Pakete,
279 > aber kein guter Grund, alle anderen Benutzer zu
280 > Binary-Paketen/-Dokumentation zu zwingen.
281
282 Der einzige, wer hier von zwingen redet, bist Du. Es zwingt doch
283 niemand einen, dieses USE-Flag (dessen Existenz ich jetzt
284 unterstelle), das Binärdokumentation installiert, deaktiviert zu
285 lassen. Wenn ichs nicht will, dann nicht. Wenns jemand will, kann ers
286 tun. Wenn er Binary-Pakete auch für die Software will, kann er die
287 installieren, wenn er die Software compilieren, aber die Doku als
288 Binärpaket haben will, um sich nicht LaTeX, SGML-Tools, FileMaker,
289 OpenOffice und was weiß ich nicht noch alles auf den Rechner
290 installieren zu müssen, dann könnte er das auch tun. Warum lehnst
291 Du es so kategorisch ab, nur weil Du es nicht brauchen kannst?
292
293 >
294 > > > Was man ohne Portage-Änderung machen könnte, wäre
295 > > > möglicherweise ein Auslagern der LaTeX-Dokumentation in eigene
296 > > > Pakete, die man dann entweder "normal" (also mit LaTeX)
297 > > > installieren kann oder halt von einem Binärserver als
298 > > > Binärpakete (mit emerge -k o.ä.) installieren kann.
299 > >
300 > > Oder siehe meine letzte Mail: Die Quellen bleiben so, wie sie
301 > > sind. Eine Aktivierung eines "doc"-USE-Flags (oder ein
302 > > "doc-binary") erzeugt eine Abhängigkeit zum Doku-Paket, in dem die
303 > > Dokumentation im Binärformat enthalten ist.
304 >
305 > Der Unterschied ist, dass man mit dem "doc"-USE-Flag bisher
306 > die Dokumentation aus den Sourcen bekam (soweit vorhanden),
307 > man nach Deinem Vorschlag aber zusätzliche Daten herunterladen muss.
308
309 Muß man nicht. Nur wenn das USE-Flag aktiviert ist. Dann ist davon
310 auszugehen, daß dieser Download gewünscht ist. Und zusätzliche Dateien
311 muß ich auch herunterladen, wenn ich LaTeX nicht installiert habe. Da
312 hier bereits feststeht, daß dieser Vergleich ungünstig für LaTeX
313 ausgeht (1. größerer Download, 2. mehr Zeit zum Compilieren), kann das
314 Argument also nicht auf den Download aus sein. Worauf willst Du
315 hinaus?
316
317 > Wenn Du *zusätzlich* zu dem doc-Useflags auch ein doc-binary-Useflag
318 > einführen willst, habe ich nichts dagegen.
319
320 <sarkasmus>
321 Das ist aber nett, daß ich da von Dir die Genehmigung bekäme. Hab ich
322 das nicht bereits geschrieben, daß ich mir ein "bindoc"-Flag
323 vorstellen könnte?
324 </sarkasmus>
325
326 > Ob dieser enorme zusätzliche Aufwand aber von
327 > den .ebuild-Maintainern begeistert aufgenommen würde, wage ich zu
328 > bezweifeln...
329
330 Um Dich zum wiederholten Male auf etwas hinzuweisen: Es würde (wenns
331 nach meinem Vorschlag ginge) weder der Benutzer noch der Maintainer
332 gezwungen, diese Pakete a) zu erstellen oder b) zu nutzen. Ich
333 persönlich sähe einen Gewinn in dieser Vorgehensweise und wollte
334 diese zur Diskussion stellen.
335 Unter "Diskussion" verstehe ich, sich konstruktiv über Vor- und
336 Nachteile der Sache auszutauschen (siehe Mail-Austausch mit Bernd,
337 den ich als Diskussionspartner schätze), nicht
338 aber, unhaltbaren Behauptungen "Jeder will LaTeX auf seinem Computer
339 haben!" erst einmal mühsam den Bezug zur Sache entnehmen zu müssen.
340
341 Noch einmal ganz langsam:
342
343 1. Es geht nicht nur um den verschwendeten Platz.
344 2. Ein Server braucht nunmal kein LaTeX (in den meisten Fällen).
345 3. Ich halte meine Server gerne schlank, darum laufen sie ja unter
346 Gentoo. Nur wirklich benötigte und aktivierte Abhängigkeiten sind
347 installiert. LaTeX mit seinen Abhängigkeiten fällt bei einem
348 schlanken System prozentual durchaus ins Gewicht. Und wozu? Um eine
349 Dokumentation zu generieren, die sich in den meisten Fällen zwischen
350 den Systemen/Plattformen nicht unterscheidet. Wo ist hier der Vorteil
351 des "selbstcompilierens"? Ich sehe keinen.
352
353 Daher hatte ich die Idee, eine bereits erzeugte Doku als eigenes
354 Paket anzubieten. Und damit der Nutzer diese Pakete nicht eigens
355 suchen muß, bei Aktivierung eines USE-Flags (das von mir aus auch
356 "Steckerlfisch" heißen kann) die Binärdoku als Abhängigkeit geladen
357 und installiert wird.
358
359 > > Das Paket auf einem anderen Rechner (z.B. Desktop-Rechner) mit
360 > > "doc" emergen und dort lesen, wo LaTeX ohnehin installiert ist?
361 > > (halte ich für häßlich, die ganzen Pakete irgendwo rumliegen zu
362 > > haben)
363 >
364 > Wieso "rumliegen haben"?
365 > Auf dem "Mutterrechner" (der zum Kompilieren geeignet ist -
366 > wenn man keinen solchen hat, ist vermutlich ohnehin eine
367 > Binärdistribution besser geeignet)
368 > hat man ein sh-Skript, das ein geeignetes USE exportiert und dann
369 > exec emerge -1B "${@}"
370 > ausführt. Auf dem Laptop (oder Server mit knappem Plattenplatz -
371 > gibt es so etwas bei einem Server wirklich?) hat man ohnehin schon
372 > EMERGE_DEFAULT_OPTS="-k"
373 > gesetzt und installiert dann das Binary-Paket.
374
375 Ich weiß nicht, was Du für Klimmzüge machst, aber meine Server
376 compilieren ihre Software meistens selbst. Manchmal auch gemeinsam
377 (distcc). Da sie immer wieder unterschiedlich in den Anforderungen
378 sind, unterscheiden sich USE-Flags und CFLAGS (mindestens) nicht
379 unwesentlich, daher erstelle ich Binärpakete nur zum "Rollback" nach
380 einem evtl. fehlgeschlagenem Update. Wenn ich das nicht wollte, könnte
381 ich auch eine Binärdistribution hernehmen, die mir hunderte von
382 Paketen als Pseudoabhängigkeit installiert, bloß weil das Binärpaket
383 gegen alles mögliche gelinkt ist. Genau das vermeide ich mit Gentoo.
384
385 Insofern stimmt Deine Annahme, daß "man ein sh-Skript [hat], das
386 ein geeignetes USE exportiert ..." nicht. Wozu soll
387 ein "Mutterrechner" gut sein? Weder meine Kunden noch ich haben
388 einen leistungsstarken Server übrig, den man für
389 Systemupdate-Aufgaben abstellen kann bzw. will.
390 Das, was Du machst, hört sich für mich nach einer im universitären
391 Umfeld typischen Lösung an. Vor allem in der Physik und
392 Mathematik. :)
393 Nicht alle machen es so wie Du. Was die anderen Lösungen weder als
394 besser noch als schlechter klassifiziert. Das ist das schöne an
395 Gentoo ...
396
397 Viele Grüße,
398
399 Werner
400
401 --
402 gentoo-user-de@g.o mailing list