Hello Tomasz,

On Tue, Sep 13, 2016 at 10:04:28PM +0200, Carsten Schoenert wrote:
... 
> So now I was using option -k to see if there is something abnormal. And
> yes, the manifest file has already that broken naming.
> 
> carsten@stretch:/tmp  $ grep -rw "303" */manifest
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36503505_50x50mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36103605_60x60mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36103505_50x50mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36103205_20x20mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36503205_20x20mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36503255_25x25mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36103255_25x25mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36503305_30x30mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36503605_60x60mm.kicad_mod
> pristine-tar.fbAnsJPkxo/manifest:libraries/Shielding_Cabinets.pretty/W\303\274rth_36103305_30x30mm.kicad_mod
> 
> I don't how this manifest file is created but there is probably
> something working not well.
> 
> If I try to follow the command while working with verbose or debuging
> messages this part is not vissible.

thanks to a colleague I could get a workaround and commit my
orig*.tar.xz tarballs to the tree.

The problems must be araising in the genmanifest function due some
charset voodoo. I'm running locally the de_DE.utf8 charset. So I think
the created orig*.tar.xz tarballs are created with this charset.

pristine-tar set LANG to 'C'. So also the function genmanifest is
running with this setting. So if we hack and modify now this function to
use de_DE.utf8 the commit is working, also the later extracting from the
branch. The hackish looks now this way:

$ git diff
diff --git a/pristine-tar b/pristine-tar
index fa73fcf..9e28855 100755
--- a/pristine-tar
+++ b/pristine-tar
@@ -501,16 +501,23 @@ sub genmanifest {
        my $tarball=shift;
        my $manifest=shift;
 
+       delete $ENV{LANG};
+       $ENV{LANG} = 'de_DE.utf8';
+       #print $ENV{LANG} . "\n";
        open(IN, "tar --quoting-style=escape -tf $tarball |") || die "tar tf: 
$!";
        open(OUT, ">", $manifest) || die "$!";
        while (<IN>) {
                chomp;
                # ./ or / in the manifest just confuses tar
+               #print "DEBUG1: $_\n";
                s/^\.?\/+//;
+               #print "DEBUG2: $_\n";
                print OUT "$_\n" if length $_;
        }
        close IN;
        close OUT;
+       delete $ENV{LANG};
+       $ENV{LANG} = 'C';
 }
 
 sub gendelta {

Maybe pristine-tar should figure out which charest is used within the
tarball and use this while creating the manifest of the tarball? I don't
know, I'm really not a Perl guy. :-)

Regards
Carsten

Reply via email to