久久久久久网址-久久久久久午夜精品-久久久久久亚洲精品影院-久久久久久一级毛片免费野外-亚洲欧美二区三区久本道-亚洲欧美久久久久久久久久爽网站

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

本文以構(gòu)建 desktop-entry-editor 為例,該項(xiàng)目依賴較為簡(jiǎn)單,僅需玲瓏官方文檔中默認(rèn)提供的基礎(chǔ)運(yùn)行環(huán)境即可成功構(gòu)建運(yùn)行

第一步:前期準(zhǔn)備

在終端中執(zhí)行

sudo apt install linglong-builder –no-install-recommends

安裝 ll-builder 工具

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

由于推薦安裝依賴較多,此處跳過(guò)推薦依賴不進(jìn)行安裝。如有需要,去除命令中 –no-install-recommends 參數(shù)即可

第二步:創(chuàng)建項(xiàng)目

由于需要從源代碼構(gòu)建玲瓏格式應(yīng)用,故可以跳過(guò) ll-builder create 操作,無(wú)需創(chuàng)建玲瓏對(duì)應(yīng)文件夾,直接在工程源代碼頂層目錄編寫(xiě) linglong.yaml 文件即可(可使用官網(wǎng)提供的完整的 模板文件 )。

第三步:編輯 linglong.yaml

version:"1" # linglong.yaml 文件語(yǔ)法的版本package: # 軟件包元信息配置id:com.github.desktop-entry-editor # 軟件包 appid,類似 deb 格式軟件包包名,區(qū)分不同玲瓏格式軟件包name:desktop-entry-editor # 應(yīng)用名稱version:1.4.6.1 # 軟件包版本kind:app # 軟件包類型,多數(shù)應(yīng)用為 app,基礎(chǔ)環(huán)境和運(yùn)行時(shí)為 runtimedescription:| # 軟件包描述 desktop entry editor fo deepin os.command: # 容器內(nèi)可執(zhí)行程序啟動(dòng)命令-/opt/apps/com.github.desktop-entry-editor/files/bin/desktop-entey-editorbase:org.deepin.foundation/23.0.0 # 基礎(chǔ)環(huán)境runtime:org.deepin.Runtime/23.0.1 # 運(yùn)行時(shí)source: # 構(gòu)建來(lái)源kind: local # 由于直接在工程源代碼中構(gòu)建,此處選擇 local 即可,無(wú)需從 git 倉(cāng)庫(kù)拉取代碼build:| # 構(gòu)建rm -rf build-linglongmkdir -p build-linglong qmake BUILD_VERSION=1.4.6 PREFIX=${PREFIX} LIB_INSTALL_DIR=${PREFIX}/lib/${TRIPLET} INSTALL_ROOT=${PREFIX} -spec Linux-g CONFIG =Qtquickcompiler -o build-linglong desktop-entry-editor.promake -C build-linglong -j$(nproc)make-C build-linglong -j$(nproc) install

以此 linglong.yaml 為例,軟件包元信息按需填寫(xiě)即可。

由于項(xiàng)目較為簡(jiǎn)單,僅需要基礎(chǔ)的 Qt 和 Dtk 環(huán)境即可構(gòu)建,使用模板文件中所示的 baseruntime 即可。更復(fù)雜的構(gòu)建環(huán)境可參考構(gòu)建計(jì)算器,在構(gòu)建應(yīng)用前拉取所需依賴代碼,優(yōu)先構(gòu)建所需依賴。

理解安裝位置“前綴”

以我們所熟知的方式來(lái)理解,一般可執(zhí)行文件需要放到 /usr/bin 文件夾下,在終端嘗試執(zhí)行時(shí)才能被找到;.desktop 文件提供了啟動(dòng)的入口,想在啟動(dòng)器中看到應(yīng)用圖標(biāo),一般放到 /usr/share/applications 文件夾下;而圖片文件會(huì)放到 /usr/share/icons 文件夾中具體的圖標(biāo)主題及尺寸和分類文件夾下。這其中,/usr 就是所有文件安裝位置的前綴。

