libimobiledevice 1.2 (supporto iOS 8) per Ubuntu 14.04 Trusty


22

È disponibile un PPA per la versione 1.2 di libimobiledevice 1.2 più recente con supporto per iOS 8 o qualcuno può spiegare come costruirlo dal sorgente senza rovinare tutto?

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


Non ne ho trovato nessuno, ma non è difficile creare e impacchettare tu stesso la versione attuale: help.ubuntu.com/community/UpdatingADeb .
David Foerster,

Grazie credo che dovrò provarlo allora. Sono un po 'preoccupato di interrompere l'integrazione con nautilus.
Tristank

Ne hai avuto successo? Riesci a montare di nuovo la cartella "Documents of ..."? Sono riuscito a costruire e installare, ma il montaggio e la ricarica non hanno funzionato affatto. Pertanto, ho effettuato il downgrade e aspetto che qualcuno più abile crei un ppa.
Weidenrinde,

Risposte:


23

Utilizzo del repository GitHub .

Tieni presente che ogni passaggio funziona solo se il passaggio precedente ha avuto esito positivo.

  1. Clona il repository

    mkdir -p ~/src
    cd ~/src
    git clone https://github.com/libimobiledevice/libimobiledevice.git
    cd libimobiledevice
    
  2. Installa le librerie di sviluppo necessarie

    Potresti aver bisogno di più librerie o pacchetti di intestazione come elencato di seguito. Vedrai questo se hai messaggi di errore durante il passaggio di configurazione in seguito. Aggiungi un commento se hai problemi.

    sudo apt-get install libusbmuxd-dev libplist-dev  libplist++-dev libgnutls-dev libssl-dev python-dev
    
  3. Installa del software aggiuntivo

    Il seguente software è necessario per preparare il software per la compilazione e quindi compilarlo.

    sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
    
  4. Installa software opzionale

    Il seguente software viene utilizzato per velocizzare l'esecuzione di parti del pacchetto finito e creare documentazione.

    sudo apt-get install cython doxygen
    
  5. Installa un supporto per l'installazione

    Checkinstall crea un pacchetto debian in modo che il software sia gestito dal gestore pacchetti.

    sudo apt-get install checkinstall
    
  6. Configura e costruisci

    ./autogen.sh
    make
    
  7. Installare

    Con il comando seguente, libimobiledeviceverrà creato e installato un pacchetto deb con il nome .

    sudo checkinstall
    

    Vedrai questo avviso:

    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: [  ]
    

    Basta premere 3e digitare 1.2.1eEnter

    Enter a number to change any of them or press ENTER to continue: 3
    Enter new version: 
    >> 1.2.1
    
  8. Controlla i file installati

    dpkg -L libimobiledevice
    

    e vedrai qualcosa del genere

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

Riesci a montare nuovamente la cartella "Documents of ..."? Funziona con iOS 9/10?
Weidenrinde,

8

Questo è quello che ho fatto per creare libimobiledevice-1.2.0:

  1. Installa strumenti di compilazione e dipendenze

    sudo apt-get install build-essential fakeroot devscripts pbuilder
    sudo apt-get build-dep libimobiledevice
  2. Scarica i sorgenti e gli script di compilazione Debian della versione attualmente in pacchetto (1.1.5 su Ubuntu 14.04):

    apt-get source libimobiledevice
    cd libimobiledevice-1.1.5
  3. Cerca e scarica la nuova versione upstream:

    uscan --verbose
  4. Decomprimilo, metti in posizione gli script di build di Debian e aggiorna il registro delle modifiche:

    uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
    cd ../libimobiledevice-1.2.0
  5. Costruisci il pacchetto binario (in parallelo con tanti lavoratori quanti sono i core della CPU disponibili):

    debuild -b -j$(getconf _NPROCESSORS_ONLN)

    ( -jindica al sistema di compilazione di eseguire singole attività di compilazione in parallelo, se possibile. Dato che questo a volte porta a problemi, potrebbe essere utile provare a rieseguire la compilazione senza quella bandiera o rilasciarla in primo luogo.)

  6. Installa il pacchetto integrato:

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

In realtà ho tradito un po '. Non sono riuscito a soddisfare le dipendenze di compilazione, perché una libreria non è disponibile in versioni sufficientemente recenti in Ubuntu 14.04: libimobiledevice-1.2.0 richiede libusbmuxd-dev (>= 1.0.9), quindi dovrai costruirlo dal sorgente prima con la stessa ricetta.


1
Durante il tentativo di compilare il libusbmux-d aggiornato, dopo aver aggiunto alcune dipendenze, mi sono imbattuto in: dh_auto_configure - -DCMAKE_INSTALL_PREFIX = "/ usr" -DCMAKE_SKIP_RPATH = true -DLIB_SUFFIX = -DUSB_PKGCONF_INCLUDE / lib : errore: opzione non riconosciuta: `-DCMAKE_INSTALL_PREFIX = / usr 'Qualche idea? C'è qualche possibilità che tu (o altri) pubblichi il risultato dei tuoi sforzi in un ppa?
Weidenrinde,

Si prega di aprire una nuova domanda per il problema. Puoi inviarmi un link attraverso queste sezioni di commento per attirare la mia attenzione su di esso. Come idea rapida, consultare l'output di ./configure --helpper un elenco di opzioni disponibili.
David Foerster,

1
In realtà, qualcun altro ha fatto questo, perché si imbattono
Weidenrinde,

1
Ho lo stesso problema su Ubuntu 15.04. Hai ottenuto una soluzione?
Fonte codice

1
Per installare libusbmuxd-dev (>= 1.0.9)è possibile scaricare * .deb qui e installarlo consudo dpkg -i
Michele

8

OK, questo è ciò che ha funzionato per me.

L'ordine è:

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

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

Al checkinstallprompt:

> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.