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?
Utiliser le référentiel GitHub .
N'oubliez pas que chaque étape ne fonctionne que si l'étape précédente a abouti.
Cloner le référentiel
mkdir -p ~/src
cd ~/src
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
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
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
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
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
Configurer et construire
./autogen.sh
make
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
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
Voici ce que j'ai fait pour construire libimobiledevice-1.2.0:
Installer des outils de construction et des dépendances
Sudo apt-get install build-essential fakeroot devscripts pbuilder
Sudo apt-get build-dep libimobiledevice
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
Rechercher et télécharger une nouvelle version en amont:
uscan --verbose
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
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.)
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.
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]
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
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