BSDForen.de  

Zurück   BSDForen.de > Howtos und Tutorials > Howtos

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 29.06.2004, 14:13   #1
asg
push it, don´t hype
 
Benutzerbild von asg
 
Registrierungsdatum: Dec 2002
Ort: Lat 49' 11` Nord - Long 9' 13` Ost
Beiträge: 6.075
xorg howto (xorg anstatt XFree86 nutzen)

Als Ersatz für Xfree86 gibt es in den Ports xorg welches vielen mittlerweile wegen der Lizenzänderung bei Xfree86 sympatischer ist.
Die Umstellung ist weit weniger schwierig als sich die meisten eventuell denken, daher dieses kleine Howto.

System:
FreeBSD 4.10-STABLE mit Xfree86 installiert (ebenso wie blackbox, OO.org,...)

(1) Deinstallation von Xfree86 und imake-4:
Zuerst müssen alle installierten Xfree86 Ports deinstalliert werden. Hierzu nimmt man am besten ?pkg_deinstall? (aus der Sammlung von portupgrade) und den Schalter ?-f? (der die deinstallation trotz bestehender Abhähngigkeiten durchführt).
Code:
pkg_deinstall -f $Xfree86-Port pkg_deinstall -f imake
Wer danach versucht ein "portversion" (in der Sammlung von portupgrade) aufzurufen, wird sehen das den entsprechenden Programmen die Abhängigkeiten zu Xfree86 fehlt.
Die Deinstallation von imake ist nötig da xorg ein eigenes imake nutzt, imake-6.


(2) Installation von xorg und imake-6:
Für "xorg" gibt es einen sogenannten "Meta-Port" der alle nötigen xorg Ports gleich mitinstalliert:
Code:
/usr/ports/x11/xorg# cat pkg-descr This is a metaport for all the X.Org packages available in the ports tree.
Über "portinstall" (aus der Sammlung von portupgrade) lässt sich der Port einfach installieren:
Code:
portinstall imake portinstall xorg
Bei der Installation von "imake" wählt man "imake-6" aus welches das richtige für xorg ist.

Installiert sind danach die folgenden Ports:

xorg-6.7.0
xorg-clients-6.7.0
xorg-fonts-100dpi-6.7.0
xorg-fonts-75dpi-6.7.0
xorg-fonts-cyrillic-6.7.0
xorg-fonts-encodings-6.7.0
xorg-fonts-miscbitmaps-6.7.0
xorg-fonts-truetype-6.7.0
xorg-fonts-type1-6.7.0
xorg-fontserver-6.7.0
xorg-libraries-6.7.0
xorg-printserver-6.7.0
xorg-server-6.7.0_5
xorg-vfbserver-6.7.0
imake-6.7.0

(3) Die Abhängigkeiten reparieren:
Vielen installierten Ports fehlen die Abhängigkeiten zu Xfree86 die durch xorg ersetzt werden müssen und die zu imake-4 welches nun imake-6 ist.
Code:
/usr/ports/x11-clocks# portversion -v [Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 95 packages found (-0 +1) . done] Stale dependency: bbdate-0.2.4 --> XFree86-libraries-4.3.0_7 -- manually run 'pkgdb -F' to fix, or specify -O to force.
Hier verlangt der schon installierte Port die Xfree86 library die aber nicht mehr auf dem System installiert ist. Es ist also nötig das Programm "pkgdb" (in der Sammlung von portupgrade) mit dem Schalter "-F" aufzurufen:
Code:
/usr/ports/x11-clocks# pkgdb -F ---> Updating the pkgdb ---> Checking the package registry database Stale dependency: bbdate-0.2.4 -> XFree86-libraries-4.3.0_7 (x11/XFree86-4-libraries): New dependency? (? to help): help Please choose one of these: ORBit-0.5.17_2 atk-1.6.1 autoconf-2.13.000227_5 autoconf-2.53_1 automake-1.5,1 bbconf-1.8 bbdate-0.2.4 bbkeys-0.8.5 bbpager-0.3.1 bbrb-0.4.1_1 bitstream-vera-1.10 blackbox-0.65.0 boxtools-0.65.0 cpuburn-1.4 cups-1.1.20.0 cups-base-1.1.20.0 cups-lpr-1.1.20.0 cups-pstoraster-7.07_1 curl-7.12.0 cvsup-without-gui-16.1h ... New dependency? (? to help):
Es werden eine Menge installierte Ports vorgeschlagen die als neue Abhängigkeit genutzt werden könnten (aber nicht wirklich sinnvoll wären).
Daher drückt man hinter "New dependency (? to help):" einfach die "TAB" Taste, danach werden alle installierten Ports aufgelistet, darunter auch der Ersatz für die Xfree86 Library:
Code:
[...] xorg-libraries-6.7.0 [...]
Diese kann dann angegeben werden:
Code:
New dependency? (? to help): xorg-libraries-6.7.0 Fixed. (-> xorg-libraries-6.7.0)
Sind noch weitere Ports davon betroffen das diesen die "Xfree86-libraries" fehlen, so wird dies von portupgrade erkannt und es wird sofort "xorg-libraries-6.7.0" als Abhängigkeit vorgeschlagen:
Code:
Stale dependency: libxfce4mcs-4.0.5 -> XFree86-libraries-4.3.0_7 (x11/XFree86-4-libraries): xorg-libraries-6.7.0 ? ([y]es/[n]o/[a]ll) [yes] Fixed. (-> xorg-libraries-6.7.0) Stale dependency: libxfce4util-4.0.5 -> XFree86-libraries-4.3.0_7 (x11/XFree86-4-libraries): xorg-libraries-6.7.0 ? ([y]es/[n]o/[a]ll) [yes]
Hier muss nur noch "Return" gedrückt werden da das "yes" schon vorgegeben ist.
Gleiches gilt in diesem Fall natürlich auch für "imake-6".

(4) Auf was zu achten ist:
Bei jeder weiteren Installation eines Ports der X benötigt muss danach ein "pkgdb -F" ausgeführt werden um die Abhähngigkeiten manuell auf die von xorg zu setzen!
Ok, weiter unten, beim "Tip" (Nummer 6) gibt es eine Möglichkeit auch dies zu umgehen und es noch eleganter zu lösen (ich würde sagen, das wäre dann DIE Lösung).

Ich gehe davon aus das "bbdate" noch nicht installiert war nachdem xorg installiert wurde:
Code:
/usr/ports/x11-clocks# portinstall bbdate ---> Installing 'bbdate-0.2.4' from a port (x11-clocks/bbdate) ---> Building '/usr/ports/x11-clocks/bbdate' ===> Cleaning for libiconv-1.9.1_3 ===> Cleaning for gettext-0.13.1_1 ===> Cleaning for gmake-3.80_2 ===> Cleaning for imake-4.3.0_2 ===> Cleaning for libtool-1.3.5_2 ===> Cleaning for pkgconfig-0.15.0_1 ===> Cleaning for freetype2-2.1.7_3 ===> Cleaning for expat-1.95.7 ===> Cleaning for fontconfig-2.2.2,1 ===> Cleaning for XFree86-libraries-4.3.0_7 ===> Cleaning for bbdate-0.2.4
Keine Sorge, der Port "Free86-libraries-4.3.0_7" wird NICHT installiert (siehe dazu Punkt (5)).
Code:
portversion -v [Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 95 packages found (-0 +1) . done] Stale dependency: bbdate-0.2.4 --> XFree86-libraries-4.3.0_7 -- manually run 'pkgdb -F' to fix, or specify -O to force.
Wie man sieht muss danach ein "pkgdb -F" ausgeführt werden, und die Abhängigkeit muss, wie oben beschrieben, gefixt werden.

(5) Wissenswertes:
Der Bau eines Ports klappt auch ohne installiertem Xfre86 da der zu installierende Port gegen "libX11.so.6" gelinkt wird.
Code:
#less /usr/ports/Mk/bsd.port.mk [...] LIB_DEPENDS+= X11.6:${PORTSDIR}/x11/XFree86-4-libraries [...]
Und diese Datei findet sich unter /usr/X11R6/lib wieder und wurde von xorg installiert:
Code:
/usr/ports/x11/xorg# pkg_info -W /usr/X11R6/lib/libX11.so.6 /usr/X11R6/lib/libX11.so.6 was installed by package xorg-libraries-6.7.0
Da "make" nach dieser Datei sucht, diese auch findet, funktioniert der build eines Ports ohne Probleme.
Was "make" nicht macht ist, die Abhängigkeiten zu überprüfen die in der /usr/ports/Mk/bsd.port.mk schon angegeben sind und auf die "Xfree86-libraries" ziegen. Daher muss nach einem erfolgten build eines Ports der auf X aufsetzt, "pkgdb -F" aufgerufen werden.

(6) Tip: Auch ohne pkgdb -F geht es (und so soll es auch sein!):
Wie eben beschrieben ist die Datei "usr/ports/Mk/bsd.port.mk" daran Schuld das man nach jeder installation eines Ports "pkgdb -F" aufrufen muss.
Muss man das wirklich?
Nein.
Man tausche in der Datei /usr/ports/Mk/bsd.port.mk die Angabe von "Xfree86-4-libraries" mit der von "xorg-libraries" aus:
Code:
[...] LIB_DEPENDS+= X11.6:${PORTSDIR}/x11/xorg-libraries [...]
Gleiches gilt auch hier für imake:
Code:
[...] .if defined(USE_IMAKE) BUILD_DEPENDS+= ${X11BASE}/lib/X11/config/date.def:${PORTSDIR}/devel/imake-6 RUN_DEPENDS+= mkhtmlindex:${PORTSDIR}/devel/imake-6 [...]
Ok, wenn man nun einen Port baut kommt:
Code:
/usr/ports/x11-clocks# portinstall xtimer ---> Installing 'xtimer-0.8089' from a port (x11-clocks/xtimer) ---> Building '/usr/ports/x11-clocks/xtimer' ===> Cleaning for libiconv-1.9.1_3 ===> Cleaning for gettext-0.13.1_1 ===> Cleaning for gmake-3.80_2 ===> Cleaning for imake-6.7.0 ===> Cleaning for libtool-1.3.5_2 ===> Cleaning for pkgconfig-0.15.0_1 ===> Cleaning for freetype2-2.1.7_3 ===> Cleaning for expat-1.95.7 ===> Cleaning for fontconfig-2.2.2,1 ===> Cleaning for xorg-libraries-6.7.0 ===> Cleaning for xtimer-0.8089
Ja. so soll es sein, der Port baut direkt mit der Abhängigkeit auf "xorg-libraries". Ein portversion meckert danach auch nicht mehr, sondern läuft ohne Probleme durch.
Kleiner Schönheitsfehler, nach einem cvsup kann es sein das die Datei "/usr/ports/Mk/bsd.port.mk" wieder auf dem alten Stand ist, daher muss diese danach wieder bearbeitet werden.

Es mag evtl. noch andere Wege geben auf xorg zu switchen, ich selbst habe diesen durchgeführt und keine Probleme gehabt.
Die alte XF86Config kann beibehalten werden und blackbox startete ohne Probleme, ebenso OO.org und weitere Programme.
Ich möchte meine Hand nicht dafür ins Feuer legen das umgehend alle schon davor installierten Programme reibungslos funktionieren. Evtl. kann es vorkommen das man ein Programm nochmals neu bauen muss (portupgrade -f $Portname).
asg ist offline   Mit Zitat antworten
Alt 29.06.2004, 16:12   #2
qfat
Registered User
 
Benutzerbild von qfat
 
Registrierungsdatum: Oct 2003
Ort: Berlin
Beiträge: 550
qfat eine Nachricht über ICQ schicken
ich sag nur: ALLE ACHTUNG!
der asg hat sich mal wieder selber übertroffen
habs noch nicht probiert, aber was soll bei soeinem howto schon schiefgehen?

THX
__________________
BSD User Group Berlin
qfat ist offline   Mit Zitat antworten
Alt 29.06.2004, 16:58   #3
asg
push it, don´t hype
 
Benutzerbild von asg
 
Registrierungsdatum: Dec 2002
Ort: Lat 49' 11` Nord - Long 9' 13` Ost
Beiträge: 6.075
@qfat
Danke Danke.
Ich habe den switch auf einem Rechner gemacht auf dem relativ wenige Ports installiert waren und sind. Es kann daher evtl. vorkommen das der eine oder andere Port nicht mehr funktionieren könnte, soll heissen, das Programm startet nicht. Ist aber ales nicht begründet sondern nur die fehlende Gewissheit.
asg ist offline   Mit Zitat antworten
Alt 29.06.2004, 17:33   #4
menace
Registered User
 
