portupgrade が失敗する理由2006年05月05日 06時53分44秒

# portupgrade ...

[Updating the pkgdb  in /var/db/pkg ... - 382 packages found (-1 +0) (...) done]
--->  Uninstallation of p5-MIME-Base64-3.05 ended at: Thu, 04 May 2006 01:53:18 -0500 (consumed 00:00:05)
--->  Installation of converters/p5-MIME-Base64 started at: Thu, 04 May 2006 01:53:18 -0500
--->  Installing the new version via the port
===>  Installing for p5-MIME-Base64-3.07
===>   p5-MIME-Base64-3.07 depends on file: /usr/local/bin/perl5.8.8 - found
===>   Generating temporary packing list
===>  Checking if converters/p5-MIME-Base64 already installed
===>   p5-MIME-Base64-3.07 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of converters/p5-MIME-Base64
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/converters/p5-MIME-Base64.
*** Error code 1

Stop in /usr/ports/converters/p5-MIME-Base64.
*** Error code 1

Stop in /usr/ports/converters/p5-MIME-Base64.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade6571.28 make reinstall



%ls /var/db/pkg/p5-MIME-Base64-3.0*
+COMMENT        +CONTENTS       +DESC           +MTREE_DIRS     +REQUIRED_BY

+COMMENT        +CONTENTS       +DESC           +MTREE_DIRS


# pkgdb -F
Duplicated origin: converters/p5-MIME-Base64 - p5-MIME-Base64-3.05 p5-MIME-Base64-3.07
Unregister any of them? [no]

とやると一応修正できるが、pkgdb が指定した方を /var/db/pkg から消してくれる。

ただ、この方法だと pkg の情報を消すだけなので、ゴミが残る可能性がある。そこで、pkg_delete -f で古い方を消し、新しい方を念のために reinstall することにしている。