Poudriere: freebsd-updateの更新が必要ない場合の紛らわしいメッセージ

作成日 2016年04月16日  ·  8コメント  ·  ソース: freebsd/poudriere

最初に「/usr/sbin/freebsd-update.fixedfetch」を実行します

Poudriereは、上記のメッセージでユーザーを混乱させないように、(おそらく存在しない)更新をインストールするように指示する前に、freebsd-updateが更新を検出したかどうかを確認する必要があります。

最も参考になるコメント

はい、freebsd-updateはおそらくそれを処理するはずです。 私が最初にそうしなかった理由は、更新を盲目的にダウンロードしてインストールするように人々に勧めたくなかったからです。

しかし、この時点で、freebsd-updateを修正しても、poudriereは古いfreebsd-updateコードを数年間呼び出すので、poudriereに削除を教えると、混乱を避けることができます。

全てのコメント8件

 〜/ git / poudriere#grep'Run。* first '`which freebsd-update`
 echo "最初に '$ 0install'を実行します。"
 echo "最初に '$ 0フェッチ'を実行します。"

これはfreebsd-updateから来ています。

レポートにこれ以上のコンテキストがないと、これがどこにどのような条件で表示されているのかわかりません。

問題は、jail.shが/usr/sbin/freebsd-update.fixed fetch installです。 fetchが更新の必要がないことを検出した場合(たとえば、セキュリティアドバイザリがまだない新しいリリースである場合)、 installは紛らわしいメッセージを出力します。

解決策は、 /usr/sbin/freebsd-update.fixed fetchを実行し、更新がフェッチされたかどうかを確認してから、 /usr/sbin/freebsd-update.fixed installです。

更新がフェッチされたかどうかを確認するにはどうすればよいですか?

/var/db/freebsd-update/f465c3739385890c221dff1a05e578c6cae0d0430e46996d319db7439f884336-installがシンボリックリンクであるかどうかを確認します。

私はむしろそのようなレイヤー違反をしたくなくて、Poudriereをこのようなfreebsd-updateの内部ファイルに依存させたくありません。 代わりに、メッセージをsedします(ttyチェックなどの他のコードで行うように)。

Poudriereがフェッチが実行されたかどうかを検出できる場合、freebsd-updateがメッセージを出力するのはなぜですか?

freebsd-updateがメッセージを出力するのはなぜですか

freebsd-update fetch installfreebsd-update fetch; freebsd-update install同義語だからです。

そうですが、poudriereは更新がフェッチされたかどうかを検出できるので、 freebsd-update installも同様に検出でき、フェッチされたものがない場合は無意味なメッセージを出力しないはずです。 単純なmtime比較は、 pkg update場合と同様に、最後のフェッチが一定期間古くなった後にのみメッセージを表示することで機能します。

はい、freebsd-updateはおそらくそれを処理するはずです。 私が最初にそうしなかった理由は、更新を盲目的にダウンロードしてインストールするように人々に勧めたくなかったからです。

しかし、この時点で、freebsd-updateを修正しても、poudriereは古いfreebsd-updateコードを数年間呼び出すので、poudriereに削除を教えると、混乱を避けることができます。

このページは役に立ちましたか?
0 / 5 - 0 評価