2019年6月21日金曜日

Ubuntu 18.04 で無理やりNemo RabbitVCS

2019/10/25 新しい方法をまとめました。Ubuntu 18.04 で無理やりNemo RabbitVCS#2を参照。

今月に入って、母艦もノートPCもUbuntu18.04に入れ替えたので、Touchpad indicatorの設定し直しNAS経由のプリンタサーバ設定をやり直している。

それ以前はノートPCではLubuntuを使っていたのだが、母艦はUbuntu16.04を使っていた。
Nautilusでは、CompactView(lsの表示に似たフォルダ表示)が使えないので、WebUpd8 team の Nemoと、そのRabbitVCS(言うならば、LinuxのTortoiseSVN)拡張を使っていた。

ノートPCも母艦もUbuntu18.04にしたので、またNemoを入れようとした。
しかし、Webupd8teamでは、18.04用のNemoを提供していないらしい。改めて調べ直すとUbuntuオフィシャルのやつを入れるそうだ。
やってみると、libcinamon-desktop4とかinstallされるが、Cinamonデスクトップ全部が入るわけではない。これならいいだろう。

ところが、nemo-rabbitvcsが入らない。っていうかオフィシャルには存在していないようだ。
なんてこったい。

NautilusではRabbitVCSが動くが、CompactViewがない。
NemoではCompactViewが動くが、RabbitVCSが動かない。

Nemoをデフォルトファイルマネージャにしようと思っていたのに、中途半端ならデフォルトとしては使えない。
なんとかならないかと、調べ始めた。

webUpd8teamのリポジトリから、無理やりnemo-rabbitvcsパッケージを得て、中を調べた。
以下のようにして、artful用のnemo-rabbitvcsのパッケージを取得する。
wget http://ppa.launchpad.net/webupd8team/nemo3/ubuntu/pool/main/n/nemo-rabbitvcs/nemo-rabbitvcs_3.6.0-1~webupd8~artful_all.deb

以下のようにして、パッケージのコントロール情報とファイルを展開する。
dpkg-deb -R nemo-rabbitvcs_3.6.0-1~webupd8~artful_all.deb artful
こんな感じに展開される。
$ tree artful/
artful/
├── DEBIAN
│   ├── control
│   └── md5sums
└── usr
    └── share
        ├── doc
        │   └── nemo-rabbitvcs
        │       ├── changelog.Debian.gz
        │       └── copyright
        └── nemo-python
            └── extensions
                └── RabbitVCS.py

中を見てみると、/usr/share/nemo-python/extensions/RabbitVCS.py を入れるだけだ。
これを然るべき場所にコピーするだけなら、手動でやってしまえばいい。難しいことではない。

必要な依存物が揃っているのなら、という条件がつくが...。

パッケージの依存物について見てみる。
$ dpkg-deb --info nemo-rabbitvcs_3.6.0-1~webupd8~artful_all.deb
 new Debian package, version 2.0.
 size 8582 bytes: control archive=665 bytes.
     592 バイト、   13 行      control              
     236 バイト、    3 行      md5sums              
 Package: nemo-rabbitvcs
 Version: 3.6.0-1~webupd8~artful
 Architecture: all
 Maintainer: Clement Lefebvre 
 Installed-Size: 35
 Depends: nemo (>= 1.1.2~), python-nemo (>= 1.0~), python-gi (>= 3.2.2~), rabbitvcs-core (>= 0.15)
 Section: devel
 Priority: optional
 Homepage: https://github.com/linuxmint/nemo-extensions
 Description: Nemo extension for RabbitVCS
  RabbitVCS is a set of graphical tools written to provide simple and
  straightforward access to the version control systems SVN (Subversion) and Git.
  This is the extension for the Nemo file manager (v1.1.2 or greater).
依存パッケージは、nemo, python-nemo, python-gi, rabbitvcs-core。

