タグ付けされた質問 「packaging」

Debianまたはsnapパッケージの作成と保守を指します。個人的な使用のためにパッケージを更新したい場合でも、ソフトウェアをUbuntuユーザーの手に渡す方法を考えている場合でも、このタグはあなたのためのものです。


2
パッケージのインストール中に依存サービスを再起動する正しい方法は何ですか?
構成パッケージを作成していますが、構成が影響を受けるサービスを停止して再起動します。今service [stop|restart]は{pre,post}{inst,rm}邪魔に使っています。サービスについてのユーザーの好みを尊重するのでinvoke-rc.d、私はそれが正しい方法である質問をどこかで読みました。しかし、これに関するガイドラインは見つかりませんでした。誰かがそのようなガイドラインを知っていますか?または、どの方法を選ぶべきかについてアドバイスがありますか?パッケージは内部で使用されるものであり、今後2年間はたぶん14.04のみになります。ただ、後継者にsystemdは出来るだけ綺麗な状態を残したいので、心の中で考えています。 invoke-rc.dmanページから: Debianパッケージのメンテナスクリプトによるinitスクリプトへのアクセスはすべて、invoke-rc.dを介して行う必要があります。 Debianポリシーマニュアル、第9章、セクション3.3から: メンテナは、postinst、prerm、postrmなどのパッケージのスクリプト内のinitscriptを処理するために、update-rc.dおよびinvoke-rc.dプログラムによって提供される抽象化レイヤーを使用する必要があります。 ... パッケージメンテナースクリプトは、直接呼び出すのではなく、invoke-rc.dを使用して/etc/init.d/* initscriptsを呼び出す必要があります。 Debianは使用されてsysv-initおりsystemd、直接に移行します。また、ポリシーマニュアルは近いうちに参照されるように更新されると思いますsystemctl。しかし、私が不確かなのはこれです。invoke-rc.d代わりに使用する必要がありserviceますか?dpkg(トリガーを介して)一部のファイルに関心があることを伝えることができるのでdpkg、いくつかのサービスにも関心があることを伝えdpkg、再起動/再読み込みを行う方法はありますか? 明確にするために:私はinitスクリプトを書いていません。PuppetやNTPなどの他のアプリケーションの構成を含むパッケージを提供しているので、スクリプト内の対応するサービスを停止して再起動します。 たとえば、ここではinvoke-rc.dvs に関するDockerの問題serviceです。この問題はまだ解決されておらず、おそらくメンテナである1人が、正しい方法でこれを行うことに間違いなく関心があるとコメントしています。(私の質問はその問題とは無関係です。)

2
DebianからPPAにパッケージをコピーするにはどうすればよいですか?
Debian sidからチームのPPAに最新のグルメパッケージを追加して、最新バージョンのグルメを実行したいUbuntuユーザーがそのPPAをソフトウェアソースに追加できるようにしたいと思います。(依存関係については、現在サポートされているすべてのUbuntuバージョンで、現在の依存関係のほとんどすべてが既に利用可能であるため、それほど問題にはなりません。) *.dscファイルとdebianとorigのtarball をダウンロードしましたが、これをパッケージのsource.changesファイルに使用できることもわかりました。またdput、パッケージを検証できるように、Debianメンテナの公開鍵をダウンロードしました。次に、dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(ティルダなしでも試してみました)を使用してパッケージをPPAにアップロードしようとしました。これは成功したようですが、確認メールが届かず、PPAにパッケージが表示されないため、信じられます。 Debianメンテナのキーが明らかにチームメンバーのキーの中にないため、パッケージが拒否されたとのことです。 では、Debian(sid)からLaunchpad PPAにパッケージを「コピー」する最も簡単な方法は何でしょうか。アップロードする前に、パッケージ全体をローカルで再構築する必要がありますか?
10 ppa  packaging  debian 

3
既存のPPAパッケージにバイナリファイルを追加する方法
変更したテキストファイルまたは新しいテキストファイルをPPAパッケージに追加するのは簡単です。 ステップ1: apt-get source [foo-package] cd [foo-package] 手順2: 変更を含む新しいテキストファイルを追加または変更する 手順3-変更ログを更新します。 dch -i ステップ4-パッチを作成する dpkg-source --commit ステップ5-ソースパッケージを作成する debuild -S ステップ6-ランチパッドにアップロードする cd .. dput [myppa]/[foo_source.changes] ただし、新しいアイコンファイル(.pngファイル)を既存のパッケージに追加する必要があります。 したがって、ステップ2で -[foo-package]にコピーされます で、ステップ4 -私は、次のエラーを取得します: dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed dpkg-source: error: unrepresentable changes to source ステップ5に移動しようとすると、上記の追加のエラーが表示されます。 dpkg-source: error: add foo-package/foo-icon.png …

1
Launchpadレシピを使用して、元のパッケージにパッチを適用してビルドするにはどうすればよいですか?
パッケージバージョンに適用されるvimに対するパッチがあります。これを自動化して、新しいubuntuがリリースされたときに、パッチされていない新しいvimにパッチを適用して、レシピを使用してビルドするようにします。レシピのドキュメントを読みましたが、パッチの適用方法がわかりません。 ソースを変更してブランチを作成し、レシピでマージする必要がありますか?パッチが適用されたブランチが新しいリリースのディストリビューションパッケージで古くなった場合、それはどのように処理されますか?(パッチはおそらくまだ適用されますが、ブランチもマージできるでしょうか?)


1
Software Centerはどのようにして「技術的なアイテム」で何がそうでないかを判断しますか?
私はパッケージングの初心者ですが、PPAを設定して機能させることができました。しかし、Ubuntu Software Centerで自分のソフトウェアを探すと、「Show _ technical items」をクリックした後にのみ表示されます。私のソフトウェアは技術的なアイテムではありません。この情報をソフトウェアセンターに伝えて、適切に分類できるようにするにはどうすればよいですか? 私は.desktopファイルを出荷し、それはメニューに完全に表示されます。ソフトウェアセンターには、インストール後にメニューエントリへのパスも表示されます(「メニューで検索:...」)。 編集:私はさまざまなUbuntu IRCチャネルにしばらく時間を費やしました、そしていくつかの異なる人々との会話から、コンセンサスはPPAパッケージのこの問題(そしてアイコンを表示するなどの他のいくつか)を修正する方法はないようです。現状では、Ubuntu Software Centerと完全に統合するには、パッケージをメインのリポジトリに配置する必要があります。

1
依存関係のある.debファイルを作成するには?
私はLÖVEフレームワークで作成されたゲームを持っていて、それを.debファイルにパッケージ化して、他のユーザーが簡単にインストールして、Unityダッシュなどで簡単に見つけられるようにしたいと考えています。 love_0.7.2.debどういうわけかdebファイルにも入れたいLÖVEフレームワークもあります。 私が持っているファイル: game_icon.png game .desktop the_game.love love_0.7.2.deb 誰かがこれを行う方法を私に説明できますか?

2
pbuilderビルドでローカル.debファイルをどのように使用できますか?
多くの場合、別のパッケージが依存するパッケージ(つまり、ビルドの依存関係)を作成する必要があります。これらすべてのパッケージを最初に私のppaでビルドするのではなく(これには時間がかかる場合があります)、pbuilderの結果ディレクトリをpbuilder自体のソースとして使用したいと思います。 これどうやってするの?フック経由でこれを行うことはできますか?

6
WineにカスタムPPAをパッチする適切な方法は何ですか?
私は自分のマシンで使用するために手動でWineにパッチを適用してきましたが、友人や関係者のためにそれをPPAに入れたいです。 現在、私はこの手順に従います: アップストリームPPAから最新のソースを取得する apt-get source patch非公式でサポートされていないパッチを適用するために使用します。 を使用してパッケージを作成する dpkg-buildpackage -rfakeroot -uc -b これは、ローカルマシンで実行するパッケージを作成するのに適しています。ただし、私はこのカスタムビルドをPPA経由で他のユーザーに配布したいと思います。 この手順で十分ですか、それとも私が特にWineについて従うべき手順がより正確で、保守しやすくなっていますか?


1
Launchpadのすべてのソースコードはどこで参照できますか?
回答のパッケージコードにリンクする必要がある場合、Launchpadのソースコードブラウザは非常に便利だといつも思っていました。URLパターンは非常に単純(https://code.launchpad.net/ubuntu/+source/<package>)なのでcode、アドレスバーに入力した後、最後の単語を置き換えることができます。しかし、最近、実際のパッケージングコードを見つけることの一貫性が失われていることがわかりました。 例えば: GDM -15.10より新しいものはありません。しかし、それ以降、パッケージングコードが変更されたことは、変更ログから明らかです。 バッシュ -これは面白いです。リンクがありますランチパッドのGitリポジトリ、そのページでは、とそこにあなたは新しいリリースのためのパッケージを見ることができます。同様に、apt、bash、git、grub2、... GDMパッケージ用のGitリポジトリがリストされていないことに注意してください。GDMのような他のもの:バザー自体、LightDM、zsh、Chromium、... そのすべてのパッケージ化コードはどこに行きましたか? パッケージコードをダウンロードしたくないので注意してくださいapt-get source。ソフトウェアのソースコードを参照したくないので、LPの外側を調べます(もちろん、ソフトウェアがLPで開発されている場合を除きます)。Ubuntuのパッケージ化コードをオンラインで閲覧して、リンクできるようにしたいと考えています。Debianの場合、通常はAliothのパッケージを掘り下げることができます。

2
override_dh_build-indepシーケンスがdebuildによって実行されないのはなぜですか?
内の共有ライブラリのドキュメントを生成しようとするのに苦労していますdebian/rules。私は尋ねた以前の質問に文書を生成するために使用するターゲットに関する。 今の私の問題は、override_dh_build-indep実行時にターゲットがビルドされないことdebuildです。ターゲットechoの上部にステートメントを挿入したところ、次のターゲット%をdebuild構築することがわかりました。 clean build install build-indep建設されていないようです。何か不足していますか?

1
ソースパッケージのdebian / package.postinstにカスタムステップを追加しますか?
自動生成されたdebian/package.postinst.debhelperファイルを生成されたバイナリに組み込むパッケージがあります。自分のコードをのファイルに挿入するdebian/package.postinstと、自動生成されたファイルは結果のバイナリに組み込まれなくなります。 postinst自動生成コードの使用をブロックせずに、生成されたパッケージのファイルにカスタムコードを追加するにはどうすればよいですか?

1
別のパッケージ用にカスタマイズされた構成ファイルを提供する
私たちは職場でUbuntuを使用しており、多くのシステムで同じ構成変更を行う必要があるため、これらをパッケージ化しています。必要な構成変更の1つは、lightdmを自動ログインに設定することです。この変更をパッケージ化するには、既存の/etc/lightdm/lightdm.confを上書きして、カスタマイズしたlightdm.confに置き換える必要があるようです。これは悪い考えのようです。 破損を引き起こさない方法でこれを行うにはどうすればよいですか?コミュニティの他のメンバーの作業方法と一致していますか?
8 packaging 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.