NetBeanで作成されたc ++/gtkmmプロジェクトがある場合、これからPPAへのパッケージを作成するにはどうすればよいですか?
ターゲットファイル構造(* .desktop、iconfile、ui gladeファイル)を作成しました。
バイナリは/opt/extras.ubuntu.com/myagenda/bin/myagenda
に移動します。
空き地ファイルのフォルダもあり、/opt/extras.ubuntu.com/myagenda/bin/myagenda/ui
に移動する必要があります。
デスクトップファイルは/usr/share/applications/myagenda.desktop
に移動します。アイコンは/usr/share/icons/hicolor/scalable/apps/myagenda.svg
に移動します
ご覧のとおり、ファイルの数はわずかです。
さて、これらすべてを管理する方法、PPAでパッケージを作成する方法、knowsこのファイルをどこに、どのようにターゲットに置くのか?
├── opt
│ └── extras.ubuntu.com
│ └── myagenda
│ ├── bin
│ │ └── myagenda
│ └── ui
│ ├── item_btn_delete.png
│ ├── item_btn_edit.png
│ ├── myagenda.png
│ ├── myagenda.svg
│ ├── reminder.png
│ └── ui.glade
└── usr
└── share
├── applications
│ └── myagenda.desktop
└── icons
└── hicolor
└── scalable
└── apps
└── myagenda.svg
更新:
install
ディレクトリにターゲットを含むdebian
ファイルを作成しました:
data/myagenda /opt/extras.ubuntu/com/myagenda/bin
data/ui/* /opt/extras.ubuntu/com/myagenda/ui
data/myagenda.desktop /usr/share/applications
data/myagenda.svg /usr/share/icons/hicolor/scalable/apps
dpkg-buildpackage
の後にビルドされますが、AMD64アーキテクチャ用です。今、それをi386に変更しようとしています。
PPAの作成は非常に簡単であると同時に、パッケージの複雑さ(つまり、単一のバイナリ、複数のバイナリなど)に応じてやや複雑なプロセスです。しかし、MyAgendaのような単純なアプリケーションの場合、PPAの作成は非常に簡単です。
最初に必要なパッケージをインストールします。
Sudo apt-get install build-essential devscripts ubuntu-dev-tools debhelper dh-make diff patch cdbs quilt gnupg fakeroot lintian pbuilder piuparts
。それらのほとんどはおそらくデフォルトですでにインストールされています。
Gpg-keyとssh-keyをセットアップします。 here および here の指示に従ってください。
アプリケーションのソースフォルダーに移動します。基本的なソースパッケージのレイアウトは次のとおりです。
MyAgenda-1.0/
-- data/
-- myagenda
-- myagenda.desktop
-- myagenda.svg
--ui
-- myagenda.glade
-- otherfiles
-- debian/
-- changelog
-- copyright
-- compat
-- rules
-- control
-- install
ファーストラン:
gpg --list-keys
。次のような出力が得られます。
pub: YOURGPG-KEY
uid: YOURUSERNAME <YOURMAIL-ID> #note your username & email.
sub: --------
Debianフォルダーとdebianフォルダーに他のすべての必要なファイルを作成するには、run(上記と同じユーザー名とemail-idを使用します):
DEBFULLNAME="YOURUSERNAME" dh_make -n -s -e YOUREMAIL-ID
。これは、gpgキーでパッケージに署名するのに役立ちます。
ただし、これはdebianフォルダーの下に「インストール」ファイルを作成しません。ファイルを手動で作成し、次のデータとともに保存します。
data/myagenda /opt/extras.ubuntu/com/myagenda/bin
data/ui/* /opt/extras.ubuntu/com/myagenda/ui
data/myagenda.desktop /usr/share/applications
data/myagenda.svg /usr/share/icons/hicolor/scalable/apps
更新履歴ログを更新するには:
dch -i
変更ログのサンプルは次のとおりです。
package (version) distribution; urgency=urgency
* change details
more change details
* even more change details
-- maintainer name <email address>[two spaces] Sun, 8 July 2012 18:14:08 +0530
上記の形式が保持されていることを確認します。編集が完了したら、CTRL + Oを押して書き込みます。削除
。dch part&changelog fileを上書きします。CTRL+ Xを押して終了します。
Debianの下にある余分な.exファイルを削除したい場合は、debianフォルダーに入れて.ex&.EXファイルを削除してください。
cd debian
rm *.ex *.EX
次に、debパッケージを作成するには、次を実行します。
debuild --no-tgz-check
#Optional.itはソースtarballをチェックしません。
ソースパッケージをPPAにアップロードするには、次を実行する必要があります。
debuild -S
-Sフラグが行うことは、debuildにfakerootと一緒に別のスクリプトdpkg-buildpackageを使用してソースパッケージをビルドするように指示することです。 .orig.tar.gzファイルを取得し、.diff.gz(作成者の元のtarballと作成したディレクトリdebian /とそのコンテンツの違い)と、説明のある.dscファイルを生成します。ソースパッケージのmd5sums。 .dscおよび* _source.changes(ソースパッケージのアップロードに使用)ファイルは、GPGキーを使用して署名されます。
debuild -S
は、ソースディレクトリの外部にsource.changesファイルを作成します。ランチパッドに移動してPPAを作成します。 source.changesをそのPPAにアップロードします((それに応じてファイル名を変更します):
dput ppa:YOUR-LAUNCHPAD-USERNAME/myagenda myagenda-1.0-ubuntu1.changes
完了!
ノート:
複数のubuntuバージョンのパッケージをアップロードする場合は、 here からヘルプを入手してください。