Step-by-Step Howto build for MLD3.x
(Die Seite wurde neu angelegt: „Bauen für die MLD3.x Non-Developer GUIDE <br> Vorwort:<br> Da wir immer nach neuen Mitstreitern suchen und einige sicher von der MLD angetan sind, aber doch vers…“) |
|||
Zeile 1: | Zeile 1: | ||
Bauen für die MLD3.x Non-Developer GUIDE <br> | Bauen für die MLD3.x Non-Developer GUIDE <br> | ||
Vorwort:<br> | Vorwort:<br> | ||
− | Da wir immer nach neuen Mitstreitern suchen und einige sicher von der MLD angetan sind, aber doch verschreckt von der Entwicklungsumgebung möchte ich hiermit mal ein Step-by-Step Howto build for MLD3.x zusammentippen. Dieser Teil richtet sich noch nicht an potentielle Entwickler, sondern kann von jedem neuen User schritt für Schritt nachgestellt werden um selbst die bereitgestellten Addons zu bauen. | + | Da wir immer nach neuen Mitstreitern suchen und einige sicher von der MLD angetan sind, aber doch verschreckt von der Entwicklungsumgebung möchte ich hiermit mal ein Step-by-Step Howto build for MLD3.x zusammentippen. Dieser Teil richtet sich noch nicht an potentielle Entwickler, sondern kann von jedem neuen User schritt für Schritt nachgestellt werden um selbst die bereitgestellten Addons zu bauen.<br> |
− | + | <br> | |
− | Vorbereitung: | + | Vorbereitung:<br> |
− | Da MLD3.x auf Ubuntu basiert ist es sinnvoll auch ein neueres Ubuntu zum entwickeln zu nutzen. Im Folgenden gehe ich auf den neusten Entwicklungszweig ein und deswegen wird ein Ubuntu Natty Derivat benötigt. Hierbei ist es egal ob es Kubuntu, Ubuntu, Linux Mint usw… ist es muss einfach nur auf Version 11.04 aufbauen. | + | Da MLD3.x auf Ubuntu basiert ist es sinnvoll auch ein neueres Ubuntu zum entwickeln zu nutzen. Im Folgenden gehe ich auf den neusten Entwicklungszweig ein und deswegen wird ein Ubuntu Natty Derivat benötigt. Hierbei ist es egal ob es Kubuntu, Ubuntu, Linux Mint usw… ist es muss einfach nur auf Version 11.04 aufbauen.<br> |
− | 1. Schritt Ubuntu 11.04 installieren (Desktop oder Minimal) | + | 1. Schritt Ubuntu 11.04 installieren (Desktop oder Minimal)<br> |
− | Wie man ein System installiert muss ich hoffentlich nicht beschreiben, ansonsten ist man wohl falsch im Wiki abgebogen | + | <br> |
− | + | Wie man ein System installiert muss ich hoffentlich nicht beschreiben, ansonsten ist man wohl falsch im Wiki abgebogen... | |
− | Ubuntu vorbereiten: | + | <br> |
− | Nach der Installation ist es wichtig Ubuntu auf den neusten Stand zu bringen. Das ist wichtig, da die Develumgebung so auch Zugriff auf die neusten Librarys und Binarys hat. Also in der Shell oder im Terminal folgendes eingeben: | + | Ubuntu vorbereiten:<br> |
+ | Nach der Installation ist es wichtig Ubuntu auf den neusten Stand zu bringen. Das ist wichtig, da die Develumgebung so auch Zugriff auf die neusten Librarys und Binarys hat. Also in der Shell oder im Terminal folgendes eingeben:<br> | ||
1. sudo apt-get update<br> | 1. sudo apt-get update<br> | ||
2. sudo apt-get dist-upgrade<br> | 2. sudo apt-get dist-upgrade<br> | ||
Zeile 16: | Zeile 17: | ||
Damit haben wir einen Symlink von asm auf i386-linux-gnu/asm angelegt und laufen nicht mehr in Fehler beim compilieren von uClibc. Nun noch die zwei Basis Pakete um an die Entwicklungsumgebung zu kommen installieren:<br> | Damit haben wir einen Symlink von asm auf i386-linux-gnu/asm angelegt und laufen nicht mehr in Fehler beim compilieren von uClibc. Nun noch die zwei Basis Pakete um an die Entwicklungsumgebung zu kommen installieren:<br> | ||
4. sudo apt-get install subversion make<br> | 4. sudo apt-get install subversion make<br> | ||
+ | <br> | ||
− | + | Holen der Entwicklungsumgebung:<br> | |
− | Holen der Entwicklungsumgebung: | + | So nun haben wir Ubuntu soweit vorbereitet für unsere Sachen und können anfangen uns die Entwicklungsumgebung zu holen. Die folgenden Befehle wieder in einer Shell oder Terminal ausführen.<br> |
− | So nun haben wir Ubuntu soweit vorbereitet für unsere Sachen und können anfangen uns die Entwicklungsumgebung zu holen. Die folgenden Befehle wieder in einer Shell oder Terminal ausführen. | + | Ich erstelle mir einen build Ordner den ich nur zum Bauen und nicht zum einchecken (kommt später) benutze.<br> |
− | Ich erstelle mir einen build Ordner den ich nur zum Bauen und nicht zum einchecken (kommt später) benutze. | + | |
1. mkdir –p build<br> | 1. mkdir –p build<br> | ||
Wechseln in den Ordner<br> | Wechseln in den Ordner<br> | ||
Zeile 26: | Zeile 27: | ||
und nun clonen der Enwticklungsumgebung in diesen Ordner<br> | und nun clonen der Enwticklungsumgebung in diesen Ordner<br> | ||
3. svn co http://minidvblinux.dyndns.org/svn-3/MLD/trunk MLD<br> | 3. svn co http://minidvblinux.dyndns.org/svn-3/MLD/trunk MLD<br> | ||
− | + | <br> | |
− | Wenn dabei etwas schief geht hat man sicherlich etwas bei Ubuntu vorbereiten vergessen (Punkt 4.) | + | Wenn dabei etwas schief geht hat man sicherlich etwas bei Ubuntu vorbereiten vergessen (Punkt 4.)<br> |
− | + | <br> | |
− | Nun Wechseln wir in den Ordner MLD welcher schon die wichtigsten Werkzeuge für uns beinhaltet. Man könnte jetzt ein make starten dieses würde aber sofort abbrechen weil es die Beziehungen nicht kennt. Deswegen rate ich dazu sich die ganze Entwicklungsumgebung zu laden und dazu die Beziehungen (ab sofort deps) aufzulösen. Klingt schlimmer als es ist. Wieder Shell oder Terminal: | + | Nun Wechseln wir in den Ordner MLD welcher schon die wichtigsten Werkzeuge für uns beinhaltet. Man könnte jetzt ein make starten dieses würde aber sofort abbrechen weil es die Beziehungen nicht kennt. Deswegen rate ich dazu sich die ganze Entwicklungsumgebung zu laden und dazu die Beziehungen (ab sofort deps) aufzulösen. Klingt schlimmer als es ist. <br> |
+ | Wieder Shell oder Terminal:<br> | ||
4. cd MLD<br> | 4. cd MLD<br> | ||
Zeile 35: | Zeile 37: | ||
5. make checkout_all SVN_BRUNCH=natty (das svn fällt vllt bald weg)<br> | 5. make checkout_all SVN_BRUNCH=natty (das svn fällt vllt bald weg)<br> | ||
− | Da XBMC und dillo nicht aus den Natty ppas sind müssen wir nun leider nochmal Handanlegen: | + | Da XBMC und dillo nicht aus den Natty ppas sind müssen wir nun leider nochmal Handanlegen:<br> |
6. sudo add-apt-repository ppa:team-xbmc/unstable && sudo apt-get update<br> | 6. sudo add-apt-repository ppa:team-xbmc/unstable && sudo apt-get update<br> | ||
7. sudo add-apt-repository ppa:d.filoni/dillo<br> | 7. sudo add-apt-repository ppa:d.filoni/dillo<br> | ||
+ | <br> | ||
Bei dillo fahren wir bewusst noch kein update, da das knallt. Dillo ist leider so alt das wir ein bischen tricksen müssen und apt-get auf den lucid brunch umleiten müssen. Da ich eine Desktop umgebung nutze geht das wie folgt:<br> | Bei dillo fahren wir bewusst noch kein update, da das knallt. Dillo ist leider so alt das wir ein bischen tricksen müssen und apt-get auf den lucid brunch umleiten müssen. Da ich eine Desktop umgebung nutze geht das wie folgt:<br> | ||
8. sudo gedit /etc/apt/sources.list.d/d_filoni-dillo-natty.list<br> | 8. sudo gedit /etc/apt/sources.list.d/d_filoni-dillo-natty.list<br> | ||
Zeile 59: | Zeile 62: | ||
2. make<br> | 2. make<br> | ||
So das war schon die Zauberei. Die Entwicklungsumgebung wird nun automatisch den Kernel laden (braucht die Header usw) dann dvb bauen, weil da die dvb-usb Treiber drin sind und diese dann in ein schönes Addon schnürren und nach build/MLD/!_addons legen. Dieses muss man nur noch auf den VDR ablegen unter /etc/addons und per OSD aktivieren. Das kann man nun beliebig mit jedem Ordner (der übrigens immer ein Addon/Plugin repräsentiert machen).<br> | So das war schon die Zauberei. Die Entwicklungsumgebung wird nun automatisch den Kernel laden (braucht die Header usw) dann dvb bauen, weil da die dvb-usb Treiber drin sind und diese dann in ein schönes Addon schnürren und nach build/MLD/!_addons legen. Dieses muss man nur noch auf den VDR ablegen unter /etc/addons und per OSD aktivieren. Das kann man nun beliebig mit jedem Ordner (der übrigens immer ein Addon/Plugin repräsentiert machen).<br> | ||
− | + | <br> | |
Alles Bauen:<br> | Alles Bauen:<br> | ||
Natürlich kann man auch mit einem Rutsch alles aufeinmal bauen lassen. Je nach Maschiene kann das zwischen 50min und 18h dauern . Man wechselt erstmal wieder nach build/MLD wenn man nicht ehy schon da ist und nun:<br> | Natürlich kann man auch mit einem Rutsch alles aufeinmal bauen lassen. Je nach Maschiene kann das zwischen 50min und 18h dauern . Man wechselt erstmal wieder nach build/MLD wenn man nicht ehy schon da ist und nun:<br> | ||
Zeile 65: | Zeile 68: | ||
und schon ist der Rechner eine Weile beschäftigt. Wenn er fertig ist hat man unter build/MLD/!_addons die ISO’s und alle Plugins/Addons liegen die es bereits für die MLD in die Entwicklungsumgebung geschafft haben.<br> | und schon ist der Rechner eine Weile beschäftigt. Wenn er fertig ist hat man unter build/MLD/!_addons die ISO’s und alle Plugins/Addons liegen die es bereits für die MLD in die Entwicklungsumgebung geschafft haben.<br> | ||
<br> | <br> | ||
− | Auf dem neusten Stand bleiben: | + | Auf dem neusten Stand bleiben:<br> |
Da wir immer mal wieder neue Sachen einchecken lohnt es sich immer wieder mal ein update der Entwicklungsumgebung zu machen. Dabei sollte man auf eine Sachen achten. <br> | Da wir immer mal wieder neue Sachen einchecken lohnt es sich immer wieder mal ein update der Entwicklungsumgebung zu machen. Dabei sollte man auf eine Sachen achten. <br> | ||
Ersteinmal:<br> | Ersteinmal:<br> |
Version vom 7. Juni 2011, 16:26 Uhr
Bauen für die MLD3.x Non-Developer GUIDE
Vorwort:
Da wir immer nach neuen Mitstreitern suchen und einige sicher von der MLD angetan sind, aber doch verschreckt von der Entwicklungsumgebung möchte ich hiermit mal ein Step-by-Step Howto build for MLD3.x zusammentippen. Dieser Teil richtet sich noch nicht an potentielle Entwickler, sondern kann von jedem neuen User schritt für Schritt nachgestellt werden um selbst die bereitgestellten Addons zu bauen.
Vorbereitung:
Da MLD3.x auf Ubuntu basiert ist es sinnvoll auch ein neueres Ubuntu zum entwickeln zu nutzen. Im Folgenden gehe ich auf den neusten Entwicklungszweig ein und deswegen wird ein Ubuntu Natty Derivat benötigt. Hierbei ist es egal ob es Kubuntu, Ubuntu, Linux Mint usw… ist es muss einfach nur auf Version 11.04 aufbauen.
1. Schritt Ubuntu 11.04 installieren (Desktop oder Minimal)
Wie man ein System installiert muss ich hoffentlich nicht beschreiben, ansonsten ist man wohl falsch im Wiki abgebogen...
Ubuntu vorbereiten:
Nach der Installation ist es wichtig Ubuntu auf den neusten Stand zu bringen. Das ist wichtig, da die Develumgebung so auch Zugriff auf die neusten Librarys und Binarys hat. Also in der Shell oder im Terminal folgendes eingeben:
1. sudo apt-get update
2. sudo apt-get dist-upgrade
Da Ubuntu mit Version 11.04 einige Pfade geändert hat brauchen wir noch ein:
3. ln -sf /usr/include/i386-linux-gnu/asm /usr/include/asm
Damit haben wir einen Symlink von asm auf i386-linux-gnu/asm angelegt und laufen nicht mehr in Fehler beim compilieren von uClibc. Nun noch die zwei Basis Pakete um an die Entwicklungsumgebung zu kommen installieren:
4. sudo apt-get install subversion make
Holen der Entwicklungsumgebung:
So nun haben wir Ubuntu soweit vorbereitet für unsere Sachen und können anfangen uns die Entwicklungsumgebung zu holen. Die folgenden Befehle wieder in einer Shell oder Terminal ausführen.
Ich erstelle mir einen build Ordner den ich nur zum Bauen und nicht zum einchecken (kommt später) benutze.
1. mkdir –p build
Wechseln in den Ordner
2. cd build
und nun clonen der Enwticklungsumgebung in diesen Ordner
3. svn co http://minidvblinux.dyndns.org/svn-3/MLD/trunk MLD
Wenn dabei etwas schief geht hat man sicherlich etwas bei Ubuntu vorbereiten vergessen (Punkt 4.)
Nun Wechseln wir in den Ordner MLD welcher schon die wichtigsten Werkzeuge für uns beinhaltet. Man könnte jetzt ein make starten dieses würde aber sofort abbrechen weil es die Beziehungen nicht kennt. Deswegen rate ich dazu sich die ganze Entwicklungsumgebung zu laden und dazu die Beziehungen (ab sofort deps) aufzulösen. Klingt schlimmer als es ist.
Wieder Shell oder Terminal:
4. cd MLD
Nun holen wir erstmal alle Pakete
5. make checkout_all SVN_BRUNCH=natty (das svn fällt vllt bald weg)
Da XBMC und dillo nicht aus den Natty ppas sind müssen wir nun leider nochmal Handanlegen:
6. sudo add-apt-repository ppa:team-xbmc/unstable && sudo apt-get update
7. sudo add-apt-repository ppa:d.filoni/dillo
Bei dillo fahren wir bewusst noch kein update, da das knallt. Dillo ist leider so alt das wir ein bischen tricksen müssen und apt-get auf den lucid brunch umleiten müssen. Da ich eine Desktop umgebung nutze geht das wie folgt:
8. sudo gedit /etc/apt/sources.list.d/d_filoni-dillo-natty.list
9. hier ändern wir nun natty gegen lucid das sieht dann so aus:
deb http://ppa.launchpad.net/d.filoni/dillo/ubuntu lucid main
deb-src http://ppa.launchpad.net/d.filoni/dillo/ubuntu lucid main
10. speichern und schließen (@claus vllt kannste da nen schönen sed befehl basteln)
11. sudo apt-get update
So nun können wir aber wieder schön einfach mit make arbeiten. Als nächstes lassen wir nun die deps auflösen.
12. sudo apt-get install $(make deps)
Nachdem das durchgelaufen ist haben wir nun eine fertig eingerichtete Entwicklungsumgebung.
ISO Bauen:
So nun möchten wir uns nicht auf unseren Lorbeeren ausruhen, sondern natürlich ein Addon oder Iso bauen. Um die vorgefertigten Isos die es auch auf der Website gibt zu bauen reicht ein einfaches
1. make
Man beachte dabei, dass wir weiterhin im build/MLD Ordner sind. Wenn man sein ISO individuell anpassen möchte sollte man einfach mal in build/MLD/Makefile schauen. Hier findet man die vorgefertigten ISO’s und kann diese abändern.
Einzelnes Addon/Plugin bauen:
Die meisten wird aber wohl nur eins interessieren, wie baue ich einzelne Addons. Das ist ziemlich einfach vor allem gibt es in der Entwicklungsumgebung Plugins/Addons, welche es aus unterschiedlichsten Gründen (z.B. Stabilität nicht auf die Website geschafft haben). Ich zeige nun anhand eines Beispiels das Bauen eines einzelnen Addons (hier nun dvb-usb).
1. cd dvb-usb
2. make
So das war schon die Zauberei. Die Entwicklungsumgebung wird nun automatisch den Kernel laden (braucht die Header usw) dann dvb bauen, weil da die dvb-usb Treiber drin sind und diese dann in ein schönes Addon schnürren und nach build/MLD/!_addons legen. Dieses muss man nur noch auf den VDR ablegen unter /etc/addons und per OSD aktivieren. Das kann man nun beliebig mit jedem Ordner (der übrigens immer ein Addon/Plugin repräsentiert machen).
Alles Bauen:
Natürlich kann man auch mit einem Rutsch alles aufeinmal bauen lassen. Je nach Maschiene kann das zwischen 50min und 18h dauern . Man wechselt erstmal wieder nach build/MLD wenn man nicht ehy schon da ist und nun:
1. make all
und schon ist der Rechner eine Weile beschäftigt. Wenn er fertig ist hat man unter build/MLD/!_addons die ISO’s und alle Plugins/Addons liegen die es bereits für die MLD in die Entwicklungsumgebung geschafft haben.
Auf dem neusten Stand bleiben:
Da wir immer mal wieder neue Sachen einchecken lohnt es sich immer wieder mal ein update der Entwicklungsumgebung zu machen. Dabei sollte man auf eine Sachen achten.
Ersteinmal:
1. svn up
2. wenn sich hierbei die modules.list gändert hat (wird angezeigt) muss man 3. Machen ansonsten 4.
3. make checkout_all SVN_BRUNCH=natty
Das folgende braucht man NUR wenn modules.list sich nicht verändert hat.
4. make update_all
Wenn durch checkout_all oder update_all sich Plugins/Addons ändern warden diese automatisch sauber gemacht. Man muss dann nur wieder die Schritte wie beim Bauen einhalten.