pkgsrc/ports
1.0、参考
1.1、pkgsrc/ports简介

pkgsrc/portspkgsrc source distribution的代称。

pkgsrc/ports类似于FreeBSD ports

1.2、ports tree

ports tree就是一种ports仓库的组织方式。

NetBSD ports tree/usr/pkgsrc目录作为根。

我们进入Vimport看一下:

ports tree仅仅是源码软件包的元信息和索引,并不包含真正的源码, 当需要源码的时候,比如要进行构建的时候,发现本地还没有下载过源码,就会去源码仓库下载源码。

1.3、通过ports管理软件

ports是如何管理软件的呢?答案是使用gmake。我们知道构建系统有很多,gmake是比较老的一种构建系统,现代构建系统有很多,但是由于历史的原因,FreeBSD相对来说比较保守,他们基本上是持有能用就行的态度,所以,就一直用到今天。

每个port的根目录下都有一个Makefile文件,它是gmake的配置文件。 这个Makefile文件是有一定的规则的,可不是随意编写的。比如他们都提供下面这些target

1.4、/etc/mk.conf

/etc/mk.conf是全局Makefile。 通常在此文件中设置预定义Makefile变量。

1.5、预定义Makefile变量