Gibt es ein PPA für die neueste Version von libimobiledevice 1.2 mit Unterstützung für iOS 8 oder kann jemand erklären, wie man es aus dem Quellcode erstellt, ohne alles zu vermasseln?
Gibt es ein PPA für die neueste Version von libimobiledevice 1.2 mit Unterstützung für iOS 8 oder kann jemand erklären, wie man es aus dem Quellcode erstellt, ohne alles zu vermasseln?
Antworten:
Verwenden des GitHub-Repository .
Beachten Sie, dass jeder Schritt nur funktioniert, wenn der vorherige Schritt erfolgreich war.
Klonen Sie das Repository
mkdir -p ~/src
cd ~/src
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
Installieren Sie die erforderlichen Entwicklungsbibliotheken
Möglicherweise benötigen Sie weitere Bibliotheken oder Header-Pakete (siehe unten). Sie sehen dies, wenn Sie später während des Konfigurationsschritts Fehlermeldungen erhalten. Fügen Sie einen Kommentar hinzu, wenn Sie Probleme haben.
sudo apt-get install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev python-dev
Installieren Sie zusätzliche Software
Die folgende Software wird benötigt, um die Software für die Kompilierung vorzubereiten und anschließend zu kompilieren.
sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
Installieren Sie optionale Software
Die folgende Software wird verwendet, um Teile des fertigen Pakets schneller auszuführen und Dokumentation zu erstellen.
sudo apt-get install cython doxygen
Installieren Sie einen Installationshelfer
Checkinstall erstellt ein Debian-Paket, so dass die Software vom Paketmanager verwaltet wird.
sudo apt-get install checkinstall
Konfigurieren und erstellen
./autogen.sh
make
Installieren
Mit dem folgenden Befehl wird ein Deb-Paket mit dem Namen libimobiledevice
erstellt und installiert.
sudo checkinstall
Sie werden diese Warnung sehen:
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: [ ]
Drücken Sie einfach 3und geben Sie 1.2.1
und einEnter
Enter a number to change any of them or press ENTER to continue: 3
Enter new version:
>> 1.2.1
Überprüfen Sie die installierten Dateien
dpkg -L libimobiledevice
und du wirst so etwas sehen
/.
/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
Folgendes habe ich getan, um libimobiledevice-1.2.0 zu erstellen:
Installieren Sie Build-Tools und Abhängigkeiten
sudo apt-get install build-essential fakeroot devscripts pbuilder
sudo apt-get build-dep libimobiledevice
Laden Sie die Quell- und Debian-Build-Skripte der aktuell gepackten Version (1.1.5 unter Ubuntu 14.04) herunter:
apt-get source libimobiledevice
cd libimobiledevice-1.1.5
Nach neuer Upstream-Version suchen und diese herunterladen:
uscan --verbose
Entpacken Sie es, setzen Sie die Debian-Build-Skripte ein und aktualisieren Sie das Änderungsprotokoll:
uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
cd ../libimobiledevice-1.2.0
Erstellen Sie das Binärpaket (parallel zu so vielen Workern wie CPU-Kernen verfügbar sind):
debuild -b -j$(getconf _NPROCESSORS_ONLN)
( -j
Weist das Build-System an, einzelne Build-Tasks nach Möglichkeit parallel auszuführen. Da dies manchmal zu Problemen führt, kann es sich lohnen, den Build ohne dieses Flag erneut auszuführen oder gar erst zu löschen.)
Installieren Sie das erstellte Paket:
sudo dpkg -i ../libimobiledevice_1.2.0*.deb
Eigentlich habe ich ein bisschen geschummelt. Ich konnte die Build-Abhängigkeiten nicht erfüllen, da eine Bibliothek in den neuesten Versionen von Ubuntu 14.04: libimobiledevice-1.2.0 nicht verfügbar ist. libusbmuxd-dev (>= 1.0.9)
Sie müssen sie also zuerst aus dem Quellcode mit demselben Rezept erstellen.
./configure --help
Eine Liste der verfügbaren Optionen finden Sie in der Ausgabe von .
OK, das hat bei mir funktioniert.
Die Reihenfolge ist:
libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...
Quelle: https://github.com/libimobiledevice/usbmuxd/issues/10
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
In der checkinstall
Aufforderung:
> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
Ich benutze dieses PPA, es hat das neueste libimobiledevice, aber nicht alle Komponenten sind dort vertreten: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice
16.04 wird 1.2 haben. Ich konnte die Debs vom Launchpad ( https://launchpad.net/ubuntu/xenial/+source/libimobiledevice ) herunterladen und am 15.10 installieren. Ich brauchte libusbmuxd4
, libimobiledevice6
und libimobiledevice-dev
. Dann habe ich ifuse 1.1.3 folgendermaßen installiert: /ubuntu//a/691758