[1] MLD-5.x / Development / Wie wird ein Patch bei der Paketerstellung angewandt?
 

Online maf

  • MLD-Tester
  • Member
  • ******
  • Posts: 87
    • View Profile
Ich habe einen Patch, den ich zuvor unter yaVDR für ein Plugin erstellt hatte, in das Unterverzeichnis src des Pakets kopiert, das ich erstellen möchte. Der Name der Patch-Datei enthält den Namen des Pakets und endet mit '.patch'. Bei
Code: [Select]
cd PACKAGENAME; make allein wird der Patch allerdings nicht angewandt. Auch bei
Code: [Select]
cd PACKAGENAME; make patch nicht. Was muss ich tun, damit ein Patch bei der Paketerstellung angewandt wird?
« Last Edit: June 18, 2019, 18:35:30 by maf »

Offline Walter

  • Adv. Member
  • ***
  • Posts: 171
    • View Profile
Wie wird ein Patch bei der Paketerstellung angewandt?
« Reply #1 on: June 18, 2019, 18:51:38 »
Hallo,
Im Makefile vom vdr findet sich dies ?
Code: [Select]
$(MAKE) patch src_path=$@und im Makefile.plugin dies
Code: [Select]
$(MAKE) patch src_path=$@ src_name=_$(pluginname)_
« Last Edit: June 18, 2019, 18:55:01 by Walter »

Online maf

  • MLD-Tester
  • Member
  • ******
  • Posts: 87
    • View Profile
Wie wird ein Patch bei der Paketerstellung angewandt?
« Reply #2 on: June 18, 2019, 20:17:22 »
Danke für Deine Hinweise.

Die Regel in Makefile.plugin sieht eigentlich vielversprechend aus:
Code: [Select]
src/$(pluginname)-%:
        if [ -n "$(src_url)" ]; then \
                $(MAKE) -f ../Makefile.getfile file=src/$(name).tgz version=$(version) url='$(src_url)'; \
        else \
                $(MAKE) -f ../Makefile.getfile file=src/$(name).tgz version=$(version) rule='$(src_rule)'; \
        fi
        rm -rf $@ $@-src
        mkdir -p $@-src
        tar xf src/$(name).tgz -C $@-src
        mv $@-src/* $@
        rm -r $@-src
        ln -fns $(@F) src/$(pluginname)
        $(MAKE) patch src_path=$@ src_name=_$(pluginname)_
Aber das Verzeichnis src/$(pluginname)-% wird bereits im Zuge von 'make checkout' angelegt, die Regel deshalb nie angewandt.

Ich habe es deshalb mit
Code: [Select]
make patch src_path=$PWD/src/PACKAGENAME-PACKAGEVERSIONversucht. Das funktioniert zwar, sieht aber nicht wie die "richtige" Lösung aus.

Ich suche also immer noch nach allgemeingültigen Vorgehensweise: Wie kann man dafür sorgen, dass ein Patch, den man nach dem 'make checkout' in das Verzeichnis src kopiert, beim Erstellen des Pakets angewandt wird?

Offline P3f

  • Administrator
  • Expert Member
  • ********
  • Posts: 1286
    • View Profile
Wie wird ein Patch bei der Paketerstellung angewandt?
« Reply #3 on: June 18, 2019, 21:19:10 »
Hallo maf,

bisher hat bei uns immer geklappt, das die Patche eingebaut / mit eingesetzt werden, sobald man sich an die Namenskonvention hält. Ich habe hier mal ein Beispiel am vdr-plugin-epgsearch Plugin.

Code: [Select]
pit@MLD-5:~/nightbuild/amd64/vdr-plugin-epgsearch$ cd src/
pit@MLD-5:~/nightbuild/amd64/vdr-plugin-epgsearch/src$ ls -l
insgesamt 60
-rw-r--r--  1    pit pit        951 Jan  7 18:36 11_epgsearch_menue.patch
-rw-r--r--  1    pit pit      40816 Jan  7 18:36 12_epgsearch_README.patch
lrwxrwxrwx  1    pit pit         20 Jun 17 16:08 epgsearch -> epgsearch-2019.04.11
drwxr-xr-x 11    pit pit      12288 Jun 17 21:13 epgsearch-2019.04.11
-rw-r--r--  1    pit pit        393 Jan  7 18:36 epgsearchcats.conf

Dort kannst Du sehen, das es 2 Patche gibt die eingebunden werden sollen.

Hilft Dir das als Beispiel?

Ansonsten schreib doch mal dein Patch hier rein, oder schick uns den zu. Dann schauen wir es uns an.


Gruß,

Pit
----------------------------------------------------------------------
VDR 1:(MLD 5.4-64), ZOTAC ION ITX F-E, 1GB 1033, ATRIC-Einschalter, ImonLCD, Cinergy S2 HD
VDR 2 MLD-BPI: BananaPI | 16 GB SD-Card | MLD 5.3 in Entwicklung
MLD-WTK: WeTek-Play | 8 GB MicroSD-Card | MLD 5.3 als SatIP-Server

Offline clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 17671
    • View Profile
    • ClausMuus.de
Wie wird ein Patch bei der Paketerstellung angewandt?
« Reply #4 on: June 18, 2019, 21:21:38 »
Wenn Du die Sourcen des Plugins mit eincheckst, dann müssen da drin bereits alle Patches angewendet sein. Wenn Du trotzdem Patches dazu packst, dann dient das lediglich der Dokumentation.
Normalerweise checken wir die Sourcen nicht mit ein. Das wird nur bei einigen wenigen Plugins gemacht, bei denen die Sourcen nicht zuverlässig verfügbar sind, oder nicht unter einer festen URL abrufbar sind.
MLD 5.1 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.1 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 6TB HDD - Lian Li PC-C37B - Samsung LE40A559
MLD 5.4 - OctopusNet - ASRock Q1900M - 2GB RAM 250GB HDD

Online maf

  • MLD-Tester
  • Member
  • ******
  • Posts: 87
    • View Profile
Wie wird ein Patch bei der Paketerstellung angewandt?
« Reply #5 on: June 19, 2019, 12:10:07 »
Wenn Du die Sourcen des Plugins mit eincheckst, dann müssen da drin bereits alle Patches angewendet sein. Wenn Du trotzdem Patches dazu packst, dann dient das lediglich der Dokumentation.
Normalerweise checken wir die Sourcen nicht mit ein. Das wird nur bei einigen wenigen Plugins gemacht, bei denen die Sourcen nicht zuverlässig verfügbar sind, oder nicht unter einer festen URL abrufbar sind.

Verstanden. Dann habe ich bei vdr-plugin-svdrpservice einfach nur "Pech gehabt", ein Plugin mit eingecheckten Sourcen zu erwischen.

Online maf

  • MLD-Tester
  • Member
  • ******
  • Posts: 87
    • View Profile
Wie wird ein Patch bei der Paketerstellung angewandt?
« Reply #6 on: June 19, 2019, 12:31:22 »
Ansonsten schreib doch mal dein Patch hier rein, oder schick uns den zu. Dann schauen wir es uns an.

Ich habe meinen Patch in einem eigenen Thread zur Diskussion gestellt.

[1] MLD-5.x / Development / Wie wird ein Patch bei der Paketerstellung angewandt?
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.