根據(jù) GNU 編碼標(biāo)準(zhǔn),前綴 的默認(rèn)值一般為 /usr/local;而構(gòu)建 deb 格式軟件包時(shí),一般會(huì)使用 /usr 前綴。

而玲瓏容器啟動(dòng)時(shí),會(huì)將容器內(nèi)容 files 文件夾掛載至/opt/apps/${appid}文件夾下,故可以近似認(rèn)為前綴/opt/apps/${appid}/files。以此類推,可執(zhí)行文件的實(shí)際位置為 /opt/apps/${appid}/files/bin/可執(zhí)行文件名稱,所以 linglong.yaml 中 command 啟動(dòng)指令部分也需要如此填寫(xiě),而不是常見(jiàn)的 /usr/bin/ 可執(zhí)行文件名稱。

檢查修改工程源代碼

理解了前綴 的概念,就要檢查工程源代碼的安裝位置前綴了。qmake工程中,默認(rèn)安裝位置前綴一般為 /opt/$${TARGET}文件夾,如可執(zhí)行文件就被在 /opt/$${TARGET}/bin文件夾中。此處可能需要修改 .pro文件,將前綴修改為 /opt/apps/${appid}/files 文件夾,保證玲瓏容器啟動(dòng)后文件位置正確。

或者如構(gòu)建 計(jì)算器 所示,通過(guò) qmake 參數(shù)從外部傳入安裝位置前綴,并在 .pro 文件中解析 ${PREFIX} 以實(shí)現(xiàn)控制文件安裝位置。

第四步:構(gòu)建應(yīng)用

在工程源代碼頂層目錄(linglong.yaml同級(jí)目錄)打開(kāi)終端,執(zhí)行ll-builder build命令即可。

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

首次構(gòu)建時(shí)需下載指定的 base 和 runtime,耗時(shí)較長(zhǎng),需要耐心等待

第五步:測(cè)試運(yùn)行應(yīng)用

在工程源代碼頂層目錄(linglong.yaml同級(jí)目錄)打開(kāi)終端,執(zhí)行ll-builder run –exec 可執(zhí)行程序名稱,可測(cè)試在玲瓏容器環(huán)境內(nèi)啟動(dòng)應(yīng)用。

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

若找不到可執(zhí)行程序,請(qǐng)檢查工程源代碼中文件安裝位置是否正確。可查看工程頂層目錄下 linglong/output/runtime/files/bin 文件夾中是否生成可執(zhí)行文件。

若啟動(dòng)應(yīng)用失敗,參考 文檔 在容器內(nèi)進(jìn)行調(diào)試。

第六步:導(dǎo)出 layer 文件

在工程源代碼頂層目錄(linglong.yaml同級(jí)目錄)打開(kāi)終端,執(zhí)行ll-builder export命令,即可在目錄中生成${appid}_${version}_${arch}_develop.layer ${appid}_${version}_${arch}runtime.layer 文件。

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

第七步:測(cè)安裝 layer 文件

在工程源代碼頂層目錄(linglong.yaml 同級(jí)目錄)打開(kāi)終端,輸入 ll-cli install并輸入空格分隔后,將文件夾中的 runtime.layer文件拖入終端,按回車(chē)執(zhí)行,將 layer文件安裝至本地玲瓏環(huán)境中。

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

安裝成功后,應(yīng)該可以在啟動(dòng)器中看到該應(yīng)用,并進(jìn)行啟動(dòng)和使用測(cè)試。

玲瓏入門(mén)教程:從源代碼開(kāi)始構(gòu)建玲瓏格式應(yīng)用(玲瓏官方網(wǎng)站)