Registrierungsdatum: Feb 2004
Beiträge: 460
wuerde sich das nicht im wiki bessermachen? =D
menace ist offline   Mit Zitat antworten
Alt 29.06.2004, 18:26   #5
Nihil
Banned
 
Registrierungsdatum: Apr 2004
Ort: Hamburg
Beiträge: 113
Danke für das HowTo, asg!
Ich werde es an einer funktionierenden XFree86-Installation ausprobieren (Opfern ist nicht das richtige Wort.). Das ist es mir wert.
Nihil ist offline   Mit Zitat antworten
Alt 29.06.2004, 19:31   #6
suby
Registered User
 
Benutzerbild von suby
 
Registrierungsdatum: May 2003
Beiträge: 25
Fast perfektes HowTO

Würde noch imake-6 von X.org (welches beim xorg Metaport nicht mitinstalliert wird) in die bsd.port.mk aufnehmen, da imake-4 von XFree86 stammt.

[...]
.if defined(USE_IMAKE)
BUILD_DEPENDS+= ${X11BASE}/lib/X11/config/date.def:${PORTSDIR}/devel/imake-6
RUN_DEPENDS+= mkhtmlindex:${PORTSDIR}/devel/imake-6
[...]

Geändert von suby (29.06.2004 um 19:35 Uhr).
suby ist offline   Mit Zitat antworten
Alt 29.06.2004, 20:16   #7
asg
push it, don´t hype
 
