uploaded.
debian/compat ファイルはなくなって、debian/control で Build-Depends: debhelper-compat (= 12) とするそうだ。> Use debhelper-compat instead of debian/compat
libgcroots のほうに pull-req した。> support RISC-V
コード作成とテストは Documentation/Platforms/RISCV - Booting 64-bit Fedora を使った。
例えば ruby-delayer が testing 入りしないのは piuparts で alternative dependency ruby-interpreter is does-not-exist って言ってるのは関係ないのかな。
ruby-interpreter っていう仮想パッケージはだいぶ昔から存在しない。> Stop providing ruby-interpreter. Only packages providing /usr/bin/ruby can be a credible provider of ruby-interpreter. (Closes: #822072)
しかし gem2deb の debian/control テンプレから ruby-interpreter を取り除くのはダメらしい。> Revert "there's no ruby-interpreter package anymore, so remove it"
ruby-cairo は ruby-poppler (ruby-gnome2) に依存してるんだけど、ruby-gnome2 は ruby-cairo に依存しているのでデッドロックに陥ってビルドできないアーキテクチャ(hurd-i386, ia64, kfreebsd-*, riscv64, sh4, sparc64)があった。
調べると ruby-poppler は ruby-cairo のテスト用に依存しているので、一時的にビルド時のテストを無効化して全アーキテクチャのパッケージを作成し、ruby-gnome2 も全アーキテクチャのパッケージができたら、テストを再度有効化する方向にした。
ひとまず ia64 と sh4 で ruby-cairo のビルドが進行するようになった。しかし、他の5つのアーキテクチャは ruby2.5 自体のビルドが失敗しているのでそちらの解決が必要。
ia64 は ruby-gnome2 のビルドに成功 したけど、 sh4 はタイムアウト してしまった。これって再キックできるのかな。
今日見たら riscv64 がなぜか成功 してた。ruby2.5 の修正は、riscv64 の QEMU 環境だと4時間かかってもテストが終わらなかったので諦めてたんだけど。ログを見ると、どうやら buildd 外でビルドした(?)らしい ruby2.5 riscv64 パッケージを使ったみたいだ。
ruby2.5 のビルド失敗 の件、タイムリーなことに sparc64 は対応する人がいるみたいなので他のアーキテクチャを見てみた。
#920017 にて x32 のビルド失敗も修正提案が出ていたので x32 の chroot 環境を作って追試してみた。 X32 Kernel - X32Port にある通り、カーネルオプションに syscall.x32=y をつけて起動すると dmesg に
Enabled x32 syscalls
と出て有効になった。次は QEMU Chroot - X32Port を参考に chroot 環境を作ったけど、libcryptsetup12 パッケージが足りなくてうまく作れなかった。仕方ないので debootstrap に --no-resolve-deps をつけて dpkg-deb -x でパッケージを展開した後で tar で固めて base-x32.tgz を作ったけど、後でちゃんと作り直したい。
とりあえず x32 chroot 環境はできたので、 #920017 のパッチを作ってビルドしてみる。該当の TestTime#test_memsize テストはパスしたけど、
corrupted size vs. prev_size make[2]: *** [uncommon.mk:698: yes-test-almost] Aborted (core dumped)
という別のエラーで止まってしまった。過去のビルドログ を遡ってみると、 2.5.5, 2.5.3, 2.5.1, 2.5.0, 2.5.0~rc1 は TestTime#test_memsize テストの失敗だけど、 2.5.0~preview1 は
*** Error in `./test/runner.rb: TestThread#test_blocking_mutex_unlocked_on_fork': corrupted size vs. prev_size: 0x0626f518 ***
という似たエラーが出ていた。これは malloc が出しているらしい。test_memsize の修正パッチと関係があるかはよくわからず。
buildd のログ を見ると、ppc64(el) の #881772 のように bootstraptest/test_insns.rb で stack level too deep を起こしてるんだけど、実際に porterbox でやってみると bootstraptest/test_insns.rb で stack level too deep は起こらず、 #881779 で既に報告されてる通りの bootstraptest/test_io.rb で megacontent-copy_stream timeout を起こす。こういう起きたり起きなかったりは困るなあ。
唐突に ruby-delayer が testing 入りして、他もまとめて testing 入りした。結局なんだったんだろ。
hurd-i386 も成功 していた。残るは kfreebsd-* と sparc64。
ruby2.5: FTBFS on sparc64 due to alignment issues を porterbox で追ってみた。compile.c が ruby 2.5 と 2.6 ではだいぶ変わっているみたいなので、単純なバックポートというわけにはいかなそう。
#881773 にて kfreebsd-* にも対応可能?というパッチが出ているけど、これは bootstraptest/test_insns.rb で stack level too deep を起こす修正で bootstraptest/test_io.rb で megacontent-copy_stream timeout とは関係なさそうだ。残念。
gkrelluim: BD-Uninstallable on kFreeBSD-* の件、kfreebsd-* 対応を入れた libgtop2 を DELAYED/5 NMU した。
当ホストを Debian 9 から 10 にアップデート して以来、tdiary のプラグインがいろいろ変。気づいてる点として
Docker の tdiary/tdiary:5.0.14 イメージに emptdiary 0.0.2 を追加し、ここのデータをそのまま起動したところ、少なくとも search-default は動作した。
ぱっと気がつく違いは ruby 2.5.5-p157 と ruby 2.6.3-p62 だけど、他にも何かある?
どうも amazon プラグインは Debian 9 から 10 にアップデート したのとは関係ないっぽい。
問い合わせの答えが HTTP Redirection 以外に HTTP Found もあるのだけどそれをサポートしておらず、そのときに応答を XML ではなく true と間違って格納してしまっておかしくなっているようだ。 cache/amazon/*.xml を調べてみると、 true とだけ格納しているキャッシュファイルがいくつか見つかった。
HTTP Found をサポートし、間違ったキャッシュを消すようにしてプルリク送信。> amazon plugin: support HTTP Found response and discard wrong stored cache
search-default で英字を検索するとエラーになる のは、tdiary-theme は git ではなく deb で入れていたんだけど、それに引っ張られて tdiary-core も deb で入ってしまい、バージョン違いの tdiary-core が混在してなぜか subtitle_to_html が壊れてしまったのが原因っぽい。category 一覧でタイトルが空欄になる のも同じ原因だと思われる。
tdiary-theme も git を使うように Chef レシピを直し、カテゴリインデックスを再生成した。
やっと ACCEPTED きた。
DELAY 期間が過ぎて NMU できた。あとは libgtop2 → gkrellm → gkrelluim が kfreebsd-* でビルドされるかどうか。
uploaded.
と思ったら salsa のほうで pipeline エラーが来てた。なんだろ? > reprotest (#283951)
reprotest っていう Reproducible builds の補助ツールがあるのか。
gkrellm が kFreeBSD-* でビルドできないのは libgtop2 が kFreeBSD-* でビルドできないからと思って NMU で修正 したけど、実は関係ない気がしてきた。そもそも gkrellm は libgtop2-dev に依存してないし。
In file included from sysdeps-unix.c:80:0: sysdeps/gtop.c:34:10: fatal error: glibtop.h: No such file or directory #include <glibtop.h> ^~~~~~~~~~~ compilation terminated.
何かを誤認してるんだろうか?
どうやら __FreeBSD__ ではなく __FreeBSD_kernel__ を拾わないといけないようだ。> Q. How do I detect kfreebsd with preprocessor directives in a C program?
なので libgtop2 を使ってしまっているみたい。> src/gkrellm.h#L72-76
しかし単純に #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) すればいいわけではなく __FreeBSD_version というのもある。単純に #define __FreeBSD_kernel_version __FreeBSD_version としてもコケてしまうところがある。FreeBSD ports を見てもコケたところは特に手当てしてないみたいだし、となると kFreeBSD 特有の問題?
あと Build-Depends: に libdevstat-dev [kfreebsd-any] の追加が必要だし、リンク時に -lkvm -ldevstat -lmd の追加(make freebsd)も必要。
もう少し調査が必要。
てか #638335 に結構古いけどパッチがあったなあ…。
どうもサスペンドが効かないので、思い切って buster の linux-image-4.19.0-5-amd64 4.19.37-5+deb10u2 まで戻した。
PulseAudio で PC の電源を入れ直すと出力が Off になってしまうので、スピーカーをデフォルトに設定することにした。
まず pavucontrol の「設定」タブから出力のプロファイルを Off からスピーカーに設定する前後で pactl list cards の diff を取る。
- 有効なプロフィール: off + 有効なプロフィール: output:hdmi-stereo-extra1
どうやらこれが設定する値のようだ。再度 pactl list cards で、このプロファイルを持ってるカードの名前を探す。
名前: alsa_card.pci-0000_01_00.1
ここで pavucontrol でまたプロファイルを Off にして、
% pactl set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo-extra1
を実行すると、プロファイルがスピーカーに変わった。
設定する値がわかったので、 /etc/pulse/default.pa に、
set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo-extra1
と記載する。これで OK。
#638335 のパッチは今でもそのまま当たったので状況を聞いてみた。
uploaded.
Debian の twitter-text は 1.14 系を使い続けているので twitter-text-simpleidn には移行せずにそのままにしている。
前 | 2019年 8月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]
書いてる人: dai
パッチ等(無保証)