若啟動(dòng)器中無(wú)法找到該應(yīng)用,請(qǐng)檢查工程源代碼中文件安裝位置是否正確。可查看工程頂層目錄下 linglong/output/runtime/entries/share/applications 文件夾中是否生成 .desktop 文件。

若存在啟動(dòng)失敗情況,可查看對(duì)應(yīng) .desktop 文件并復(fù)制 Exec 字段內(nèi)容至終端中執(zhí)行,觀察啟動(dòng)輸出日志。若提示缺少玲瓏對(duì)應(yīng)版本的 base 或 runtime 環(huán)境,需手動(dòng)執(zhí)行 ll-cli install 環(huán)境名稱/版本號(hào) 進(jìn)行安裝以排除故障(e.g. ll-cli install org.deepin.Runtime/23.0.1)。

總結(jié):

至此從源代碼構(gòu)建玲瓏格式應(yīng)用已完成。

本文舉例的項(xiàng)目使用 qmake 構(gòu)建,依賴簡(jiǎn)單,且支持構(gòu)建時(shí)外部傳入 ${PREFIX}設(shè)置文件安裝位置,構(gòu)建為玲瓏格式應(yīng)用非常簡(jiǎn)單。若項(xiàng)目使用 cmake或其他工具構(gòu)建,同理需在工程內(nèi)修改安裝前綴,或在 linglong.yaml 構(gòu)建部分傳入?yún)?shù)進(jìn)行設(shè)置,否則即使構(gòu)建成功,也會(huì)出現(xiàn)容器內(nèi)無(wú)法找到可執(zhí)行文件,或安裝后啟動(dòng)器沒(méi)有圖標(biāo)等各種問(wèn)題。

【產(chǎn)品面對(duì)面】是 deepin 社區(qū) 2024 年 5 月新推出的專題欄目,在本欄目中,我們將會(huì)邀請(qǐng)不同產(chǎn)品的產(chǎn)品經(jīng)理來(lái)跟大家分享交流好玩好用的 deepin 或 Linux 相關(guān)應(yīng)用,產(chǎn)品經(jīng)理們也會(huì)在 deepin 論壇與所有用戶進(jìn)行交流答疑。

今天分享的文章來(lái)自 deepin 社區(qū)商店產(chǎn)品經(jīng)理,同時(shí)也是 deepin 社區(qū)的論壇用戶(忘記、過(guò)去),希望大家持續(xù)關(guān)注 deepin 論壇專欄活動(dòng)【產(chǎn)品面對(duì)面】。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
主站蜘蛛池模板: 国产精品九九免费视频 | 日本免费在线 | 亚洲免费中文 | 国产成人免费片在线视频观看 | 黄色一级毛片免费 | 中文字幕福利 | 久久影院一区二区三区 | www午夜| 小毛片在线观看 | 久久.com| 91亚洲精品在看在线观看高清 | 国产成人精品在线观看 | 成人男女啪啪免费观看网站 | 97国产在线观看 | 精品国产中文一级毛片在线看 | 韩国毛片免费 | 一级毛片免费看 | 91精品91| 毛片成人永久免费视频 | 亚洲午夜久久久久影院 | 草草在线影院 | 国产精品极品美女自在线看免费一区二区 | 91香蕉国产线观看免 | 亚洲第一大网站 | 国产一级a毛片 | 日韩成人免费一级毛片 | 欧美日韩亚洲综合在线一区二区 | 大陆精品自在线拍国语 | 国产精品视频免费一区二区三区 | aa大片成人免费网站 | 国产午夜精品一区二区 | 色播亚洲精品网站 亚洲第一 | 久久国产精品99久久小说 | 一区二区三区欧美 | 久久99国产精一区二区三区 | 午夜一级毛片免费视频 | 欧美一级二级毛片视频 | 亚洲精品欧美精品国产精品 | 欧美视频在线观在线看 | 成年网站免费视频黄 | 欧美日韩国产在线人成dvd |