reproducible build対応作業

Sat, Jun 6, 2015 in debian

JDのreproducible buildがエラーになってるのはDATEとかを展開するMacroが入ってるから、ということでその部分を削除するパッチを追加してアップロード。無事成功しました。

fonts-kilojiパッケージ、単にアーカイブから展開するだけなのに“timestamps_difference_by_unzip"でunreproducibleだったのは「TZ=UTCを指定せよ」とのことなのでそうすることに。無事成功しました。

jruby-joniパッケージはJava .jar files contain user login in the Built-By of MANIFEST.MFてなことだったので、この辺りを削るパッチを追加することにしました。

reproducible buildの旅はまだ続く。今度はgrcompilerパッケージ。

> export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

という感じでhardeningもプラスしてみてどうなるのか、を見てみることにする…成功。

birdfontについてもreproducible buildを。問題は「Embed build time」だそうで、ソースの行が示されていた。

> def write_config (prefix):
print ("Writing Config.vala")

vars = (('VERSION', VERSION),
('BUILD_TIMESTAMP', time.asctime( time.localtime(time.time()))),
('PREFIX', prefix),
)

という感じで入ってるので、BUILD_TIMESTAMPの行を削除するパッチを追加。でもこれだけだとbuild failureになるので、libbirdfont/BirdFont.valaも修正。こちらも成功。