Benutzerbild von asg
 
Registrierungsdatum: Dec 2002
Ort: Lat 49' 11` Nord - Long 9' 13` Ost
Beiträge: 6.075
@suby
Interessant. An imake dachte ich keine Sekunde.
Die bsd.port.mk ist leider nur nicht wirklich sicher das die Einstellungen beibehalten werden.
Man sollte dann wohl imake-6 installieren und auch hier ein "pkgdb -F" laufen lassen. In wie fern das dann aber greif, so wie obige "libX11.so.6", ist mir noch fremd.
Naja, mal morgen auf Arbeit testen.
asg ist offline   Mit Zitat antworten
Alt 30.06.2004, 09:24   #8
asg
push it, don´t hype
 
Benutzerbild von asg
 
Registrierungsdatum: Dec 2002
Ort: Lat 49' 11` Nord - Long 9' 13` Ost
Beiträge: 6.075
Ok, habe den Part mit "imake" auch noch in das Howto aufgenommen. Merci suby.
asg ist offline   Mit Zitat antworten
Alt 30.06.2004, 11:57   #9
da_andy
homo informaticus
 
Benutzerbild von da_andy
 
Registrierungsdatum: Jun 2004
Beiträge: 996
mal ne dumme frage...
wo sind die große unterschiede???
und was haben die bei xfree86 verändern, so das ihr es net mehr "haben" wollt???
oder sind es nur spielereien von euch???
ich peil das net ganz...
da_andy ist offline   Mit Zitat antworten
Alt 30.06.2004, 12:07   #10
asg
push it, don´t hype
 
