Entwicklerhandbuch/Alphascriptaktualisierung

Aus Delixs
Zur Navigation springen Zur Suche springen


Zwischen den alpha-Versionen werden Scripte erneuert. Wer diese testen möchte, müsste sie natürlich auf seiner delixs-Version aktualisieren. Dazu kann man die im SVN abgelegten Scripte auf seinen Testserver herunterladen.

Voraussetzung, es ist das SVN eingerichtet, was standardmäßig nicht der Fall ist.

Dies richtet man per aptitude install subversion ein:

[root@alix ~]# aptitude install subversion
Die folgenden NEUEN Pakete werden zusätzlich installiert:
 libneon27-gnutls{a} libserf-0-0{a} libsvn1{a} subversion
0 Pakete aktualisiert, 4 zusätzlich installiert, 0 werden entfernt und 23 nicht aktualisiert.
Muss 2.475 kB an Archiven herunterladen. Nach dem Entpacken werden 7.160 kB zusätzlich belegt sein.
Wollen Sie fortsetzen? [Y/n/?] Y
Hole:1 http://ftp.de.debian.org/debian/ squeeze/main libneon27-gnutls amd64 0.29.3-3 [139 kB]
Hole:2 http://ftp.de.debian.org/debian/ squeeze/main libserf-0-0 amd64 0.3.1-1 [34,5 kB]
Hole:3 http://ftp.de.debian.org/debian/ squeeze/main libsvn1 amd64 1.6.12dfsg-6[984 kB]
Hole:4 http://ftp.de.debian.org/debian/ squeeze/main subversion amd64 1.6.12dfsg-6 [1.317 kB]
2.475 kB wurden in 5 s heruntergeladen (471 kB/s)
Vormals abgewähltes Paket libneon27-gnutls wird gewählt.
(Lese Datenbank ... 48015 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von libneon27-gnutls (aus .../libneon27-gnutls_0.29.3-3_amd64.deb) ...
Vormals abgewähltes Paket libserf-0-0 wird gewählt.
Entpacken von libserf-0-0 (aus .../libserf-0-0_0.3.1-1_amd64.deb) ...
Vormals abgewähltes Paket libsvn1 wird gewählt.
Entpacken von libsvn1 (aus .../libsvn1_1.6.12dfsg-6_amd64.deb) ...
Vormals abgewähltes Paket subversion wird gewählt.
Entpacken von subversion (aus .../subversion_1.6.12dfsg-6_amd64.deb) ...
Trigger für man-db werden verarbeitet ...
libneon27-gnutls (0.29.3-3) wird eingerichtet ...
libserf-0-0 (0.3.1-1) wird eingerichtet ...
libsvn1 (1.6.12dfsg-6) wird eingerichtet ...
subversion (1.6.12dfsg-6) wird eingerichtet ...

[root@alix ~]#

Will man nun die Scripte aktualisieren, kann man folgendes Shell-Script verwenden:

#! /bin/sh
#
# svnnew
#
# verschiebt /usr/local/sbin
# und    /usr/share/perl5/Delix
# nach usr/sicher-Datum
# und holt vom svn die neue Version
# und schreibt neuere oder nicht geholte Daten zurück
# unten sind Kontroll-Vergleiche auskommentiert, kann man aktivieren
  
echo kopiere.
name=svnsicherung-`/bin/date +%Y-%m-%d-%H-%M-%S` 
 
mkdir /usr/$name
mkdir /usr/$name/sbin
mkdir /usr/$name/share
mkdir /usr/$name/share/perl5
mkdir /usr/$name/share/perl5/Delixs 
  
# Leeren der Verzeichnisse 
  
mv  -v /usr/local/sbin /usr/$name
mv  -v /usr/share/perl5/Delixs /usr/$name/share/perl5 
 
# holen aus dem SVN
 
cd /usr/local
svn co http://dev.delixs.de/wsvn/delixs/delixs-scripts/trunk/local/sbin/ 
  
cd /usr/share/perl5
svn co http://dev.delixs.de/wsvn/delixs/delixs-scripts/trunk/share/perl5/Delixs 
  
echo 
echo nicht geholte Dateien nach sbin zurück:
echo
  
# Zurückkopieren der neueren oder nicht vorhandenen Daten.

cp -urv /usr/$name/sbin /usr/local/
 
echo
echo nicht geholte Dateien nach sbin zurück:
echo
  
cp -urv /usr/$name/share/perl5/Delixs /usr/share/perl5/

# echo
# echo Unterschiede bei sbin:
# echo
#
# diff  /usr/local/sbin/ /usr/$name/sbin/
#
# echo
# echo und bei Delixs:
# echo
#
# diff  /usr/share/perl5/Delixs/ /usr/$name/share/perl5/Delixs/
#
   
exit 0

( erst mit dem mc noch ausführbar machen und dann start mit ./svnnew ) und ist auf dem aktuellen Stand, da man die aktuellen Dateien aus dem SVN verwendet. Die bisherigen wurden in die Sicherung verschoben.

Dateien, die zurück kopiert wurden, werden im Script angezeigt.

Um den alten Stand wiederherzustellen kopiert man sich aus dem ältesten Sicherungsverzeichnis die Inhalte der Verzeichnisse share/perl5/Delixs/ und sbin/ zurück nach /usr/share/perl5/Delixs/ bzw. /usr/local/sbin/