[vine-users:082853] LibreOfficeでGNOMEパネルが消える件で、metacityを修正してみました。
田中 秀知
hidetomo @ tanaka.email.ne.jp
2016年 6月 25日 (土) 01:55:07 JST
田中秀知です。
LibreOfficeでGNOMEパネルが消える話の続きです。
ウインドウマネージャーのmetacityのソースの修正をやってみました。
先に、結果から書くと、metacityを修正することで、
LibreOfficeでGNOMEパネルが消える現象は出なくなりました。
以下に 手順を書いていきますが、
この手順の作業を行なって、何か不具合が起こっても、私は責任を取れません。
自己責任で行なってください。
手順を書きます。
(1) 仮に、ユーザー名を hoge_u と します。
ホームディレクトリは /home/hoge_u と なります。
(2) どこでもいいのですが、ホームディレクトリで行なうとします。
$ apt-get source metacity
これで、metacity-2.34.0-5vl6.src.rpm が ダウンロードされます。
(3) $ rpm -ihv metacity-2.34.0-5vl6.src.rpm
これで、/home/hoge_u/rpmの下に、ディレクトリとファイルが できます。
(4) 必要な開発環境をインストールします。
$ sudo apt-get install -y gtk2-devel
$ sudo apt-get install -y pango-devel
$ sudo apt-get install -y GConf2-devel
$ sudo apt-get install -y startup-notification-devel
$ sudo apt-get install -y libXcursor-devel
$ sudo apt-get install -y libXcomposite-devel
$ sudo apt-get install -y libcanberra-devel
$ sudo apt-get install -y libgtop2-devel
(5) $ cd ~/rpm/SPECS
$ rpmbuild -bp metacity-vl.spec
(6) $ cd ~/rpm/SOURCES/metacity
$ cat > source_diff_base64.txt
以下の内容をマウスのドラッグを使って、コピーします。
------------------ source_diff_base64.txt 始まり -----------------------
ZGlmZiAtYXVyTiBtZXRhY2l0eS0yLjM0LjAub3JnL3NyYy9jb21wb3NpdG9yL2NvbXBvc2l0b3It
eHJlbmRlci5jIG1ldGFjaXR5LTIuMzQuMC9zcmMvY29tcG9zaXRvci9jb21wb3NpdG9yLXhyZW5k
ZXIuYwotLS0gbWV0YWNpdHktMi4zNC4wLm9yZy9zcmMvY29tcG9zaXRvci9jb21wb3NpdG9yLXhy
ZW5kZXIuYwkyMDExLTAxLTMxIDIwOjM2OjI2LjAwMDAwMDAwMCArMDkwMAorKysgbWV0YWNpdHkt
Mi4zNC4wL3NyYy9jb21wb3NpdG9yL2NvbXBvc2l0b3IteHJlbmRlci5jCTIwMTYtMDYtMjMgMjE6
MDk6MTUuMDAwMDAwMDAwICswOTAwCkBAIC0xODE2LDYgKzE4MTYsMTAgQEAKICAgaWYgKHh3aW5k
b3cgPT0gaW5mby0+b3V0cHV0KSAKICAgICByZXR1cm47CiAKKyAgLyogSWYgYWxyZWFkeSBhZGRl
ZCwgaWdub3JlICovCisgIGlmIChmaW5kX3dpbmRvd19mb3Jfc2NyZWVuIChzY3JlZW4sIHh3aW5k
b3cpICE9IE5VTEwpCisgIHJldHVybjsKKwogICBjdyA9IGdfbmV3MCAoTWV0YUNvbXBXaW5kb3cs
IDEpOwogICBjdy0+c2NyZWVuID0gc2NyZWVuOwogICBjdy0+d2luZG93ID0gd2luZG93Owo=
------------------ source_diff_base64.txt 終り -------------------------
catコマンドが動いている状態の所で、ペーストを行います。
Enterキーを 一度 打ちます。
Ctrl - D(コントロール+D) と、キーを打って、catコマンドを終了させ
ます。
これで、source_diff_base64.txt という名前のファイルができます。
(7) $ base64 -d source_diff_base64.txt >
metacity-2.34.0-gnome-panel-disappear.patch
(8) $ cd ~/rpm/SPECS
$ cat > spec_diff_base64.txt
以下の内容をマウスのドラッグを使って、コピーします。
------------------- spec_diff_base64.txt 始まり ------------------------
LS0tIG1ldGFjaXR5LXZsLWZyb20uc3BlYwkyMDExLTA4LTAyIDIzOjIzOjM5LjAwMDAwMDAwMCAr
MDkwMAorKysgbWV0YWNpdHktdmwtZ19wYW5lbF9kaXNhcHBlYXIuc3BlYwkyMDE2LTA2LTIzIDIy
OjA4OjE2LjAwMDAwMDAwMCArMDkwMApAQCAtNCw3ICs0LDcgQEAKIFN1bW1hcnkoamEpOiBNZXRh
Y2l0eSDjgqbjgqTjg7Pjg4njgqbjg57jg43jg7zjgrjjg6MKIE5hbWU6IG1ldGFjaXR5CiBWZXJz
aW9uOiAyLjM0LjAKLVJlbGVhc2U6IDUlez9fZGlzdF9yZWxlYXNlfQorUmVsZWFzZTogNiV7P19k
aXN0X3JlbGVhc2V9CiBVUkw6IGh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9nbm9tZS9zb3VyY2Vz
L21ldGFjaXR5LwogTGljZW5zZTogR1BMCiBHcm91cDogVXNlciBJbnRlcmZhY2UvRGVza3RvcHMK
QEAgLTMzLDYgKzMzLDEwIEBACiAjIGh0dHA6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9tZXRhY2l0
eS9jb21taXQvP2lkPTZhNTI4ODNjMmI2NzBhZDY0NTI1NzM3MzUxNWQxZTcwNDQwOGI5M2QKIFBh
dGNoMjA6IG1ldGFjaXR5LTIuMzQuMC1yZXZlcnQtNmE1Mjg4LnBhdGNoCiAKKyMgZml4IDogIExp
YnJlIE9mZmljZSBtYWtlcyBnbm9tZS1wYW5lbCBkaXNhcHBlYXIuCisjIGh0dHBzOi8vZ2l0aHVi
LmNvbS9tYXRlLWRlc2t0b3AvbWFyY28vaXNzdWVzLzQ1CitQYXRjaDMwOiBtZXRhY2l0eS0yLjM0
LjAtZ25vbWUtcGFuZWwtZGlzYXBwZWFyLnBhdGNoCisKIEJ1aWxkUm9vdDogJXtfdG1wcGF0aH0v
JXtuYW1lfS0le3ZlcnNpb259LXJvb3QKIEJ1aWxkUmVxdWlyZXM6IGd0azItZGV2ZWwgPj0gMi4y
MAogQnVpbGRSZXF1aXJlczogcGFuZ28tZGV2ZWwgPj0gMS4yOC4wCkBAIC01NCw3ICs1OCw3IEBA
CiAKIFZlbmRvcjogUHJvamVjdCBWaW5lCiBEaXN0cmlidXRpb246IFZpbmUgTGludXgKLVBhY2th
Z2VyOiBkYWlzdWtlCitQYWNrYWdlcjogaGlkZXRvbW8KIAogJWRlc2NyaXB0aW9uCiBNZXRhY2l0
eSBpcyBhIHNpbXBsZSB3aW5kb3cgbWFuYWdlciB0aGF0IGludGVncmF0ZXMgbmljZWx5IHdpdGgg
CkBAIC04NSw2ICs4OSw4IEBACiAKICVwYXRjaDIwIC1wMSAtYiAucmV2ZXJ0LTZhNTI4OAogCisl
cGF0Y2gzMCAtcDEgLWIgLmdub21lLXBhbmVsLWRpc2FwcGVhcgorCiBjcCAtYSAle1NPVVJDRTIw
fSBwby9qYS5wbwogCiAlYnVpbGQKQEAgLTE0Nyw2ICsxNTMsOSBAQAogJXtfbWFuZGlyfS9tYW4x
L21ldGFjaXR5LXdpbmRvdy1kZW1vLjEuZ3oKIAogJWNoYW5nZWxvZworKiBUaHUgSnVuIDIzIDIw
MTYgSGlkZXRvbW8gVGFuYWthIDxoaWRldG9tb0B0YW5ha2EuZW1haWwubmUuanA+IDIuMzQuMC02
CistIGZpeCA6ICBMaWJyZSBPZmZpY2UgbWFrZXMgZ25vbWUtcGFuZWwgZGlzYXBwZWFyLgorCiAq
IFR1ZSBBdWcgMDIgMjAxMSBEYWlzdWtlIFNVWlVLSSA8ZGFpc3VrZUBsaW51eC5vci5qcD4gMi4z
NC4wLTUKIC0gZml4IFZpbmUgdGhlbWUgdG8gdXNlIGZpeGVkIHNpemUgd2luZG93IGJ1dHRvbnMu
CiAgIC0gc29tZSBmb250cyBicmVha3Mgd2luZG93IHRpdGxlIGRlc2lnbi4uCg==
------------------- spec_diff_base64.txt 終り --------------------------
catコマンドが動いている状態の所で、ペーストを行います。
Enterキーを 一度 打ちます。
Ctrl - D(コントロール+D) と、キーを打って、catコマンドを終了させ
ます。
これで、spec_diff_base64.txt という名前のファイルができます。
(9) $ base64 -d spec_diff_base64.txt >
metacity_spec_change_160623.patch
$ patch -p1 -b metacity-vl.spec metacity_spec_change_160623.patch
これで、metacity-vl.specの内容が 少し変更されます。
(10) $ rpmbuild -ba metacity-vl.spec
ソースのコンパイルが行われます。
これで、次の3つのファイルが できます。
/home/hoge_u/rpm/SRPMS/metacity-2.34.0-6vl6.src.rpm
/home/hoge_u/rpm/RPMS/i686/metacity-2.34.0-6vl6.i686.rpm
/home/hoge_u/rpm/RPMS/i686/metacity-devel-2.34.0-6vl6.i686.rpm
私のパソコンは、OSが32ビット版なので、"i686"に なりますが、
OSが64ビット版の人は、"x86_64"などに なるのだと思います。
そこは 適宜 読み替えてください。
(11) $ cd ~/rpm/RPMS/i686/
$ sudo rpm -Uhv metacity-2.34.0-6vl6.i686.rpm
これで、新しく出来たmetacityのパッケージが
アップグレードの形で インストールされます。
変更が有効になるのは、一度 GNOMEをログアウトして、
ログイン画面に戻り、再度 ログインしてからです。
一連の作業の説明は ここで終りです。
Vine Linuxが提供しているmetacityのパッケージのバージョンは
metacity-2.34.0-5vl6 です。
私が作ったパッケージのバージョンは
metacity-2.34.0-6vl6 です。
リリースの番号が、5と6で 違っています。
もし、元のVine Linuxが提供しているパッケージに戻したい場合は
次のコマンドを入力してください。
ダウングレードのインストールが行われます。
$ sudo apt-get install metacity=2.34.0-5vl6
〈 Vine Linuxのメンテナ、開発者の方々(かたがた)へ 〉
もし、このパッケージを Vine Linuxの公式のパッケージとして、
公開されることがありましたら、その時は バージョンの
リリース番号を 7と していただいたら、
そのパッケージがインストールされる際に、私が作った 2.34.0-6vl6 の
バージョンは
自動的に削除されて無くなるので、都合が良いのではないかと思い、
バージョン番号を そのようにしました。
もし、問題がありましたら、ご連絡ください。
参考にさせていただいたWebページです。
「 (Linux)SRPMパッケージの扱い方 」
http://ynomura.dip.jp/archives/2006/01/linuxsrpm.html
「 修正したいソースRPMにパッチを作って当てる方法 」
http://d.hatena.ne.jp/cactusman/20080315/p1
vine-users メーリングリストの案内