web-dev-qa-db-fra.com

libimobiledevice 1.2 (iOS 8 Support) pour Ubuntu 14.04 Trusty

Existe-t-il un PPA disponible pour la version la plus récente de libimobiledevice 1.2 avec prise en charge d'iOS 8 ou quelqu'un peut-il expliquer comment le construire à partir des sources sans tout gâcher?

https://launchpad.net/ubuntu/+source/libimobiledevice

22
tristank

Utiliser le référentiel GitHub .

N'oubliez pas que chaque étape ne fonctionne que si l'étape précédente a abouti.

  1. Cloner le référentiel

    mkdir -p ~/src
    cd ~/src
    git clone https://github.com/libimobiledevice/libimobiledevice.git
    cd libimobiledevice
    
  2. Installer les bibliothèques de développement nécessaires

    Vous aurez peut-être besoin de plus de bibliothèques ou de paquets d'en-tête, comme indiqué ci-dessous Vous verrez ceci si vous avez des messages d'erreur lors de l'étape de configuration ultérieure. Ajoutez un commentaire si vous avez des problèmes.

    Sudo apt-get install libusbmuxd-dev libplist-dev  libplist++-dev libgnutls-dev libssl-dev python-dev
    
  3. Installer des logiciels supplémentaires

    Le logiciel suivant est nécessaire pour préparer le logiciel à la compilation, puis le compiler.

    Sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
    
  4. Installer les logiciels en option

    Le logiciel suivant permet d’exécuter plus rapidement certaines parties du package final et de créer une documentation.

    Sudo apt-get install cython doxygen
    
  5. Installer un assistant d'installation

    Checkinstall crée un paquet Debian afin que le logiciel soit géré par le gestionnaire de paquets.

    Sudo apt-get install checkinstall
    
  6. Configurer et construire

    ./autogen.sh
    make
    
  7. Installer

    Avec la commande ci-dessous, un paquet deb nommé libimobiledevice sera créé et installé.

    Sudo checkinstall
    

    Vous verrez cet avertissement:

    checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
               This software is released under the GNU GPL.
    
    
    
    *****************************************
    **** Debian package creation selected ***
    *****************************************
    
    *** Warning: The package version "1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1
    1.2.1" is not a
    *** Warning: debian policy compliant one. Please specify an alternate one
    
    
    This package will be built according to these values: 
    
    0 -  Maintainer: [ root@aboettger-VirtualBox ]
    1 -  Summary: [ Package created with checkinstall 1.6.2 ]
    2 -  Name:    [ libimobiledevice ]
    3 -  Version: [  ]
    4 -  Release: [ 1 ]
    5 -  License: [ GPL ]
    6 -  Group:   [ checkinstall ]
    7 -  Architecture: [ i386 ]
    8 -  Source location: [ libimobiledevice ]
    9 -  Alternate source location: [  ]
    10 - Requires: [  ]
    11 - Provides: [ libimobiledevice ]
    12 - Conflicts: [  ]
    13 - Replaces: [  ]
    

    Appuyez simplement sur 3 et tapez 1.2.1 et Enter

    Enter a number to change any of them or press ENTER to continue: 3
    Enter new version: 
    >> 1.2.1
    
  8. Vérifier les fichiers installés

    dpkg -L libimobiledevice
    

    et vous verrez quelque chose comme ça

    /.
    /usr
    /usr/share
    /usr/share/doc
    /usr/share/doc/libimobiledevice
    /usr/share/doc/libimobiledevice/COPYING.LESSER
    /usr/share/doc/libimobiledevice/AUTHORS
    /usr/share/doc/libimobiledevice/NEWS
    /usr/share/doc/libimobiledevice/README
    /usr/share/doc/libimobiledevice/docs
    /usr/share/doc/libimobiledevice/docs/idevice_id.1
    /usr/share/doc/libimobiledevice/docs/idevicenotificationproxy.1
    /usr/share/doc/libimobiledevice/docs/idevicepair.1
    /usr/share/doc/libimobiledevice/docs/ideviceprovision.1
    /usr/share/doc/libimobiledevice/docs/ideviceimagemounter.1
    /usr/share/doc/libimobiledevice/docs/Makefile
    /usr/share/doc/libimobiledevice/docs/idevicedebug.1
    /usr/share/doc/libimobiledevice/docs/idevicename.1
    /usr/share/doc/libimobiledevice/docs/idevicebackup.1
    /usr/share/doc/libimobiledevice/docs/idevicedebugserverproxy.1
    /usr/share/doc/libimobiledevice/docs/ideviceenterrecovery.1
    /usr/share/doc/libimobiledevice/docs/idevicecrashreport.1
    /usr/share/doc/libimobiledevice/docs/ideviceinfo.1
    /usr/share/doc/libimobiledevice/docs/Makefile.in
    /usr/share/doc/libimobiledevice/docs/Makefile.am
    /usr/share/doc/libimobiledevice/docs/idevicescreenshot.1
    /usr/share/doc/libimobiledevice/docs/idevicedate.1
    /usr/share/doc/libimobiledevice/docs/idevicesyslog.1
    /usr/share/doc/libimobiledevice/docs/idevicediagnostics.1
    /usr/share/doc/libimobiledevice/docs/idevicebackup2.1
    /usr/share/doc/libimobiledevice/COPYING
    /usr/local
    /usr/local/bin
    /usr/local/bin/idevicepair
    /usr/local/bin/idevicename
    /usr/local/bin/ideviceinfo
    /usr/local/bin/idevicebackup2
    /usr/local/bin/ideviceprovision
    /usr/local/bin/idevicecrashreport
    /usr/local/bin/ideviceimagemounter
    /usr/local/bin/idevice_id
    /usr/local/bin/idevicenotificationproxy
    /usr/local/bin/ideviceenterrecovery
    /usr/local/bin/idevicescreenshot
    /usr/local/bin/idevicediagnostics
    /usr/local/bin/idevicedebug
    /usr/local/bin/idevicebackup
    /usr/local/bin/idevicedebugserverproxy
    /usr/local/bin/idevicesyslog
    /usr/local/bin/idevicedate
    /usr/local/lib
    /usr/local/lib/libimobiledevice.la
    /usr/local/lib/pkgconfig
    /usr/local/lib/pkgconfig/libimobiledevice-1.0.pc
    /usr/local/lib/libimobiledevice.so.6.0.0
    /usr/local/lib/libimobiledevice.a
    /usr/local/share
    /usr/local/share/man
    /usr/local/share/man/man1
    /usr/local/share/man/man1/idevicebackup2.1.gz
    /usr/local/share/man/man1/ideviceprovision.1.gz
    /usr/local/share/man/man1/idevicebackup.1.gz
    /usr/local/share/man/man1/idevicecrashreport.1.gz
    /usr/local/share/man/man1/idevice_id.1.gz
    /usr/local/share/man/man1/ideviceenterrecovery.1.gz
    /usr/local/share/man/man1/ideviceimagemounter.1.gz
    /usr/local/share/man/man1/idevicename.1.gz
    /usr/local/share/man/man1/idevicescreenshot.1.gz
    /usr/local/share/man/man1/idevicedebug.1.gz
    /usr/local/share/man/man1/idevicenotificationproxy.1.gz
    /usr/local/share/man/man1/idevicedebugserverproxy.1.gz
    /usr/local/share/man/man1/idevicedate.1.gz
    /usr/local/share/man/man1/ideviceinfo.1.gz
    /usr/local/share/man/man1/idevicesyslog.1.gz
    /usr/local/share/man/man1/idevicediagnostics.1.gz
    /usr/local/share/man/man1/idevicepair.1.gz
    /usr/local/include
    /usr/local/include/libimobiledevice
    /usr/local/include/libimobiledevice/syslog_relay.h
    /usr/local/include/libimobiledevice/lockdown.h
    /usr/local/include/libimobiledevice/diagnostics_relay.h
    /usr/local/include/libimobiledevice/screenshotr.h
    /usr/local/include/libimobiledevice/property_list_service.h
    /usr/local/include/libimobiledevice/installation_proxy.h
    /usr/local/include/libimobiledevice/restore.h
    /usr/local/include/libimobiledevice/file_relay.h
    /usr/local/include/libimobiledevice/mobile_image_mounter.h
    /usr/local/include/libimobiledevice/mobilebackup2.h
    /usr/local/include/libimobiledevice/afc.h
    /usr/local/include/libimobiledevice/service.h
    /usr/local/include/libimobiledevice/webinspector.h
    /usr/local/include/libimobiledevice/heartbeat.h
    /usr/local/include/libimobiledevice/libimobiledevice.h
    /usr/local/include/libimobiledevice/mobilesync.h
    /usr/local/include/libimobiledevice/misagent.h
    /usr/local/include/libimobiledevice/debugserver.h
    /usr/local/include/libimobiledevice/mobilebackup.h
    /usr/local/include/libimobiledevice/house_arrest.h
    /usr/local/include/libimobiledevice/sbservices.h
    /usr/local/include/libimobiledevice/notification_proxy.h
    /usr/local/lib/libimobiledevice.so
    /usr/local/lib/libimobiledevice.so.6
    
