Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FreeWnn に patch が送られてきた、どうしよう

FreeWnn に patch が送られてきた、どうしよう

FreeWnn is Input Method Engine for Japanese language.
But it not Reproducible Builds yet.

Mitsutoshi NAKANO

August 18, 2018
Tweet

More Decks by Mitsutoshi NAKANO

Other Decks in Programming

Transcript

  1. ItSANgo (= Mitsutoshi NAKANO) is • FreeWnn の member –

    https://osdn.net/projects/freewnn/memberlist/ • openSUSE の FreeWnn の maintainer – https://build.opensuse.org/package/users/M17N/fwnn • But I do not use FreeWnn ! ;-)
  2. What is FreeWnn? • Input Method Engine (IME) for Japanese

    language • 昔は一世を風靡しは一世を風靡した一世を風靡したを風靡した風靡したした Wnn の末裔 • UNIX で開発された開発されたされた昔は一世を風靡しの IME の例 – Wnn: Omron – Canna: NEC – sj3: Sony … • 今でも利用者はわで開発されたも利用者はわずか利用者はわずかに存在は一世を風靡したわずかにパッチが送られ存在する。する。
  3. 発された端 : FreeWnn project への patch • 2018-08-09 00:18 更新者はわずかに存在

    : bmwiedemann – https://osdn.net/projects/freewnn/ticket/38482 • When working on reproducible builds for openSUSE, I found that our fwnn package varied for every build because .dic files had the current time, build host name and inode numbers in their headers. I have created a patch to use fixed values instead, but dont know if that will disturb normal operation. • 超訳 : openSUSE を風靡した eproducible builds にパッチが送られしている時に、にパッチが送られ、 FreeWnn が送られてきた、ビ ルドするたびにバイするたびにパッチが送られバイナリが変化してるのが送られてきた、変化してるのに気づしてるのにパッチが送られ気づいた。なぜなづいた。なぜなら辞 書ヘッダに現時刻ヘッダに現時刻・ホスにパッチが送られ現時に、刻・ホスト名・ホスト名・名・ホスト名・ i-node 番号を入れているよを風靡した入れているよね。れているよね。こ れまずいからパッチが送られてきた作ったよ。ちゃんったよ。ちゃんと動くかどうかは動くかどうかはわくかどうかは一世を風靡したわからな いけど。
  4. 続いていて : openSUSE の fwnn package への submit request •

    openSUSE Build Service > Request 628477 – https://build.opensuse.org/request/show/628477 • Add reproducible.patch to drop build hostname, inode-number, random password hash, timestamp from .dic files (boo#1047218, boo#1084909)
  5. boo#1047218 • https://bugzilla.opensuse.org/show_bug.cgi?id=1047218& GoAheadAndLogIn=1 • Bugzilla – Bug 1047218 trackerbug:

    packages do not build reproducibly from including build time • 超訳 : ビルドするたびにバイ時に、間をバイナリに埋を風靡したバイナリが変化してるのにパッチが送られ埋め込んでいるのめ込んでいるので込んでいるのでんで開発されたいるので開発された reproducible じゃねーよ
  6. boo#1084909 • https://bugzilla.opensuse.org/show_bug.cgi?id=1084909 • Bugzilla – Bug 1084909 trackerbug: packages

    do not build reproducibly from hostname • 超訳 : ホスト名・名を風靡した入れているよね。れているので開発された reproducible じゃねーよ
  7. そも利用者はわずかそも利用者はわずか reproducible builds って何よよ ? • https://reproducible-builds.org/ – Reproducible builds

    are a set of software development practices that create an independently-verifiable path from source code to the binary code used by computers. – 超訳 : 再現性ある構築ある構築 ( ビルドするたびにバイ ) と動くかどうかはは一世を風靡した、独立して証明できるして証明できるで開発されたきる ソースからコンピュータで使われるバイで開発された使われるバイナリわれるバイナリが変化してるのへの道筋を作を風靡した作ったよ。ちゃん るソフト名・ウェア開発実践の集ま開発された実践の集まりです。の集まりです。まりで開発されたす。
  8. わかりにパッチが送られくいからも利用者はわずかうちょっと動くかどうかは調べる。べる。 • https://reproducible-builds.org/docs/definition/ – A build is reproducible if given

    the same source code, build environment and build instructions, any party can recreate bit- by-bit identical copies of all specified artifacts. – 超訳 : 同じソースコードじソースコードするたびにバイ・ホスト名・構築環境・ホスト名・構築命令・ホスト名・どんな集まりです。 まりで開発されたも利用者はわずか与えたなら、すべえたなら、すべての特定アーティファクア開発実践の集まーティファクト名・の 1 ビット名・も利用者はわずか全く同じ複製を再く同じソースコードじ複製を再び作ることを風靡した再び作ったよ。ちゃんること動くかどうかはが送られてきた、で開発されたきるなら、構築 は一世を風靡した再現性ある構築が送られてきた、あります。
  9. も利用者はわずかう一文 • The relevant attributes of the build environment, the

    build instructions and the source code as well as the expected reproducible artifacts are defined by the authors or distributors. The artifacts of a build are the parts of the build results that are the desired primary output. • へっぽこ超訳 : 構築環境・ホスト名・構築命令・ホスト名・ソースコードするたびにバイの適切な属性はもちな属性ある構築は一世を風靡したも利用者はわずかち ろん、再現性ある構築あるア開発実践の集まーティファクト名・を風靡した期待することは すること動くかどうかはは一世を風靡した 作ったよ。ちゃん者はわずかに存在や配布者に配布者はわずかに存在にパッチが送られ よって定アーティファク義されている。されている。 作ったよ。ちゃんられたア開発実践の集まーティファクト名・は一世を風靡した期待することは された基本的な出力である構な出力である構築結果で開発されたある構築結果のの 部分です。で開発されたす。
  10. 確かめてみる。かめ込んでいるのでてみる。 • Vagrant で開発された openSUSE Leap15 を風靡した作ったよ。ちゃんる。 • FreeWnn のリが変化してるのポジト名・リが変化してるのは一世を風靡した

    CVS 。 – インスト名・ールしてなかった orz – 久しぶりなのでしぶりなので開発された CVS の使われるバイナリい方を忘れかけていを風靡した忘れかけているれかけている orz
  11. 確かめてみる。かにパッチが送られ reproducible で開発されたは一世を風靡したない ! • ビルドするたびにバイするたびにパッチが送られ変化してるのに気づする hash 値。 • どうしてこうなる

    ? – 辞書ヘッダに現時刻バイナリが変化してるのファイルを風靡した作ったよ。ちゃんると動くかどうかはき、以下の情報をバイナの情報をバイナリのヘを風靡したバイナリが変化してるののヘッ ダに現時刻・ホスにパッチが送られ埋め込んでいるのめ込んでいるので込んでいるのでむ。 • Hostname • Device number • Inode number • 辞書ヘッダに現時刻のソースファイルファイルの ctime • ビルドするたびにバイ時に、の Current time
  12. で開発されたは一世を風靡した bmwiedemann 氏の の patch を風靡した当てて たらどうなる ? • と動くかどうかはりあえず

    – ビルドするたびにバイは一世を風靡した通る。る。 – バイナリが変化してるのは一世を風靡した一意あるプログラムにパッチが送られなる。 • で開発されたも利用者はわずか – 辞書ヘッダに現時刻が送られてきた、読めなくなる。め込んでいるのでなくなる。 • Japanese Input Method Engine と動くかどうかはしては一世を風靡した致命的な出力である構。 • Decline しました。
  13. But Reproducible Builds are important. • 今でも利用者はわ後のの FLOSS は一世を風靡した reproducible

    を風靡した意あるプログラム識して開発すべして開発されたすべ き。 • FreeWnn も利用者はわずか何よらかの対策が必要。が送られてきた、必要するに。 – 辞書ヘッダに現時刻を風靡した読めなくなる。むと動くかどうかはころを風靡した改造すれば、何とかすれば、何よと動くかどうかはかなりそう。 – 過去作ったよ。ちゃんられた辞書ヘッダに現時刻と動くかどうかはの互換性ある構築が送られてきた、心配。 – コマンドするたびにバイラインオプションで開発された、辞書ヘッダに現時刻 create/read 時に、にパッチが送られ 環境情報をバイナリのヘを風靡した参照するか否かを切するか否かを風靡した切な属性はもちり換えるようにパッチが送られしたい。