しばらくぶりにubuntu ppaへパッケージを上げるときの手順
Ubuntu Preciseへのアップグレードをしたので、自分のppaのpythonライブラリのパッケージを更新した。launchpadへのgpg鍵の登録から行うことになり、そのメモ。
パッケージのPreciseへの対応
debian/controlのDependsでpreciseのパッケージに対応するパッケージ名に変える。preciseではPythonのバージョンはpythonが2.7でpython3が3.2で、2.6がpython2.6として独立してインストール可能である(3.1は消えた)。
すなわち"debuild -uc -us"でビルドできるようにしておく。
gpg鍵生成
gpg --gen-key
有効期限は1yでアルゴリズムや鍵長はデフォルトで良いが、名前とメールアドレスはdebian/changelogの名前とメールアドレスに合わせなくてはいけない。鍵生成をサーバで行う場合rng-toolsパッケージを入れておくといい。passphraseは必須。
gpg鍵登録
まず鍵送信
gpg --send-keys --keyserver keyserver.ubuntu.com 580B5697
最後の引数は生成した鍵のID。"gpg --list-keys"コマンドで鍵一覧が見える。この限りストのうちuidが付いているpubの鍵IDを送る。
次にlaunchpad上で鍵を登録する。ブラウザで"OpenPGP Keys"のアイコンをクリックし、下部の"Import and OpenPGP Key"のフォームにfingerprintを入れ、"Import Key"ボタンを押す。(鍵送信からlaunchpadが利用可能になるまで少し時間がかかるので、失敗したら数分待ってから行う)
fingerprintの出し方は、以下のようにコマンドで鍵IDを指定して行う。
gpg --fingerprint 580B5697
ここで出る指紋の4x10文字をスペース入りのままフォームへコピペする。
するとメールが送られてくる。このメールのうち
-----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.10 (GNU/Linux) ... -----END PGP MESSAGE-----
の部分をテキストファイルとして保存する。たとえばencrypt.txtというファイル名にする。
このファイルをgpgで復号する。
gpg encrypt.txt
復号したファイル内の一番下の行のURLへアクセスし、continueすればOpenPGP Keysに登録される。
この鍵でCode of Conductサイン
launchpad上で古いCoCをdeactivateすれば、CoC署名のインタフェースが出る。
UbuntuCodeofConduct-1.1.txtをダウンロードし、署名する。
gpg --clearsign UnbuntuCodeofConduct-1.1.txt
UnbuntuCodeofConduct-1.1.txt.ascが生成されるので、そのファイルを開き内容全部をlaunchpadのフォームへコピペし送れば完了。
ppaへアップロード
dch -v 1.0.5.5-0nmu1ppa1 debuild -S -sa cd .. dput ppa:bellbind/python-simplexquery_1.0.5.5-0nmu1ppa1_source.changes
上から順に、dchでppa用バージョン付をし、debuild -S -saで署名付きのchangesをつくる。dput出アップロードする。あとはlaunchpadでビルドが終わるのを待つ。