Benutzerbild von asg
 
Registrierungsdatum: Dec 2002
Ort: Lat 49' 11` Nord - Long 9' 13` Ost
Beiträge: 6.075
@der_bladilein
Wegen der Lizenz.
http://www.bsdforen.de/showthread.ph...hlight=XFree86
http://www.xfree86.org/legal/licenses.html
...
asg ist offline   Mit Zitat antworten
Alt 30.06.2004, 12:36   #11
asg
push it, don´t hype
 
Benutzerbild von asg
 
Registrierungsdatum: Dec 2002
Ort: Lat 49' 11` Nord - Long 9' 13` Ost
Beiträge: 6.075
Ich hatte eine Email an die X11 mailingliste und questions geschrieben und folgende Antwort von Matthew erhalten:

On Wed, Jun 30, 2004 at 12:46:37PM +0200, Axel S. Gruner wrote:
> i have written a howto for people willing to switch from XFree86 to
> xorg. Ok, at this time it is only available in german:
> http://www.bsdforen.de/showthread.php?p=39983#post39983
> But i also have some questions about switching to xorg.
> (1) Will xorg be the default X in future FreeBSD Releases?

Code:
Probably. It seems that most of the Linux distros have switched or are switching to it, and the Unix vendors like Sun always were behind X.Org anyway. There is has been a discussion on the x11 and docs mailing lists covering all of the whys and wherefores. A good place to start is here: http://docs.freebsd.org/cgi/mid.cgi?....04259.linimon
> (2) I have xorg running, without a problem, but if i install a new
> application with a XFree86 dependency i have to run "pkgdb -F" to fix
> the dependency to xorg stuff (and imake-6).
> If i change /usr/ports/Mk/bsd.port.mk and the entries about XFree86 and
> imake-4 to xorg and imake-6, the change will not be permanent (cvsup
> will overwrite the change):
> [...]
> LIB_DEPENDS+= X11.6:${PORTSDIR}/x11/xorg-libraries
> [...]
> .if defined(USE_IMAKE)
> BUILD_DEPENDS+= ${X11BASE}/lib/X11/config/date.def:
> ${PORTSDIR}/devel/imake-6
> RUN_DEPENDS+= mkhtmlindex:${PORTSDIR}/devel/imake-6
> [...]
> So, is there another way to fix that permanently or a work-around?

