web-dev-qa-db-ja.com

$ PATHに含める必要のあるバイナリを含むアプリケーションをパッケージ化するにはどうすればよいですか?

通常は/usr/binに入るバイナリと、/usr/libに入る共有ライブラリを含むアプリケーションをパッケージ化しています。

ただし、ソフトウェアセンターにアプリケーションを送信するためのパッケージガイドラインでは、バイナリを/optに入れることを推奨しています。

これらのファイルを/optに入れながら、それらが$PATHにあることを確認する適切な方法は何ですか?


明確にするために、私が参照しているページはここにあります: http://developer.ubuntu.com/publish/my-apps-packages/ そしてそれは述べています:

「/ opt/...にインストールできます。」

6
Nathan Osman

Extras.ubuntu.comに送信されたパッケージは、デフォルトの$PATHからアクセスできるように意図されたバイナリをインストールできません。これらは比較的軽量のGUIアプリケーションを意図しています。これには、Upstartサービスまたはその他のファイルを/ etcにインストールすることは含まれません。

ファイルの制限は、ARBプロセスが作成されたときにセキュリティ上の理由で行われました。

このようなアプリケーションの場合でも、Ubuntuアーカイブ(メイン、ユニバース)に送信して、安定版リリースへのバックポートをリクエストできます。

3
ajmitch

背景

詳細情報を教えてください-「パッケージガイドラインは、バイナリを/ optに入れることを提案しています」?

DebianとDebianベースは/ optディレクトリを使用していないと思います。 LinuxFilesystemTreeOverview/1 /によって:

「/ optを使用して、パッケージマネージャーによって処理されないシステムの追加ソフトウェアを保存できます。」

リンク

/ optを使用する場合は、/ usr/binなどへのシンボリックリンク/ 2 /、/ 3 /、/ 4 /を作成できます。

Project Neon/5 /は、AmarokとKDEの開発バージョンを/ optにパッケージ化して、安定したバージョンと並べて使用できるようにしています。

Neonにはppa/6 /があるので、ソースパッケージをダウンロードして調べることができます。

リンク:

  1. https://help.ubuntu.com/community/LinuxFilesystemTreeOverview
  2. http://forums.debian.net/viewtopic.php?f=19&t=45964
  3. http://man.he.net/man1/dh_link
  4. https://wiki.ubuntu.com/PackagingGuide
  5. https://wiki.kubuntu.org/Kubuntu/ProjectNeon/
  6. https://launchpad.net/~neon/+archive/ppa

-編集-

http://developer.ubuntu.com/publish/my-apps-packages/ を読んだ後の考え。

「/ opt /にインストールできる」

ソースが/ opt /から実行される必要があることを意味します。フルパスで呼び出している場合は、$ PATHには含まれません。

ここで、Amarokの開発バージョンは/ optの下にインストールされ、Exec/1 /、/ 2 /キーは次のとおりです。

Exec=/opt/project-neon/bin/amarok %U

enter image description here

しかし、これは私の印象だけです!

その他のリンク

  1. http://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
  2. http://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
1
user26687