Оновлення портів Ubuntu Touch 20.04¶
Ubuntu Touch 20.04 додає багато прихованих змін, відповідно до яких потрібно виконати зміни розробниками. Цей документ повинен допомогти зрозуміти, як змусити Ваш порт працювати на Ubuntu Touch 20.04. Хоча кожен порт має свої особливості та вимагає дещо більшого, ніж тут описано. Ми залишаємося доступними у групі Telegram UBports porting та спробуємо відповісти на усі запитання, які можуть виникнути у цьому процесі.
Для портів, основаних на GitLab CI: перевірте зміни на розділах Android¶
Багато портів для своєї роботи переписують файли на розділах Android. Це часто досягається через перезапис завдання Upstart mount-android.conf чи то через вміст самого коду, чи через виклик іншого скрипту. Починаючи з Ubuntu Touch 20.04 Upstart більше не використовується (див. нижче) і код не виконається. Якщо Ваш порт має зміни для /opt/halium-overlay чи /usr/share/halium-overlay, нова система накладання (overlay system) про це потурбується автоматично, окрім випадків, щоправда, коли додається новий файл, і тоді знадобитися .halium-overlay-dir (див. Overlay file method).
Крім того, можете розглянути можливість повного переміщення порту для використання системи overlaystore. Однак така міграція не є простою і це зробить Ваш порт несумісним із 16.04 (якщо у Вас немає іншої гілки). Щоб дізнатися більше, зв’яжіться з @peat-psuwit у групі портування UBports.
Для портів Halium 7 чи старіших: оновіть скрипт bluetooth-touch¶
Те, як раніше працював скрипт bluetooth-touch, пов’язано з Upstart. В Ubuntu Touch 20.04 bluetooth-touch потрапив для використання Systemd. Отже, замість переписування завдання bluetooth-touch-android.conf для Upstart Вам слід переписати /usr/share/bluetooth-touch/android.sh. Зауважте, що цей скрипт виконуватиметься /bin/sh, тож уникайте тут Bash-измів.
Для портів Halium 9 це необхідно, оскільки Bluebinder для створення інтерфейсу замінює bluetooth-touch безпосередньо спілкуючись зі службою HIDL.
Для усіх: налаштуйте usb-moded¶
usb-moded замінює скрипт setupusb для налаштування та керування режимами USB. Для цього ми створили окрему сторінку. Див. Configuring usb-moded.
Для усіх: перевірте користувацькі завдання Upstart¶
Деякі порти для виконання на етапі завантаження певних команд мають користувацькі завдання Upstart. Ці завдання для сумісності з Ubuntu Touch 20.04 конвертуються у модулі Systemd. Комусь буде корисним ознайомитися з настановами Ubuntu щодо цього <https://wiki.ubuntu.com/SystemdForUpstartUsers#Job_vs._unit_keywords>.
Крім того, замість написання власних модулів Systemd, користуйтеся скриптом devicehack, який запускається з кожним завантаженням після запуску контейнера Android. Шлях до нього /usr/libexec/lxc-android-config/device-hacks, і він запускається з /bin/sh.