Чи є PPA для останньої версії libimobiledevice 1.2 з підтримкою iOS 8 чи хтось може пояснити, як створити його з джерела, не псуючи все?
Чи є PPA для останньої версії libimobiledevice 1.2 з підтримкою iOS 8 чи хтось може пояснити, як створити його з джерела, не псуючи все?
Відповіді:
Використання сховища GitHub .
Майте на увазі, кожен крок працює лише в тому випадку, якщо попередній крок був успішним.
Клоніруйте сховище
mkdir -p ~/src
cd ~/src
git clone https://github.com/libimobiledevice/libimobiledevice.git
cd libimobiledevice
Встановіть необхідні бібліотеки розвитку
Можливо, вам знадобиться більше бібліотек або заголовків, як зазначено нижче. Ви побачите це, якщо пізніше з’являться повідомлення про помилки під час кроку налаштування. Додайте коментар, якщо у вас є проблеми.
sudo apt-get install libusbmuxd-dev libplist-dev libplist++-dev libgnutls-dev libssl-dev python-dev
Встановіть додаткове програмне забезпечення
Наступне програмне забезпечення потрібно для підготовки програмного забезпечення до компіляції та його компіляції.
sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc
Встановіть додаткове програмне забезпечення
Наступне програмне забезпечення використовується для швидшого запуску частин готового пакету та створення документації.
sudo apt-get install cython doxygen
Встановіть помічник установки
Checkinstall створює пакет debian, щоб програмним забезпеченням керував менеджер пакунків.
sudo apt-get install checkinstall
Налаштування та створення
./autogen.sh
make
Встановити
За допомогою команди нижче libimobiledevice
буде створено та встановлено пакет дебюту з назвою .
sudo checkinstall
Ви побачите це попередження:
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: [ ]
Просто натисніть 3і введіть 1.2.1
іEnter
Enter a number to change any of them or press ENTER to continue: 3
Enter new version:
>> 1.2.1
Перевірте встановлені файли
dpkg -L libimobiledevice
і ви побачите щось подібне
/.
/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
Це те, що я зробив для створення libimobiledevice-1.2.0:
Встановіть інструменти побудови та залежності
sudo apt-get install build-essential fakeroot devscripts pbuilder
sudo apt-get build-dep libimobiledevice
Завантажте вихідні та сценарії побудови Debian поточно упакованої версії (1.1.5 на Ubuntu 14.04):
apt-get source libimobiledevice
cd libimobiledevice-1.1.5
Сканування та завантаження нової версії за потоком:
uscan --verbose
Розпакуйте його, поставте сценарії збірки Debian на місце та оновіть журнал змін:
uupdate ../libimobiledevice_1.2.0.orig.tar.bz2
cd ../libimobiledevice-1.2.0
Створіть двійковий пакет (паралельно з такою кількістю працівників, скільки доступних ядер CPU):
debuild -b -j$(getconf _NPROCESSORS_ONLN)
(дає -j
змогу системі побудови виконувати окремі завдання збирання, якщо це можливо. Оскільки це іноді призводить до проблем, можливо, варто спробувати повторно запустити збірку без цього прапора або спустити її в першу чергу.)
Встановіть вбудований пакет:
sudo dpkg -i ../libimobiledevice_1.2.0*.deb
Насправді я трохи обдурив. Я не зміг задовольнити залежності побудови, тому що бібліотека недоступна у досить останніх версіях Ubuntu 14.04: потрібен libimobiledevice-1.2.0 libusbmuxd-dev (>= 1.0.9)
, тому вам доведеться спочатку створити її з джерела з тим же рецептом.
./configure --help
списку доступних опцій.
Гаразд, це те, що працювало для мене.
Замовлення таке:
libplist -> libusbmuxd -> libimobiledevice -> usbmuxd, ifuse, ideviceinstaller, ...
Джерело: https://github.com/libimobiledevice/usbmuxd/isissue/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
У відповідь checkinstall
:
> y[ENTER]
> [ENTER]
> 3[ENTER]
> 1.2.1[ENTER]
> [ENTER]
Я використовую цей PPA, він має останні лібімобільдевіде, але там не всі компоненти представлені: https://launchpad.net/~martin-salbaba/+archive/ubuntu/ppa+libimobiledevice
16.04 матиме 1.2. Мені вдалося завантажити деби з панелі запуску ( https://launchpad.net/ubuntu/xenial/+source/libimobiledevice ) та встановити їх 15.10. Мені потрібно libusbmuxd4
було libimobiledevice6
, і libimobiledevice-dev
. Потім я встановив ifuse 1.1.3, дотримуючись цих вказівок: /ubuntu//a/691758