2012-06-17 8 views
6

は、私はパッケージを得た:dpkg-buildflags CFLAGSを上書きする方法は?

$ 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をエクスポートしようとしました。これは、プレーンな設定と同じように、無駄です。これらの値をどのように上書きできますか?

答えて

16

リビルドしようとしているパッケージは、dpkg-buildflagsから取得された固めの詳細フラグを持つ* FLAGSを設定(読み込み:オーバーライド)します。

これらのフラグを独自の目的でオーバーライドする必要がある場合は、dpkg-buildflagsに、(強化)デフォルトではなく、必要なフラグを指定するように指示する必要があります。 man dpkg-buildflagsを見ると、環境変数espのセクションがあります。そう、これはトリック(あなた自身の* FLAGSに記入)行う必要がありますDEB_flag_SETDEB_flag_APPEND

を参照してください。それは-buildflagsをdpkgのように見えない場合

$ DEB_CPPFLAGS_SET="-I/foo/bar/baz" DEB_CFLAGS_SET="-g -O6" DEB_LDFLAGS_SET="-L/fruzzel/frazzel/" dpkg-buildpackage -uc -us -j8 -rfakeroot 
+2

何して実行されているのですか?パッケージに追加するのはどれくらい難しいですか?代わりのコマンドがありますか? –

関連する問題