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