Daily Archives: 12/02/2013

pkgng 1.2へのアップデートに伴うあれこれ。

Pocket

 

pkgngを1.2にアップデートしたら、設定ファイルの扱いが変わって、ちょっとした修正が必要になった。
それをまとめる。

まとめ。

  • pkgngを更新したらpkg upgradeを忘れずに
  • すべてコメントの設定ファイルは受け付けてくれない。
  • 設定ファイルでのキー指定は、”(クオート)で囲わないこと。

 

pkg のアップデートあり

pkg updateをしたら、やたら文句を言われる。

そしてupgradeすると、pkgに更新があるとな。
1.2.1である。
pkgに更新がある場合には、まずpkgを更新し、そのあとpkg upgradeをせよ、とのお達し。

 

pkg 1.2でアップデートができない。

pkgの更新は問題なく完了。
念のためもう一回pkg updateを試みるが、設定ファイルを読めないと怒られる。

どうも設定ファイルがおかしいようだ。
しかし現状、/etc/pkgの下や、/usr/local/etc/reposの下にも設定ファイルがあって訳の分からない状態だ。

調べた結果は以下のようなものだ。
pkgはREPOS_PATHで指定される全てのディレクトリから設定ファイルを探す。
デフォルトでは、/etc/pkgと/usr/local/etc/pkg/reposである。

詳しくは以下を参照。
http://lists.freebsd.org/pipermail/freebsd-questions/2013-November/254682.html

注意すべきは、すべてコメント文で出来ている設定ファイルがあると、”pkg: Cannot parse configuration file!”と言い出してそれ以上の処理をしてくれなくなることだ。
どうもバグのようだが。
1.2より前では文句だけだった。

私の場合、以下の通り/usr/local/etc/pkg.confがコメント文だけだったので、rmした。(RCSに保存しているので消したって平気)

 

設定ファイルでのkey指定方法の変更

改めてpkg update。今度は問題なしか?

今度は設定ファイルの内容に文句が付いた。
booleanを期待してたのに違うぞ、と。
文句だけなので進めはするが、気持ち悪いので修正する。
設定ファイルの中でenabledなどのキー指定からクオートを外せばよい。

before

after

 

pkg upgrade

そうしたら指定通りpkg upgradeを実行。
今度は問題なし。
通常のアップグレードのほかに、依存が変わったとかで再インストールの必要なものが結構あった。

そしてまた、autoremoveで掃除をしておこう。

 

余談

以下のようにpy27-distributeが邪魔だというので、pkg delete -f py27-distributeしてpkg upgradeした。

 

No tags for this post.