これらについて、install されているか見てみる。
$ dpkg -l nemo python-nemo python-gi rabbitvcs-core
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前           バージョン   アーキテクチ 説明
+++-==============-============-============-=================================
ii  nemo           3.6.5-1      amd64        File manager and graphical shell 
ii  python-gi      3.26.1-2ubun amd64        Python 2.x bindings for gobject-i
ii  rabbitvcs-core 0.16-1.1     all          Easy version control
dpkg-query: python-nemo に一致するパッケージが見つかりません
nemo, python-gi, rabbitvcs-coreは入っている(バージョンも問題ない)けど、python-nemoが入ってない。

このpython-nemoもwebUpd8teamのリポジトリにはある。それを取り出して同じように調べると、NemoをPythonで機能拡張するときに使うものだった。
これは、オフィシャルではnemo-pythonという名前でパッケージとして提供されている。
というわけで、オフィシャルのものをインストールする。
$ sudo apt install nemo-python
[sudo] xxxxxx のパスワード: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  gir1.2-nemo-3.0
以下のパッケージが新たにインストールされます:
  gir1.2-nemo-3.0 nemo-python
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
33.6 kB のアーカイブを取得する必要があります。
この操作後に追加で 259 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 gir1.2-nemo-3.0 amd64 3.6.5-1 [7,728 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 nemo-python amd64 3.6.0-1 [25.8 kB]
33.6 kB を 0秒 で取得しました (358 kB/s)
以前に未選択のパッケージ gir1.2-nemo-3.0 を選択しています。
(データベースを読み込んでいます ... 現在 951722 個のファイルとディレクトリがインストールされています。)
.../gir1.2-nemo-3.0_3.6.5-1_amd64.deb を展開する準備をしています ...
gir1.2-nemo-3.0 (3.6.5-1) を展開しています...
以前に未選択のパッケージ nemo-python を選択しています。
.../nemo-python_3.6.0-1_amd64.deb を展開する準備をしています ...
nemo-python (3.6.0-1) を展開しています...
gir1.2-nemo-3.0 (3.6.5-1) を設定しています ...
nemo-python (3.6.0-1) を設定しています ...
gir1.2-nemo-3.0も一緒に入った。
本来python-nemoというパッケージに依存しているのに、nemo-pythonをinstallしたので、dpkgの管理情報的には依存関係は満たされていない
しかし、/usr/share/nemo-python/extensions/RabbitVCS.py を動作させるのに必要なものは、全部入ったはずだ。

この状態で、さっきartful/に展開した usr/share/nemo-python/extensions/RabbitVCS.py を、/からのパスにコピーする。
$ sudo cp -a artful/usr /

これで、Nemoを起動すると、RabbitVCSが使えるようになっている。
エンブレムが見えるかな?

無理やりnemo-rabbitvcsを動かしたけど、問題があるかもしれない。
大切なソースコードだ。やるなら、自己責任で。
なんかあっても私は責任をとらない。

2019/06/21午後 わかりにくい表現を直した。
2019/06/23 厳密にはmainとrestrictedで配布されるものだけがオフィシャルである。
nemoやnemo-pythonはuniverseなので、厳密にはオフィシャルではない。
add-apt-repositoryで後から追加したリポジトリではないという意味で、ここでは「オフィシャル」と言う言葉を使っている。
2019/06/29 "artful"とすべきところを"artiful"と書いていた。直した。
正しい英語にはartifulという単語はない。しかし現代語的なもので、art + beautiful 的な意味で使われる。私は、"Artful Aardvark"(技巧に富んだツチブタ) を何故か"Artiful Aardvark"(芸術的に美しいツチブタ)という意味でとらえていた。つまりtypoではなく、勘違いだった。
2019/10/25 この方法では、RabbitVCSのいくつかの機能が動かない。
新しい方法を「Ubuntu 18.04 で無理やりNemo RabbitVCS#2」に書いた。
そちらを参照せよ。

0 件のコメント:

コメントを投稿