libhinawa 1.4.0のパッケージ更新

salsa.debian.org

ということなので、更新作業を。

% gbp import-orig --uscan 
gbp:info: Launching uscan...
gpgv: 2019年10月12日 20時56分59秒 JSTに施された署名
gpgv:                RSA鍵25DA5B9699F132DB74BD2270B5A586C7D66FD341を使用
gpgv: "Takashi Sakamoto <o-takashi@sakamocchi.jp>"からの正しい署名
gbp:info: Using uscan downloaded tarball ../libhinawa_1.4.0.orig.tar.xz
What is the upstream version? [1.4.0] 
gbp:info: ../libhinawa_1.4.0.orig.tar.xz already exists, moving to ../libhinawa_1.4.0.orig.tar.xz.1571235182
gbp:info: Importing '../libhinawa_1.4.0.orig.gbp.tar.xz' to branch 'upstream' (filtering out ['*egg.info', '.bzr', '.hg', '.hgtags', '.svn', 'CVS', '*/debian/*', 'debian/*'])...
gbp:info: Source package is libhinawa
gbp:info: Upstream version is 1.4.0
gbp:info: Replacing upstream source on 'debian/unstable'
gbp:info: Successfully imported version 1.4.0 of ../libhinawa_1.4.0.orig.gbp.tar.xz

もらったパッチを適用。

% git am ../0001-debian-update-for-v1.4.0-release.patch
Applying: debian: update for v1.4.0 release

debian/controlが古いのを直して、dput.

Lintian Tag: rules-requires-root-missing

なんてものも知る。

filezillaのRCバグ(CVE-2019-5429)を修正してみる

bugs.debian.org

sidおよびbusterに影響するRCバグをまだ誰も修正していなさそうなのでやってみた。 (filezillaのユーザーというわけではないけれど)

ざっくりとした内容としては、細工したfzsftpバイナリが置かれていたらfilezillaがそいつをロードしてしまうというもの。

security-tracker.debian.org

バグ報告で言及されているトラッカーをみると、upstreamですでに修正されているのでパッチはある。なのであとはパッチを適用してあげれば解決できそう。

具体的には apt source filezilla で現在のソースパッケージを取得して、該当するパッチをあててみる。

dquilt new CVE-2019-5429.patch
パッチ CVE-2019-5429.patch を最上位にしました

修正対象がわかっているのでdquiltで対象にいれてから該当のパッチをあててみればよい。

% dquilt add src/interface/FileZilla.cpp
ファイル src/interface/FileZilla.cpp をパッチ CVE-2019-5429.patch に追加しました
-[8078]% dquilt add src/interface/filezillaapp.h
ファイル src/interface/filezillaapp.h をパッチ CVE-2019-5429.patch に追加しました
-[8079]% patch -p0 < ../CVE-2019-5429.trunk.patch
patching file src/interface/FileZilla.cpp
Hunk #1 succeeded at 49 (offset 1 line).
Hunk #2 succeeded at 400 (offset 27 lines).
Hunk #3 succeeded at 415 (offset 27 lines).
Hunk #4 succeeded at 422 (offset 27 lines).
Hunk #5 succeeded at 515 (offset 27 lines).
Hunk #6 succeeded at 524 (offset 27 lines).
Hunk #7 succeeded at 625 (offset 27 lines).
Hunk #8 succeeded at 632 (offset 27 lines).
Hunk #9 succeeded at 659 (offset 27 lines).
Hunk #10 succeeded at 669 (offset 27 lines).
Hunk #11 succeeded at 717 (offset 27 lines).
Hunk #12 succeeded at 729 (offset 27 lines).
patching file src/interface/filezillaapp.h

バージョンがやや古いのでバックポートする形になった。 あとは、パッチを更新する。

dquilt refresh
パッチ CVE-2019-5429.patch をリフレッシュしました

パッチのヘッダは dquilt header -e でDEP3にならう形で修正しておく。

dep-team.pages.debian.net

Subject: Restrict directories in which tools and data files are searched .
Origin: https://svn.filezilla-project.org/filezilla?revision=9097&view=revision
Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928282 
Author: Tim Kosse <tim.kosse@filezilla-project.org>
Forwarded: not-needed

Apply upstream patch to fix CVE-2019-5429.

ref. https://security-tracker.debian.org/tracker/CVE-2019-5429

