• # ipk =~ deb mais pas tout à fait

    Posté par (site web personnel) . En réponse au message Convertir un *.ipk en *.deb. Évalué à 3.

    Contexte rapide : on trouve généralement les fichiers *.ipk pour les compilations faites à partir d'OpenEmbedded, à utiliser avec son gestionnaire de paquets opkg, qui est une version butcherisée de dpkg.

    On pourrait donc s'attendre à pouvoir inspecter un tel paquet avec dpkg --info mais :

    kibi@armor:~/downloads$ dpkg --info *.ipk
    dpkg-deb: error: archive '4k.suptv_1.3_all.ipk' has premature member 'data.tar.gz' before 'control.tar', giving up
    

    Heureusement, on peut récupérer la partie métadonnée (control.tar*) et la partie données (data.tar*) avec ar :

    kibi@armor:~/downloads$ ar x 4k.suptv_1.3_all.ipk 
    kibi@armor:~/downloads$ ls -ltr|tail -3
    -rw-r--r-- 1 kibi kibi 4 May 6 14:45 debian-binary
    -rw-r--r-- 1 kibi kibi 11275 May 6 14:45 data.tar.gz
    -rw-r--r-- 1 kibi kibi 200 May 6 14:45 control.tar.gz
    kibi@armor:~/downloads$ tar xf data.tar.gz 
    kibi@armor:~/downloads$ find usr/ -type f
    usr/lib/enigma2/python/Plugins/Extensions/suptv/__init__.pyo
    usr/lib/enigma2/python/Plugins/Extensions/suptv/plugin.pyo
    usr/lib/enigma2/python/Plugins/Extensions/suptv/keymap.xml
    usr/lib/enigma2/python/Plugins/Extensions/suptv/plugin.png
    

    Tu peux donc ainsi recopier les fichiers en question dans ton arborescence.

    C'est probablement une bonne idée d'ouvrir aussi le fichier control.tar.gz pour vérifier les métadonnées, notamment les champs Depends et Recommends du fichier control, qui contiennent peut-être des noms/versions de paquets qui pourraient être nécessaires.

    Debian Consultant @ DEBAMAX