2008年12月9日火曜日

Puppy Linux/dir2petの使いかた

すでにあるバイナリーファイルからpetを作る方法。
dir2petを使用すると、バイナリーファイルから簡単にPETパッケージを作成する事が出来ます。基本はバイナリファイルのディレクトリ構造をPuppyのディレクトリ構造に合わせてフォルダを作成しておくことがスムーズに行かせるコツです。
指定したディレクトリをPETパッケージ化することが出来るスクリプトみたいです。メニューエントリファイル(xxxx.desktop)が無くても、これで作成する事ができます。

手順
フォルダPackageXを作成し、中にバイナリを展開し、ディレクトリ構造をPuppyに合わせます。

端末にて日本語対応のdir2petjpを

#dir2petjp PackageX

とすると少し変な日本語で以下の様な表示が出ます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'dir2petjp' スクリプトにようこそ。
これはディレクトリをPETパッケージに変換します。例えば、'abiword-0.5.6'と
いう名前のディレクトリがあり、その中にパッケージに必要とされるものを
何でも置きます。例えば、usr/local/bin/abiword (実行ファイル)、そして
/usr/share/applications/abiword.desktop (XDGメニューファイル)。
.desktopファイルがなくても気にしないで下さい。このスクリプトがいくつかの
簡単な質問をしてパッケージに必要な物を何でも勝手に作ってくれます。
メニューエントリを作成するならパッケージは .desktopファイルと
メニュー用に16x16ピクセルアイコンだけが必要です。
アイコンはxpmイメージで置く場所は /usr/local/lib/X11/mini-icons/
である事が望まれます。でもどこでもいいです。
ディレクトリ PackageX はパッケージ名にダッシュを続けて
アラビア数字でバージョン番号を付けます。例: abiword-0.5.6
パッケージは任意でインストール後と削除後のスクリプトを持ちます。
これは 'pinstall.sh' と 'puninstall.sh' でトップディレクトリに置かれます。
(Unleashed用に公式PETを作るには、そのREADMEファイルを読んで下さい
スクリプトを正しく作成する方法が詳しく書かれています)
上記のどれにもさらに進む必要がなければ、ここでCTRL-Cを押して
このスクリプトを終了できます。そうでなければENTERを押して下さい。
続けるにはENTERキーを押して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
まずはPETパッケージを作成するか否かの確認とメニューエントリーが必要ならばxxxx.desktopファイルが無くても作成する旨、アイコンが16x16ピクセルでxpmである事や、決められたディレクトリに入れて置いても無くても良いことなどの簡単な注意事項が書かれています。普通は単にENTERでしょう。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 1
PackageXアプリケーションのメニュー項目が必要なければ
ここで「no」とタイプして下さい(引用符なしで)。
メニュー項目が必要なら、ただENTERキーだけを押して下さい。
「no」とタイプするか、ただENTERキーを押して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ここでメニューエントリーに加えるかどうかを判断しなくてはいけません。普通のアプリケーションであれば加えた方がいいでしょうが、ライブラリなどは加えても意味がないので止めます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 1B
ウィンドウマネージャメニューエントリを作成したいアプリケーション
のカテゴリを入力して下さい。公式パピーには以下のメニュー階層
があります:
('X-' カテゴリは非公式です。パピー仕様)
MENU CATEGORIES
Desktop :Settings DesktopSettings,Screensaver,Accessibility
Desktop :Country X-DesktopCountry
Desktop :Applets X-DesktopApplets
System :Config System,Monitor,Security,HardwareSettings,Core
System :Memory X-SystemMemory
System :Schedule X-SystemSchedule
Setup :Entry X-SetupEntry,PackageManager
Setup :Wizard X-SetupWizard
Setup :Utility X-SetupUtility
Utility :Sub Utility,Viewer,Development,Building,Debugger,
Utility : IDE,Profiling,Translation,GUIDesigner
Utility :Archiving Archiving
Utility :Console TerminalEmulator,Shell
Filesystem :Manager FileSystem,FileManager
Filesystem :Mount X-FilesystemMount
Filesystem :Utility X-FilesystemUtility
Filesystem :Find X-FilesystemFind
Graphic :Sub 2DGraphics,3DGraphics,Photography,Presentation,
Graphic : Chart,FlowChart
Graphic :Edit VectorGraphics,RasterGraphics
Graphic :Utility X-GraphicUtility
Document :Sub X-Document,WordProcessor,WebDevelopment
Document :TextEditor TextEditor
Document :Utility X-DocumentUtility,Dictionary
Calculate :Sub X-Calculate,Finance,Spreadsheet,ProjectManagement
Calculate :Calculators Calculator
Personal :Sub X-Personal,Calendar,ContactManagement
Personal :Utility X-PersonalUtility
Network :Dialup Dialup
Network :Sub Network,HamRadio,RemoteAccess
Internet : X-Internet,WebBrowser,Email,News,InstantMessaging,
Internet : Telephony,IRCClient,FileTransfer,P2P
Multimedia :Sub AudioVideo,Video,Player,AudioVideoEditing,Recorder,
Multimedia : Music,Audio,Midi,Mixer,Sequencer,Tuner,Video,TV
Multimedia :Burn DiskBurning
Fun : Game,Amusement,ActionGame,AdventureGame,ArcadeGame,
Fun : BlocksGame,BoardGame,CardGame,KidsGame,LogicGame,
Fun : RolePlaying,Simulation,SportsGame,StrategyGame
CATEGORIESコラムから1語を入力して下さい。:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ここからはxxxxx.desktopファイルの作成になります。まずはメニューのどこにソフト名を表示させるか指示します。記入するのは右のCategoryにあるリストの中なら選びます。例えばTextEditorやWebBrowserなどとします。セミコロン(;)で区切り2箇所を指定する事も出来ます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 1C
実行ファイルの名前を入力して下さい。以下の実行可能な検索パス
にあるならば、すなわち /bin, /sbin, /usr/bin,
/usr/sbin, /root/my-applications/bin か /usr/local/bin,
パス無しで実行ファイル名だけを入力して下さい。
例: mtpaint
(もちろん、ここでパスを指定する必要があるならば
それはパッケージがインストールされた [後] のパスです)
実行ファイルの [パス] を入力して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ここでは要するに端末から起動できる実行ファイル名を記入します。フルパスで指定する事も出来ます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 1D
ウィンドウマネージャメニューエントリで使われるアイコン名を入力
して下さい。これは16x16ピクセルのxpmファイルでなければいけません
(pngでもOKですが全てのウィンドウマネージャには合いません)。
このアイコンが /usr/local/lib/X11/mini-icons にあるならば
パスを指定する必要はありません。
アイコンがそれ以外の場所にある時はフルパスで指定しなければ
いけません。例: パッケージ gfnrename-0.4 が16x16アイコンを
/usr/local/gfnrename-0.4/icon.xpmにインストールします
(もちろん、ここでパスを指定する必要があるならば
それはパッケージがインストールされた [後] のパスです)
==16x16アイコンでなければいけません。大きくてはだめです!==
アイコンの [パス] を入力して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
書いてあるとおりです。メニューで表示させるアイコンの名称を入れます。例えばPackageX.xpmです。
フルパスでも指定出来ます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 1E
メニューに表示させたいアプリケーション名を入力して下さい。
それはメニューエントリの最初の単語になります。
例: Abiword
アプリケーション名を入力して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
メニューで表示させる名称を入れます。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 2
1-3語の説明を入力して下さい。
これはとても短くなければなりません。ウインドウマネージャ
メニューエントリのアプリケーション名の直後に表示されます。
これはPETgetによるパッケージ管理のためなど
いろいろな目的に使われます。
Abiword の例では: wordprocessor
非常に[短い]説明を(引用符なしで)入力して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
説明文を入れます。必要無いなら入れなくても構いません。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List of official packages built-in to Puppy:
0rootfs_skeleton 915resolution a52dec abiword abiword abiword
absvolume_puppy aiksaurus alsa alsa asapm atk audiofile aufs
autoconnect autologin axel ayttm bash bbc_provided bc bdb bin blinky
中略
yaf_splash ycalc zip zlib
上記のリストはパピーに組み込まれるパッケージです。これらは全て
(もしCDから起動していればCDの) pup_xxx.sfs ファイルにあります。
続けるにはENTERキーを押して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ENTER
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
利用できる追加の公式パッケージがここにあります。:
absvolume absvolume_puppy alltray asapm asunder autocutsel
bcrypt blackbox bluefish bogofilter bridge cairomm cdrdao
cdrtools cdw clamav cups desk_icon_theme_browndust
中略
xorg_xorg_full_dri xpdf xterm xvidcore zedit zfind zmixer
上記のPETパッケージは、pup_xxx.sfsファイルに組み込む
選択をされなかったUnleashed一式にあります。
しかしいつでも個々にインストールできます。
続けるにはENTERキーを押して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ENTER
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 3
現在作成中のPETパッケージ用の依存リストを入力して下さい。
すでにパピーに組み込んだパッケージは依存ファイルとして
はっきりと名前を付ける必要はありません(パピーの縮小ベアボーン
バージョン以外は、これら全てを組み込んでないかも知れません。
最悪の場合の状況について考えなければならないかも知れません)。
この依存リストを入力する方法を一例で示します: パッケージ
'pupdvdtool-0.5b' は以下の依存リストがあります:
+vamps,+vobcopy,+ffmpeg,+dvdauthor,+gtkdialog
各パッケージ名は先頭が「+」で始まり「,」で区切られます。
注意1: このgtkdialogはGTKライブラリを要求しますが
下位依存ファイルを指定する必要はありません。gtkdialogを
インストールする必要があれば、それ自身の依存リストがあります。
注意2: /root/.packages/packages.txtファイルで
各パッケージの依存リストを調べる事ができます。
注意3: パッケージが非公式の依存ファイルを必要としない限り
パッケージバージョン番号の指定は要求されません。
(バージョン化したどんな依存ファイルでも自動的に非公式である事 を意味します)
注意4: (何を指定して良いかわからなければ、ENTERキーを押して下さい)
(PETgetはまだいくつかの基本的な依存性をチェックします)
依存リストを入力して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
依存性リストを指定すると複雑になり過ぎます。普通ENTERで良いでしょう。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 4
PETパッケージはインストール時にPETget(パッケージマネージャ)に
登録しないオプションがあります。これはバグフィックスやPETパッケージに
パッチを当てる時に役立ちます。ここでは通常ENTERキーを押すだけです。
通常はパッケージをアンインストールできるようPETgetに登録したい
でしょうから。
PETパッケージをPETgetに登録しますか?
「はい」ならENTERキーを押して下さい。そうでなければ「no」と入力して下さい:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
普通ならばENTERします。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ステップ 5
ファイル ./PackageX/usr/share/applications/PackageX.desktop を作成しま した。
ファイル ./PackageX/PackageX.pet.specs を作成しました。
これはPETgetでパッケージ管理のために使われます。
ファイル ./PackageX.tar.gz を作成しました。 .petに変換中です...
PackageX.pet が作成されました。完了。
PackageX に新しい '.specs' ファイルがあります。
そして PackageX/usr/share/applications/ に新しい '.desktop' ファイルがあります。
これでディレクトリ PackageX はPETパッケージとして正しく構成されまし た
今後は二度とこのスクリプトを走らせる必要はありません。
必要ならばファイルを手で編集する事ができます。そして
次のようにしてもう一つの.petパッケージを作れます:
# tar -c -f PackageX.tar PackageX/
# gzip PackageX.tar
# tgz2pet PackageX.tar.gz
dir2petjp 終了。
#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ここではpackage.desktopが作成され、それをtar.gzにし、更にpetに変換する作業が行われる。終了