Wie vermeidet Ihre inkompatible Abhängigkeiten bei den Ports

SolarCatcher

Well-Known Member
Hallo Allerseits,

in den letzten Jahren habe ich immer mal wieder mit Free- und OpenBSD herumgespielt. Und jetzt ist der Zeitpunkt gekommen komplett meinen Laptop komplett auf FreeBSD umzustellen. Da muss ich natürlich noch einiges hinzulernen (komme bei der Arbeit von XP und habe privat seit Jahren nur noch Debian und später Ubuntu verwendet).

Nachdem ich mir schon beim freebsd-update von 8.0-BETA2 nach -BETA4 das System zerschossen habe (500 MB reichten wohl für die Boot-Partition im update-Prozess offenbar nicht aus...), habe ich es nun komplett neu aufgesetzt.

Problem 1: fam und gamin
Als erstes wollte ich xfce4 als DE installieren. Da ich Cups verwenden will also über die ports. Dazu verwendete ich portinstall. Leider bin ich dabei fast verrückt geworden: Es gab diverse Male Inkompatibilitäten, weil einige Programme fam und andere Gamin nutzen wollen. Ein entsprechender Eintrag in der make.conf ("WITH_FAM_SYSTEM=fam") scheint da nicht zu helfen. Letztlich habe ich beide mit -f installiert, damit die anderen Programe Ruhe geben und am Ende gamin wieder deinstalliert, fam zur Sichherheit nochmal installiert. Aber gibt es da keine einfachere/sicherere Lösung? Beim Googlen zum Thema habe ich immer nur Threads von 2006 gefunden, die sich offenbar mittlerweile erledigt haben.

Problem 2: Verschiedene Firefox-Versionen benötigt
Beim portinstall von xfce4 wurden leider auch verschiedene FF-Versionen benötigt. In einem Fall sogar www/firefox (also die 1.x-Serie). Allerdings ist diese "verboten" wegen zuvieler Sicherheitsprobleme. Dadurch ließ sich dann librsvg2 nicht installieren und dadurch dann letztlich auch nicht xfce4. Ich habe letztlich herausgefunden, dass man beim Konfigurieren von librsvg2 das Mozilla-Plugin abwählen sollte, damit www/firefox nicht benötigt wird.
Gleichzeitig hat ein oder mehrere Programme FF2 angefordert, obwohl ich natürlich die aktuelle 3er Version installieren möchte.
Frage auch hier: Gibt es eine globale Einstellung, die anweist, dass immer z.B. die 3er Version von FF verwendet werden soll? Oder kann man das zumindest per-Programm erreichen.


Und in diesem Zusammenhang auch noch eine Frage zu portinstall, die ich nirgends beantwortet gefunden habe: Wenn ich xfce4 installieren will, dann geht portinstall sämtliche Abhängigkeiten durch... kann ich das Ergebnis irgendwie abfragen (alle Abhängigkeiten sehen)? Dann hätte ich nämlich rasch sehen können, dass z.B. Firefox 1x und Firefox 2x installiert werden sollen. Und: Kann man auch feststellen, welche der zu installierenden Ports dafür verantwortlich sind (z.B. hätte es mir sehr geholfen, schneller herauszufinden, das librsvg2 dafür verantwortlich war den FF1 installieren zu wollen).

Fragen über Fragen - ich hoffe, Ihr könnt mir weiterhelfen. Schon einmal ganz herzlichen Dank.

SolarCatcher.
 
... und darum wird es Zeit, dass FreeBSD auf pacman umsteigt! *duck*

Nein, ganz im Ernst. :) Ich habe aehnliche Erfahrungen mit den Ports gemacht. Und ich habe nach einer Weile einfach nur resigniert und einfach alle Deps installieren lassen und hinterher nachgebessert. Da hatte ich dann zwar eine Menge Mist auf der Platte aber wenigstens konnte ich arbeiten.
 
Für devel/fam, anstatt devel/gamin,
in die
/etc/make.conf
:
reinschreiben:
Code:
WITH_FAM_SYSTEM=fam

Und dem portupgrade für devel/fam, anstatt devel/gamin,
in die
/usr/local/etc/pkgtools.conf
reinschreiben:
Code:
 ALT_PKGDEP = {
         'devel/gamin' => 'devel/fam',         
           }           

 MAKE_ARGS = {
        'devel/gamin' => 'devel/fam',         
           }

An der Gecko Neuordnung wird gearbeitet:
http://miwi.bsdcrew.de/2009/08/freebsd-geckos-todo-and-plan-for-future/
Der Plan des FreeBSD Gecko Teams:
https://trillian.chruetertee.ch/freebsd-gecko/wiki/TODO


Gruß, Fusselbär
 
Hmm, Gecko ist ein echtes Thema. Das Problem ist, die Firefox API ist nicht stabil und es kommen ja immer wieder große Entwicklungssprünge.

Die Sache wird etwas ruhiger, wenn man libxul oder xulrunner verwendet.

Das Konzept, dass jede Mozilla App mit der Engine kommt ist mir sowieso schleierhaft. Warum ist die Engine keine Library und Firefox und Thunderbird setzen darauf auf?
 
Versucht man das jetzt nicht für die Ports zu ändern?
Miwi hat die geplante Vorgehensweise in seinem Blog gepostet.

www/libxul ersetzt seit kurzem www/firefox (Version2) für einige Ports (UPDATING vom 20090917). Erste Erfolge sind also schon sichtbar. :)

mousaka
 
Zurück
Oben