libimobiledevice 1.2 (suporte para iOS 8) para o Ubuntu 14.04 Trusty

22

Existe um PPA disponível para a versão mais recente do libimobiledevice 1.2 com suporte para iOS 8 ou alguém pode explicar como construí-lo a partir do código-fonte sem estragar tudo?

link

    
por tristank 20.03.2015 / 01:58

5 respostas

23

Usando o repositório do GitHub .

Lembre-se de que cada etapa funciona somente se a etapa anterior foi bem-sucedida.

  1. Clone o repositório

    mkdir -p ~/src
    cd ~/src
    git clone https://github.com/libimobiledevice/libimobiledevice.git
    cd libimobiledevice
    
  2. Instale as bibliotecas de desenvolvimento necessárias

    Você pode precisar de mais bibliotecas ou pacotes de cabeçalho, conforme listado abaixo. Você verá isso se tiver mensagens de erro durante a etapa de configuração posteriormente. Adicione um comentário se você tiver problemas.

    sudo apt-get install libusbmuxd-dev libplist-dev  libplist++-dev libgnutls-dev libssl-dev python-dev
    
  3. Instale algum software adicional

    O seguinte software é necessário para preparar o software para compilação e, em seguida, compilá-lo.

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

    O software a seguir é usado para fazer com que partes do pacote finalizado sejam executadas mais rapidamente e criar documentação.

    sudo apt-get install cython doxygen
    
  5. Instalar um ajudante de instalação

    O Checkinstall cria um pacote Debian para que o software seja gerenciado pelo gerenciador de pacotes.

    sudo apt-get install checkinstall
    
  6. Configure e crie

    ./autogen.sh
    make
    
  7. Instalar

    Com o comando abaixo, um pacote deb com o nome libimobiledevice será criado e instalado.

    sudo checkinstall
    

    Você verá este aviso:

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

    Simplesmente pressione 3 e digite 1.2.1 e Digite

    Enter a number to change any of them or press ENTER to continue: 3
    Enter new version: 
    >> 1.2.1
    
  8. Verifique os arquivos instalados

    dpkg -L libimobiledevice
    

    e você verá algo parecido com isto

    /.
    /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
    
por A.B. 09.09.2015 / 10:30
8

Isto é o que eu fiz para construir o libimobiledevice-1.2.0:

  1. Instale ferramentas de construção e dependências

    sudo apt-get install build-essential fakeroot devscripts pbuilder
    sudo apt-get build-dep libimobiledevice
    
  2. Faça o download dos scripts fonte e de compilação do Debian da versão atualmente empacotada (1.1.5 no Ubuntu 14.04):

    apt-get source libimobiledevice
    cd libimobiledevice-1.1.5
    
  3. Procure e faça o download da nova versão original:

    uscan --verbose
    
  4. Descompacte-o, coloque os scripts de construção do Debian no lugar e atualize o log de alterações:

    uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
    cd ../libimobiledevice-1.2.0
    
  5. Compile o pacote binário (em paralelo com tantos trabalhadores quanto os núcleos de CPU disponíveis):

    debuild -b -j$(getconf _NPROCESSORS_ONLN)
    

    ( -j instrui o sistema de compilação a executar tarefas de compilação individuais em paralelo, se possível. Como isso às vezes causa problemas, talvez valha a pena tentar executar novamente a compilação sem esse sinalizador ou soltá-la no primeiro lugar.)

  6. Instale o pacote criado:

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

Na verdade, eu trapaceei um pouco. Eu não pude satisfazer as dependências de construção, porque uma biblioteca não está disponível em versões suficientemente recentes no Ubuntu 14.04: libimobiledevice-1.2.0 requer libusbmuxd-dev (>= 1.0.9) , então você terá que construí-lo a partir da fonte primeiro com a mesma receita.

    
por David Foerster 04.04.2015 / 12:55
8

OK, isso é o que funcionou para mim.

O pedido é:

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

Fonte: link

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 

Em checkinstall prompt:

> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
    
por ATOzTOA 21.12.2015 / 23:41
3

Eu uso este PPA, ele tem o último libimobiledevice, mas nem todos os componentes estão representados lá: link

    
por yanpas 13.10.2015 / 15:58
1

16,04 terá 1,2. Eu era capaz de baixar os debs do launchpad ( link ) e instalá-los no 15.10. Eu precisava de libusbmuxd4 , libimobiledevice6 e libimobiledevice-dev . Então eu instalei o ifuse 1.1.3 seguindo estas instruções: link

    
por Aleksandr Dubinsky 14.02.2016 / 00:25

Tags