13

私はパッケージを手に入れました:

$ apt-get source <pkg-name>

そして今、私はそれを構築しようとしています:

$ dpkg-buildpackage -uc -us -j8

出力の冒頭には、次のように記載されています。

dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro

これらの CFLAGS (また、LDFLAGS) をオーバーライドしたいと思います。CFLAGS envvar をエクスポートしようとしましたが、プレーンな configure と同じ方法で行いましたが、役に立ちませんでした。これらの値を上書きするにはどうすればよいですか?

4

1 に答える 1

28

再構築しようとしているパッケージは、から取得した強化固有のフラグで *FLAGS を設定 (読み取り: オーバーライド) しますdpkg-buildflags

独自の目的でこれらのフラグをオーバーライドする必要がある場合dpkg-buildflagsは、(強化) デフォルトではなく、必要なフラグを提供するように指示する必要があります。を見るとman dpkg-buildflags、特に環境変数に関するセクションがあります。見DEB_flag_SETて、DEB_flag_APPEND

したがって、これでうまくいくはずです (独自の *FLAGS を入力してください):

$ DEB_CPPFLAGS_SET="-I/foo/bar/baz" DEB_CFLAGS_SET="-g -O6" DEB_LDFLAGS_SET="-L/fruzzel/frazzel/" dpkg-buildpackage -uc -us -j8 -rfakeroot
于 2012-06-20T07:49:08.077 に答える