This shows you the differences between two versions of the page.
mld:entwicklung:54_entwicklungsumgebung [2017/08/13 13:09] clausmuus [2 Vorbereitung] |
mld:entwicklung:54_entwicklungsumgebung [2021/05/28 15:51] (current) clausmuus |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== 1 Vorwort ===== | ===== 1 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 How-to build for MLD-5.x zusammen tippen. Dieser Teil richtet sich nicht nur an potentielle Entwickler, sondern kann von jedem neuen User Schritt für Schritt nachgestellt werden, um selbst die bereitgestellten Pakete zu bauen. | + | Da wir immer nach neuen Mitstreitern suchen und einige sicher von der MLD angetan sind, aber nicht wissen wie die Entwicklung von Paketen abläuft, möchte wir hiermit ein Step-by-Step How-to build for MLD-5.x zusammenstellen. Dieser Teil richtet sich nicht nur an Entwickler neuer Pakete, sondern kann von jedem User Schritt für Schritt nachgestellt werden, um selbst die bereitgestellten Pakete zu bauen. |
===== 2 Vorbereitung ===== | ===== 2 Vorbereitung ===== | ||
Line 23: | Line 23: | ||
cd /root/devel</code> | cd /root/devel</code> | ||
<code bash>nano Dockerfile</code> | <code bash>nano Dockerfile</code> | ||
- | Jetzt das unten stehende in das Dockerfile einfügen und speichern: | + | Das unten stehende in das Dockerfile einfügen und speichern: |
<code> | <code> | ||
FROM debian:stretch | FROM debian:stretch | ||
Line 39: | Line 39: | ||
RUN git clone http://minidvblinux.de/git-5/MLD.git MLD \ | RUN git clone http://minidvblinux.de/git-5/MLD.git MLD \ | ||
&& cd MLD \ | && cd MLD \ | ||
- | && for name in ISO LOGO apt base btrfs busybox dpkg hid init initramfs kernel ldconfig network psplash ssh syslinux udev vfat xfs; do make checkout name=$name; done | + | && make checkout_base |
# MLD Paket Abhängigkeiten installieren | # MLD Paket Abhängigkeiten installieren | ||
Line 45: | Line 45: | ||
&& apt-get install -y $(make deps) | && apt-get install -y $(make deps) | ||
</code> | </code> | ||
+ | |||
+ | |^ TIPP | Wer nicht die testing Version sondern z.B. eine Entwicklungsumgebung für die MLD-5.3 Stable haben möchte, fügt im Dockerfile nach der Zeile '' && cd MLD \'' diese Zeilen ein: '' && git checkout 5.3 && echo ".SILENT:\nCLASS = stable" > Makefile.config \'' | | ||
+ | |||
+ | |^ TIPP | Wer nicht eine Entwicklungsumgebung für die MLD-5.4 sondern eine für die MLD-5.5 haben möchte, ersetzt im Dockerfile in der ersten Zeile das 'stretch' durch ein 'buster' und fügt nach der Zeile '' && cd MLD \'' diese Zeilen ein: '' && echo ".SILENT:\nDISTRI_VER = 5.5" > Makefile.config \'' | | ||
+ | |||
+ | Auf ARM Systemen (z.B. dem RPI 2) muss die erste Zeile des Dockerfile geändert werden: | ||
+ | <code bash>uname -m | grep -q armv7l && sed "s|FROM .*|FROM arm32v7/debian:stretch|" -i Dockerfile</code> | ||
+ | |||
Anschließend das MLD Devel Docker Image erstellen: | Anschließend das MLD Devel Docker Image erstellen: | ||
- | <code bash>docker build -t mld/devel:1.0 /root/devel</code> | + | <code bash>docker build -t mld/devel:5.4 /root/devel</code> |
==== 2.3 Docker Container erstellen ==== | ==== 2.3 Docker Container erstellen ==== | ||
Jetzt wird ein Docker Container auf Basis des mld/devel Images erstellt: | Jetzt wird ein Docker Container auf Basis des mld/devel Images erstellt: | ||
- | <code bash>docker create -it --name MLD mld/devel:1.0</code> | + | <code bash>docker create -it --name MLD mld/devel:5.4</code> |
==== 2.4 Docker Container starten ==== | ==== 2.4 Docker Container starten ==== | ||
Line 77: | Line 85: | ||
- | Einzelnes Paket bauen (Beispiel hier nun dvb): | + | Einzelnes Paket bauen (Beispiel hier nun apt): |
<code bash>cd apt | <code bash>cd apt | ||
make</code> | make</code> | ||
Line 106: | Line 114: | ||
Wenn die benötigten Abhängigkeiten installiert werden sollen geht das so: | Wenn die benötigten Abhängigkeiten installiert werden sollen geht das so: | ||
- | <code bash>sudo apt-get install $(make deps)</code> | + | <code bash>sudo apt install $(make deps)</code> |
+ | |||
+ | |^ Hinweis | Leider funktionieren einige Debian Bibliotheken nicht korrekt auf dem RPI. Daher ist es erforderlich zusätzlich eine Raspbian Paketquelle hinzuzufügen: '' echo 'deb http://raspbian.raspberrypi.org/raspbian/ stretch main' >> /etc/apt/sources.list '' und anschließend ein '' apt update; apt upgrade '' auszuführen. | | ||
Ein Paket neu kompilieren und bauen lassen (Beispiel dvb): | Ein Paket neu kompilieren und bauen lassen (Beispiel dvb): | ||
Line 148: | Line 158: | ||
==== 5.2 GIT ==== | ==== 5.2 GIT ==== | ||
Ein kleines Tutorial findest du [[mld:tutorials:git|hier]] | Ein kleines Tutorial findest du [[mld:tutorials:git|hier]] | ||
+ | |||
+ | ==== 5.3 Nicht als root arbeiten ==== | ||
+ | Wer nicht als root arbeiten möchte, egal ob im Docker Container oder einer vollwertigen Debian Installation, muss sicher stellen, dass der PATH auch auf die sbin Verzeichnisse verweist. Das geht z.B. mit diesem Befehl: | ||
+ | <code bash>echo 'export PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH' > /etc/profile.d/sbin.sh | ||
===== 6 Änderungen und Neuerungen bei der MLD-5 ===== | ===== 6 Änderungen und Neuerungen bei der MLD-5 ===== |