23
A.B.

Voici ce que j'ai fait pour construire libimobiledevice-1.2.0:

  1. Installer des outils de construction et des dépendances

    Sudo apt-get install build-essential fakeroot devscripts pbuilder
    Sudo apt-get build-dep libimobiledevice
    
  2. Téléchargez les scripts de construction source et Debian de la version actuelle (1.1.5 sur Ubuntu 14.04):

    apt-get source libimobiledevice
    cd libimobiledevice-1.1.5
    
  3. Rechercher et télécharger une nouvelle version en amont:

    uscan --verbose
    
  4. Décompressez-le, mettez en place les scripts de compilation Debian et mettez à jour le journal des modifications:

    uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
    cd ../libimobiledevice-1.2.0
    
  5. Construisez le paquet binaire (en parallèle avec autant de travailleurs que de cœurs de processeur disponibles):

    debuild -b -j$(getconf _NPROCESSORS_ONLN)
    

    (-j indique au système de construction d'exécuter des tâches de construction individuelles en parallèle, si possible. Comme cela pose parfois des problèmes, il peut être intéressant d'essayer de réexécuter la construction sans cet indicateur ou de la supprimer.)

  6. Installez le paquet construit:

    Sudo dpkg -i ../libimobiledevice_1.2.0*.deb
    

