Hallo Liste, immer wieder habe ich daten ausgecheckt verpackt und manuell verschoben.. Heute kam ich auf die Idee es etwas zu automatisieren. Ich befinde mich in /svn, und der Ordner mit den Daten ist freemedforms.. Jetzt habe ich einfach mal angefangen: http://paste.opensuse.org/82714192 In etwa den Ablauf sollte es haben. Erster Teil: betreten der svn repositories, svn up und wieder raus. Zweiter Teil: Packen des Paketes mit tar cvfj. Jetzt möchte ich gerne die Ausgabedatei im Format freemedforms-r$ISSUE.tar.bz haben. Nun kam mir die Idee, das sich die Shell, oder wer auch immer, die Revisionsnummer behält und dann hier einfügt. Hat sowas schonmal jemand gemacht? -- Sincerely Yours Sascha Manns openSUSE Community & Support Agent Maifeldstrasse 10 D-56 727 Mayen Phone: +49 2651 4014045 Email: Sascha.Manns@directbox.com Blog: http://saigkill.wordpress.com Web: http://www.saschamanns.de
Hallo Sascha, Am 18.12.2010 23:02, schrieb Sascha 'saigkill' Manns:
immer wieder habe ich daten ausgecheckt verpackt und manuell verschoben.. Heute kam ich auf die Idee es etwas zu automatisieren.
Die Idee die aktuelle Sourcen automatisch aus dem Version Control System zu ziehen und daraus ein Package zu bauen ist nicht neu. :-)
Ich befinde mich in /svn, und der Ordner mit den Daten ist freemedforms..
Jetzt habe ich einfach mal angefangen: http://paste.opensuse.org/82714192
In etwa den Ablauf sollte es haben. Erster Teil: betreten der svn repositories, svn up und wieder raus.
Zweiter Teil: Packen des Paketes mit tar cvfj. Jetzt möchte ich gerne die Ausgabedatei im Format freemedforms-r$ISSUE.tar.bz haben.
Hier würde ich es anders machen. :-) # svn export (neues Verzeichnis) Der nachfolgende Befehl sollte eine saubere Kopie vom Arbeitsverzeichnis (ohne .svn) erstellen. Hier kann man sogar auch den Verzeichnisnamen manipulieren, um es später Revision übergreifend zu verpacken. z.B.: programm-0.7.99-r2345/ # tar cjvf programm-0.7.99-r2345.tar.bz programm-0.7.99-r2345
Nun kam mir die Idee, das sich die Shell, oder wer auch immer, die Revisionsnummer behält und dann hier einfügt.
Aktuelle Revision auslesen: REVISION="`LANG="" svn info ./ | grep 'Revision:' | sed -e 's/Revision:\s//g'`" Danach in der Spec die Revision per sed einfügen. :-) z.B.: %define revision 2345 und innerhalb der Specdatei kann man die Variable %{revision} für die aktuelle Revision verwenden.
Hat sowas schonmal jemand gemacht?
Jepp. ;-) -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: http://www.sebastian-siebert.de Wichtiger Hinweis zur openSUSE Mailing Liste: http://de.opensuse.org/OpenSUSE_Mailinglisten-Netiquette -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hallo Sebastian, On Sunday 19 December 2010 02:15:40 Sebastian Siebert wrote:
Aktuelle Revision auslesen: REVISION="`LANG="" svn info ./ | grep 'Revision:' | sed -e 's/Revision:\s//g'`" Das scheint geklappt zu haben. :-) Ich hab es so umgesetzt:
# Fetching new Stuff pushd freemedforms svn up REVISION="`LANG="" svn info ./ | grep 'Revision:' | sed -e 's/Revision:\s//g'`" popd # Packaging tar cvfj freemedforms-r$REVISION.bz2 freemedforms/ --exclude=.svn Allerdings scheint er $REVISION nicht umzusetzen. Gibe es da eventuell noch einen Trick? -- Sincerely Yours Sascha Manns openSUSE Community & Support Agent Maifeldstrasse 10 D-56 727 Mayen Phone: +49 2651 4014045 Email: Sascha.Manns@directbox.com Blog: http://saigkill.wordpress.com Web: http://www.saschamanns.de
On Monday 20 December 2010, 01:44:51 Sascha 'saigkill' Manns wrote:
Hallo Sebastian,
On Sunday 19 December 2010 02:15:40 Sebastian Siebert wrote:
Aktuelle Revision auslesen: REVISION="`LANG="" svn info ./ | grep 'Revision:' | sed -e 's/Revision:\s//g'`"
Das scheint geklappt zu haben. :-) Ich hab es so umgesetzt:
# Fetching new Stuff pushd freemedforms svn up REVISION="`LANG="" svn info ./ | grep 'Revision:' | sed -e 's/Revision:\s//g'`" popd
# Packaging tar cvfj freemedforms-r$REVISION.bz2 freemedforms/ --exclude=.svn
Allerdings scheint er $REVISION nicht umzusetzen. Gibe es da eventuell noch einen Trick?
A bisserl spät, aber ich hab hier ein tool in python rumliegen, das sowas automatisert.. Um genau zu sein, es sind zwei tools, eines checkt SVN repos aus und rollt ein tarball, ein anderes updated aus einem spec template und den tarballs ein BS package. Interesse? Da ich wenig Zeit habe, kann ich mich nicht groß darum kümmern (aber die Scripte halten im Moment per crontab meine PyQt/eric builds aktuell). home:frispete:PyQt und home:frispete:PyQt-next Pete -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
participants (3)
-
Hans-Peter Jansen
-
Sascha 'saigkill' Manns
-
Sebastian Siebert