Apakah ada PPA yang tersedia untuk versi libimobiledevice 1.2 terbaru dengan dukungan untuk iOS 8 atau dapatkah seseorang menjelaskan bagaimana membuatnya dari sumber tanpa mengacaukan semuanya?
Apakah ada PPA yang tersedia untuk versi libimobiledevice 1.2 terbaru dengan dukungan untuk iOS 8 atau dapatkah seseorang menjelaskan bagaimana membuatnya dari sumber tanpa mengacaukan semuanya?
Jawaban:
Menggunakan repositori GitHub .
Ingatlah, setiap langkah hanya berfungsi jika langkah sebelumnya berhasil.
Kloning repositori
mkdir -p ~/src
cd ~/src
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
Instal pustaka pengembangan yang diperlukan
Anda mungkin memerlukan lebih banyak pustaka atau paket tajuk seperti yang tercantum di bawah ini. Anda akan melihat ini jika Anda memiliki pesan kesalahan selama langkah konfigurasi nanti. Tambahkan komentar jika Anda memiliki masalah.
sudo apt-get install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev python-dev
Instal beberapa perangkat lunak tambahan
Perangkat lunak berikut diperlukan untuk menyiapkan perangkat lunak untuk dikompilasi dan kemudian mengompilasinya.
sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
Instal perangkat lunak opsional
Perangkat lunak berikut digunakan untuk membuat bagian-bagian dari paket yang sudah selesai berjalan lebih cepat dan membuat dokumentasi.
sudo apt-get install cython doxygen
Instal pembantu instalasi
Checkinstall membuat paket debian sehingga perangkat lunak dikelola oleh manajer paket.
sudo apt-get install checkinstall
Konfigurasikan dan bangun
./autogen.sh
make
Memasang
Dengan perintah di bawah ini, paket deb dengan nama libimobiledevice
akan dibuat dan diinstal.
sudo checkinstall
Anda akan melihat peringatan ini:
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: [ ]
Cukup tekan 3dan ketik 1.2.1
danEnter
Enter a number to change any of them or press ENTER to continue: 3
Enter new version:
>> 1.2.1
Periksa file yang diinstal
dpkg -L libimobiledevice
dan Anda akan melihat sesuatu seperti ini
/.
/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
Inilah yang saya lakukan untuk membangun libimobiledevice-1.2.0:
Instal alat bantu dan dependensi
sudo apt-get install build-essential fakeroot devscripts pbuilder
sudo apt-get build-dep libimobiledevice
Unduh skrip sumber dan Debian build dari versi yang saat ini dikemas (1.1.5 di Ubuntu 14.04):
apt-get source libimobiledevice
cd libimobiledevice-1.1.5
Pindai dan unduh versi hulu baru:
uscan --verbose
Buka paketnya, letakkan skrip Debian build di tempatnya dan perbarui log perubahan:
uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
cd ../libimobiledevice-1.2.0
Membangun paket biner (secara paralel dengan sebanyak mungkin pekerja dengan core CPU yang tersedia):
debuild -b -j$(getconf _NPROCESSORS_ONLN)
( -j
menginstruksikan sistem pembangunan untuk menjalankan tugas-tugas pembangunan individu secara paralel, jika mungkin. Karena ini kadang-kadang menyebabkan masalah, mungkin berguna untuk mencoba menjalankan kembali pembangunan tanpa bendera itu atau menjatuhkannya di tempat pertama.)
Instal paket yang dibangun:
sudo dpkg -i ../libimobiledevice_1.2.0*.deb
Sebenarnya saya sedikit curang. Saya tidak dapat memenuhi dependensi build, karena perpustakaan tidak tersedia dalam versi yang cukup baru di Ubuntu 14.04: libimobiledevice-1.2.0 membutuhkan libusbmuxd-dev (>= 1.0.9)
, jadi Anda harus membangunnya dari sumber terlebih dahulu dengan resep yang sama.
./configure --help
untuk daftar opsi yang tersedia.
OKE, inilah yang bekerja untuk saya.
Urutannya adalah:
libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...
Sumber: 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
Di checkinstall
prompt:
> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
Saya menggunakan PPA ini, ia memiliki layanan libimobilede terbaru, tetapi tidak semua komponen terwakili di sana: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice
16.04 akan memiliki 1.2. Saya dapat mengunduh deb dari launchpad ( https://launchpad.net/ubuntu/xenial/+source/libimobiledevice ) dan menginstalnya pada 15.10. Saya butuhkan libusbmuxd4
, libimobiledevice6
dan libimobiledevice-dev
. Kemudian saya menginstal ifuse 1.1.3 dengan mengikuti petunjuk ini: /ubuntu//a/691758