Binary patch/diff

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Binary patch/diff

Beitrag von Christian »

hey, hat jemand von euch nen Algorythmis rumliegen um binäre diffs zu erstellen und anzuwenden ? Ich setz jetzt seit 2h dran die pascal übersetzung von bdiff / bpatch ordentlich zu bekommen da die windows routinen benutzen aber da kann man den quatsch warscheinlich einfacher neuschreiben wobei ich den algorythmus aber auch nicht wirklich verstehe. Brauch das ganze für mein automatisches online update z.Z. benutzt das bsdiff / bspatch als externes executable davon will ich aber weg ...

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Was sind binäre Diffs? :)

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ich denk mal, Christian meint die möglichkeit, beispielsweise zwei exen zu vergleichen und eine Datei zu erstellen, welche nur die Differenzen erstellt.
Beim Update wird ja dann die 'Differenzdatei' geladen und in der exe werden nur die geänderten Teile im Binärcode ersetzt.

Oder lieg ich damit falsch?

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

monta hat geschrieben:Beim Update wird ja dann die 'Differenzdatei' geladen und in der exe werden nur die geänderten Teile im Binärcode ersetzt.


aaah. Als ein wesentlich gericheres Datenaufkommen? Klingt interessant.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich meine bei irgeneiner delphi seite gabs mal ein opensorce projekt dazu !
http://www.dsdt.info/projekte/dateien/?id=19
versuche das mal....
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Euklid hat geschrieben:aaah. Als ein wesentlich gericheres Datenaufkommen? Klingt interessant.


Ja genau.
Der Link von Pluto beschreibt das eigentlich sehr schön. Das Programm habich vor zwei Jahrenoder so auch mal probiert,aber nur mal reingeschaut und ich hatte es nie wirklich im Einsatz, aber an sich ne feine Sache.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich hatte es vor jahrne mal getestet ich meine auch erfolkreich nur habe ich es aus faulheit nie eingesetzt !
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Werde mich daran erinnern, wenn ich mal ein größeres Projekt programmieren sollte.
Bisher waren die alle so klein, dass das Datenaufkommen nicht verringert werden musste. Außerdem habe ich noch nie Updates zu meinen Programmen rausgegeben (weil die keiner haben wollte).^^

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Schöner Link hätte ich eher kennen sollen naja habe mittlerweile meine bdiff/bpatch übersetzungen fat fertig die sind auch um einiges effizienter als der algorythmus den die dort angewendet haben ausserdem hat mein updater jetzt schon wesentlich mehr features als das open source projekt trotsdem danke :)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

... willst du dann deine Version auch veröffentlichen?

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

mal sehn vollständig eigentlich nicht aber villeicht als closed source version mit dll oder .so als interface aus der ruft man dann einfach nur eine funktion auf und alles is gegessen. Die einzigen informationen dies braucht sind die update quellen sprache programmname und programmversion.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Könnte mir nämlich vorstellen, dass sowas von noch mehr Leuten gesucht wird...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Joa ich denk es ist nicht zwingend erforderlich den source dazu zu haben zumal es mit source eh nur mehraufwand für mich wird...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

es reicht ja eine dll oder so änlich und eine unit mit der man darauf zugreifen kann und fertig ! dann könnte dein projekt sogar unter verschiender complier laufen oder ?
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Klar, das würde für den Umgang damit ausreichen.

Antworten