LazUpdater - GUI für SVN und make

Vorstellungen von Programmen, welche mit Lazarus erstellt worden.
shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

LazUpdater - GUI für SVN und make

Beitrag von shokwave »

Hallo,

ich wollte hier ein Tool vorstellen, welches das svn update und anschließende make weitestgehend automatisiert.
Bild

Killerfeatures: -svn update(oder checkout), make und strip(lazarus, startlazarus und lazbuild binaries) mit EINEM Mausklick!

Ähm...ja...das wars. Mehr macht es nicht.

Dementsprechend simpel ist auch die Bedienung:
1. In "Path to Lazarus" kommt...na...genau, die Pfadangabe zum Lazarusverzeichnis.(Ist der Pfad nicht vorhanden, wird er auf Nachfrage angelegt und statt "svn up" ein checkout durchgeführt.)
Der Button mit dem ".." öffnet übrigends einen Verzeichnisauswahldialog.
2. Bei SVN-Options kann sowas wie "-r24300" rein um eine bestimmte Revision zu erhalten.
3. Ist bei "make after update" ein Häkchen gestezt, wird nach dem Update der make-Befehl, mit den Optionen von "Makeoptions", ausgefürt.
4. Und ist bei "strip" der Haken drin, erscheint 'ne halbnackte Mutti auf Bildschirm. :shock:
5. "Start" drücken.

(6. Der Haken "force make" bewirkt, das make und ggf. strip augeführt wird, selbst wenn kein Update gefunden wurde. Ansonsten wird nach dem versuchten Update abgebrochen)


Was muss man haben damit's läuft?
- SVN-Commandline-Tools
Windows: z.B. Silk SVN von http://www.sliksvn.com/en/download
Ubuntu: "sudo apt-get install subversion"
- FPC, FPC-Source und was man sonst noch so braucht um Lazarus zu kompilieren. (unter Windows drauf achten, dass der FPC-Bin im "PATH" drin steht)


Wo kann ich es kaufen?
Nirgends! Das kann man nämlich einfach so runterladen.
Hier gibts die Quellen.
Und hier die Windows-Exe.
[update]Und jetzt neu, die qt-binary, mit Suse 11.2 gemacht, hier.
Aktuelle Version: 0.8.4

Systeme:
Ich hab das Tool unter Xubuntu 9.10 angefangen und seit einer Woche unter Win7 32bit "beendet". Es ist nicht viel plattformspezifisches Zeug drin, sodass es unter Linux und evtl. auch MacOS laufen sollte. Kann es im Moment nur nicht testen. Über Rückinfo und/oder entsprechende binarys bin ich dankbar.

Was gibt's noch zu tun?
1.Für mich ist es im Moment fast perfekt. Nur ab und zu bricht das make mit 'ner Meldung "xxx.o nicht gefunden" ab. Start ich das ganze gleich nochmal, gehts... :?: Any hints?
2.Ich überlege noch das svn log irgendwie darzustellen.
3.Tests, Tests, Tests, damit ich bald ruhigen Gewissens Version 1.0 hinschreiben kann.


Was denkt ihr? War die Arbeit umsonst? Ist es ganz nett, aber zum Hammertool müsste es noch das und das können. Was hab ich bei der Umsetzung (Code) verbockt?
Zuletzt geändert von shokwave am Do 1. Apr 2010, 23:56, insgesamt 1-mal geändert.
mfg Ingo

_X_
Beiträge: 251
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: LazUpdater - GUI für SVN und make

Beitrag von _X_ »

shokwave hat geschrieben:Ist es ganz nett, aber zum Hammertool müsste es noch das und das können.
Den fpc bauen (kein Aprilscherz).

Ah ja, und unter Linux findet er bei mir die Unit Fileinfo nicht.

mfg _X_

shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: LazUpdater - GUI für SVN und make

Beitrag von shokwave »

Danke für das testen. Hab's bereinigt und werde gleich meinen erste Post aktualisieren.

Das mit fpc hab ich mir auch schon überlegt. Das neu bauen und installieren ist ja simpel, wenn denn schon alles vorbereitet(bereits installiert) ist. Aber ich wollte das man mein Tool auch auf einem neuen System schnell zum laufen bringt. Hm...Da muss ich aber mal ganz doll viel Lust haben. :)
mfg Ingo

shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

LazUpdater V0.9.6

Beitrag von shokwave »

Nach langen Nächten präsentiere ich hier stolz die aktuelle Version.

Für Windows
Bild
Download

Für Linux (QT)
Bild
Download

Für MacOS X (Intel)
Bild
Download

Die Quellen:
Download

Die Änderungen:
- jetzt mit FPC-Support (nur für dich _X_ :mrgreen: )
- überarbeitete GUI
- Profile für Mehrfachinstallationen
- das SVN Log kann angezeigt werden
- der laufende Prozess kann terminiert werden

