めんてなのおしごと

Mon, Sep 24, 2018 in debian , floss debian

os-autoinstパッケージを放置していたので、アップデート作業を実施。

  • upstreamをpullしてdebian/sidブランチにmerge
  • ビルド…するも、testでエラーが出る。しかもランダム。どうも test が serial に実施される前提で書かれていて、ある test での input file が別の test でも使われてたりする&その test 実施後に削除されたりするので、順序によっては input file が存在しない、ということでエラーになったりするようだ。仕方がないので --no-parallel オプションを dh_auto_test につけて make -j1 で実行されるようにする
  • それでも 02-test_ocr.t だけがコケ続けたりする(上記の際にはごくごく稀にだが成功したりする…)。t/02-test_ocr.t.log を見てみる…。
FAIL: 02-test_ocr.t
===================

Use of uninitialized value in index at ../needle.pm line 44.
Use of uninitialized value $bmwqemu::vars{"PRJDIR"} in addition (+) at ../needle.pm line 45.
[2018-09-24T07:08:55.0584 UTC] [debug] MATCH(bootmenu-ocr.ref:1.00)
Tesseract Open Source OCR Engine v4.0.0-beta.4-50-g07acc with Leptonica
Warning. Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 132
Tesseract Open Source OCR Engine v4.0.0-beta.4-50-g07acc with Leptonica
Warning. Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 138
Warning. Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 132
#   Failed test 'multiple OCR regions'
#   at ./02-test_ocr.t line 42.
1..2
# Looks like you failed 1 test of 2.
FAIL 02-test_ocr.t (exit status: 1)
use Data::Dumper;
...
print Dumper $ocr;
  • おかしな文字列が出てきていてどうしたものかと試行錯誤。で、「OCR で認識する部分がずれてたりする?」と思いつき、gimpで t/data/bootmenu-ocr.png を開き、認識してる文字列の座標を確認→ t/data/bootmenu-ocr.ref.json を調整→成功!
  • make check-doc でエラー。
# [ -z "$(podspell testapi.pm | spell)" ]
# echo $?
1
# podspell testapi.pm | spell
deselected
VM
kvm
VM
  • これ、spell の問題じゃないの?とは思うけど、sed で削って対応。
  • ビルドは問題なくできるようになったので、piuparts…と変なエラーが出たが、os-autoinstのパッケージには含まれてない問題なので無視(フォント絡みなので後で追わないといけない気もする…)。
5m12.7s ERROR: FAIL: Package purging left files on system:
  /usr/local/share/fonts/        not owned
  /usr/local/share/fonts/.uuid   not owned
  /usr/share/fonts/      owned by: fonts-dejavu-core
  /usr/share/fonts/.uuid         not owned
  /usr/share/fonts/truetype/     owned by: fonts-dejavu-core
  /usr/share/fonts/truetype/.uuid        not owned
  /usr/share/fonts/truetype/dejavu/      owned by: fonts-dejavu-core
  /usr/share/fonts/truetype/dejavu/.uuid         not owned

ということで Bug#893645Bug#880791をcloseにしておいた。

 os-autoinst (4.5.1527308405.8b586d5-1) unstable; urgency=medium
 .
   * New upstream release
   * debian/patches
     - refresh patch
     - add 0003-adjust-to-avoid-ocr-test-failure.patch (Closes: #893645)
     - add 0004-avoid-make-check-doc-failure.patch
     - add 0005-set-perl-path.patch to avoid lintian error
   * debian/control
     - add Build-Depends: libsocket-msghdr-perl, spell for test
     - move Vcs-* to salsa.debian.org
   * debian/rules
     - set --no-parallel for dh_auto_test to avoid random test failure
       (Closes: #880791)