不要让你的port依赖于特定的PREFIX(这个变量设置为LOCALBASE,缺省为/usr/local),除非你设置了USE_X_PREFIX或UES_IMAKE,这时PREFIX指X11BASE,缺省为/usr/X11R6.
没有硬性的代码一定要安装到/usr/local或/usr/X11R6可以使你的port更加的通用,对于X的port如果使用imake这是自动完成的;否则你应该修改scripts下的Makefile让他读取PREFIX,并且使他在编译和安装的阶段生效.
确定你的port没有将文件安装到/usr/local而不是PREFIX的一个简单的测试方法:
# make clean; make package PREFIX=/var/tmp/port-name
如果有文件安装在PREFIX之外,在打包时会有文件找不到的错误..
不要设置USE_X_PREFIX(除非你的port真的一定依赖他)
PREFIX应该可以被使用者重新设置,而不应该显式的在你的Makefiles中明确定义
同样,如果你的port使用了其他port的的文件.不要显式的定义完整路径.举个例子,如果你要使用less的PAGER宏.可以使用下面的编译参数.
-DPAGER=\"${PREFIX}/bin/less\"或
-DPAGER=\"${LOCALBASE}/bin/less\"
这样当系统的管理者将/usr/local目录树完整的移动到其他地方并重新定义了PREFIX时,你的port照样可以运行.
上一页 | 首页 | 下一页 |
递归的diff | 向上 | 子目录 |