如何应对 FreeBSD 转向 pkgconf?

如何应对 FreeBSD 转向 pkgconf?

看来 FreeBSD ports 树正忙着从 pkg-config 过渡到 pkgconf。http://www.mail-archive.com/[电子邮件受保护]/msg00018.html

我首先认为,作为最终用户,这不会影响我,并且像 portmaster 这样的工具会处理任何转换。然而今天,常规portmaster -a给出了以下问题:

sudo portmaster -a
===>>> Gathering distinfo list for installed ports

===>>> Starting check of installed ports for available updates

    ===>>> The devel/pkg-config port moved to devel/pkgconf
    ===>>> Reason: pkg-config has been replace by pkgconf

===>>> Launching child to reinstall pkg-config-0.25_1

===>>> All >> pkg-config-0.25_1 (1/1)

    ===>>> The devel/pkg-config port moved to devel/pkgconf
    ===>>> Reason: pkg-config has been replace by pkgconf


===>>> Port directory: /usr/ports/devel/pkgconf

===>>> Launching 'make checksum' for devel/pkgconf in background
===> No options to configure
===>>> Gathering dependency list for devel/pkgconf from ports
===>>> No dependencies for devel/pkgconf

===>>> Returning to update check of installed ports


===>>> All >> (1)

===>>> The following actions will be taken if you choose to proceed:
    Install devel/pkgconf

===>>> Proceed? y/n [y]


Finishing with:


Stop in /usr/ports/devel/pkgconf.

===>>> Installation of pkgconf-0.8.4 (devel/pkgconf) failed
===>>> Aborting update

===>>> Update for devel/pkgconf failed
===>>> Aborting update

Terminated

===>>> You can restart from the point of failure with this command line:
       portmaster <flags> devel/pkgconf 

FreeBSD 的“普通”用户应该做什么?我无法删除 pkg-config,因为很多端口依赖于它。如何解决这个问题?

答案1

/usr/ports/UPDATING在进行端口升级之前,您应该始终阅读。在这种情况下,它有关于弃用的说法pkg-config

20120726:
  AFFECTS: users of devel/pkg-config
  AUTHOR: [email protected]

  devel/pkg-config has been replaced by devel/pkgconf

  # portmaster -o devel/pkgconf devel/pkg-config
  or
  # portupgrade -fo devel/pkgconf pkg-config-\*

  pkgng:
  # pkg set -o devel/pkg-config:devel/pkgconf
  # pkg install -f devel/pkgconf

如果您按照这些说明进行操作,您选择的端口管理工具(似乎适合portmaster您的情况)将删除pkg-config并安装pkgconf,并将更新下面的包注册表数据库/var/db/pkg以反映更改。如果您是portupgrade用户,升级还将修复portupgrade自己的数据库中的依赖关系图,该数据库与标准注册表是分开的。

未来的安装/升级应该“正常工作”。

答案2

对于那些没有 ports-mgmt 工具的人来说,这应该有效:

pkg_delete -f pkg-config\*

相关内容