Diskussion:Pkg-config

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 17 Jahren von Thiemo Mättig in Abschnitt Verbesserungswünsche
Zur Navigation springen Zur Suche springen

Verbesserungswünsche[Quelltext bearbeiten]

Es wird leider noch nicht so richtig klar, woher pkg-config seine Informationen bezieht. Im Text ist von Dateien mit der Endung .pc die Rede. Was passiert, wenn pkg-config diese .pc-Dateien nicht findet, weil sie nicht existieren oder selbst in einem unbekannten Verzeichnis liegen? Kommt man dann nicht sprichwörtlich vom Regen in die Traufe? Wie wird sichergestellt, dass alle Bibliotheken .pc-Dateien mitliefern? Handelt es sich um einen Quasi-Standard, der sich mit der Zeit von selbst durchgesetzt hat? Wenn ja, wer oder welches Projekt war maßgeblich für die Verbreitung dieses Standards verantwortlich? Seit wann genau existiert pkg-config und seit wann etwa können sich Programmierer auf die Existenz der pkg-config-Metadaten verlassen? --TM 14:36, 13. Apr. 2007 (CEST)Beantworten

  • .pc-Dateien können überall liegen, es werden die Verzeichnisse in der Umgebungsvariable PKG_CONFIG_PATH durchsucht. Diese kann man beliebig erweitern, z.B. PKG_CONFIG_PATH=/Verzeichnis1:/Verzeichnis2:/Verzeichnis3... Der vorgegebene Wert ist distributionsabhängig, aber meistens /usr/lib/pkgconfig:/usr/share/pkgconfig. pkg-config hieß übrigens früher pkgconfig, der Name ohne Bindestrich wurde im Suchpfad aus Kompatibilitätsgründen beibehalten, das Programm an sich ist aber umbenannt.
  • Es bleibt den Bibliotheken selbst überlassen, ob sie .pc-Dateien mitliefern oder nicht. Allerdings können Bibliotheken, die eine Abhängigkeit zu einer anderen Bibliothek haben, die keine .pc-Datei installiert, diese Bibliothek in ihrer eigenen .pc-Datei aufführen. Man muss immer nur die letzte Bibliothek in der Abhängigkeitskette abfragen, weil alle Abhängigkeiten rekursiv ausgegeben werden.
  • Es handelt sich tatsächlich um einen Quasi-Standard, der sich von GNOME über verschiedene kleinere Einzelbibliotheken bis zu X.org durchgesetzt hat.
  • pkg-config wurde ursprünglich vom GNOME-Entwickler Havoc Pennington entwickelt, um die bis dahin üblichen, in jedem einzelnen Paket duplizierten *-config-Skripte abzulösen. Der Zweck ist vergleichbar mit Vorlagen in der Wikipedia: Anstatt bspw. in jedem Artikel zu einem bestimmten Thema eine Tabelle von Grund auf neu zu schreiben, hat man eine Vorlage, die man nur noch mit Datenfeldern ausfüllen muss. pkg-config funktioniert ganz ähnlich.
  • pkg-config existiert seit 2001. Man kann sich nicht grundsätzlich darauf verlassen, dass eine Bibliothek *.pc-Dateien installiert, sondern man muss es vorher wissen und, wenn keine *.pc-Datei existiert, anders testen, z.B. auf dieselbe Art, wie es gemacht werden musste, bevor es pkg-config gab. Mit autoconf kann man problemlos pkg-config und andere Abfragemethoden mischen. --217.232.158.33 15:08, 13. Apr. 2007 (CEST)Beantworten
Diese interessanten Informationen fehlen alle im Artikel. Schreibst du das bitte noch hinein (in etwas gestraffter Form)? --TM 21:05, 13. Apr. 2007 (CEST)Beantworten

Informationssammlung[Quelltext bearbeiten]

  • Vorgänger war gnome-config mit hartkodierten Werten. Nicht erweiterbar und nur für GNOME benutzbar. [1]
    • Stimmt nicht, war erweiterbar mittels *Conf.sh-Dateien, aber krückenhaft.
  • Erstes Posting des Threads, aus dem pkg-config hervorging:
  • Aus dem Changelog:
    • 2000-06-06: Erster Changelog-Eintrag.
    • 2000-07-18: C version is not finished, don't release a tarball yet. ;-)
    • 2000-10-17: Makefile.am: Change to use C version only. release 0.4.0
  • Erstes Release:
    • 2000-06-08: [3]
  • Erstes GNOME-Release, das nur noch pkg-config nutzt, war 2.0
    • 2002-06-26: Release GNOME 2.0 [4]
  • Umbenennung
    • 2005-06-27: configure.in: Rename to pkg-config.
  • Erstes modulares X.org-Release, d.h. nutzt pkg-config für alles:
    • 2005-12-05. [5]