ToDo:
- manchmal wird der make-Prozess abgebrochen weil eine oder mehere .o-Dateien nicht gefunden wurden :?:
- funktionierende Kommunikation mit dem Prozess (Beim "svn up" kann es Differenzen geben und svn will wissen was es tun soll. An der Stelle friert das Programm ein.)
- die Doku

Bin immernoch für jegliche konstruktive Kritik und Tipps zu haben...
mfg Ingo

_X_
Beiträge: 251
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: LazUpdater - GUI für SVN und make

Beitrag von _X_ »

shokwave hat geschrieben:jetzt mit FPC-Support (nur für dich _X_ :mrgreen: )
Danke :mrgreen:
Also bei mir funktioniert alles Wunderbar. ^^

mfg _X_

shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: LazUpdater - GUI für SVN und make

Beitrag von shokwave »

Freut mich.

Ich teste gerade, ob die make-Abbrüche an meinem Virenscanner liegen. Bis jetzt deutet alles darauf hin.
mfg Ingo

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

Re: LazUpdater - GUI für SVN und make

Beitrag von monta »

Bisher hat es zwar immer ein kleines Script erledigt, aber die Idee find ich schon schön.

Es scheitn aber einen kleinen Fehler zu geben. Wenn ich bei FPC das Häkchen "update FPC" entferne und nur Lazarus aktualisieren will (Pfade zu Lazarus sind natürlich angepasst) bringt er mir folgenden Fehler:
Error: Please check "Path to FPC-Source"! ...

Warum soll ich FPC-Sourcen angeben, wenn lediglich Lazarus in den Tasks steht? Kann es sein, das das Prog immer versucht, FPc zu aktualisieren, unabhängig ob aktiviert oder nicht?

Und einen kleinen Verbesserungsvorschlag hätte ich auch noch. Kannst du nicht vielleicht ein Feld "Path to svn" einbauen?
Ich fände es schön, wenn ich dan Pfad zum zu benutzenden SVN-Clienten ggf. direkt eingeben kann.
Johannes

shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: LazUpdater - GUI für SVN und make

Beitrag von shokwave »

