Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian ITP #112

Open
okkez opened this issue Dec 26, 2016 · 93 comments
Open

Debian ITP #112

okkez opened this issue Dec 26, 2016 · 93 comments

Comments

@uwabami
Copy link
Contributor

uwabami commented Dec 26, 2016

2013 年に ITP 済:

また,既にアップロードスポンサーも確保しています.

先ず pbuilder で綺麗にパッケージはできますか,というお話からですね.
以前 #83 で huge patch 投げてしまいましたが,本業で手がまわってませんでした.

@okkez
Copy link
Member Author

okkez commented Dec 26, 2016

#83 が記憶の彼方だった 🙇
#83 のパッチを見て簡単に取り込めそうなところを取り込んでいけばいいでしょうか。

#83が全部入れば「綺麗」と言える状態にどれくらい近付きますか?
年末はあと半日か一日くらいしか時間を取れないと思うのですが、少しずつでも進めたいと考えています。

@uwabami
Copy link
Contributor

uwabami commented Dec 26, 2016

@okkez というわけで

  • 配布 tar.gz を綺麗にする
  • clean room build ができる
  • license check

が残作業です.(わたしも #83 は記憶の彼方ですた.... ^ ^;)

  1. make distclean すると同梱されている .xml と milter-version.h が削除され
    ます(あと,binding/ruby/ 以下の Makefile 等).これは意図された正しい
    挙動ですか? また,これらを再生成するには何が必要でしょうか?

  2. 同梱されているドキュメントは,配布の tar.gz のみで再生成できますか?
    以前 Update package/debian #83 の時に「管理が分かれるのはつらい」というコメント頂きましたが,
    Debian は,バイナリパッケージを作成するのに,配布されているソースで完
    結しない場合には,公式配布物には同梱できません.また,ビルドインフラ
    でバイナリを作成する際には,外部との通信が遮断されます.

  3. ドキュメントのライセンスが GFDL となっていますが,これは DFSG non-free です.
    簡単に言えば「変更不可」の部分があるから,です.

といった所でしょうか?

@uwabami
Copy link
Contributor

uwabami commented Dec 26, 2016

ひとつめは、リポジトリに含めないけれども tar.gz に同梱したい物を maintainer-clearn target に移動させれば良い、かなぁ…。

@okkez
Copy link
Member Author

okkez commented Dec 26, 2016

なるほど。

1については make distclean とは何をするもの?というのを自分が正しく理解できてるかわかりませんが。。。
作った当初は意図通りだった(はず)けど、あるべき姿はリポジトリには含めないけどtar.gzに含めたいものは make distclean で消さずに make maintainer-clean で消すようにするんですね。
binding/ruby 以下の Makefile は extconf.rb によって自動生成するやつなのでビルドに使うRubyのバージョンによって多少内容が変わる可能性があったはずなので tar.gz に入ってるのはおかしい気がします。

2について。
tar.gzに同梱しているドキュメントは、配布のtar.gzのみで再生成するのは無理だと思います。
cutter/misc 以下のrdtoolsを拡張するスクリプトがないからです。
これはどうするのがいいんだろう。。。
cutter/misc 以下を別リポジトリに切り出してgit submoduleとかにすればいいんだろうか。

3については GFDLと CC-BY-SAのデュアルライセンスにするかCC-BY-SAに変更するのはできると思います。

@kou
Copy link
Member

kou commented Dec 27, 2016

cutter/misc 以下を別リポジトリに切り出してgit submoduleとかにすればいいんだろうか。

Groongaみたいdist-hookで必要なファイルをtar.gzに含めればよいです。dist-hookmake dist時に実行されます。

@kou
Copy link
Member

kou commented Dec 27, 2016

3については GFDLと CC-BY-SAのデュアルライセンスにするかCC-BY-SAに変更するのはできると思います。

私はGFDLとCC-BY-SA 4.0以降のデュアルライセンスを希望します。

@kou
Copy link
Member

kou commented Dec 27, 2016

make distclean とは何をするもの?

tar.gz展開直後の状態に戻すものです。

@kou
Copy link
Member

kou commented Dec 27, 2016

binding/ruby 以下の Makefile は extconf.rb によって自動生成するやつなのでビルドに使うRubyのバージョンによって多少内容が変わる可能性があったはずなので tar.gz に入ってるのはおかしい気がします。

そうですね。milter/core/milter-version.hdoc/reference/version.xmlも同じですね。

@uwabami
Copy link
Contributor

uwabami commented Dec 27, 2016

@okkez @kou では、ちょっと configure まわりを弄ってみます。

okkez added a commit that referenced this issue Dec 27, 2016
@okkez
Copy link
Member Author

okkez commented Dec 27, 2016

@uwabami よろしくお願いします。

okkez added a commit that referenced this issue Feb 15, 2017
@okkez
Copy link
Member Author

okkez commented Feb 15, 2017

beec5b4 で License が設定されていないファイルはなくなりました。

@okkez
Copy link
Member Author

okkez commented Feb 15, 2017

debian/watch に書くのはgithubのタグじゃなくて releases にあるリリース担当がアップロードしたファイルを見るべきか。
githubのtagにあるtarballはそのタグを git archive したもの(のはず)なので releases にある tarball とは内容が違う。
以前tagから作ってもtarballから作っても同じと言ったような気がするけど、deb作るときにtarballから作るようにしないとネットワーク制限を回避できなくなりそう。なので tarball から作るようにすべきか。
今、package/apt 以下で make build すると手元にある tarball から deb を作るようになっている。

@okkez
Copy link
Member Author

okkez commented Feb 17, 2017

ruby-glib2 まわりは #116 でなんとかなったはず。
extconf.rb (./configure) で自動生成するファイルは tarball やリポジトリに含めずに make distclean で消すようにした。

@okkez
Copy link
Member Author

okkez commented Feb 17, 2017

make distclean で消し過ぎるファイルの残りは以下。

  • doc/reference/html-build.stamp
    • make したときに生成する doc/reference/xml から doc/reference/html が生成したときに作る
  • doc/reference/version.xml
    • version.xml.in から configure で生成
  • doc/reference/xml
    • gtk-doc で *.rd から生成
  • milter/core/milter-version.h
    • miter-version.h.in から confgiure で生成

@okkez
Copy link
Member Author

okkez commented Feb 17, 2017

doc/reference/html-build.stamp と doc/reference/xml は gtk-doc.make の distclean-local で消されている。

@okkez
Copy link
Member Author

okkez commented Feb 20, 2017

fa89098 までで tarball 展開 -> ./configure -> make distclean で差分が出なくなった。

@okkez
Copy link
Member Author

okkez commented Feb 22, 2017

同梱されているドキュメントは,配布の tar.gz のみで再生成できますか?

↑までで一応できるようになった。

@okkez
Copy link
Member Author

okkez commented Jun 14, 2017

@uwabami 自分の方でできるパッケージまわりの作業は一通りやったので mentors にアップロードできそうなら一旦アップロードしたいな、と考えています。どうでしょうか?

@uwabami
Copy link
Contributor

uwabami commented Jun 14, 2017

@okkez 手がまわってなくてすみません.どれを見たら良いですか?

@okkez
Copy link
Member Author

okkez commented Jun 14, 2017

tarball 展開 -> ./configure -> make distclean で差分が出なくなったので、(lintianの警告とかで)気になるところがなければ mentors にアップロードしてフィードバックをもらうのがいいかなぁ、と考えてました。

@uwabami
Copy link
Contributor

uwabami commented Jun 14, 2017

tarball は OSDN の 2.1.0 ですか?

@okkez
Copy link
Member Author

okkez commented Jun 14, 2017

まだリリースしてない master HEAD のものです。
リリースしたもので進めた方がよいでしょうか。

@okkez
Copy link
Member Author

okkez commented Jun 14, 2017

2.1.0 はまだちょっとおかしいところがあるはず。

@uwabami
Copy link
Contributor

uwabami commented Jun 14, 2017

いえ,ちょっとお待ち下さい.見てみます...

@okkez
Copy link
Member Author

okkez commented Jun 14, 2017

急いでいないので、ご無理のないようにー 🙏

@uwabami
Copy link
Contributor

uwabami commented Jun 14, 2017

あれ... git clone; ./autogen.sh; configure; make dist で tar.gz できるんですよね?

@uwabami
Copy link
Contributor

uwabami commented Jun 21, 2017

なるほど了解です.良いですね!

@okkez
Copy link
Member Author

okkez commented Jun 28, 2017

@uwabami milter manager 2.1.1 をリリースしました。

@uwabami
Copy link
Contributor

uwabami commented Jun 29, 2017

@okkez git-buildpackage でパッケージを作成するためのパッケージ管理用のリポジトリを

https://anonscm.debian.org/cgit/collab-maint/milter-manager.git

に作成しました.

上記リポジトリでは debian ディレクトリの修正しか行ないません. また, 変更点はこちらの package/debian 以下に(可能な限り)反映させます.

現状の変更点について patch 4 点添付します.

このうち Standard Version の更新については, 現状の unstable 向けの更新であり, そのまま取り込むと stretch 向けに backports する際に困ることになりますので, どうしたものかモノか思案している所です.

現在のステータスはスポンサーの査読待ち, です. 続報がありましたらまた書きます.

@okkez
Copy link
Member Author

okkez commented Jun 30, 2017

@uwabami おお、ありがとうございます!
https://anonscm.debian.org/cgit/collab-maint/milter-manager.git とこのリポジトリって差分が少ない方がいいんですよね?もし、そうであれば https://anonscm.debian.org/cgit/collab-maint/milter-manager.git の変更をこちらにどんどん反映してもらって構いません。
0001と0004以外はこちらにもすぐに入れてしまってよいのではないでしょうか。

0001と0004はちょっと判断付かないので、お任せします。

続報お待ちしております!

@uwabami
Copy link
Contributor

uwabami commented Jun 30, 2017

@okkez パッチ,了解しました.

  • 0001 は gpg の公開鍵を /debian/upstream/ 以下に置いておくと,uscan の際の署名検証に利用される,というモノです.
  • 0004 はそのまま取り込むと,例えば stretch 向けのビルドや Ubuntu 向けのビルドに困るのではないか,と思っています(Policy 4.0.0 が有効になるのが Buster 以降なので...).記憶が確かなら Warning が出るだけなのですが,今手元に unstable しかないので試せません. 駄目そうなら revert ということで良いですかね?.

@kenhys
Copy link
Contributor

kenhys commented Jun 30, 2017

0004 については https://launchpad.net/~milter-manager/+archive/ubuntu/nightly とかにputして試すのがお手軽でいいんじゃないでしょうか。 @okkez

@uwabami
Copy link
Contributor

uwabami commented Jun 30, 2017

あ,コミットしちゃいました.怒られたら戻します,ハイ.

@okkez
Copy link
Member Author

okkez commented Jun 30, 2017

憶が確かなら Warning が出るだけ

自分もそのように聞いたことがありますー

@okkez
Copy link
Member Author

okkez commented Jun 30, 2017

https://launchpad.net/~milter-manager/+archive/ubuntu/test/+packages に trusty のをアップロードしてみました。
ついでに @uwabamihttps://launchpad.net/~milter-manager/ のメンバーに入れておきました。

@uwabami
Copy link
Contributor

uwabami commented Jun 30, 2017

@okkez テストが一つ転びました.connection timeout に関するテストは環境依存の様ですね.

===============================================================================
Failure: test_connection_timeout
timeout: expect:<1> actual:<0>
expected: <timeout_waiting> is TRUE value
/build/milter-manager-2.1.1/test/manager/test-children.c:596: wait_reply_helper(): cut_assert_true(timeout_waiting, cut_test_context_set_current_result_user_message( cut_test_context_current_peek(), cut_test_context_take_printf(cut_test_context_current_peek(), "timeout: expect:<%u> actual:<%u>", expected, *actual)))
/build/milter-manager-2.1.1/test/manager/test-children.c:1963: test_connection_timeout(): wait_reply(1, n_connection_timeout_emitted)
===============================================================================

このテストは飛して良いですか?

@okkez
Copy link
Member Author

okkez commented Jun 30, 2017

環境依存というかたまーにこけるやつですね。
飛ばしてもいいと思います。

@uwabami
Copy link
Contributor

uwabami commented Dec 15, 2017

佐々木です.

# @kou には届いてらっしゃるでしょうけれど

Debian の ftpmaster からの査読結果: REJECTED でした.
以下抜粋

Subject: milter-manager_2.1.1-1_amd64.changes REJECTED
From: < 省略 >
To: 省略
Date: Thu, 14 Dec 2017 23:00:09 +0000
Message-Id: [email protected]

REJECT many library packages that can't be used by others:

  • ABI 0, for a source with version 2.1, most likely never changed
  • own packages specify explicit = version dependencies, but not specified in shlibs

というわけで, 要修正, ですね. ご報告までに.

@okkez
Copy link
Member Author

okkez commented Dec 21, 2017

ありがとうございます!

ABI 0, for a source with version 2.1, most likely never changed

ABIバージョンを0 -> 1に変更すればいいでしょうか?
長年ABIは変わってないはずなので変更することは問題ないです。

own packages specify explicit = version dependencies, but not specified in shlibs

依存関係の指定が抜けてる感じですかね。
足せばいいと思うので、足しましょう!

💭 コメントを書いたつもりが、投稿しないまま放置してた 🙇

@kenhys
Copy link
Contributor

kenhys commented Aug 3, 2018

@uwabami @okkez collab-maintはなくなっちゃっているんですけど、collab-maintの内容ってどうなっているんでしたっけ? githubのほうにすべて反映されている? or salsa.d.oに持っていく必要がある?

@uwabami
Copy link
Contributor

uwabami commented Aug 3, 2018

salsa の佐々木の個人リポジトリに退避してあります。team 作りましょ!

@uwabami
Copy link
Contributor

uwabami commented Aug 3, 2018

@uwabami
Copy link
Contributor

uwabami commented Sep 7, 2021

遅ればせながら、v2.1.5 に追従しました。bullseye でビルドすると test 時に ruby が defunct して止まるのが悩み所。

個人のリポジトリじゃなくて別の場所に移した方が良いかと思いますが、どうしましょうかね。

@kou
Copy link
Member

kou commented Sep 7, 2021

遅ればせながら、v2.1.5 に追従しました。bullseye でビルドすると test 時に ruby が defunct して止まるのが悩み所。

どこかにログはありますか!?

個人のリポジトリじゃなくて別の場所に移した方が良いかと思いますが、どうしましょうかね。

@kenhys どうするのがいいですかねぃ。

@uwabami
Copy link
Contributor

uwabami commented Sep 7, 2021

どこかにログはありますか!?

素の build がテスト実行で止まっているので、プロセス見るとテスト内で呼び出された ruby が defunct してた、なんですよねー。ログ出てない(´・ω・`).

verbosity 上げてログ吐かせてみます…。

@kou
Copy link
Member

kou commented Sep 7, 2021

なるほど。。。

@kenhys
Copy link
Contributor

kenhys commented Sep 8, 2021

個人のリポジトリじゃなくて別の場所に移した方が良いかと思いますが、どうしましょうかね。

https://salsa.debian.org/perl-team/modules/packages/libsendmail-milter-perl
https://salsa.debian.org/python-team/packages/dkimpy-milter

https://salsa.debian.org/debian/rmilter
https://salsa.debian.org/debian/milter-greylist

特定言語のライブラリーだと言語ごとのチーム配下みたいですが、そうじゃない場合は↑みたいにdebian/配下に置くのがよさそうに思います。

@uwabami
Copy link
Contributor

uwabami commented Sep 8, 2021

特定言語のライブラリーだと言語ごとのチーム配下みたいですが、そうじゃない場合は↑みたいにdebian/配下に置くのがよさそうに思います。

そうですね。以前の collab-maint と同じくくりですし、debian/ 以下に置くのが良さそうです。

@uwabami
Copy link
Contributor

uwabami commented Sep 8, 2021

特定言語のライブラリーだと言語ごとのチーム配下みたいですが、そうじゃない場合は↑みたいにdebian/配下に置くのがよさそうに思います。

そうですね。以前の collab-maint と同じくくりですし、debian/ 以下に置くのが良さそうです。

…と思ったら、そうか。debian/ 以下は DD じゃないと作れないかな(私はまだ DM)。
@kenhys お手数ですが、空のリポジトリ debian/mitlter-manager を作って、私を join させて下さい。その後、リポジトリのデータを transfer します。

@kenhys
Copy link
Contributor

kenhys commented Sep 8, 2021

@uwabami

https://salsa.debian.org/debian/milter-manager/ に招待しました。
うっかりtypoして追加してしまった miler-manager のほうは無視してくださいな。

@uwabami
Copy link
Contributor

uwabami commented Sep 8, 2021

なるほど。。。

defunct するのは binding/ruby/test/run-test.sh から呼び出されたテストのどれか、です。
しかしながら ./run-test.sh server/test-server-server.rb などと test を逐次呼び出して実行してみるとほぼ全て成功します。一辺に読み込み過ぎ、とかありますかねぇ…。

テスト転んだのは manager/test-posix-cidr-table.rb
<Milter::Manager::ConditionTable::InvalidValueError(<:1: invalid address: <192.168.1>: <192.168.1 OK>>)> expected but was <Milter::Manager::ConditionTable::InvalidValueError(<:1: invalid address: 192.168.1: <192.168.1>: <192.168.1 OK>>)>

<Milter::Manager::ConditionTable::InvalidValueError(<:1: invalid address: <f:>: <f: OK>>)> expected but was <Milter::Manager::ConditionTable::InvalidValueError(<:1: invalid address: f:: <f:>: <f: OK>>)>
ですかね。defunct する理由にはならない気がします。

@uwabami
Copy link
Contributor

uwabami commented Sep 8, 2021

@uwabami

https://salsa.debian.org/debian/milter-manager/ に招待しました。
うっかりtypoして追加してしまった miler-manager のほうは無視してくださいな。

ありがとうございます。push しておきました。

@znz
Copy link

znz commented Jan 27, 2024

https://packagecloud.io/milter-manager/repos?filter=debs に bullseye までしかないので、bookworm 移行は Debian 公式があるのかと思ったら、 https://packages.debian.org/milter-manager にまだないようでした。
この issue できいていいのかどうかわかりせんが、 bookworm 以降への対応予定はどんな感じでしょうか?

@kou
Copy link
Member

kou commented Jan 27, 2024

あら、気づいていませんでした。
後でpushしておきます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants