fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組 [論壇 - Ubuntu 與中文]
正在瀏覽:
1 名遊客
fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 905
![]() |
# fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組
================================================================================ ## 緣起 這幾天在「回覆另一個討論串」, 在找資料的過程中,發現了「fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組」, 也就是「小麥注音的 Linux 版本」,架構在「fcitx5」的框架底下。 ================================================================================ ## 索引 * 「#2」- 如何編譯「fcitx5-mcbopomofo」 * 「#3」- 如何將「fcitx5-mcbopomofo」簡易打包成「Debian Package」 * 「#4」- 如何將「fcitx5-mcbopomofo」打包成「Debian Package」和「Debian Source Package」 ================================================================================ ## Debian Source Package * Debian Input Method Team * Source Package: fcitx5-chewing / debian * Source Package: fcitx5-table-other / debian * Source Package: fcitx-chewing / debian * Source Package: fcitx-table-extra / debian ================================================================================ ## Debian Wiki * Packaging * Packaging / SourcePackage * Packaging / BinaryPackage ================================================================================ ## Manpage $ man 5 deb-control $ man 1 dpkg-deb $ man 1 dpkg $ man 5 deb-src-control $ man 1 dpkg-buildpackage $ man 1 debuild ================================================================================
4/4 7:50:18
|
||||||||||
![]() |
回覆: fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 905
![]() |
================================================================================
[回到索引] ================================================================================ # 如何編譯「fcitx5-mcbopomofo」 ================================================================================ 編譯的方式,雖然在「fcitx5-mcbopomofo / README.md / #安裝方式」寫的很清楚, 不過還是稍微紀錄一下,我操作的步驟。 一樣有寫個專案,放在「GitHub」。 基本上,就是從之前的討論「如何編譯「fcitx5-table-extra」並且簡易打包成「Debian Package」」的「範例」修改過來的。 ================================================================================ ## 測試環境 * Ubuntu Mate 22.04 ================================================================================ ## 前置作業 執行下面指令,安裝編譯過程中,所需要的「Package」 sudo apt-get install \ fcitx5 \ libfcitx5core-dev \ libfcitx5config-dev \ libfcitx5utils-dev \ cmake \ extra-cmake-modules \ gettext \ libfmt-dev \ git \ build-essential 我多加了「build-essential」和「git」。 * fcitx5 * libfcitx5core-dev * libfcitx5config-dev * libfcitx5utils-dev * cmake * extra-cmake-modules * gettext * libfmt-dev * git * build-essential 根據該wiki提到的,使用上,也是需要 fcitx5-chinese-addons ================================================================================ ## 下載 執行下面指令,下載「fcitx5-mcbopomofo」
================================================================================ ## 編譯 執行下面指令,先產生一個資料夾「fcitx5-mcbopomofo/build」
執行下面指令,切換到資料夾「fcitx5-mcbopomofo/build」
執行下面指令,建立編譯環境
執行下面指令,執行編譯
================================================================================ ## 安裝 執行下面指令,安裝到系統上
接著,就可以透過「fcitx5」的「圖形設定介面」去設定加入, 然而「fcitx5-mcbopomofo」有提供兩個「輸入法」, * McBopomofo (麥) * PlainBopomofo (ㄅ) ================================================================================ ## 移除 若要將安裝到系統上的檔案移除,則是執行下面指令,
================================================================================ ## 安裝到某個資料夾 若要安裝到安裝到某個資料夾,則是執行下面指令,
> 這個用法,可以用來打包,例如「fcitx5-mcbopomofo」就有提供「Archlinux / PKGBUILD」,就有使用到這個用法。 > 之前在討論「如何編譯「fcitx5-table-extra」並且簡易打包成「Debian Package」」,也有使用到這個用法。 執行下面指令,觀看「pkg-root」裡面的檔案結構。
顯示 pkg-root └── usr ├── lib │ └── x86_64-linux-gnu │ └── fcitx5 │ └── mcbopomofo.so └── share ├── fcitx5 │ ├── addon │ │ └── mcbopomofo.conf │ ├── data │ │ ├── mcbopomofo-add-phrase-hook.sh │ │ ├── mcbopomofo-data-plain-bpmf.txt │ │ └── mcbopomofo-data.txt │ └── inputmethod │ ├── mcbopomofo.conf │ └── mcbopomofo-plain.conf ├── icons │ └── hicolor │ ├── 24x24 │ │ └── apps │ │ ├── fcitx-mcbopomofo.png -> org.fcitx.Fcitx5.fcitx-mcbopomofo.png │ │ └── org.fcitx.Fcitx5.fcitx-mcbopomofo.png │ ├── 32x32 │ │ └── apps │ │ ├── fcitx-mcbopomofo.png -> org.fcitx.Fcitx5.fcitx-mcbopomofo.png │ │ └── org.fcitx.Fcitx5.fcitx-mcbopomofo.png │ └── 64x64 │ └── apps │ ├── fcitx-mcbopomofo.png -> org.fcitx.Fcitx5.fcitx-mcbopomofo.png │ └── org.fcitx.Fcitx5.fcitx-mcbopomofo.png ├── locale │ ├── en │ │ └── LC_MESSAGES │ │ └── fcitx5-mcbopomofo.mo │ └── zh_TW │ └── LC_MESSAGES │ └── fcitx5-mcbopomofo.mo └── metainfo └── org.fcitx.Fcitx5.Addon.McBopomofo.metainfo.xml 23 directories, 16 files ================================================================================ [回到索引] ================================================================================
4/4 8:00:31
|
||||||||||
![]() |
回覆: fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 905
![]() |
================================================================================
[回到索引] ================================================================================ # 如何將「fcitx5-mcbopomofo」簡易打包成「Debian Package」 ================================================================================ 可以對照「如何編譯「fcitx5-table-extra」並且簡易打包成「Debian Package」」,模式是一樣的。 ================================================================================ ## 安裝到打包資料夾 接續在「#2」最後提到的「安裝到某個資料夾」, 執行下面指令,安裝到「fcitx5-mcbopomofo」這個資料夾。
> 注意,我是在「fcitx5-mcbopomofo/build」執行上面這個指令,以下也都是在這個路徑上執行的。 ================================================================================ ## 產生「DEBIAN」資料夾 執行下面指令,產生「fcitx5-mcbopomofo/DEBIAN」這個資料夾。 執行
================================================================================ ## 產生「DEBIAN/control」檔案 執行下面指令,產生「fcitx5-mcbopomofo/DEBIAN/control」這個檔案。 執行 cat > "fcitx5-mcbopomofo/DEBIAN/control" << EOF Package: fcitx5-mcbopomofo Version: 0.1.0 Architecture: all Maintainer: developer <developer@home.work> Description: Mcbopomofo input method support for fcitx5 This is a personal package. EOF 也就是「fcitx5-mcbopomofo/DEBIAN/control」的檔案內容如下 Package: fcitx5-mcbopomofo Version: 0.1.0 Architecture: all Maintainer: developer <developer@home.work> Description: Mcbopomofo input method support for fcitx5 This is a personal package. * man 5 deb-control * man 5 deb 接下來就可以進行打包了, 執行下面指令,進行打包作業
或是也可以執行下面指令,進行打包作業
顯示
* man 1 dpkg * man 1 dpkg-deb 完整範例,我一樣放在「GitHub」上。 這個範例,是透過「dpkg-deb」來產生「Debian Package」, 另外也可以透過「ar」來產生「Debian Package」,請參考我「之前的筆記範例」。 透過「ar」打包的方式,在這論壇也有實作的案例 * 「#2」- 【自我推薦】【報稅】健保卡元件 Ubuntu 20.04 軟體包 ================================================================================ ## 如何安裝 執行下面指令,將剛剛打包好的「fcitx5-mcbopomofo.deb」,安裝到系統上
================================================================================ ## 確認 安裝好後,可以執行下面指令,觀看安裝與否
顯示
================================================================================ ## 檔案列表 執行下面指令,觀看「Package: fcitx5-mcbopomofo」安裝那些檔案到系統上
顯示
================================================================================ ## 如何移除 執行下面指令,就可以移除「Package: fcitx5-mcbopomofo」
一樣可以執行下面指令,確認安裝與否
顯示
================================================================================ [回到索引] ================================================================================
4/4 8:54:15
|
||||||||||
![]() |
回覆: fcitx5-mcbopomofo: 小麥注音輸入法 fcitx5 模組 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 905
![]() |
================================================================================
[回到索引] ================================================================================ # 如何將「fcitx5-mcbopomofo」打包成「Debian Package」和「Debian Source Package」 ================================================================================ 上面「簡易打包的方式」,因為是個人使用, 主要訴求是能透過「dpkg」來執行「安裝」,「移除」。 若要「進階的打包」,我也有寫另一個範例,放在「GitHub」上。 有興趣研究的人,就請自行參考探索, 或是對照「如何編譯「fcitx5-table-extra」並且打包成「Debian Package」和「Debian Source Package」」,模式是一樣的。 就不在此描述「進階打包的方式」的「完整步驟」, 以下只是稍微提一下「進階打包的方式」的「注意事項」, ================================================================================ ## 注意事項 / 「debian」source control 上面「簡易打包的方式」只需要「fcitx5-mcbopomofo/DEBIAN/control」這個檔案 * man 5 deb-control 然後「進階打包的方式」,除了需要「fcitx5-mcbopomofo/debian/control」這個檔案 * man 5 deb-src-control 還需要其他的檔案,可以參考我提供的範例「debian」資料夾。 不過我也只是簡單寫,並不嚴謹,只求可打包完成,並且安裝。 所以也可以參考既有的「Source Package」,例如「fcitx5-chewing」。 ================================================================================ ## 注意事項 / 前置作業 上面「簡易打包的方式」,需要安裝「dpkg-dev」, 安裝「build-essential」就會連帶安裝「dpkg-dev」。 而「進階打包的方式」,則是需要額外安裝「devscripts」和「debhelper」。 執行下面指令安裝
================================================================================ ## 注意事項 / 編譯 在進行打包作業的時候,我原本是執行「debuild -i -us -uc」, 但是會出現如下的「錯誤訊息」。
後來我找到一篇「debuild_ubuntu_debian_package」,有紀錄解法。 所以我改採執行下面指令,來進行打包作業
* man debuild * man dpkg-buildpackage ================================================================================ ## 注意事項 / changelog 另外這幾天在找資料的時候, 我使用「fcitx5-table-extra ubuntu」當作「關鍵字」找資料的時候, 除了可以找到「我自己紀錄的頁面」。 也可以找到我在另一個討論串「#16」提到的「參考解法」的「原作者」的「頁面 (網域一)」,「頁面 (網域二)」, 裡面有紀錄我放在「GitHub」上的「範例連結」。 還有找到另一個「網友」,也寫了一個打包「fcitx5-extra-tables」的範例,放在「GitHub」上, 他的範例,是全部寫在「build.sh」裡,一個腳本就可以完成「下載,編譯,打包」整個流程。 之前我是因為要講解分解動作,所以拆開寫, 本來想要找時間,另外寫個範例放在一塊, 後來過了當下沒寫,時間一久,就一直擱著沒寫了,Orz... 另外我在他的範例「build.sh」,學到了「chagnelog」的「輔助指令 - debchange」, 我一直沒花時間去深究「chagnelog」這段,所以我之前就參考別的「Source Package」直接寫死。 剛好趁這機會,稍微研究了一下「debchange」的使用方式。 * man debchange ## 初始新的「changelog」 執行下面指令
就會產生一個新的「debian/changelog」 執行下面指令,觀看「debian/changelog」的內容
顯示 fcitx5-mcbopomofo (0.1.0) unstable; urgency=low * Init Release -- developer <developer@home.work> Tue, 04 Apr 2023 10:06:55 +0800 注意: 在上面指令,有一個參數「--controlmaint」, 是根據「deb-src-control」的「Maintainer:」欄位設定, 所以需要有「debian/control」這個檔案 ================================================================================ ## 加入一筆內容到「changelog」 執行下面指令
注意:我有把「version」改成「0.1.1」 執行下面指令,觀看「debian/changelog」的內容
顯示 fcitx5-mcbopomofo (0.1.1) unstable; urgency=low * Latest Release -- developer <developer@home.work> Tue, 04 Apr 2023 10:11:30 +0800 fcitx5-mcbopomofo (0.1.0) unstable; urgency=low * Init Release -- developer <developer@home.work> Tue, 04 Apr 2023 10:06:55 +0800 ================================================================================ 以上「進階打包的方式」的「注意事項」。 ================================================================================ 另外下面是我之前就知道的用法, 若您要知道某個「Package」的「changelog」, 舉例:執行下面指令
================================================================================ [回到索引] ================================================================================
4/4 10:24:46
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.