[PATCH] Integration von xsltproc/libxslt

make

Neuer User
Mitglied seit
15 Feb 2008
Beiträge
123
Punkte für Reaktionen
0
Punkte
16
Ich bin auf der Suche nach xsltproc. xsltproc ist Bestandteil von libxslt. Bevor ich mich selber an die Arbeit mache daher die Frage, ob vielleicht schon jemand ein Paket dafür bei sich rumliegen hat?
Für den Fall dass das nicht so ist, gleich noch die Frage ob daraus besser zwei Pakete gemacht werden sollten (eins für die xsltproc und eins für die shared libraries) oder ob xsltproc als Option bei einem shared library-Paket angesiedelt werden sollte.

Falls sich jetzt jemand wundert, warum man ernsthaft die Box mit xslt quälen will: ich möchte gerne eine abgewandelte Version von record.sh (mehr dazu hier) auf der Box laufen lassen.

UPDATE:
Anbei ein patch zur Integration von libxslt-1.1.26 in das image. Damit die libxslt sich übersetzen lässt, muss libxml2 mit der Option --with-html gebaut werden. Hab ich als Konfigurationsoption umgesetz, default ist die bisherige Konfiguration (kein html parser).

UPDATE #2:
Von er13 vorgeschlagene Änderungen eingebaut. Als Dependencies habe ich nur das absolute Minimum übrig gelassen (libxml2), da libxml2 alle von libxslt benötigten Dependencies bereits definiert.

Ich sehe eine Warnung beim Zusammenbauen (WARNING: Library libxml2_WITH_HTML selected, but no files found). libxml2_WITH_HTML war nur als Option gedacht, über die das --with-html beim libsml2-Build getriggert wird. Wie kann ich das erreichen, ohne die Warnung beim Image-Zusammenbauen am Ende des Builds auszulösen?

UPDATE #3

Patch für xsltproc angehängt.

UPDATE #4
Tippfehler in make/xsltproc/Config.in korrigiert
 

Anhänge

  • libxslt-1.1.26.patch.txt
    5.5 KB · Aufrufe: 4
  • libxslt-1.1.26.tgz
    1.1 KB · Aufrufe: 4
  • xsltproc.patch.txt
    1.5 KB · Aufrufe: 3
  • xsltproc.patch.tgz
    918 Bytes · Aufrufe: 4
Zuletzt bearbeitet:
Grundsätzlich sehr gut, folgende Kleinigkeiten sind mir beim "Lesen der Patches" aufgefallen :)

Code:
===tools/external
-[ "$EXTERNAL_FREETZ_LIB_libxslt" == "y" ] && EXTERNAL_FILES+=" /usr/lib/freetz/lib[B]e[/B]xslt.so.1.1.26"
+[ "$EXTERNAL_FREETZ_LIB_libxslt" == "y" ] && EXTERNAL_FILES+=" /usr/lib/freetz/libxslt.so.1.1.26"

===make/libs/external.in
config EXTERNAL_FREETZ_LIB_libxslt
-	depends on EXTERNAL_ENABLED && FREETZ_LIB_libslt
+	depends on EXTERNAL_ENABLED && FREETZ_LIB_lib[B]x[/B]slt

Sind die in Config.in aufgeführten Abhängigkeiten alles direkte Abhängigkeiten oder sind da auch transitive vorhanden. Bitte direkte beibehalten, alle transitiven entfernen (z.B. zlib ist in Config.in vorhanden, im Makefile fehlt aber das entsprechende DEPENDS_ON, daher starke Vermutung transitive Abhängigkeit).

Code:
===libxslt.mk
$(PKG)_CONFIGURE_OPTIONS += --disable-dependency-tracking
Hmm, wieso das denn? Bitte entfernen.

Streng genommen, müsste man in libxslt.mk FREETZ_LIB_*xslt Optionen berücksichtigen und nur den Optionen entsprechende Libraries ins StagingDir installieren. Beim Verstellen der Optionen im menuconfig müsste man diese wieder entfernen (analog mutlibinary-Paketen). Ist aber zu aufwendig und führt nur dann zu Problemen, wenn das abhängende Paket falsch seine Abhängigkeiten definiert. Daher nichts machen :)


Und Kommentare, möchtest Du, dass diese mitcommitted werden oder darf ich sie entfernen?
 
Vielen Dank für deine Rückmeldung. Die Cut&Paste-Fehler ... kann man 100mal draufschauen und sieht es trotzdem nicht. Danke!

Wegen der Dependencies hast du recht. Da ich keine Infos dazu gefunden habe, habe ich mich für vollständige Abhängigkeiten entschieden. Ich schaue mir das nochmal an, und entferne die rein transitiven Dependencies. Wie soll ich verfahren für den Fall, dass ein Paket gleichzeitig direkt von Library X abhängt und die Abhängigkeit aber auch transitiv über Library Y besteht?

Streng genommen, müsste man in libxslt.mk FREETZ_LIB_*xslt Optionen berücksichtigen und nur den Optionen entsprechende Libraries ins StagingDir installieren.
Hmmm, ja, darüber lässt sich diskutieren. Meine Überlegung war, dass die Libraries im ersten Schritt im Staging/Toolchain-Verzeichnis installiert werden, dort also eine vergleichbare Funktion haben wie die Installation eines xyz-devel-Pakets in einem lokalen Linux. Wenn man deinen Gedanken zuende denkt, müsste man konsequenterweise auch Headerfiles oder Dateien, die in das Toolchain-bin-Verzeichnis kopiert werden, je nach ausgewählten Optionen löschen.

Und Kommentare, möchtest Du, dass diese mitcommitted werden oder darf ich sie entfernen?
Nehme ich wieder raus. Aus meiner (Einsteiger-)Perspektive wären mehr Kommentare für mich selber schon das ein oder andere Mal recht hilfreich gewesen, deswegen tendiere ich wohl dazu, möglichst viel zu kommentieren.

Vielleicht kannst du nachher nochmal auf das xsltproc-Paket schauen (hänge ich später hier im Thread an). Ich habe da eine eher unorthodoxe Lösung gewählt. Ich könnte mir vorstellen, dass du einen Vorschlag hast, wie man das verbessern könnte ;)
 
@make: eingecheckt in 4744. Danke!
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,295
Beiträge
2,249,594
Mitglieder
373,893
Neuestes Mitglied
Kukkatto
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.