追記

ポケットを空にして。

1985|10|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|

「人の心に残るというのが大事」と言う話。

何か連絡がある場合はメールでどうぞ(過去の日記へのツッコミは基本的にみていません)
プレゼントは随時受け付けております :-) ここ最近のツッコミ/トラックバックリスト。


2014-04-18 [長年日記]

ruby-script-but-no-ruby-dep で少しだけ悩んだ

rubyなパッケージでlintian error "ruby-script-but-no-ruby-dep" がでて、?となった。原因はわかってみればなんてことはない。

XS-Ruby-Versions: ruby2.0
(snip)
XB-Ruby-Versions: ${ruby:Versions}

としていたら

Depends: ruby2.0

になっていない上記のエラーになる。まぁそりゃそうか。ruby と指定していて2.1とかでこけたら駄目だし、ね。しかし、このlintian tagの説明ではそのことがわかりづらい。

If a script in the package uses #!/usr/bin/ruby, the package needs a dependency on "ruby | ruby-interpreter". 
This allows users to choose which interpreter to use by default.
If the package is intended to be used with a specific Ruby version, its scripts should use that version directly, such as #!/usr/bin/ruby1.8
 
If a script uses #!/usr/bin/ruby1.9, then the package needs a dependency on "ruby1.9".

2014-04-10 [長年日記]

--compress-strategy=extremeで怒られる

dpkg-source: info: using options from fonts-horai-umefont-461/debian/source/options: --compression=xz --compression-level=9 --compress-strategy=extreme
dpkg-source: warning: --compress-strategy=extreme is not a valid option for Dpkg::Source::Package::V3::Quilt

このオプション指定ができない? man dpkg-deb では表記があるんだけど

       -Scompress-strategy
              Specify  which  compression  strategy  to  use  on the compressor backend,
              when building a package (since dpkg 1.16.2). Allowed values are none (since 
              dpkg 1.16.4), filtered, huffman, rle and fixed for gzip (since dpkg 1.17.0)
              and extreme for xz.

2014-03-30 [長年日記]

netbeanのrepositoryをcloneした

wiki.netbeans.orgの指示どおりに。bitbucketの方で最初やったのだが、何故かエラーになってしまって…。

特定タグのtarballがとれれば良かったのだけど、サイズが大きすぎるのでbitbucketからエラーになってしまったので仕方なしにcloneという。

yumからDNFというのに変わる、らしい。

dnfというのがあるのか。FedoraのWikiも。libsolvというのを使っているらしい?

upstreamブランチがなくてgbp import-origできなかったとき

メッセージにあるとおり、file:///usr/share/doc/git-buildpackage/manual-html/gbp.import.html#GBP.IMPORT.CONVERT を参照したら解決方法が。

    git checkout --orphan upstream
    git rm -rf .
    git commit --allow-empty -m 'Initial upstream branch.'
    git checkout -f master

として空のupstreamブランチを作ってやればいい。で、現在作業しているバージョンのupstream tarballを指定してやらないと、conflictするので注意。

