每个 port 都会被解压缩到一个工作临时目录中, 这个目录必须是可写的。 ports 系统默认情况下会将 DISTFILES 解压缩到一个叫做 ${DISTNAME} 的目录中。 换言之, 如果设了:
PORTNAME= foo PORTVERSION= 1.0
则 port 的源码包文件的顶级目录将是 foo-1.0。
如果这不是所希望的情形, 您可以修改一系列变量的设置。
这个变量给出了在应用程序的源代码包解压缩之后所生成的目录的名字。 如果我们之前的例子解压缩生成一个叫做 foo (而不是 foo-1.0) 的目录, 您应:
WRKSRC= ${WRKDIR}/foo
或者, 也可能是
WRKSRC= ${WRKDIR}/${PORTNAME}
如果 port 完全不需要写入到某个子目录中, 您应设置 NO_WRKSUBDIR 以明示这一点。
NO_WRKSUBDIR= yes