MLD-5.x > Development
Erforderliche Schritte für einzelnes Paket in neuer Entwicklungsumgebung
maf:
--- Quote from: clausmuus on June 11, 2019, 22:53:49 ---Der letzte Vorschlag dürfte der vielversprechendste sein.
--- End quote ---
Sind denn aus Deiner Sicht die einzelnen Aufrufe von make in Ordnung, oder habe ich was ausgelassen?
--- Quote from: clausmuus on June 11, 2019, 22:53:49 ---Allerdings glaube ich nicht, dass Du für Debian Jessie aalle Pakete in den passenden Versionen bekommst. Da gab esja inzwischen auch diverse Updates die Möglichwerweise nicht mehr MLD-5.3 kompatibel sind.
--- End quote ---
Ich vermute, Du meinst Raspbian Jessie? Was die Versionen betrifft: Mit Kompatibilitätsproblemen hast Du sicherlich mehr Erfahrung als ich. Ich hätte gehofft, dass es keine Schwierigkeiten geben sollte, solange ich "nur" Programme oder Bibliotheken erstelle, die Shared Libraries benutzen. Unter Debian zumindest habe ich noch nie Konflikte erlebt zwischen "alten" Programmen, die Bestandteil der Distribution (wie Jessie) waren, und "neuen" Programmen, die ich kurz vor Ende der Lebensdauer der Distribution erstellt habe. Was könnte Deiner Erfahrung nach schief gehen?
--- Quote from: clausmuus on June 11, 2019, 22:53:49 ---Warum willst Du überhaupt die 5.3 nehmen und nicht die 5.4?
--- End quote ---
Mein Server läuft unter Debian Stretch, d.h. mit VDR 2.2.0. Auf einem Client mit MLD 5.4 hätte ich kein Plugin remotetimers mehr zur Verfügung. Und noch scheue ich davor zurück, eTobis Pakete für VDR 2.4.0 zu installieren. Denn dann müsste ich eine ganze Reihe von Plugins neu bauen und hoffen, das sie auch mit VDR 2.4.0 kompatibel sind.
clausmuus:
Das mit den Make sollte so passen.
Und was die Kompatibilität betrifft, musst Du's halt versuchen. Im neu ausgecheckten Jessi (Raspbian) könnten halt neuere Libs sein, als die in den MLD Paketen enthaltenen. Dann könnte es Probleme geben. Ein versuch wäre es wert.
Ansonsten hast Du ja noch die Möglichkeit den VDR 2.2 für die MLD-5.4 zu bauen und Halt den (inklusive der dazu passend gebauten Plugins) in der MLD 5.4 zu verwenden.
Ein kompletter Build aller (RPI) MLD Pakete dauert übrigens mehrere Tage (3-4).
Und dann gibt's noch die Option das remotetimers Plugin für den VDR-2.4 zu patchen. Ich habe aber keinen entsprechenen Patch (oder angepasste Sourcen) gefunden, und wollte mir das erstellen eines eigenen Patches nicht antun...
maf:
Ich habe mich entschieden, mein Glück mit der "vereinfachten" Prozedur auf einem RPi unter Raspbian Jessie zu versuchen. Und ich will gerne berichten, ob das funktioniert hat.
Eine Frage noch vorab: Wie groß sollte die SD-Karte sein, wenn ich für alle Fälle - d.h. einen kompletten Build - gewappnet sein will? Reichen 32 GB? Oder reichen sogar16 GB?
Walter:
Moin
für vdr und paar plugins komme ich hier unter Raspbian stretch und der MLD-5.4 Entwicklungsumgebung bisher auf lediglich
--- Code: ---Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root 29G 6,1G 22G 22% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 12M 452M 3% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 43M 23M 21M 53% /boot
tmpfs 93M 0 93M 0% /run/user/1000
--- End code ---
Vorher mit einer 16 GB Karte gab es aber auch kein Platzmangel
Habe aber allerdings auch nie alles bauen lassen.
mfg
maf:
Ich habe nun doch Docker auf einem Raspberry Pi 3 unter Raspbian Stretch benutzt, um eine Enwicklungsumgebung für MLD 5.3 aufzubauen. Dazu benutze ich drei Dateien. Mit raspbian-jessie.Dockerfile wird ein Image für Jessie erstellt:
--- Code: ---FROM arm32v7/debian:jessie
MAINTAINER MLD Team <team@minidvblinux.de>
ARG DEBIAN_FRONTEND=noninteractive
# Add Raspbian repositories
RUN apt-get update \
&& apt-get install -y wget \
&& wget -O - -q https://archive.raspbian.org/raspbian.public.key | apt-key add - \
&& echo 'deb http://raspbian.raspberrypi.org/raspbian/ jessie main' \
> /etc/apt/sources.list.d/raspbian.list \
&& wget -O - -q https://archive.raspberrypi.org/debian/raspberrypi.gpg.key | apt-key add - \
&& echo 'deb http://archive.raspberrypi.org/debian/ jessie main ui' \
>> /etc/apt/sources.list.d/raspbian.list
# Update and upgrade
RUN apt-get update \
&& apt-get dist-upgrade -y
--- End code ---
Mit mld53-rpi.Dockerfile wird basierend auf dem Image mit Jessie ein Image für eine Entwicklungsumgebung für MLD 5.3 erstellt:
--- Code: ---FROM maf/raspbian:jessie
MAINTAINER MLD Team <team@minidvblinux.de>
ARG DEBIAN_FRONTEND=noninteractive
# Update und benötigte Pakete installieren
RUN apt-get update \
&& apt-get dist-upgrade -y \
&& apt-get install -y \
make git-core software-properties-common locales locales-all g++
# MLD Pakete holen und auf Version 5.3 umstellen
COPY Makefile.adjust /tmp/Makefile.adjust
RUN git clone http://minidvblinux.de/git-5/MLD.git MLD \
&& cd MLD \
&& echo ".SILENT:\nCLASS = stable" > Makefile.config \
&& git checkout 5.3 \
&& cat /tmp/Makefile.adjust >> Makefile.git \
&& rm /tmp/Makefile.adjust \
&& make checkout_base \
&& make adjust_version_all
# Abhängigkeiten der MLD Pakete installieren
RUN cd MLD \
&& apt-get install -y $(make deps)
# Platz freigeben
RUN apt-get autoremove -y \
&& apt-get autoclean -y
--- End code ---
In das Image für MLD 5.3 geht noch die Datei Makefile.adjust ein:
--- Code: ---
# Version aller Module an Version von MLD anpassen
adjust_version_all:
ls | while read package; do \
if [ -e "$$package/.git" ]; then \
echo -e "$(color_green)$$package$(color_reset)"; \
$(MAKE) adjust_version name=$$package; \
fi; \
done
# Version eines Moduls an Version von MLD anpassen
adjust_version:
if [ -e "$(name)/.git" ]; then \
git -C $(name) rm --force --cached --ignore-unmatch .gitignore; \
git -C $(name) checkout --force $$(git -C $(name) rev-list -n 1 --first-parent --before=$$(git log -1 --format='%at') master) &>/dev/null; \
else \
echo -e "$(color_red)unknown package $(name)$(color_reset)"; \
fi
--- End code ---
Die beiden Ziele in diesem Makefile werden an Makefile.git angefügt. Mit
--- Code: ---make checkout_all; make adjust_version_all
--- End code ---
bzw.
--- Code: ---make checkout name=PACKAGENAME; make adjust_version name=PACKAGENAME
--- End code ---
können dann alle oder ein einzelnes Paket auf den Versionsstand von MLD 5.3 zurückgesetzt werden. Dazu wird das letzte Commit eines Pakets vor dem aktuellen Commit von MLD ausgecheckt.
Navigation
[0] Message Index
[*] Previous page
Go to full version