This shows you the differences between two versions of the page.
mld:entwicklung:400_entwicklungsumgebung [2014/11/18 14:02] raspigesch?digter [3.2 Bauen der Entwicklungsumgebung] |
mld:entwicklung:400_entwicklungsumgebung [2015/03/11 17:33] (current) |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== 2 Vorbereitung ===== | ===== 2 Vorbereitung ===== | ||
- | Da MLD-4.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 (Trusty Tahr 14.04) Derivat benötigt. Hierbei ist es egal ob es Kubuntu, Ubuntu, Lubuntu, Linux Mint usw. ist. Es muss einfach nur auf Version 14.04 aufbauen. Die meisten Entwickler hier arbeiten in der Devel Umgebung mit Lubuntu 14.04 aber man kann wie schon erwähnt auch mit jeder anderen Ubuntu 14.04 das machen. | + | Da MLD-4.x auf Ubuntu basiert, ist es sinnvoll, auch ein neueres Ubuntu zum Entwickeln zu nutzen. Im Folgenden gehe ich auf den neuesten Entwicklungszweig ein, und deswegen wird ein Ubuntu (Trusty Tahr 14.04) Derivat benötigt. Hierbei ist es egal, ob es Kubuntu, Ubuntu, Lubuntu, Linux Mint usw. ist. Es muss einfach nur auf Version 14.04 aufbauen. Die meisten Entwickler hier arbeiten in der Devel Umgebung mit Lubuntu 14.04, aber man kann wie schon erwähnt auch mit jeder anderen Ubuntu 14.04 das machen. |
==== 2.1 Ubuntu 14.04 installieren (Minimal wird nicht empfohlen) ==== | ==== 2.1 Ubuntu 14.04 installieren (Minimal wird nicht empfohlen) ==== | ||
Line 20: | Line 20: | ||
sudo add-apt-repository ppa:costamagnagianfranco/ettercap-stable-backports && sudo apt-get update | sudo add-apt-repository ppa:costamagnagianfranco/ettercap-stable-backports && sudo apt-get update | ||
sudo add-apt-repository ppa:team-xbmc/ppa && sudo apt-get update | sudo add-apt-repository ppa:team-xbmc/ppa && sudo apt-get update | ||
+ | sudo add-apt-repository 'deb http://repository.spotify.com/ stable non-free' && sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 94558F59 && sudo apt-get update | ||
sudo /usr/share/doc/libdvdread4/install-css.sh</code> | sudo /usr/share/doc/libdvdread4/install-css.sh</code> | ||
Line 28: | Line 29: | ||
Nun noch einige Basis Pakete installieren, um an die Entwicklungsumgebung zu kommen: | Nun noch einige Basis Pakete installieren, um an die Entwicklungsumgebung zu kommen: | ||
- | <code bash>sudo apt-get install subversion make mercurial git-core python-software-properties cvs squashfs-tools ipsvd</code> | + | <code bash>sudo apt-get install subversion make mercurial git-core python-software-properties cvs squashfs-tools ipsvd gettext wget</code> |
===== 3 MLD Entwicklungsumgebung installieren ===== | ===== 3 MLD Entwicklungsumgebung installieren ===== | ||
==== 3.1 Holen der Entwicklungsumgebung ==== | ==== 3.1 Holen der Entwicklungsumgebung ==== | ||
Line 90: | Line 91: | ||
make clean</code> | make clean</code> | ||
- | Ein Paket neu bauen ohne das es neu kompiliert wird (Beispiel dvb): | + | Ein Paket neu bauen ohne dass es neu kompiliert wird (Beispiel dvb): |
<code bash>cd dvb | <code bash>cd dvb | ||
make_clean</code> | make_clean</code> | ||
- | |^ Tipp |Beim Paket vdr und kernel ist es möglich, die vom vdr oder kernel abhängigen Pakete (z. B. beim vdr die plugins) neu bauen zu lassen ohne das diese neu kompiliert werden müssen (Beispiel vdr):| | + | |^ Tipp |Beim Paket vdr und kernel ist es möglich, die vom vdr oder kernel abhängigen Pakete (z. B. beim vdr die plugins) neu bauen zu lassen, ohne dass diese neu kompiliert werden müssen (Beispiel vdr):| |
<code bash>cd vdr | <code bash>cd vdr | ||
make all_depends</code> | make all_depends</code> | ||
Line 154: | Line 155: | ||
in der INSTALL unter uninstall) befand. | in der INSTALL unter uninstall) befand. | ||
- | |^ WICHTIG |Sofern im Paket ein init script existiert (/etc/init.d/NAME), muss dieses im controls/postinst Script per "start NAME" (z. B. start alsa) aufgerufen werden. Wenn auch nen stop erforderlich ist, wird der im controls/prerm Script aufgerufen (z. B. stop alsa). Das ist notwendig, damit Dienste nach dem Installieren sofort gestartet werden, und nicht erst beim nächsten Reboot. Dies ist natürlich nur für die Pakete notwendig, bei denen ein Aufruf des init Scripts erforderlich ist, z. B. alsa, wobei hier zwar das Starten erforderlch ist, das Stoppen aber nicht.| | + | |^ WICHTIG |Sofern im Paket ein init script existiert (/etc/init.d/NAME), muss dieses im controls/postinst Script per "start NAME" (z. B. start alsa) aufgerufen werden. Wenn auch ein stop erforderlich ist, wird der im controls/prerm Script aufgerufen (z. B. stop alsa). Das ist notwendig, damit Dienste nach dem Installieren sofort gestartet werden, und nicht erst beim nächsten Reboot. Dies ist natürlich nur für die Pakete notwendig, bei denen ein Aufruf des init Scripts erforderlich ist, z. B. alsa, wobei hier zwar das Starten erforderlch ist, das Stoppen aber nicht.| |
- | Zu guter letzt gibt es noch (wenn gebraucht) die Datei conffiles. Da werden alle Datein drin eingetragen (z. B. /etc/vdr/setup.conf), die im Paket enthalten und Konfigurations-Dateien sind. Die werden dann bei 'nem Deinstallieren und vor allem beim Updaten besonders behandelt. | + | Zu guter letzt gibt es noch (wenn gebraucht) die Datei conffiles. Darin werden alle Datein eingetragen (z. B. /etc/vdr/setup.conf), die im Paket enthalten und Konfigurations-Dateien sind. Die werden dann bei einem Deinstallieren und vor allem beim Updaten besonders behandelt. |
|^ Tipp |Im control Ordner werden beim checkout_old gerne einige prerm und postinst Dateien angelegt, die fast leer sind (11 Byte groß). Die können bedenkenlos gelöscht werden, bevor das neue Paket eingecheckt wird.| | |^ Tipp |Im control Ordner werden beim checkout_old gerne einige prerm und postinst Dateien angelegt, die fast leer sind (11 Byte groß). Die können bedenkenlos gelöscht werden, bevor das neue Paket eingecheckt wird.| |