En fait, j'ai un peu triché. Je ne pouvais pas satisfaire les dépendances de construction, car une bibliothèque n'était pas disponible dans les versions suffisamment récentes d'Ubuntu 14.04: libimobiledevice-1.2.0 requiert libusbmuxd-dev (>= 1.0.9), vous devrez donc la construire à partir du code source avec la même recette.

8
David Foerster

OK, c'est ce qui a fonctionné pour moi.

La commande est:

libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...

Source: https://github.com/libimobiledevice/usbmuxd/issues/1

mkdir -p ~/src
cd ~/src

Sudo apt-get -y install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev usbmuxd make automake autoconf libtool pkg-config gcc cython doxygen checkinstall libusb-1.0-0-dev libssl-dev

git clone https://github.com/libimobiledevice/libplist.git
cd libplist/
./autogen.sh 
make
Sudo make install

cd ..
git clone https://github.com/libimobiledevice/libusbmuxd.git
cd libusbmuxd/
./autogen.sh 
make
Sudo make install

cd ..
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice/
./autogen.sh 
make
Sudo checkinstall 

Dans checkinstall Invite:

> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
8
ATOzTOA

J'utilise ce PPA, il a le dernier appareil libimobiled, mais tous les composants n'y sont pas représentés: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice

3
yanpas

16.04 aura 1.2. J'ai pu télécharger les debs à partir du tableau de bord ( https://launchpad.net/ubuntu/xenial/+source/libimobiledevice ) et les installer le 15.10. J'avais besoin de libusbmuxd4, libimobiledevice6 et libimobiledevice-dev. Ensuite, j'ai installé ifuse 1.1.3 en suivant les instructions suivantes: https://askubuntu.com/a/691758

1
Aleksandr Dubinsky