net-snmp更新

 net-snmp (5.7.2.1~dfsg-1) experimental; urgency=medium
 .
   * New upstream release
     - fix DoS on ICMP-MIB as CVE-2014-2284 (Closes: #742817)
   * Ack NMU (Closes: #717419)
   * debian/patches
     - add add_rocommunity6.patch to fix snmpwalk using ipv6 (Closes: #717179)
     - add fix_manpage-has-errors-from-man.patch
     - add agentx-crash.patch, taken from Fedora package. It fixes CVE-2012-6151
       (Closes: #731625)
     - add TrapReceiver.patch to fix CVE-2014-2285
   * debian/control
     - set Standards-Version: 3.9.5
     - add "Build-Depends: libpci-dev" to enable libpci function that was
       introduce in 5.7 (Closes: #741504)
   * debian/libsnmp-dev.install
     - add missing net-snmp-create-v3-user (Closes: #726158, #718988)
   * debian/upstream/signing-key.asc
     - check upstream PGP key
   * debian/rules
     - add etherlike-mib/dot3StatsTable (Closes: #729732, LP#1251847)
   * debian/snmpd.init
     - relax start-stop-daemons avoid restart daemon before it terminates.
       Thanks to Saj Goonatilleke  for the
       patch (Closes: #640456)
   * debian/snmpd.postinst
     - fix weird user creation (Closes: #482041, #589040, #606784, #610630)
   * debian/snmpd.postrm
     - remove unnecessary old /var/agentx/master directory with purge
       (Closes: #728546)
   * debian/snmp.install
     - move traptoemail to snmptrapd.install releated to above changes
   * debian/{snmpd,snmptrapd}.default
     - fix pid diretory
   * debian/README.Debian
     - note snmpconf is in snmp package (Closes: #577649)

湯治の間にtriageしたのとかをmergeしたら多かった。パッケージ分割でNEW queue入りするだろうから結構かかるだろうな…

…と書いてたらlintian errorでrejectされたよ。oh...

E: snmptrapd: malformed-override Override of non-standard-file-perm for package type snmpd (expecting binary) at line 1
E: snmptrapd: no-copyright-file

cowbuilder実行時にlintian hook噛ましているんだけどな?と思ったら、別のパッケージのビルドチェック時の都合で一時的にリネームしてdisableにしてたのでした。。。


2014-03-27 [長年日記]

linux-imageパッケージの更新でエラーでてる

linux-image-3.13-1-amd64 (3.13.7-1) を設定しています ...
/etc/kernel/postinst.d/apt-auto-removal:
dpkg: 警告: バージョン 'amd64' は不正な構文です: バージョン番号が数字から始まっていません
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.13-1-amd64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r8169
(snip)
/etc/kernel/postinst.d/zz-update-grub:
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png

なんじゃこりゃ


2014-03-20 [長年日記]

java-packageでOracle Java8をdebパッケージにする

あ、いつのまにかJava8がリリースされていたようです。そんなに話題になってないな…。

で、Debianにはjava-packageというOracle Javaをdebパッケージに変換してくれるツールがあるので、これを見てみると、パッケージの説明文では8対応となっているんだけど、コマンドのmake-jpkg --helpすると7までになってるわけです。まぁ多分更新し忘れだと思いますが、念のためちゃんと動くかどうかを確かめてみました。

  1. まずはOracleのサイトでtarballをダウンロードします。今回はJDK8で、「jdk-8-linux-x64.tar.gz」を選びました(多分今時これ以外選ぶことないと思うんですが)
  2. make-jpkgでダウンロードしたファイルを指定して変換するだけ。途中1回「y」を入力、あとはEnterキーを1回だけ。
    henrich@hp:/tmp $ make-jpkg ~/ダウンロード/jdk-8-linux-x64.tar.gz 
    Creating temporary directory: /tmp/make-jpkg.4ksVGl9hRI
    Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/javase.sh /usr/share/java-package/jdk-doc.sh /usr/share/java-package/jdk.sh /usr/share/java-package/jre.sh /usr/share/java-package/oracle-jdk-doc.sh /usr/share/java-package/oracle-jdk.sh /usr/share/java-package/oracle-jre.sh
     
    Detected Debian build architecture: amd64
    Detected Debian GNU type: x86_64-linux-gnu
     
    Detected product:
        Java(TM) Development Kit (JDK)
        Standard Edition, Version 8 GA
        Oracle(TM)
    Is this correct [Y/n]: y
     
    Checking free diskspace: done.
     
    In the next step, the binary file will be extracted. Probably a
    license agreement will be displayed. Please read this agreement
    carefully. If you do not agree to the displayed license terms, the
    package will not be built.
     
    Press [Return] to continue: 
     
     
     
    Testing extracted archive... okay.
     
    Create debian package:
        dh_testdir
        dh_testroot
        dh_installchangelogs
        dh_installdocs
        dh_compress
        dh_fixperms
        dh_installdeb
        dh_shlibdeps
    dpkg-shlibdeps: warning: can't extract name and version from library name 'libjli.so'
    dpkg-shlibdeps: warning: can't extract name and version from library name 'libjli.so'
    (同様のwarningが大量に出てくるので中略)
    dpkg-shlibdeps: warning: package could avoid a useless dependency if /tmp/make-jpkg.4ksVGl9hRI/install/usr/lib/jvm/jdk-8-oracle-x64/jre/lib/amd64/libprism_es2.so was not linked against libXxf86vm.so.1 (it uses none of the library's symbols)
    (同様のwarningが ry)
        dh_gencontrol
        dh_md5sums
        dh_builddeb
    dpkg-deb: `/tmp/make-jpkg.4ksVGl9hRI/oracle-java8-jdk_8_amd64.deb' にパッケージ `oracle-java8-jdk' を構築しています。
        copy oracle-java8-jdk_8_amd64.deb into directory /tmp/
     
    The Debian package has been created in the current directory.
    You can install the package as root with:
     
        dpkg -i oracle-java8-jdk_8_amd64.deb
     
     
    Removing temporary directory: done
  3. 最後、dh_builddebでパッケージ生成するまでに2、3分ぐらいジーッと待つ羽目になりました。長い…。

注意点は…なにもありませんね。--helpオプションは直しておきます。


2014-03-01 [長年日記]

今日のDebian作業

  • バグ潰した x2
  • バグ潰した x1
  • バグ直ってるのを確認して閉じた x2
  • CVEのパッチをupstreamのgitでとってきて当ててビルド出きるのを確認してパッケージのgitにpush、メンテナにその旨連絡した
  • upstreamが脆弱性を直したバージョンを出しているのを確認、アナウンスからsqueeze,wheezyには影響がない旨を得たのでsecurity-trackerをアップデートしてBTSに影響範囲のバージョンタグなどを打ち直した
  • でupstream releaseをimportしてビルドしようとしたらビルドエラーになるので途方に暮れている…
  • 雑誌記事を書いていて念のため動作検証したらjdのbackportsがちゃんとwheezy環境でビルドで来てなかったのを発見 orz
    →バージョンをあげてビルドし直してdput

OSCいって家に帰ってきてからの作業にしては上出来かな。


2014-02-28 [長年日記]

まだRCバグ潰しとかやってる

果てしなき道。いや、何とかした方がいいと思ってはいるんだけど。

NEW queue放り込み作戦

放置してたbirdfontのcopyrightまわりの更新ができた&その間に出た新しいバージョンも取り込んでパッチも更新したのでアップロードした。

goocanvasは最初adoptしてからにしろ、とお達しいただいたので変更して再度。
あ、入ったらrepositoryをruby-extrasに移動しないとね。。。


2014-02-11 [長年日記]

systemdとかいいからRCバグを潰すんだ

  • Bug#707903、delayed 7 へアップロード
  • Bug#718647、delayed 7 へアップロード
  • Bug#707901、死亡してるんじゃない?と意見
  • Bug#738597、登録。
  • Bug#707900、大体作業終わりだけど、testの部分がpostgresqlのinitdb呼んでるのだが、Debian特有の事情でinitdbないんだよね。ということでこの部分は書き直しなりなんなり必要。
  • Bug#738407、delayed 7 へアップロード
  • Bug#713193、delayed 7 へアップロード
  • Bug#723789、最初のFTBFSを潰したら他のが出てきたのでそこまでをメモ、retitleしておいた
  • Bug#725579、delayed 7 へアップロード
  • Bug#735785、upstreamの新しいバージョンでは直ってるのでその旨とfixed-upstreamタグをつけておいた(バージョンが上がると色々ややこしそうだったのでそこで止めておいた)
    →もう新しいバージョンのは別パッケージとしてリポジトリにあるよ、ときた
    →問題箇所が特定できたのでパッチ作って送っておいた(CMakeだと勘どころが全く分からなかった…)
  • Bug#738371、直してアップロードした
  • Bug#718647、新しいバージョンをアップロード

GPG署名をdebianのuscanでちゃんとチェックする方法

guile-pgというソフトのアーカイブディレクトリを見たら.sigで署名のファイルもおいてたので、ちゃんとチェックするようにしようと思い立つ。

Googleさんでメールアーカイブを検索して、リリースアナウンスでGPGサインしているのを見つけた。キーは4C807502らしい。

$ gpg --recv-keys 4C807502 

したんだけど失敗。普段使っている pgp.nic.ad.jpには情報がないっぽいので、多分pgp.mit.eduとかでとれるんじゃないかなーと指定しなおし

$ gpg --keyserver pgp.mit.edu --recv-keys 4C807502 
gpg: 鍵4C807502をhkpからサーバーpgp.mit.eduに要求
gpg: 鍵4C807502: 公開鍵“Thien-Thi Nguyen (software signing) ”を読み込みました
gpg:     処理数の合計: 1
gpg:           読込み: 1

取得できた。

$ wget http://download.savannah.gnu.org/releases/guile-pg/guile-pg-0.46.tar.xz.sig -O /tmp/guile-pg-0.46.tar.xz.sig
$ gpg --verify /tmp/guile-pg-0.46.tar.xz.sig 
gpg: 署名されたデータがありません
gpg: can't hash datafile: ファイルのオープン・エラー

sigファイルと比較するファイルが無いのでwgetで取得して同じディレクトリに置いて、再度--verify

$ wget http://download.savannah.gnu.org/releases/guile-pg/guile-pg-0.46.tar.xz -O /tmp/guile-pg-0.46.tar.xz
(snip)
$ gpg --verify /tmp/guile-pg-0.46.tar.xz.sig 
gpg: 2013年03月14日 19時26分17秒 JSTにDSA鍵ID 4C807502で施された署名
gpg: “Thien-Thi Nguyen (software signing) ”からの正しい署名
gpg:                 別名“Thien-Thi Nguyen ”
gpg: 警告: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
主鍵の指紋: 748E A0E8 1CB8 A748 9BFA  6CE4 6703 2224 4C80 7502

guile-pg-0.46.tar.xzは4C807502で署名されていることがわかったので、鍵をdebian/upstream/signing-key.ascに放り込む。
注意点としては現時点ではdebian/upstream-signing-key.{asc,pgp}でやっとかないとlintianがエラーと判定するのだけど、これは私の予想ではバグなのでBTSしておいた。回避策はdebian/source/lintian-overridesにエラー内容を記述して無視すること。

$ gpg -a --export 4C807502 > debian/upstream/signing-key.asc

で、debian/watchファイルにpgpsigurlmangleオプションを指定。

version=3
 
opts="pgpsigurlmangle=s/$/.sig/" \
http://download.savannah.gnu.org/releases/guile-pg/guile-pg-(.*).tar.xz

これで準備完了。

$ uscan
guile-pg: Newer version (0.46) available on remote site:
  http://download.savannah.gnu.org/releases/guile-pg/guile-pg-0.46.tar.xz
  (local version is 0.16)
gpgv: 2013年03月14日 19時26分17秒 JSTにDSA鍵ID 4C807502で施された署名
gpgv: “Thien-Thi Nguyen (software signing) ”からの正しい署名
gpgv:                 別名“Thien-Thi Nguyen ”
guile-pg: Successfully downloaded updated package guile-pg-0.46.tar.xz
    and symlinked guile-pg_0.46.orig.tar.xz to it

ということでちゃんと署名チェックしたtarballが取得できるようになった


2014-02-02 [長年日記]

goocanvasをNMUしてみた

goocanvas (2.0.2-0.1) experimental; urgency=medium
 
  * Non-Maintainer Upload
  * New upstream release (Closes: #588177)
  * update debian/source/format "3.0 (quilt)" (Closes: #670694)
  * debian/patches
    - convert all dpatch to quilt
    - drop unnecessary all patches
  * debian/control
    - drop unnecessary quilt from Build-Depends
    - set "Standards-Version: 3.9.5"
    - add "Build-Depends: libgtk-3-dev" and drop libgtk2.0-dev
    - add "Build-Depends: libcairo2-dev (>= 1.10)"
    - update "Build-Depends: libglib2.0-dev (>= 2.28)"
    - drop dpkg-dev from Build-Depends
    - set debhelper (>= 9)
    - make it Multi-Arch ready
    - drop cdbs from Build-Depends
    - change package name from libgoocanvas* to libgoocanvas-2.0*
    - use collabmaint repository for git repository
    - add "Build-Depends: libgirepository1.0-dev" to install
      gobject-introspection bindings
    - introduce gir1.2-goocanvas-2.0 package
  * debian/rules
    - convert from cdbs to dh7
  * debian/compat
    - set 9
  * debian/*.install
    - update to install libgoocanvas-2.0.so*
  * debian/*.install
    - move gtk-doc from -dev to -common
    - add libgoocanvas-2.0-dev.install
  * debian/*.links
    - move from -dev to -common
  * debian/watch
    - update to track .xz tarball. upstream doesn't provide gz or bz2 anymore
 
 -- Hideki Yamane   Fri, 10 Jan 2014 14:44:29 +0900

3週間も放置してたので、「なぜこのパッケージの作業をしようと思ったのか」がさっぱり思い出せない…

Bugふわけなど

  • 新しいバージョンで直ってたりするのかな?というping
    しかし、how to reproduceとscreenshotがやっぱり欲しいよね…という気がする
    →いちいちパッケージ側で追加するのか、それともfontパッケージの場合は自動的に追加するとかにするか(できるか)などを考えた
  • fonts-motoya-l-{cedar,maruberi}ソースパッケージを削除しようか、という提案
  • しかし、fonts-androidは他のttfを追加して何か悪いのか?という

2014-01-26 [長年日記]

uscanの挙動が変わったようだ

  uscan now looks for upstream's keyring under debian/upstream/ as either
  signing-key.pgp or, for an armored keyring, signing-key.asc.  The previously
  used location, debian/upstream-signing-key.pgp, will be checked as a last
  resort for a transition period.