2009年01月09日

2008/12/11以降 portsdb -Uu が失敗する

久々にcvsupでportsを更新し、portsdb -Uuしたらエラー。。。
# portsdb -Uu
Updating the ports index ... Generating INDEX.tmp - please wait..pear-File_Archive-1.5.4: "/usr/ports/devel/php5-pcre" non-existent -- dependency list incomplete
===> archivers/pear-File_Archive failed
*** Error code 1
1 error

********************************************************************
Before reporting this error, verify that you are running a supported
version of FreeBSD (see http://www.FreeBSD.org/ports/) and that you
have a complete and up-to-date ports collection.  (INDEX builds are
not supported with partial or out-of-date ports collections -- in
particular, if you are using cvsup, you must cvsup the "ports-all"
collection, and have no "refuse" files.)  If that is the case, then
report the failure to ports@FreeBSD.org together with relevant
details of your ports configuration (including FreeBSD version,
your architecture, your environment, and your /etc/make.conf
settings, especially compiler flags and WITH/WITHOUT settings).

Note: the latest pre-generated version of INDEX may be fetched
automatically with "make fetchindex".
********************************************************************

*** Error code 1

Stop in /usr/ports.
*** Error code 1

Stop in /usr/ports.
failed to generate INDEX!
portsdb: index generation error
portupgradeを最新にしてもダメ
/usr/ports を全部消して取り直してもダメ

調べていくうちに、「UPDATINGの20081211を見ろ」という記事を見つけた
# cat /usr/ports/UPDATING | less
...
20081211:
  AFFECTS: users of lang/php5
  AUTHOR: pav@FreeBSD.org, itetcu@FreeBSD.org, ale@FreeBSD.org

  As of php 5.2.7, pcre extension is distributed with the core php5 package,
  and not as a standalone module anymore.  Follow these steps to update your
  installation:

  Portupgrade users:
   pkg_delete -f php5-pcre-5.2.6
   pkgdb -F
   portupgrade as usual

  Portmaster users:
   pkg_delete -f php5-pcre\*
   portmaster php5\*

  If you are using pecl ports you might need to force an update on them, ie.:
   portupgrade -f pecl\*
  or
   portmaster pecl\*

  If you have the pecl hash, json and/or zip extensions you need to replace
  them with the php5 bundled ones, ie.:
   portmaster/portupgrade -o archivers/php5-zip archivers/pecl-zip
   portmaster/portupgrade -o devel/php5-json devel/pecl-json
   portmaster/portupgrade -o security/php5-hash security/pecl-hash

  If you build your INDEX locally and you tried to build it after the php
  update commit, you need to rebuild it _after_ you updated lang/php5:
   cd /usr/ports && make index
  or (if you use ports-mgmt/p5-FreeBSD-Portindex):
   cd /usr/ports && cache-init && portindex -o `make -V INDEXFILE`
/usr/ports/devel/php5-pcre
はphp5に取り込まれたから、もう無いよ?みたいなかんじ?

で、結局どうしたかというと、、、
# portupgrade -r php5-pcre
したら、php5もろとも更新されて解決したっぽい
posted by sanahi at 00:47| 滋賀 曇り| Comment(0) | TrackBack(0) | FreeBSD | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/112349621
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック

Remarks
記事中にソースコードが含まれる場合、ソースコードの再利用、改変、「オレのものにする」等は自由ですが、
ソースコードを利用して起こった問題は一切責任を負いません。(自己責任での利用となります。)