Портування програм до Focal

Під час переходу до Focal в оточенні програми відбулися деякі зміни. Для продовження правильної роботи програми рекомендовано її оновити у Focal.

QML

Найбільші зміни потрібно зробити у різних файлах QML. Посилання до Ubuntu були вилучені з імпортів QML та більшості класів QML. Хоча наявний шар сумісності, рекомендовано перейти до модулів Lomiri.

// import Ubuntu.Components 1.3
import Lomiri.Components 1.3

Інші посилання на Ubuntu також були змінені на Lomiri, наприклад UbuntuColors перейменовано на LomiriColors. Це також потрібно оновити. І це можна автоматизувати:

find -name '*.qml' | xargs -I {} sed -i 's/import Ubuntu\./import Lomiri./g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuAnimation/LomiriAnimation/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuNumberAnimation/LomiriNumberAnimation/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuListView/LomiriListView/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuColors/LomiriColors/g' {}
find -name '*.qml' | xargs -I {} sed -i 's/UbuntuShape/LomiriShape/g' {}

Файли налаштувань

clickable.yaml

Якщо у Вашому проєкті замість файлу clickable.yaml наявний clickable.json, рекомендовано спочатку перетворити файл JSON у YAML. Врешті, додайте наступне:

framework: ubuntu-sdk-20.04

Файл AppArmor

Оновіть версію політик у файлі AppArmor:

{
  "policy_groups": [
     "..."
   ]
  "policy_version": 20.04
}

Файл стільниці

Змініть X-Ubuntu-Touch на X-Lomiri-Touch:

[Desktop Entry]
_Name=App Name
Exec=...
Icon=assets/logo.svg
Terminal=false
Type=Application
X-Lomiri-Touch=true

Файли збірки

CMakeLists.txt

Якщо програма заснована на одному з програмних шаблонів, оновіть типовий фреймворк для Click у файлі CMake:

if(DEFINED ENV{SDK_FRAMEWORK})
    set(CLICK_FRAMEWORK "$ENV{SDK_FRAMEWORK}")
else()
    # set(CLICK_FRAMEWORK "ubuntu-sdk-16.04.3")
    set(CLICK_FRAMEWORK "ubuntu-sdk-20.04")
endif()

.gitlab-ci.yml

Якщо у Вас є файл Gitlab CI, потрібно його оновити:

variables:
    GIT_SUBMODULE_STRATEGY: recursive
    DOCKER_DRIVER: overlay2
    CLICKABLE_VERSION: "7"
    # UT_VERSION: "16.04"
    UT_VERSION: "20.04"