[PATCH 3/4] added build command "release" to generate taged versions.

delphiN lists at wunschik.net
Fr Jan 29 00:10:07 CET 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Am 28.01.2016 08:55, schrieb Tim Niemeyer:
> Ich verstehe die Intention hinter dem Patch nicht. Hier wäre eine
> ausführliche commit message gut.

Ich versuch es mal vorsichtig zu erklären, was ich mir dabei gedacht
hab. (Lieber etwas zu ausführlich als zu oberflächlich):

Mein Ziel war es (offensichtlich) in Zukunft builds mit der aktuellen
Version im Dateinamen zu generieren (Patch 1/4). Meiner Meinung nach
sollte man bei der Version zwischen einer Release-Nummer und einer
Build-Id unterscheiden. Die Build-Id (z.B. "0.5.2-47-g4014228_dirty")
ergibt sich aus dem aktuellen Source-Zustand und ist immer eindeutig
pro commit. Solche Versionen werden standartmäßig z.B. wärend der
Entwicklung generiert.
Eine Release-Nummer ist eher etwas abstraktes, das man manuell während
eines Release-Prozesses vergibt. Eine Release-Nummern setzen also
einen Release-Prozess voraus.
So wie ich das bisher verstanden habe besteht euer Prozess zur Zeit
daraus, das der Tim ab und zu die letzte Stelle der Version hochzählt,
ein Git-Tag vergibt, die Binaries auf den Dev-Server kopiert und eine
Mail an die Listen schreibt mit den Änderungen.
Ein sehr unberechenbarer und spartanischer Release-Prozess aber
funktioniert ja bisher ganz gut.

Das neue Kommando "buildscripte build release" sagt nur, dass statt
der aktuellen Build-Id das letzte Release-Tags als Versionsnummer für
den Dateinamen der Binaries verwendet werden soll. Wenn ich keinen
Fehler gemacht habe enthält die Firmware trotzdem noch die
vollständige Build-ID.

Das ganze hat den Vorteil, das eine Firmware zu einem definierte
Zeitpunkt Released werden kann und der Dateiname dann auch "schön
sauber" aussieht. Noch schöner wäre es natürlich, wenn bei "build
release" automatisch das letzte Tag ausgecheckt und gebaut werden
würde. So sollte man "build release" nur dann aufrufen, wenn man
gerade ein neues Tag angelegt hat. Eine "Gefahr" seh ich hier jetzt
aber nicht wirklich. Vor Allem wenn man bedenkt, das bisher immer alle
Releases den gleichen Namen hatten!

(Ich könnte mir auch vorstellen den Release-Prozess in das buildscript
zu integrieren. Dann könnte z.B. der Befehl "buildscript release
[patch*/minor/major]" automatisch einen neuen Tag vergeben, eine
Release-Version bauen, die fertigen Dateien auf den Server kopieren
und sogar eine Mail mit allen commits seit dem letzten Release versenden.
Aber so weit wollte ich hier nicht gehen, deshab nur dieser kleine
Schritt, gegen den aus meiner sicht nichts spricht.)

Klarer?
delphiN

- -- 
Freifunk-Franken, Förderverein Freie Netzwerke e.V.
eMail: freifunk at wunschik.net
XMPP : delphiN at jabber.ccc.de

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iQIcBAEBAgAGBQJWqp/PAAoJEGuH2dOBPapCSLsQAION/GAfbzZ7tnTjek0Xq5BE
xplWIZ4wjCHerd1taYj7QrGUqbGlEzMqBM/oLc+y2SVv2WKBQRxdB43RcmXbOgLp
0pVC2n/KM9RgZlVMZ3W6KCa7BJW/2Wq7I85+phs+IdHTsQpuI2lBfDUVmLAr4vhV
sty1IyNuqup47K5Oe/88UVyxXc+hLfFFvSdkIaFcMLv5OXz14srQVmo4vKUkpj0V
nsaxh7TE2zXH2BleV/G3o8j+JFVz62xfBkLQ57ORBvFp0CmuSRNjLmPdpUQixo+c
ayiLbcJhfYzAO+5QOYdTKLRCcPtz5u2/35plyILhsHV7rWaMf0OlCLygGRYn2Eqj
fHyXGQt8TRiJu2uv9T5hJbjWPoyivYqVvZ/CJOrY3CYPR1XC3Ce7I3G5FR0ec1DC
rPbfLLl4HJPjECRoyDIBLoEZAExt+1hvrlxm9Qb2XluzXQca32OS9NJsZOXdoDer
iAI/LWLAD4WUpZ8oKplBVqN3bu2kz1OPjoSrMYuatCN7f11PHJk4L2GSdifFsWfh
nSrtqXxIRD9HIK6puLeen/wnQdcpbv1SY5jydvHN78lwvoAvFjg0Wnb4ue4RpbUD
lmRg7kPePCNlgXwI4kh/TtcwReXS1ukHGqYYlWWnhr3PIXvz2SeMMhv2f3LvYS+B
+CYND7bsYO4KrTkbdG9O
=EGCk
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste franken-dev