EDIT: 現在は次の記事の手順のほうが良いと思います -> Debian, Ubuntu で 上流のパッケージを借りてくる – matoken’s meme
最近Ubuntu 16.04 aarch64のi3 wmにモニタとキーボードを繋いでデスクトップ利用を試しています.しかし,日本語入力のためのmozcのバイナリパッケージが見当たりません.確認すると,xenialからartfulではi386/amd64/armhfのみの対応.
Debianではarmelも対応していますが,arm64はやっぱりありません.
armhf/armelで動いているならarm64もあまり悩まずソースパッケージからbuildできるのではと試してみました.
#dpkg –add-archtecture armhfしてMultiarchにしてarmhfのMozcを使うという手でも行けそうな気はする.(未確認)
環境構築
必要なパッケージの導入と,ソースパッケージの入手を行います.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-essential devscripts
$ sudo apt build-dep fcitx-mozc
$ apt source fcitx-mozc
- apt build-depは指定したパッケージをbuildするのに必要なパッケージを導入できます.
- apt sourceは指定したパッケージのソースパッケージを導入して展開してくれます.
※もしソースパッケージが見つからない場合はsource.listにdeb-srcの行があるか確認してみてください.無ければapt edit-sourcesコマンドで/etc/apt/source.listファイルを編集してdeb-srcを有効にしてください.以下のページが参考になると思います.
Archtectureにarm64を追加してバイナリパッケージ作成
次にソースディレクトリに降りて,debian/controlファイルを開き,必要なパッケージのArchtectureにarm64を登録します.mozc-dataはallなのでそのままにしておきます.(はじめarm64をaarch64にしてうまく行かなかったですorz)
$ cd mozc-2.17.2116.102+gitfd0f5b34+dfsg $ cp debian/control debian/control.org $ vi debian/control $ diff -u debian/control.org debian/control --- debian/control.org 2017-05-30 17:06:44.000000000 +0000 +++ debian/control 2017-05-30 17:07:19.000000000 +0000 @@ -28,7 +28,7 @@ This open-source project originates from Google Japanese Input. mozc-data Package: ibus-mozc -Architecture: i386 amd64 armel armhf +Architecture: i386 amd64 armel armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, mozc-data, ibus (>= 1.2), mozc-server (= ${binary:Version}), tegaki-zinnia-japanese Recommends: mozc-utils-gui (= ${binary:Version}) dpkg-buildpackage @@ -45,7 +45,7 @@ This open-source project originates from Google Japanese Input. mozc-data Package: fcitx-mozc -Architecture: i386 amd64 armel armhf +Architecture: i386 amd64 armel armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, fcitx-bin, fcitx-data, fcitx-modules, mozc-server (= ${binary:Version}), mozc-data, tegaki-zinnia-japanese Recommends: fcitx, mozc-utils-gui (= ${binary:Version}) @@ -64,7 +64,7 @@ fcitx-mozc provides client part of the Mozc input method. Package: emacs-mozc -Architecture: i386 amd64 armel armhf +Architecture: i386 amd64 armel armhf arm64 Depends: ${misc:Depends}, emacs | emacs23 | emacs24, emacs-mozc-bin (= ${binary:Version}) Conflicts: emacsen-common (<< 2.0.0) Description: Mozc for Emacs @@ -76,7 +76,7 @@ This open-source project originates from Google Japanese Input. Package: emacs-mozc-bin -Architecture: i386 amd64 armel armhf +Architecture: i386 amd64 armel armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, mozc-server (= ${binary:Version}) Description: Helper module for emacs-mozc Mozc is a Japanese Input Method Editor (IME) designed for multi-platform @@ -87,7 +87,7 @@ This open-source project originates from Google Japanese Input. Package: mozc-server -Architecture: i386 amd64 armel armhf +Architecture: i386 amd64 armel armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends} Multi-Arch: foreign Description: Server of the Mozc input method @@ -99,7 +99,7 @@ This open-source project originates from Google Japanese Input. Package: mozc-utils-gui -Architecture: i386 amd64 armel armhf +Architecture: i386 amd64 armel armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, mozc-data Recommends: mozc-server (= ${binary:Version}) Suggests: ibus-qt
次にdpkg-buildpackageコマンドでパッケージを作成します.手元のマシンではちょうど1時間ほどで終了しました.(あとで-j4とかすると30分ほどに)
$ dpkg-buildpackage -us -uc $ ls ../*.debmozc-data ../emacs-mozc-bin_2.17.211archtecture6.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../ibus-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-utils-gui_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../emacs-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-data_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_all.deb ../fcitx-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-server_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb
出来上がったパッケージの導入
今回はfcitxを使っていたので,fcitx-mozcを導入しました.導入した後にログインしなおして,fcitx-config-gtkを起動するとMozcが登録されて利用できるようになりました. :)
$ sudo apt-get install ../mozc-server_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-data_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_all.deb ../fcitx-mozc_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb ../mozc-utils-gui_2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.1_arm64.deb
重かったり不具合が出るようならskkあたりにしようかと思っていましたが,現在このパッケージを1週間ほど利用して特に問題なく使えています.
あまり推奨しませんが,私の作ったパッケージをしばらく以下においておきます.必要な方は試してみてください.(上の手順に + dhc -i + dpkg-buildpackage -j4したもの)
ところでこれはどうすればいいのかな.Debianでも動作確認してバグレポでok?そしてUbuntuはSync mozc from Debian unstableを待つ感じ?
「Ubuntu 16.04 aarch64環境でmozc pkgが無いのでsource pkgからbuild」への2件のフィードバック