url2pkg returns “/opt/pkg/bin/url2pkg 必须来自包目录 (.../pkgsrc/category/package) 运行”

url2pkg returns "/opt/pkg/bin/url2pkg must be run from a package directory (.../pkgsrc/category/package)"

我在 mac,我正在尝试为 pkgsrc 创建一个新包。每次我 运行 url2pkg 我都会收到消息:

/opt/pkg/bin/url2pkg must be run from a package directory (.../pkgsrc/category/package). at /opt/pkg/bin/url2pkg line 517.

我需要从哪里 运行 这个?这对我来说不是很清楚。我需要创建一个 pkgsrc 目录吗?

我尝试在根目录和 /opt/pkg 中创建新目录,但我在这两个地方都遇到了这个错误。

这需要 运行 来自 pkgsrc/category/package。 pkgsrc 需要完整。

对于 OS X,suggested practice 似乎正在从 joyent/pkgsrc git 存储库中克隆 pkgsrc。

$ git clone git://github.com/joyent/pkgsrc.git

或者,您可以获得 pkgsrc upstream from NetBSD

  1. 使用 cvs 版本控制:

$ cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-2016Q1 -P pkgsrc

  1. 或压缩包

注意。由于声誉低下,我无法在 tarball 中包含更多 link,例如 link。

要在 pkgsrc 中创建包,您通常这样做:

cd /usr/pkgsrc   # or wherever your installation of pkgsrc is
cd $some_category

mkdir mynewpackage
cd mynewpackage

url2pkg https://example.org/releases/mynewpackage-1.27.tar.gz

之所以url2pkg需要在运行这个目录下,是因为它无法提前知道包的类别。它也不假定 URL 中的基本名称是要创建的包。而且,由于您无论如何都会编辑 Makefile,因此只有从头开始在该目录中工作才方便。