[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:18215] Re: [Q] debhelper v9対応にすべき?



On Sun, Mar 04, 2012 at 12:43:58PM +0900, Hiroyuki Yamamoto wrote:
> ちょっと付け加え。
> 
> Hiroyuki Yamamoto wrote:
> > 確かに autoreconf に build-dep していると autotools 関連のアップグレードで FTBFS になる可能性もありますし、
> > パッチの管理としても、configure.ac などに対するパッチを管理するか、configure に対するパッチを管理すべきか、
> > という運用上の問題にもなりそうです。

逆の問題もあります。私は実際にあった次のバグレポートでパッケージを
autoreconfするように書き換えています。
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=558568

さてこの元となったlibtool bugのautoreconfによる解決状況は、
以下に統計が出ます。
 http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=missing-libtool-update;users=peter.fritzsche@xxxxxx;ordering=tracked
  Outstanding bugs -- Minor bugs; Unclassified (65 bugs)
  Resolved bugs -- Normal bugs (1 bug)
  Resolved bugs -- Minor bugs (56 bugs)
まあ、半分ぐらいは対応されていますね。(内容を詳細には確認していません)

> 誤解を招きそうなので付け加えると、パッケージメンテナとしては暫定的に configure に対するパッチを提供するが、
> 最終的にはアップストリームに configure.ac などに対するパッチを送り、取り込んでもらうのが良いのは勿論です。

まあ、upstreamがアクティブな場合はそうですね。

> ただ、アップストリームの対応が悪い場合は、パッケージメンテナのサイドで改変した configure.ac などを用意し、
> パッケージメンテナのサイドで autotools を済ませ、ユーザには冗長性を省いた configure へのパッチの形で提供する、
> ということになります。

私は、configure.acにパッチが必要な際はたまにパッチしますが、基本的に
override_dh_auto_configure: ターゲットで各種対応をしています。例えば:

override_dh_auto_configure:
        dh_auto_configure -- \
                LDFLAGS="-Wl,--as-needed" \
                --disable-static \
                --enable-gtk2 \
                --enable-gtk3 \
                --enable-xim \
                --disable-gtk-doc \
                --enable-introspection \
                --libexec=/usr/lib/$(DEB_BUILD_MULTIARCH)/ibus

あくまでこれはひとつのメンテナの好みのスタイルとアップストリーム環境の問題と思います。

詳しい経緯は http://git.debian.org/?p=pkg-ime/ibus.git

debuildでパッケージが自動生成(少なくとも次回リリースまでとsecurity
updates の際に。。。)できればバックポートや将来のリリースまでは
動作完全保証の必要はありませんので。

以前のビルドスクリプトは正直作った人しかわからないぐらいややこしかったし、
また過去のビルドツールの問題の特殊な回避がありすぎでした。時々見直して
すっきりさせるのも、将来いいのではないでしょうか。

気をつけるべきは、upstreamがredhatなら、Debianのmultiarchや/usr/libexec無し
という特殊設定は興味がありません。なるべくupstreamからずれないようにして
最小限の努力でメンテできるようにパッケージすることかと考えています。上記の
例ではUbuntuから来たMakefile.amへのパッチを、upstreamと話してこれをやめ違う
./configureアプローチで解決するよう変更して行っています。

青木