Re: milter-managerが起動しない

From: 内藤祐一郎 <naito.yuichiro_at_gmail.com>
Date: Wed, 16 Feb 2022 02:38:23 UTC
内藤です。

> 2022/02/16 11:05、Norikatsu Shigemura <nork@ninth-nine.com>のメール:
> 
> 重村法克です。
> 
> On 2022/02/16 10:49, Yasuhiro Kimura wrote:
>> -MASTER_SITES=	OSDN/${PORTNAME}
>> +MASTER_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
> 
> おっと見逃してました。マスターサイトをGitHubにするなら USE_GITHUB= yes で指定しないと。
> 
> 具体的にどう置き換えればいいのか…は自分もうまく説明できず、試行錯誤が必 要なのですが、下記サイトを参考に作業いただければと思います。
> 
> https://wiki.freebsd.org/Ports/SimpleGithub
> 
> またその場合、DISTFILES が変わる可能性が高いので、今あるアーカイブと一致 するか確認してください。これは単純に、ファイルの命名規則が変わる、アーカ イブの生成タイミングが異なる、ためです。

いえ、github の releases/download を使う場合に `USE_GITHUB=yes` は使えません。
`USE_GITHUB=yes` の場合はリポジトリのタグに対応するアーカイブを取ってきますので、
プロジェクトによっては releases/download に置いてあるものとは異なるものを取ってくることになります。

具体的に milter-manager の場合、releases/download の以下のファイルを取ってきて、

https://github.com/milter-manager/milter-manager/releases/download/2.1.6/milter-manager-2.1.6.tar.gz

その中には autoconf 済みの configure スクリプトが含まれていますので、普通にビルドが通ります。

しかし、USE_GITHUB すると

https://codeload.github.com/milter-manager/milter-manager/tar.gz/2.1.6?dummy=/milter-manager-milter-manager-2.1.6_GH0.tar.gz

を取ってきます。こちらは 2.1.6 のタグがつけたソースリポジトリの中身なので、
autoconf 前のソースツリーになっています。

ports の作りやすさから言うと前者の releases/download を使う方が簡単なので、
ここは敢えて USE_GITHUB しない方が得策です。

codeload.github.com は一般的にはあまり公開されていない github のバックエンドの URL のようですが、
FreeBSD の bsd.sites.mk では敢えてこちらを使用するようにしているみたいです。
#コメントに理由は https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194898 を見ろとあります。

前述の releases/download にも対応するようフレームワークを作ってくれても良さそうには思いますけれども、
手が回ってない、または需要が少ないのではないかと想像しています。

-- 
内藤 祐一郎
naito.yuichiro@gmail.com