libimobiledevice 1.2 (iOS 8 Support) für Ubuntu 14.04 Trusty

22

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?

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

tristank
quelle
Ich habe keine gefunden, aber es ist nicht schwer, die aktuelle Version selbst zu erstellen und zu packen : help.ubuntu.com/community/UpdatingADeb .
David Foerster
Danke, ich denke, ich muss es dann ausprobieren. Ich bin ein bisschen besorgt darüber, die Integration mit Nautilus zu brechen.
Tristank
Warst du damit erfolgreich? Können Sie den Ordner "Documents of ..." erneut bereitstellen? Ich habe es geschafft zu bauen und zu installieren, aber Montage und Aufladen haben überhaupt nicht funktioniert. Aus diesem Grund habe ich ein Downgrade durchgeführt und darauf gewartet, dass ein erfahrener Mitarbeiter einen ppa einrichtet.
Weidenrinde,

Antworten:

23

Verwenden des GitHub-Repository .

Beachten Sie, dass jeder Schritt nur funktioniert, wenn der vorherige Schritt erfolgreich war.

  1. Klonen Sie das Repository

    mkdir -p ~/src
    cd ~/src
    git clone https://github.com/libimobiledevice/libimobiledevice.git
    cd libimobiledevice
    
  2. 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
    
  3. 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
    
  4. 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
    
  5. Installieren Sie einen Installationshelfer

    Checkinstall erstellt ein Debian-Paket, so dass die Software vom Paketmanager verwaltet wird.

    sudo apt-get install checkinstall
    
  6. Konfigurieren und erstellen

    ./autogen.sh
    make
    
  7. Installieren

    Mit dem folgenden Befehl wird ein Deb-Paket mit dem Namen libimobiledeviceerstellt 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.1und einEnter

    Enter a number to change any of them or press ENTER to continue: 3
    Enter new version: 
    >> 1.2.1
    
  8. Ü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
    
AB
quelle
Können Sie den Ordner "Documents of ..." erneut bereitstellen? Funktioniert das mit ios 9/10?
Weidenrinde
8

Folgendes habe ich getan, um libimobiledevice-1.2.0 zu erstellen:

  1. Installieren Sie Build-Tools und Abhängigkeiten

    sudo apt-get install build-essential fakeroot devscripts pbuilder
    sudo apt-get build-dep libimobiledevice
  2. 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
  3. Nach neuer Upstream-Version suchen und diese herunterladen:

    uscan --verbose
  4. 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
  5. Erstellen Sie das Binärpaket (parallel zu so vielen Workern wie CPU-Kernen verfügbar sind):

    debuild -b -j$(getconf _NPROCESSORS_ONLN)

    ( -jWeist 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.)

  6. 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.

David Foerster
quelle
1
Beim Versuch, das aktualisierte libusbmux-d zu erstellen, stieß ich nach dem Hinzufügen einiger Abhängigkeiten auf: dh_auto_configure - -DCMAKE_INSTALL_PREFIX = "/ usr" -DCMAKE_SKIP_RPATH = true : Fehler: Nicht erkannte Option: -DCMAKE_INSTALL_PREFIX = / usr Irgendeine Idee? Gibt es eine Chance, dass Sie (oder andere) das Ergebnis Ihrer Bemühungen in einem PPA veröffentlichen?
Weidenrinde,
Bitte öffnen Sie eine neue Frage für Ihr Problem. Sie können mir einen Link durch diese Kommentarbereiche schicken, um mich darauf aufmerksam zu machen. ./configure --helpEine Liste der verfügbaren Optionen finden Sie in der Ausgabe von .
David Foerster
1
Eigentlich hat das jemand anderes gemacht, weil er auf dasselbe Problem gestoßen ist
Weidenrinde
1
Ich habe das gleiche Problem unter Ubuntu 15.04. Hast du eine Lösung bekommen?
Code-Source
1
Zur Installation können libusbmuxd-dev (>= 1.0.9)Sie die * .deb hier herunterladen und mitsudo dpkg -i
Michele
8

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 checkinstallAufforderung:

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

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

Yanpas
quelle
Welche Komponenten fehlen? Diejenigen, die das Anzeigen der freigegebenen Dokumente von Apps ermöglichen?
NoBugs
@ NoBugs ja, ifuse vermisst
Yanpas
Funktioniert nicht am 15.10.
Aleksandr Dubinsky