[Flug] SVN / Eclipse - Markierung für ge?==?ISO-8859-1?Q?änderte Files

Uwe Kleine-König uwe at kleine-koenig.org
Di Mär 26 11:29:13 CET 2013


Hallo Ralf,

On Tue, Mar 26, 2013 at 10:47:03AM +0100, R. Mattes wrote:
> On Tue, 26 Mar 2013 08:44:16 +0100 (CET), Arno Steffens wrote
> > also bei mir läuft ein Ubuntu 10.04 LTS. Mit dem builden von
> > Packages habe ich noch keine Erfahrung, aber das hat mich auf eine
> > Idee gebracht. Ich hab das binary (svnversion) und ein die Libs aus 
> > libsvn von nem quantal repo zu extrahieren. Startet auch, bringt
> > aber dann
> >
> > svn: E200029: Couldn't perform atomic initialization
> > svn: E200030: SQLite compiled for 3.7.13, but running with 3.6.22
> >
> > Also noch die aktuelle SQL lib nach /usr/lib und voila ... :)
> > Ich hoffe, ich hab mir durch das überschreiben mancher libs kein
> > anderes Elend eingehandelt.
> 
> Aber sowas von ... :-/
> Das ist eigentlich immer eine ganz schlechte Idee. Du hast gerade
> Deinem Paketmanager die Dateien unter Hintern verändert. Was kann
> da passieren: im beten Fall merkt's der Paketmanager und gibt auf -
> ab jetzt werden Softwareupdates _sehr_ mühsam. Wenn Du Pech hast
> merkt er's aber nicht. Irgendwann (RalfD's Law: dann und genau
> dann wenn man's gerade nicht gebrauchen kann) gibt's dann ein
> Security-Update der libsqlite3 und der Paketmanager spielt "neue"
> Versionen der Libs ein, und zwar dorthin wohin Du Deine Versionen
> geschrieben hast. Dann kanllt von jetzt auf nacher Dein Eclipse.
> Oh, und nicht zu vergessen: ab jetzt müsssen alle Pakete die die
> SqlLite-Libs verwenden mit der neuen Version klarkommen (das sind
> gar nicht so wenige, auf meinem Debian linken 269 Pakete dagegen).
> Wehe sie können das nicht (theoretisch sollte das klappen ...)
> Dumm gelaufen wenn dann die Firefox-Bookmarks oder die Thunderbird
> Kontakte etc. nicht mehr laufen.
> 
> Also, wenn schon ohne Pakete dann so:
> 
>  # mkdir -p /opt/uglyfix/bin
>  # mkdir -p /opt/uglyfix/lib
> 
> Dann svnversion nach  /opt/uglyfix/bin kopieren, alle libraries
> nach  /opt/uglyfix/lib. So, jetzt noch ein kleines Script nach
> /usr/local/bin/svnversion (wichtig: /usr/local gehört Dir und wird vom Paket-
> manager nicht angerührt):
> 
> x-------------------------[begin svnversion]----------------------------x
> 
> #!/bin/sh
> 
> export LD_LIBRARY_PATH=/opt/uglyfix/lib:$LD_LIBRARY_PATH
<pedantic>
Ich würde hier ja ":$LD_LIBRARY_PATH" weg lassen. Ich weiss nicht ob das
so ist wie bei PATH, aber wenn LD_LIBRARY_PATH dann "/opt/uglyfix/lib:"
enthält und der leere Eintrag am Ende als $PWD interpretiert wird, hört
der Spaß eigentlich auf.

Abgesehen davon ist export VAR=val ein bashism. In sh muss man da
VAR=val;export VAR; von machen. Dash scheint das zu können, aber IIRC
geht das unter Solaris' sh schief.
</pedantic>

> /opt/uglyfix/bin/svnversion
> 
> x-------------------------[end svnversion]------------------------------x
> 
> schnell noch ein 'sudo chmod 755 /usr/local/bin/svnversion'. Wenn Du
> ab jetzt 'svnversion' aufrufst sollte Dein Script gefunden werden das
> dann mit den "richtigen" Libs das neue svnversion aufruft. Das ganze
> brührt das Restsystem nicht und ist viel weniger fehleranfällig.
> 
> 
>  HTH RalD
Jetzt steht nicht nur das 'D' für "Mattes" sondern das 'f' fehlt sogar
:-)

Uwe




Mehr Informationen über die Mailingliste Flug