1. PPA(PersonalPackageArchive)とは
・Ubuntuが用意してくれてる個人向けソフトウェアの公開場所みたいなもの
・debパッケージをPPA上で作れる
・apt-getでインストールできるようになる
2. PPAへの登録
①launchpadへ登録
②ppaを作る
③端末で以下の操作
・gpg --gen-key
→鍵作成
→一問一答で進む。原則デフォルト通りでOK
→メアドはlaunchpadに登録したもの
→パスフレーズはつける
・gpg --send-key -keyserver keyserver.ubuntu.com 鍵ID
(例えば"972DB0DC"のような形式)
→鍵送信
④フィンガープリントを調べてlaunchpadに登録
・launchpadホームからChange your OpenPGP keysの項目を開く
・端末で、gpg --fingerprint 鍵IDとしてfingerprint(指紋)を調査する
・ページに張り付けてImportKey
→なお、③の鍵送信後、10分以上しないと④で登録できないっぽい
⑤暗号化メールが届く
pgpを使って復号化(sudo apt-get install pgpgpgでインストール)
↓
pgp -p 暗号化されたファイル -o 復号化後のファイル
→パスフレーズを入力
→指示されたURLに行く
⑥CoCへの署名
・OpenPGP keysのページ→codes of conductをクリック→Downloadをクリック、してCoCを取得する
・読んで納得する
・gpg --clearsign CoCファイル名を実行
・code of conductのページのSign it!を開いて、できたファイルの中身をコピペ
⑦deb作成とUpload
・debuild -S -sa -k鍵ID →まったく新しいパッケージを作る場合?
debuild -S -sd -k鍵ID →既存パッケージのVerUp?
・dput ppa:リポジトリ名(xxx/cccの形式) changesファイル(例cutleft_0.0.1-1_source.changes)
→ソースアーカイブ(XXX_A.B.C.orig.tar.gzなど)は一度dputでアップすると、
同名でつくり直してdputしても更新されない
⑧リポジトリ追加
→sudo add-apt-repository ppa:リポジトリ名
→検証されていません、とでるが・・・
・sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 鍵IDとやっても変わらず
なおPPAからソフトウェアをインストールする場合,ソフトウェアが認証されていないという旨の警告が表示されますが,
これはリポジトリのReleaseファイルへの署名機能がPPAに実装されていないためです
・それとも、一日一回鍵の更新がされて、それまでの話?
⑨ubuntuのリポジトリについて
PPA特有のバージョン命名法と依存関係
・パッケージ名を〜ppa + 数字(リビジョン番号)とする
例:myapp_1.0-1 → myapp_1.0-1ppa1
・ubuntuバージョン別のファイルを作るときは
例:myapp_1.0-1ubuntu3ppa1~hardy1(チルダ+バージョン)
・スナップショットVer(特定の一時点に存在した、バージョン管理のための、ソースコードリポジトリ中のビュー)を作る場合
(ry
3. 雑感
・debファイル作るのに1日以上かかるってどーゆーこと?
・遅い。とにかく遅い。
・一度、自分の作ったソフトをapt-getして自己満足したら、一生使わないシステム。
4. PPAに代替する方法
・subversion+apacheで公開する方法
・apt-ftparchiveでaptリポジトリを作る方法