PET パッケージのインストールでメニューエントリが出ない条件

5.X系のバグ、トラブル・質問

モデレータ: 暇人, YoN, nyu

返信する
アバター
サボり魔
記事: 294
登録日時: 07/12/06(木) 12:28
お住まい: 関東

PET パッケージのインストールでメニューエントリが出ない条件

投稿記事 by サボり魔 »

Wary-5.3.92 で或るソフトの最新版をソースからコンパイルして PET パッケージに仕上げたところ、いつも通りにメニューエントリを作ったにもかかわらず左下メニューに出てきません。
インストール時に出てくるウインドウでも「このパッケージにはメニューエントリは無いよ」と英文で表示されます。

試しに適当な GTK ダイアログを出す実行ファイルをメニューエントリ付きの PET パッケージにしてみたところ、こちらはメニューに出てきます。

とりあえず /usr/local/petget/installpkg.sh を読んでみると

コード: 全て選択

#121119 if only one .desktop file, first check if a match in /usr/local/petget/categories.dat.
と書かれています。

そこで /usr/local/petget/categories.dat をエディタで開いた上で、インストールしようとしているソフト名で検索し、その行を削除&保存してから PET パッケージをインストールしたところデスクトップ左下メニューにエントリされました。

念のため、この操作を行わずにただ PET パッケージをクリックした際の挙動を他の Puppy でも試してみました。
  • ○ - Lupu-528JP
  • × - Precise-5.4.3
  • × - Wary-5.3.92
  • ○ - Slacko-5.4.0
(注:Wayr-5.3.92 で作ったパッケージを入れているのできちんと動くかどうかは別の話です。メニューエントリが作られるかどうかのテストです)


ソースを読むと、インストール周りは頻繁に Bugfix されてるみたいですね〜。
メニューエントリがきちんと作られた Slacko の最後の fix は「#121015」でした。
それよりも後に追加された「#121119」(Precise や Wary にはある)が原因なのかな?
サボり魔
Precise-550JP & Precise-571JP & Tahr-Puppy
frugal install (USB)
8GB ASUS H97I-PLUS Core-i5 4690S
8GB ASRock Z68M-ITX/HT Core-i7 2600k with Win7
16GB ASROCK H170M-ITX/ac Core-i5 6600
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: PET パッケージのインストールでメニューエントリが出ない条件

投稿記事 by シノバー »

このあたりですね。BarryさんのBLOG:
http://bkhome.org/blog/?viewDetailed=02949

.deb パッケージをインストールするときの問題対処が遠因?
http://bkhome.org/blog/?viewDetailed=02873
Sylpheed の .deb パッケージをインストールするとメニューの Network の所と Internet の所とに重複して項目ができる。その対処でコードが複雑になったのだろう。放っておけばよかったと私は思うが。
The bar master, Shino's Bar
http://shinobar.net/
アバター
サボり魔
記事: 294
登録日時: 07/12/06(木) 12:28
お住まい: 関東

Re: PET パッケージのインストールでメニューエントリが出ない条件

投稿記事 by サボり魔 »

.deb パッケージを扱えるというのがウリのバージョンもありますが、他所のパッケージを入れられるようにすると弊害も出るんですね。

試しに、 epdfview-0.1.8 のパッケージをメニューエントリ付きで作ってみたところ、/usr/share/applications に配置される .desktop ファイルの中身はソースに初めから含まれていたものとかなり違っています。
Puppy(というか jwm か?)独自のものなんですね。

で、既にメニューに入っているにもかかわらずパッケージインストールを強行してみると、
/usr/local/petget/categories.dat に名前があるのにメニューに出てきました。
うーん、もうわけわかりません。 :|

まぁ、出てこなかった場合に対応する術が分かっているし、いいか…。
サボり魔
Precise-550JP & Precise-571JP & Tahr-Puppy
frugal install (USB)
8GB ASUS H97I-PLUS Core-i5 4690S
8GB ASRock Z68M-ITX/HT Core-i7 2600k with Win7
16GB ASROCK H170M-ITX/ac Core-i5 6600
アバター
サボり魔
記事: 294
登録日時: 07/12/06(木) 12:28
お住まい: 関東

Re: PET パッケージのインストールでメニューエントリが出ない条件

投稿記事 by サボり魔 »

PET 作成時に作業ディレクトリ直下に「pinstall.sh」というファイルを作成し、その中に

コード: 全て選択

#! /bin/bash

 # hogehoge はメニューに出なくて困ってるアプリケーション名
 # (バージョンなどは無しで)
sed -i 's/^\(.*hogehoge\)/#\1/i' /usr/local/petget/categories.dat

と記述しておき、実行属性を与えた上で PET を作成。
categories.dat の該当行をコメントアウトすることで、
メニューに出てくる PET になります。

まぁ、うまくゆかない場合もあるかもしれませんが。
サボり魔
Precise-550JP & Precise-571JP & Tahr-Puppy
frugal install (USB)
8GB ASUS H97I-PLUS Core-i5 4690S
8GB ASRock Z68M-ITX/HT Core-i7 2600k with Win7
16GB ASROCK H170M-ITX/ac Core-i5 6600
アバター
タロ兵衛
記事: 875
登録日時: 08/07/08(火) 00:11
お住まい: よこはま
連絡する:

Re: PET パッケージのインストールでメニューエントリが出ない条件

投稿記事 by タロ兵衛 »

ああ・・・、そうだったんですね。
先日、紹介させて頂いたWireSharkも同種の問題が出ていたかもしれません。@571
pet化するとき、インストールするプログラム名やディレクトリ等を「wireshark」とすると、
petは普通に出来るのですが、メニューに現れません。(pet内の.desktopも正常)
petをインストールした後の/usr/share/applicationsの.desktopのメニューの位置を見ると、puppyのメニューには無い「x-network-sub」になってしまいます
仕方なくアプリ名を"wireshark_p"等にすると狙ったメニューに出てくるのです

他の対処としては、名称を「wireshark」でpet化してインストールした後(メニューに出なくても)、
/usr/share/applicationsの.desktopの「x-network-sub」をエディタで変更してから(network等)
「デスクトップの修復」を行うとメニューにでます(・・・当たり前か)

インストール時に実行できるスクリプトで対応しようとしましたが、ちょっと要領を得なくて出来ませんでした。
(次は頑張ろう=>俺)
neo実験君こと次期メインマシン
Intel Core i5-8400 2.80GHz
xenialpup64 7.5+lang_pack_ja-xenial64e
返信する