FreeBSDのportsでは、ソースコードなどをダウンロードするとき、標準ではfetchというコマンドが使われています。
このfetchコマンド、proxyサーバまわりの機能がおかしくて、環境によっては使えないな~、という印象。
ということで、しばらく前から、fetchの代わりに、wgetを使うようにしていました。
どこかで覚えた情報だったのか、試行錯誤した結果そうなったのか、忘れてしまいましたが
/etc/make.confに、こんなのを書いておけば、wgetが使われて、うまいこといってました。
FETCH_CMD=wget
FETCH_BEFORE_ARGS=-nc --progress=bar --read-timeout=60 -O $$file
DISABLE_SIZE=yes
数日前から、これが、動かなくなってしまいました。/usr/ports/Mk/bsd.port.mkが変更されたためらしいのですが、「$$file」のところが、うまく展開されず、困った、困った。
で、悩むこと3分。
wgetの代わりにcurlを使うようにしました。
こんな感じでしょうかね・・・? ちょっと自信ありませんが、いくつか試して、とりあえず動いてます。
FETCH_CMD=curl
FETCH_BEFORE_ARGS=--fail --insecure --location --remote-time
FETCH_AFTER_ARGS=-O
DISABLE_SIZE=yes
ちなみにNetBSDのpkgsrcでは、設定でいろいろいじれるみたいですが、うちの環境では、curlが使われます。
■ 過去記事
- (FreeBSD) portsで、fetchがすべてNo address recordで失敗する
- (FreeBSD) /usr/bin/fetchは、httpsなときproxyサーバを使わない?
- (FreeBSD) portsnapで、Latest snapshot on server is older than what we already have!
- (FreeBSD) portauditとperiodic securityとfetchの合わせ技で、file system full...やれやれ