Code:
Eventually something like what you propose will be added to bsd.port.mk or whichever makefile is appropriate. Until then, you're going to have to maintain your patches in parallel to the ordinary development of the ports tree. On the whole though, you can get by without fiddling in the makefiles if you're prepared to run pkgdb(1) to fix up the dependencies after the fact. The X.Org stuff is still considered experimental at the moment. As more and more people start to use it and it gets well debugged, the ports infrastructure around it will be improved. Cheers, Matthew
Man darf also gespannt sein wann X.org per default bei FreeBSD installiert wird. Bis dahin muss man, so man es denn nutzt, mit einem "pkgdb -F" leben.
Laut des von Matthew geposteten links wird Ende 2004 wohl der Umstieg auf X.org avesiert, wer sich fragt warum und wieso, sollte sich den obigen link anschauen und den Text lesen.
asg ist offline   Mit Zitat antworten
Alt 30.06.2004, 15:58   #12
da_andy
homo informaticus
 
Benutzerbild von da_andy
 
Registrierungsdatum: Jun 2004
Beiträge: 996
@ asg
ich kappiere es immer noch net...
wollen die jetzt das projekt kostenpflichtig machen???
oder wollen sie es "closed" machen, so das kein anderer dran ändern darf???
was hat es für konsequenzen für privatanwender???

ich finde es halt kacke, da es langsam ausmaßen von M$ annimmt...
das kann doch net sein, dass die dort so abdrehen...
steigt den etwa alles zum kopf???
da_andy ist offline   Mit Zitat antworten
Alt 30.06.2004, 16:05   #13
Elessar
Huldigt dem _/\_
 
Benutzerbild von Elessar
 
Registrierungsdatum: Feb 2003
Ort: Karlsruhe
Beiträge: 975
Nein, die störte es etwas das man überall "Linux hier, KDE dort, Gnome da hinten" Hypenachrichten hört mit Linux auf dem Desktop und so. Ausser eben das sie nicht genannt wurden. Die grafische Oberfläche - ohne die sich wohl kaum ein Desktop verkauft - wurde nie erwähnt.
Deshalb muss man jetzt in Doku etc "give Credits to XF86". Das ist nicht direkt GPL kompatibel, deshalb switchen viele Distributoren.
Und da Linux leider die treibende Kraft hinter *nix auf dem Desktop ist....
__________________
# set device klaatu-verrata-nec*ääährm* ok, im wesentlichen hab ich mich an die Syntax gehalten.
--
0x901BA667 - 390F 8DCD 01C6 3AB7 E9B3 F099 9DA3 E597 901B A667
Elessar ist offline   Mit Zitat antworten
Alt 30.06.2004, 16:08   #14
Daniel Seuffert
Registered User
 
Benutzerbild von Daniel Seuffert
 
Registrierungsdatum: Jul 2003
Ort: CH-9444 Diepoldsau
Beiträge: 1.417
@der_bladilein:

Das wird doch in dem link von asg weiter oben alles erklärt, siehe http://www.xfree86.org/legal/licenses.html.

So wie schon Elessar treffend bemerkte ist die neue Lizenz 1.1 von XFree noch weitergehender als die GPL, weil sie diese "advertising clause" und einige andere kleinere Änderungen enthält. In dem link gibt es einen weiteren link, wo Dawid Dawes die Änderungen im Einzelnen dokumentiert, siehe http://www.xfree86.org/pipermail/for...ry/003889.html.

HTH, Daniel
Daniel Seuffert ist offline   Mit Zitat antworten
Alt 05.07.2004, 19:01   #15
suby
Registered User
 
Benutzerbild von suby
 
Registrierungsdatum: May 2003
Beiträge: 25
Exclamation

Mittlerweile hat Eric Anholt einen Patch bereitgestellt, mit dem man die Ports mit X.org nutzen kann.

http://people.freebsd.org/~anholt/X/xorg-conv-1.diff

Code:
cd /usr/ports patch < /wo/auch/immer/xorg-conv-1.diff
suby ist offline   Mit Zitat antworten
Antwort


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist Aus
HTML-Code ist Aus
Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Fehler bei XFree86 konfiguration matze FreeBSD - Installation 17 29.02.2004 13:19
nvidia-treiber + x11 (+gnome) unter freebsd 5.1 Wasp FreeBSD - Installation 10 30.12.2003 17:05
Geforce2 Go und Nvidiatreiber phoenix OpenBSD - Installation 6 05.12.2003 18:40
XFree86 startet nicht (achtung Log mitgepostet !gross!) templis *BSD - Serverdienste 9 19.11.2003 19:34
XFree86 mit Geforce2Go? PhilLies *BSD - Serverdienste 9 17.09.2003 22:42


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:40 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.