monta hat geschrieben:Es scheitn aber einen kleinen Fehler zu geben. Wenn ich bei FPC das Häkchen "update FPC" entferne und nur Lazarus aktualisieren will (Pfade zu Lazarus sind natürlich angepasst) bringt er mir folgenden Fehler:
Error: Please check "Path to FPC-Source"! ...
Das war tatsächlich ein Bug der sich eingeschlichen hatte. :(

Kann es sein, das das Prog immer versucht, FPc zu aktualisieren, unabhängig ob aktiviert oder nicht?
Nein. Die Prüfung der benötigten Angaben und tatsächlicher Aufruf sind voneinander unabhängig, da ich erst prüfe und wenn dann keine Angaben fehlen geht es los.

Und einen kleinen Verbesserungsvorschlag hätte ich auch noch. Kannst du nicht vielleicht ein Feld "Path to svn" einbauen?
Ich fände es schön, wenn ich dann Pfad zum zu benutzenden SVN-Clienten ggf. direkt eingeben kann.
OK, ist jetzt drin(Lazforge-svn). Da ist nur eine Sache... :oops: Ich hab vor ein paar Tagen von TProcess auf TAsyncProcess umgestellt und musste gestern Abend feststellen, dass unter win32 keine Ausgabe mehr erfolgt. Sieht so aus als ob der OnReadData-Event nicht aufgerufen wird.
Bin mir noch nicht sicher ob es an mir liegt oder ein Bug ist. Unter Linux/Mac läuft es. :?:
mfg Ingo

Socke
Lazarusforum e. V.
Beiträge: 2779
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: LazUpdater - GUI für SVN und make

Beitrag von Socke »

Sieht interessant aus, auch wenn ich bisher mit der Shell zufrieden bin.
shokwave hat geschrieben:Da ist nur eine Sache... :oops: Ich hab vor ein paar Tagen von TProcess auf TAsyncProcess umgestellt und musste gestern Abend feststellen, dass unter win32 keine Ausgabe mehr erfolgt. Sieht so aus als ob der OnReadData-Event nicht aufgerufen wird.
Bin mir noch nicht sicher ob es an mir liegt oder ein Bug ist. Unter Linux/Mac läuft es. :?:

Auf jeden Fall sollte die Möglichkeit TThread und TProcess immer auf jeder Plattform funktionieren.
Vielleicht sollte ich mir mal die Quellen laden und hacken :twisted:
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Jay
Beiträge: 65
Registriert: Sa 29. Dez 2007, 02:21
OS, Lazarus, FPC: Linux, 0.9.30.4 Beta, FPC 2.6.0
CPU-Target: 32Bit
Kontaktdaten:

Re: LazUpdater - GUI für SVN und make

Beitrag von Jay »

Schön wäre es, wenn es soetwas auch für Git geben würde, da ich ausschließlich Git benutze (finde ich persönlich komfortabler und ausgereifter) und es auch auf eigene Sourcen und nicht nur die Lazarus-Sourcen anwendbar wäre (wenn man z.B. ein eigenes Git-Repository hat und seine lokale Sourcen mittels GUI auf den aktuellen Stand bringen- und anschließend compilieren möchte).

Gibt auch nen public Git-Mirror für Lazarus-Sources: git://github.com/graemeg/lazarus.git

Socke
Lazarusforum e. V.
Beiträge: 2779
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: LazUpdater - GUI für SVN und make

Beitrag von Socke »

Jay hat geschrieben:Schön wäre es, wenn es soetwas auch für Git geben würde, da ich ausschließlich Git benutze (finde ich persönlich komfortabler und ausgereifter) und es auch auf eigene Sourcen und nicht nur die Lazarus-Sourcen anwendbar wäre (wenn man z.B. ein eigenes Git-Repository hat und seine lokale Sourcen mittels GUI auf den aktuellen Stand bringen- und anschließend compilieren möchte).

Gibt auch nen public Git-Mirror für Lazarus-Sources: git://github.com/graemeg/lazarus.git

Wie wärs mit verschiedenen Modulen je nach System SVN/GIT/hg/CVS? Wer will die schreiben?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Jay
Beiträge: 65
Registriert: Sa 29. Dez 2007, 02:21
OS, Lazarus, FPC: Linux, 0.9.30.4 Beta, FPC 2.6.0
CPU-Target: 32Bit
Kontaktdaten:

Re: LazUpdater - GUI für SVN und make

Beitrag von Jay »

Socke hat geschrieben:Wie wärs mit verschiedenen Modulen je nach System SVN/GIT/hg/CVS? Wer will die schreiben?

Könnte ich eigentlich mal versuchen. Mit TProcess etc. hab ich schließlich auch schon öfters gearbeitet. Wäre ja möglich, durch z.B. Radio-Buttons zu wählen, um welche Art von Repository es sich handelt, um anschließend damit arbeiten zu können (Sourcen downloaden/updaten & anschließend compilieren) :D

Also so große Schwierigkeiten sehe ich darin nun nicht, zumal wir dann schließlich auf bereits existierende/installierte Command-Line-Tools zurückgreifen würden.

Okay, aber hier geht es ja "nur" um einen Lazarus-Updater. Obwohl man aus dieser Idee noch mehr machen könnte :roll:

Socke
Lazarusforum e. V.
Beiträge: 2779
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: LazUpdater - GUI für SVN und make

Beitrag von Socke »

Ich wollte mir vorhin die Quellen aus dem SVN-Repository saugen, nur leider steht in LazForge nirgends der Pfad dafür. Muss ich mich erst dort anmelden (ich will erstmal nur Lese-Zugriff) oder muss ich mit dem Source-Paket (v. 0.9.6, s.o.) auskommen?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: LazUpdater - GUI für SVN und make

Beitrag von shokwave »

Sorry, da muss ich die Seite wohl noch ein wenig "optimieren".

http://svn.lazarusforum.de/svn/lazupdater/trunk (geht auch mit https://).

Zu den anderen Posts - So ein Projekt kann man natürlich bis ins kleinste modularisieren, aber irgendwo muss man auch eine Grenze zwischen Modularität und Bedienbarkeit ziehen. Mein Ziel war es 'ne GUI zu basteln mit der ich fix ein SVN-Update mache und vielleicht auch auf 'nem frischen System eine bequeme Installation. An letzterem arbeite ich noch (fpc.cfg, PATH und unter Linux die SymLinks). Weiter wollte ich es erst mal nicht treiben (v1.0).
mfg Ingo

GrosseAffe
Beiträge: 5
Registriert: Mo 27. Jun 2011, 15:14

Re: LazUpdater - GUI für SVN und make

Beitrag von GrosseAffe »

Entschuldige dass ich nicht auf Deutsch schreibe, weil mein Deutsch ziemlich schlimm ist. Ich verstehe es, aber spreche/schreibe es nicht so gut.

I've taken the liberty to add Git support to LazUpdater, as well as automatic download of the binutils (make etc) and a bootstrap fpc compiler if none is present (only on Windows for now).
Please see the modified project code at http://forge.lazarusforum.de/issues/118.
(I couldn't change the hours remaining to completion, but I think it should be about usable now for a start; it needs testing and refinement.)

I would be very grateful if (part of this) code could be merged with the main LazUpdater code and I am looking forward to feedback - I'm just a hobby programmer very frustrated with the convoluted way in which one needs to keep FPC/Lazarus up to date...

Danke,
GrosseAffe (BigChimp on the Lazarus forum).

Antworten