Introduction à UnZip
        
        
          Le paquet UnZip contient des
          outils d'extraction ZIP. Ils sont
          utiles pour extraire des fichiers à partir d'archives ZIP. Les archives ZIP sont créées avec les outils PKZIP ou Info-ZIP, surtout dans un environnement DOS.
        
        
          Ce paquet est connu pour se construire correctement sur une
          plateforme LFS-8.1.
        
        
          
          
            Attention
          
          
            La précédente version du paquet UnZip avait des problèmes liés aux locales.
            Aucun éditeur de BLFS n'est actuellement capable de tester ces
            problèmes de locale. On a donc laissé sur cette page les
            informations liées aux locales mais elles n'ont pas été testées.
            Vous pouvez trouver une approche plus générale de ces problèmes
            dans la section 
            Le programme suppose l'encodage de la page Problèmes liés aux locales.
          
         
        
          Informations sur le paquet
        
        
        
          Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/unzip
        
       
      
        
          Problèmes de locale d'UnZip
        
        
          
          
            Note
          
          
            L'utilisation de UnZip dans
            l'installation de JDK,
            Mozilla, DocBook ou tout autre paquet BLFS n'est pas
            un problème vu que les instructions de BLFS n'utilisent jamais
            UnZip pour extraire un fichier
            ayant dans son nom des caractères non-ASCII.
          
         
        
          Le paquet UnZip suppose que les
          noms des fichiers stockés dans les archives ZIP créées sur des
          systèmes non Unix sont encodés en CP850, et qu'ils devraient être
          convertis en ISO-8859-1 lors de l'écriture des fichiers sur le
          système de fichiers. De telles suppositions ne sont pas toujours
          valides. En fait, dans l'archive ZIP, les noms de fichiers sont
          encodés en codepage du DOS utilisé dans le pays concerné et les
          noms de fichier sur le disque devraient être dans l'encodage de la
          locale. Dans MS Windows, la fonction C OemToChar() (de User32.DLL) effectue la bonne conversion (qui est
          effectivement la conversion de CP850 vers une couche d'ISO-8859-1
          si MS Windows est paramétré pour utiliser la langue anglaise
          américaine), mais il n'y a pas d'équivalent sur Linux.
        
        
          Lors de l'utilisation de unzip pour déballer une archive
          ZIP contenant des noms de fichiers non-ASCII, les noms de fichiers
          sont endommagés car unzip utilise une mauvaise
          conversion quand une de ses suppositions d'encodage n'est pas
          bonne. Par exemple, dans la locale ru_RU.KOI8-R, la conversion des
          noms de fichiers de CP866 en KOI8-R est nécessaire, mais la
          conversion de CP850 en ISO-8859-1 se fait, ce qui donne des noms de
          fichiers composés de caractères indéchiffrables au lieu de mots
          (l'exemple équivalent le plus parlant pour des utilisateurs
          anglophones est rot13). Il y a plusieurs manières de contourner
          cette limitation :
        
        
          1) Pour déballer des archives ZIP ayant des noms de fichiers
          contenant des caractères non-ASCII, utilisez WinZip en lançant l'émulateur Windows
          Wine.
        
        
          2) Après avoir exécuté unzip, réparez les dommages sur
          les noms de fichiers en utilisant l'outil convmv (http://j3e.de/linux/convmv/). Ce
          qui suit est un exemple pour la locale ru_RU.KOI8-R :
        
        
          
            
              Étape 1. Annulez la conversion effectuée par unzip :
            
            convmv -f iso-8859-1 -t cp850 -r --nosmart --notest \
    </path/to/unzipped/files>
            
              Étape 2. Faites la bonne conversion :
            
            convmv -f cp866 -t koi8-r -r --nosmart --notest \
    </path/to/unzipped/files>
          
         
       
      
        
          Installation de UnZip
        
        
make -f unix/Makefile generic
        
          La suite de tests ne fonctionne pas avec la cible
          « generic ».
        
        
          Maintenant, en tant qu'utilisateur root :
        
        make prefix=/usr MANDIR=/usr/share/man/man1 \
 -f unix/Makefile install
       
      
        
          Explication des commandes
        
        
          make -f unix/Makefile
          generic : Cette cible commence par lancer un
          script de configuration (pas comme les anciennes cibles comme linux
          et linux_noasm) qui crée un fichier de drapeaux qui est ensuite
          utilisé dans la construction. Cela permet que les constructions x86
          32 bits reçoivent les bons drapeaux pour dézipper les fichiers qui
          sont plus gros que 2Go une fois extrait.