ການດັດແປງແອັບໄປຍັງ Focal (Porting Apps to Focal)

ໃນລະຫວ່າງການປ່ຽນໄປໃຊ້ Focal ໄດ້ມີການປ່ຽນແປງບາງຢ່າງຕໍ່ສະພາບແວດລ້ອມຂອງແອັບ. ເພື່ອຮັບປະກັນວ່າແອັບຈະສືບຕໍ່ເຮັດວຽກໄດ້, ແນະນຳໃຫ້ອັບເດດແອັບຂອງທ່ານໄປຍັງ Focal.

QML

ການປ່ຽນແປງສ່ວນໃຫຍ່ຈະຕ້ອງເຮັດກັບໄຟລ໌ QML ຕ່າງໆ. ການອ້າງອີງເຖິງ Ubuntu ຖືກລຶບອອກຈາກ QML Imports, ແລະ QML classes ສ່ວນໃຫຍ່. ເຖິງແມ່ນວ່າຈະມີ compatibility layer (ຊັ້ນຄວາມເຂົ້າກັນໄດ້), ແຕ່ແນະນຳໃຫ້ຍ້າຍໄປໃຊ້ Lomiri Modules.

// 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.json ແທນ clickable.yaml, ແນະນຳໃຫ້ປ່ຽນໄຟລ໌ JSON ເປັນໄຟລ໌ YAML ກ່ອນ. ຫຼັງຈາກນັ້ນ, ໃຫ້ເພີ່ມສິ່ງຕໍ່ໄປນີ້:

framework: ubuntu-sdk-20.04

ໄຟລ໌ AppArmor

ອັບເດດ version ນະໂຍບາຍໃນໄຟລ໌ AppArmor:

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

ໄຟລ໌ Desktop

ປ່ຽນ X-Ubuntu-Touch ເປັນ X-Lomiri-Touch:

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

ໄຟລ໌ Build

CMakeLists.txt

ຖ້າແອັບອີງໃສ່ໜຶ່ງໃນແມ່ແບບແອັບ (App Templates), ໃຫ້ອັບເດດ Click Framework ເລີ່ມຕົ້ນໃນໄຟລ໌ 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"