wessen Bug dds2tar <-> tar <-> locales
Johannes Goecke
goecke at upb.de
Thu Apr 1 14:53:38 CEST 2004
Hi *,
ich habe ein Problem mit dds2tar, tar und den Locales
auf Debian sid.
dds2tar soll bei einem Dat-Streamer helfen einzelne Dateien
aus einem tar-Archiv zu extrahieren, indem schnell zum
benötigten File vorgespult wird. Dazu wird ein
Index-File benötigt welches direkt beim archivieren von tar
erzeugt werden kann. "tar cvRf /dev/tape > index-file"
erzeugt auch ein Index-File.
Wenn eine deutsche Locale (z.B. LANG=de_DE )eingestellt ist schreibt
tar bei der Ausgabe ein "Block" (mit grossem B), welches dds2tar nicht
parsen kann.
Bei anderen Locales (LANG=C) wird ein "block" als String ausgegeben.
Da dds2tar beim parsen der Index-Datei nur auf "block" mit der Funktion
"strncmp" vergleicht wird das deutsche "Block" nicht gefunden.
Wer hat denn nun "Schuld" bzw. was sollte (Debian korrekt) getan werden.
1. tar patchen, so dass auch mit LANG=de_DE ein "block" erscheint
2. dds2tar patchen, so dass mit "strncasecmp" die case-insensitive-
Suche verwendet wird ?
3. ?
fragend
Johannes Goecke
||/ Name Version Beschreibung
+++-==============-==============-======================================
ii dds2tar 2.5.2-3 Tools for using DDS features of DAT dr
ii tar 1.13.93-3 GNU tar
ii locales 2.3.2.ds1-11 GNU C Library: National Language (loca
goecke at marvin:~$ echo $LANG
de_DE at euro
goecke at marvin:~$ tar cvRf ../tmp.tar . | head -n 2
Block 0: ./
Block 1: ./mediawiki-1.1.0.tar.gz
goecke at marvin:~$ LANG=C tar cvRf ../tmp.tar . | head -n 2
block 0: ./
block 1: ./mediawiki-1.1.0.tar.gz
goecke at marvin:~$ LANG=de_DE tar cvRf ../tmp.tar . | head -n 2
Block 0: ./
Block 1: ./mediawiki-1.1.0.tar.gz
More information about the Linux
mailing list