portmasterでのportsアップデートに失敗した不具合への対処メモ。
現象
portmasterでアップデートしようとすると、次のようにエラーとなる。
===>>> Gathering distinfo list for installed ports ===>>> Starting check of installed ports for available updates ===>>> Launching child to update vim-lite-7.4.542 to vim-lite-7.4.560 ===>>> All >> vim-lite-7.4.542 (1/1) ===>>> Currently installed version: vim-lite-7.4.542 ===>>> Port directory: /usr/ports/editors/vim-lite ===>>> Launching 'make checksum' for editors/vim-lite in background ===>>> Gathering dependency list for editors/vim-lite from ports ===>>> Initial dependency check complete for editors/vim-lite ===>>> Returning to update check of installed ports ===>>> Launching child to update freetype2-2.5.4 to freetype2-2.5.4_1 ===>>> All >> freetype2-2.5.4 (2/2) ===>>> Currently installed version: freetype2-2.5.4 ===>>> Port directory: /usr/ports/print/freetype2 ===>>> Launching 'make checksum' for print/freetype2 in background ===>>> Gathering dependency list for print/freetype2 from ports ===>>> Initial dependency check complete for print/freetype2 ===>>> Returning to update check of installed ports ===>>> The misc/gnomehier port has been deleted: Not needed anymore ===>>> Aborting update
misc/gnomehierというパッケージが廃止になり、削除もできず処理が中断する模様。
対処
もはやportsにパッケージが存在しないため、portmasterを使った削除はできない。このためpkgコマンドを使用して、強制的に削除する。
# sudo pkg delete -n gnomehier Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 5 packages (of 0 packages in the universe): Installed packages to be REMOVED: gnomehier-3.0 libgsf-1.14.30 librsvg2-2.40.4 emacs24-24.4_3,3 ImageMagick-6.9.0.0_1,1 The operation will free 141 MB. #
もう一度pkgコマンドでgnomehierを削除。
# sudo pkg delete -f gnomehier Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: gnomehier-3.0 The operation will free 3 KB. Proceed with deinstalling packages? [y/N]: y [1/1] Deinstalling gnomehier-3.0... [1/1] Deleting files for gnomehier-3.0: 100% #
この後にアップデートを実行すれば正常に動作する。
# sudo portmaster -ad