The patch is coming from:
  https://svn.filezilla-project.org/filezilla?view=revision&revision=9097
  https://svn.filezilla-project.org/filezilla?view=revision&revision=9098

This patch is needless when Filezilla itself is upgraded to 3.41.0 or newer version.

実際のところは、トラッカーで言及されているパッチだけだとコンパイルできないというオチがついていた。

気になっているのは、どうもCVE-2019-5429の修正でよけいなバグを入れ込んでいるようにみえるところ。最低限のパッチとしていれるのかどうか迷ったのでひとまず見送った。

https://svn.filezilla-project.org/filezilla?view=revision&revision=9099

あとは debdiff filezilla_3.39.0-2.dsc filezilla_3.39.0-2.1.dscみたいにしてパッチを作成する。

#928282 - filezilla: CVE-2019-5429 - Debian Bug report logs としてパッチを送ってひとくぎり。

あとは偉い人がどうにかしてくれるだろう。

libhinawa 1.3.1のパッケージ更新

v1.3.0がリリースされていたようだ。

v1.3.0 packaging (#6) · Issues · Debian / libhinawa · GitLab

でさっき確認したら、v1.3.1がリリースされている。 full freezeなのでtestingにははいらないのだけれども、unstableは更新してしまってもよいかと作業した。

libhinawa1.symbolsのパッチを適用してupload.

 dput libhinawa_1.3.1-1_source.changes
Trying to upload package to ftp-master (ftp.upload.debian.org)
Checking signature on .changes
gpg: /home/kenhys/work/debian/libhinawa/libhinawa_1.3.1-1_source.changes: Valid signature from F7FB75C566ED20E3
Checking signature on .dsc
gpg: /home/kenhys/work/debian/libhinawa/libhinawa_1.3.1-1.dsc: Valid signature from F7FB75C566ED20E3
Uploading to ftp-master (via ftp to ftp.upload.debian.org):
  Uploading libhinawa_1.3.1-1.dsc: done.
  Uploading libhinawa_1.3.1.orig.tar.xz: done.
  Uploading libhinawa_1.3.1.orig.tar.xz.asc: done.
  Uploading libhinawa_1.3.1-1.debian.tar.xz: done.
  Uploading libhinawa_1.3.1-1_source.buildinfo: done.
  Uploading libhinawa_1.3.1-1_source.changes: done.
Successfully uploaded packages.

Groonga 9.0.1 upload

Groonga 9.0.1がリリースされたのでパッケージの更新を実施。

gbp import-orig --uscanでdebian/unstableブランチにインポートする。

% gbp import-orig --uscan 
gbp:info: Launching uscan...
gpgv: 20190328174127秒 JSTに施された署名
gpgv:                DSA鍵C97E4649A2051D0CEA1A73F972A7496B45499429を使用
gpgv: "groonga Key (groonga Official Signing Key) <packages@groonga.org>"からの正しい署名
uupdate: -> Copy to      groonga_9.0.1-1.debian.tar.xz
gbp:info: Using uscan downloaded tarball ../groonga_9.0.1.orig.tar.gz
What is the upstream version? [9.0.1] 
gbp:info: ../groonga_9.0.1.orig.tar.gz already exists, moving to ../groonga_9.0.1.orig.tar.gz.1553868246
gbp:info: Importing '../groonga_9.0.1.orig.gbp.tar.gz' to branch 'upstream' (filtering out ['*egg.info', '.bzr', '.hg', '.hgtags', '.svn', 'CVS', '*/debian/*', 'debian/*'])...
gbp:info: Source package is groonga
gbp:info: Upstream version is 9.0.1
gbp:info: Replacing upstream source on 'debian/unstable'
gbp:info: Successfully imported version 9.0.1 of ../groonga_9.0.1.orig.gbp.tar.gz
gbp import-orig --uscan  44.59s user 2.88s system 93% cpu 50.783 total

debian/unstableブランチをpushする。

% git push
Enumerating objects: 1827, done.
Counting objects: 100% (1353/1353), done.
Delta compression using up to 8 threads
Compressing objects: 100% (864/864), done.
Writing objects: 100% (877/877), 1.25 MiB | 3.88 MiB/s, done.
Total 877 (delta 744), reused 0 (delta 0)
remote: Resolving deltas: 100% (744/744), completed with 409 local objects.
To salsa.debian.org:debian/groonga.git
   468fbce..8b30499  debian/unstable -> debian/unstable

import-origでupstreamブランチも更新されているのでcheckoutしてpushしておく。

% git checkout upstream
Switched to branch 'upstream'
Your branch is ahead of 'origin/upstream' by 1 commit.
  (use "git push" to publish your local commits)
%  git push
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: To create a merge request for upstream, visit:
remote:   https://salsa.debian.org/debian/groonga/merge_requests/new?merge_request%5Bsource_branch%5D=upstream
remote: 
To salsa.debian.org:debian/groonga.git
   d1d3e5c..4ff374c  upstream -> upstream

pristine-tarブランチも同様に更新する。

% git checkout pristine-tar
Switched to branch 'pristine-tar'
Your branch is ahead of 'origin/pristine-tar' by 1 commit.
  (use "git push" to publish your local commits)
% git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 453.86 KiB | 15.65 MiB/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: 
remote: To create a merge request for pristine-tar, visit:
remote:   https://salsa.debian.org/debian/groonga/merge_requests/new?merge_request%5Bsource_branch%5D=pristine-tar
remote: 
To salsa.debian.org:debian/groonga.git
   846fc24..56c36a2  pristine-tar -> pristine-tar

あとは、debian/unstableブランチに戻ってdebian/*を修正する。

% git checkout debian/unstable
Switched to branch 'debian/unstable'
Your branch is up to date with 'origin/debian/unstable'.
% gbp dch
gbp:info: Changelog last touched at '468fbceadd3ef9afbaceb9df842ba1ad8fada838'

gbp dchはエントリを追加するがUNRELEASEDになる。

diff --git a/debian/changelog b/debian/changelog
index e62f6bf..3909010 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+groonga (9.0.1-1) UNRELEASED; urgency=medium
+
+  * New upstream version 9.0.1
+
+ -- Kentaro Hayashi <hayashi@clear-code.com>  Fri, 29 Mar 2019 23:10:53 +0900                                                             
+
 groonga (9.0.0-1) unstable; urgency=medium

   * New upstream version 9.0.0

そういうときはdch -rでエントリを更新するとよい。

あとはパッケージのビルドに問題がないか確認する。

% gbp buildpackage --git-ignore-new

パッケージができたらpiupartsを流しておく。

%  sudo piuparts -d sid -t build-area -m "http://ftp.jp.debian.org/debian main" -b /var/cache/pbuilder/unstable-amd64-base.tgz -l piuparts.log build-area/*.deb
()
1m50.0s DEBUG: Removed directory tree at build-area/tmpG6UAGA
1m50.0s INFO: PASS: All tests.
1m50.0s INFO: piuparts run ends.
sudo piuparts -d sid -t build-area -m "http://ftp.jp.debian.org/debian main"   62.53s user 19.37s system 74% cpu 1:50.26 total

問題なければソースパッケージを用意する。

debuild -S -sa
 dpkg-buildpackage -us -uc -ui -S -sa
dpkg-buildpackage: info: source package groonga
dpkg-buildpackage: info: source version 9.0.1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Kentaro Hayashi <hayashi@clear-code.com>
 dpkg-source --before-build .
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying fix-nginx-FTBFS-on-kfreebsd.patch
dpkg-source: info: applying remove-groonga-keyring-postrm.patch
 fakeroot debian/rules clean
dh clean
   dh_clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building groonga using existing ./groonga_9.0.1.orig.tar.gz
dpkg-source: info: building groonga using existing ./groonga_9.0.1.orig.tar.gz.asc
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: warning: ignoring deletion of directory packages/apt/debian
dpkg-source: info: building groonga in groonga_9.0.1-1.debian.tar.xz
dpkg-source: info: building groonga in groonga_9.0.1-1.dsc
 dpkg-genbuildinfo --build=source
 dpkg-genchanges -sa --build=source >../groonga_9.0.1-1_source.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --after-build .
dpkg-source: info: unapplying remove-groonga-keyring-postrm.patch
dpkg-source: info: unapplying fix-nginx-FTBFS-on-kfreebsd.patch
dpkg-buildpackage: info: full upload (original source is included)
Now running lintian groonga_9.0.1-1_source.changes ...
Finished running lintian.
Now signing changes and any dsc files...
 signfile dsc groonga_9.0.1-1.dsc D92025640886D27D14A9EE02D22C1A883455D448

 fixup_buildinfo groonga_9.0.1-1.dsc groonga_9.0.1-1_source.buildinfo
 signfile buildinfo groonga_9.0.1-1_source.buildinfo D92025640886D27D14A9EE02D22C1A883455D448

 fixup_changes dsc groonga_9.0.1-1.dsc groonga_9.0.1-1_source.changes
 fixup_changes buildinfo groonga_9.0.1-1_source.buildinfo groonga_9.0.1-1_source.changes
 signfile changes groonga_9.0.1-1_source.changes D92025640886D27D14A9EE02D22C1A883455D448

Successfully signed dsc, buildinfo, changes files
debuild -S -sa  36.27s user 2.09s system 80% cpu 47.935 total

あとは dput でアップロードする。

% dput groonga_9.0.1-1_source.changes
Trying to upload package to ftp-master (ftp.upload.debian.org)
Checking signature on .changes
gpg: /home/kenhys/work/debian/groonga/groonga_9.0.1-1_source.changes: Valid signature from F7FB75C566ED20E3
Checking signature on .dsc
gpg: /home/kenhys/work/debian/groonga/groonga_9.0.1-1.dsc: Valid signature from F7FB75C566ED20E3
Uploading to ftp-master (via ftp to ftp.upload.debian.org):
  Uploading groonga_9.0.1-1.dsc: done.
  Uploading groonga_9.0.1.orig.tar.gz: done.
  Uploading groonga_9.0.1.orig.tar.gz.asc: done.
  Uploading groonga_9.0.1-1.debian.tar.xz: done.
  Uploading groonga_9.0.1-1_source.buildinfo: done.
  Uploading groonga_9.0.1-1_source.changes: done.
Successfully uploaded packages.

タグを打っておくことを忘れずに。

gbp buildpackage --git-tag-only --git-ignore-new                   
dh clean
   dh_clean
gbp:info: Tagging Debian package 9.0.1-1 as debian/9.0.1-1 in git
% git push --tags
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 710 bytes | 710.00 KiB/s, done.
Total 6 (delta 3), reused 0 (delta 0)
To salsa.debian.org:debian/groonga.git
 * [new tag]         debian/9.0.1-1 -> debian/9.0.1-1
 * [new tag]         upstream/9.0.1 -> upstream/9.0.1

libhinawa 1.1.2のパッケージ更新

salsa.debian.org

まずはパッケージをインポートする。

% gbp import-orig --uscan 
gbp:info: Launching uscan...
gpgv: 2019年03月05日 22時12分55秒 JSTに施された署名
gpgv:                RSA鍵25DA5B9699F132DB74BD2270B5A586C7D66FD341を使用
gpgv: "Takashi Sakamoto <o-takashi@sakamocchi.jp>"からの正しい署名
gbp:info: Using uscan downloaded tarball ../libhinawa_1.1.2.orig.tar.xz
What is the upstream version? [1.1.2] 
gbp:info: ../libhinawa_1.1.2.orig.tar.xz already exists, moving to ../libhinawa_1.1.2.orig.tar.xz.1551793373
gbp:info: Importing '../libhinawa_1.1.2.orig.gbp.tar.xz' to branch 'upstream' (filtering out ['*egg.info', '.bzr', '.hg', '.hgtags', '.svn', 'CVS', '*/debian/*', 'debian/*'])...
gbp:info: Source package is libhinawa
gbp:info: Upstream version is 1.1.2
gbp:info: Replacing upstream source on 'debian/unstable'
gbp:info: Successfully imported version 1.1.2 of ../libhinawa_1.1.2.orig.gbp.tar.xz

debuild -S -saでソースパッケージを作成する。あとはdput。

% dput libhinawa_1.1.2-1_source.changes
Trying to upload package to ftp-master (ftp.upload.debian.org)
Checking signature on .changes
gpg: /home/kenhys/work/debian/libhinawa/libhinawa_1.1.2-1_source.changes: Valid signature from F7FB75C566ED20E3
Checking signature on .dsc
gpg: /home/kenhys/work/debian/libhinawa/libhinawa_1.1.2-1.dsc: Valid signature from F7FB75C566ED20E3
Uploading to ftp-master (via ftp to ftp.upload.debian.org):
  Uploading libhinawa_1.1.2-1.dsc: done.
  Uploading libhinawa_1.1.2.orig.tar.xz: done.
  Uploading libhinawa_1.1.2.orig.tar.xz.asc: done.
  Uploading libhinawa_1.1.2-1.debian.tar.xz: done.
  Uploading libhinawa_1.1.2-1_source.buildinfo: done.
  Uploading libhinawa_1.1.2-1_source.changes: done.
Successfully uploaded packages.

前回、鍵が更新されてなくてアップロードに失敗していたけど、今度は通るはず。

libhinawa 1.1.1のパッケージ更新

gbp import-orig --uscanでインポート。

gbp import-orig --uscan
gbp:info: Launching uscan...
gpgv: 2019年02月25日 00時11分27秒 JSTに施された署名
gpgv:                RSA鍵25DA5B9699F132DB74BD2270B5A586C7D66FD341を使用                                                                   
gpgv: "Takashi Sakamoto <o-takashi@sakamocchi.jp>"からの正しい署名
gbp:info: Using uscan downloaded tarball ../libhinawa_1.1.1.orig.tar.xz                                                                    
What is the upstream version? [1.1.1]
gbp:info: ../libhinawa_1.1.1.orig.tar.xz already exists, moving to ../libhinawa_1.1.1.orig.tar.xz.1551105183                               
gbp:info: Importing '../libhinawa_1.1.1.orig.gbp.tar.xz' to branch 'upstream' (filtering out ['*egg.info', '.bzr', '.hg', '.hgtags', '.svn', 'CVS', '*/debian/*', 'debian/*'])...
gbp:info: Source package is libhinawa
gbp:info: Upstream version is 1.1.1
gbp:info: Replacing upstream source on 'debian/unstable'
gbp:info: Successfully imported version 1.1.1 of ../libhinawa_1.1.1.orig.gbp.tar.xz

今回は、シンボルの追加がある。debian/libhinawa1.symbolsを更新。

salsa.debian.org

lintianの出力をチェックして、piuparts実行してからmentorsにdput。

dput mentors libhinawa_1.1.1-1_source.changes
Checking signature on .changes
gpg: /home/kenhys/work/debian/libhinawa/libhinawa_1.1.1-1_source.changes: Valid signature from F7FB75C566ED20E3
Checking signature on .dsc
gpg: /home/kenhys/work/debian/libhinawa/libhinawa_1.1.1-1.dsc: Valid signature from F7FB75C566ED20E3
Uploading to mentors (via https to mentors.debian.net):
  Uploading libhinawa_1.1.1-1.dsc: done.
  Uploading libhinawa_1.1.1.orig.tar.xz: done.  
  Uploading libhinawa_1.1.1.orig.tar.xz.asc: done.
  Uploading libhinawa_1.1.1-1.debian.tar.xz: done.
  Uploading libhinawa_1.1.1-1_source.buildinfo: done.
  Uploading libhinawa_1.1.1-1_source.changes: done.
Successfully uploaded packages.

アップロードされたらRFSかな。

Groonga 8.1.0 upload

-rw-r--r--  1 kenhys kenhys  548  1月  5 09:52 groonga_8.1.0-1_source.ftp-master.upload

以前アップロードしたはずなんだけど、acceptもrejectもされてないので、再度uploadしてみた。

% dput groonga_8.1.0-1_source.changes
Trying to upload package to ftp-master (ftp.upload.debian.org)
Package has already been uploaded to ftp-master on ftp.upload.debian.org
Nothing more to do for groonga_8.1.0-1_source.changes
% dput -f groonga_8.1.0-1_source.changes
Trying to upload package to ftp-master (ftp.upload.debian.org)
Checking signature on .changes
gpg: /home/kenhys/work/debian/groonga/groonga_8.1.0-1_source.changes: Valid signature from F7FB75C566ED20E3
Checking signature on .dsc
gpg: /home/kenhys/work/debian/groonga/groonga_8.1.0-1.dsc: Valid signature from F7FB75C566ED20E3
Uploading to ftp-master (via ftp to ftp.upload.debian.org):
  Uploading groonga_8.1.0-1.dsc: done.
  Uploading groonga_8.1.0.orig.tar.gz: done.
  Uploading groonga_8.1.0.orig.tar.gz.asc: done.
  Uploading groonga_8.1.0-1.debian.tar.xz: done.
  Uploading groonga_8.1.0-1_source.buildinfo: done.
  Uploading groonga_8.1.0-1_source.changes: done.
Successfully uploaded packages.

Transition freeze前にuploadしたやつはひっかからなそうなんだけどなぁ。