Nautilus源碼編譯傻瓜式教程一
Nautilus編譯
依賴項文件
接上文,點擊小錘子進行編譯后出現如下的錯誤提示
看這個報錯,未找到文件或目錄,再看前面的git地址是github就知道肯定是下載有問題,查找下Nautilus項目,發現在nautilus/build-aux/flatpak/org.gnome.Nautilus.json文件內配置了下載地址
截的圖里面就發現有兩個需要下載了
org.gnome.Nautilus.json
?文件是用于描述 Flatpak 打包的元數據文件,它用于告知 Flatpak 構建系統如何打包和管理 Nautilus 文件管理器作為一個獨立的 Flatpak 應用程序
因此在進行編譯Nautilus項目之前,必須先了解org.gnome.Nautilus.json
?文件
主要字段解釋:
- app-id:應用程序的唯一標識符。
- runtime?和?sdk:指定 Flatpak 運行時和 SDK 的版本。
- command:指定應用程序的啟動命令。
- finish-args:指定運行時的權限和環境變量。
- modules:描述如何獲取和構建應用程序的源代碼。
該文件中的modules字段配置的信息是Nautilus的flatpak依賴項
依賴項下載
依賴項總共有8個,分別列出如下:
"sources" : [{"type" : "git","url" : "https://github.com/Exiv2/exiv2.git","branch" : "0.27-maintenance"}]
"sources" : [{"type" : "git","url" : "https://gitlab.gnome.org/GNOME/gexiv2.git","tag" : "gexiv2-0.14.2"}]
"sources" : [{"type" : "git","url" : "https://gitlab.gnome.org/GNOME/localsearch.git","branch" : "main"}]
"sources" : [{"type" : "git","url" : "https://gitlab.gnome.org/GNOME/gnome-desktop.git"}]
"sources" : [{"type" : "git","url" : "https://gitlab.gnome.org/GNOME/gnome-autoar.git"}]
"sources" : [{"type" : "git","url" : "https://github.com/flatpak/libportal.git","branch" : "main"}]
"sources" : [{"type" : "git","url" : "https://gitlab.gnome.org/World/libcloudproviders.git"}]
"sources" : [{"type" : "git","url" : "https://gitlab.gnome.org/GNOME/nautilus.git","branch" : "main"}]
就用第一個依賴項目做樣板,剩下的復刻操作就行了
直接訪問https://github.com/Exiv2/exiv2.git,在瀏覽器中輸入
https://github.com/Exiv2/exiv2? (去掉后面的.git即可)
處理方法
直接將exiv2這項目下載到指定路徑,指定路徑在哪呢?可以從報錯日志中看出
相對路徑為:? ?.gnome-builder/flatpak-builder/git/
最優的處理方法
將項目復制到國內的托管網站gitlab,從gitlab下載項目到本地
注冊gitlab賬號
登錄 · 極狐GitLab
新建倉庫
直接把https://github.com/Exiv2/exiv2.git填入,
參照配置,其余的不用管,默認就行,新建項目
點擊左上角圖標進入主頁,我這里已經把8個倉都鏡像到gitlab了
配置ssh-key
查看你的ssh-key
將紅框內全部復制
下載代碼
處理方法
git clone?git@jihulab.com:nautilus/exiv2.git 下載代碼到.gnome-builder/flatpak-builder/git/目錄
并修改配置文件
"sources": [{"type": "dir","path": "/home/XXXXXX/Projects/.gnome-builder/flatpak-builder/git/exiv2","branch": "0.27-maintenance"}
注意path是你代碼的全路徑