FreeBSD Porter 手册
The FreeBSD Documentation Project
版权
© 2000, 2001, 2002, 2003, 2004, 2005 The FreeBSD Documentation Project
[
章节模式
/
完整模式
]
目录
第1章
介绍
第2章
自行制作 port
第3章
简单的 port
第3.1节
编写
Makefile
第3.2节
创建描述文件
第3.2.1节
pkg-descr
(关于 port 的冗长描述文件)
第3.2.2节
pkg-plist
(port 的装箱单)
第3.3节
创建校验和文件
第3.4节
测试 port
第3.5节
用
portlint
来检查 port
第3.6节
提交 port
第4章
复杂的 Porting
第4.1节
整个系统是如何运转的?
第4.2节
获取源代码
第4.3节
修改 port
第4.4节
打补丁
第4.5节
配置
第4.6节
处理用户输入
第5章
配置 Makefile
第5.1节
作者发布的代码
第5.2节
命名
第5.2.1节
PORTNAME
和
PORTVERSION
第5.2.2节
PORTREVISION
和
PORTEPOCH
第5.2.3节
PKGNAMEPREFIX
和
PKGNAMESUFFIX
第5.2.4节
包命名规则
第5.3节
分类
第5.3.1节
CATEGORIES
(所属分类)
第5.3.2节
目前的分类表
第5.3.3节
选择正确的分类
第5.3.4节
提议建立新的分类
第5.3.5节
提议对分类进行重新组织
第5.4节
源码包文件
第5.4.1节
DISTVERSION/DISTNAME
(源码包版本号/名称)
第5.4.2节
MASTER_SITES
(主流下载站点)
第5.4.3节
EXTRACT_SUFX
(压缩包所用的扩展名)
第5.4.4节
DISTFILES
(全部源代码包)
第5.4.5节
EXTRACT_ONLY
(只解压缩部分源文件)
第5.4.6节
PATCHFILES
(通过下载得到的补丁文件)
第5.4.7节
来自不同站点的多个源代码包或补丁文件 (
MASTER_SITES:n
)
第5.4.8节
DIST_SUBDIR
(独立的源码包子目录)
第5.5节
MAINTAINER
(监护人)
第5.6节
COMMENT
(一句话说明)
第5.7节
依赖关系
第5.7.1节
LIB_DEPENDS
(依赖的函数库/共享库)
第5.7.2节
RUN_DEPENDS
(依赖的运行环境)
第5.7.3节
BUILD_DEPENDS
(依赖的构建环境)
第5.7.4节
FETCH_DEPENDS
(依赖的下载环境)
第5.7.5节
EXTRACT_DEPENDS
(依赖的解压缩环境)
第5.7.6节
PATCH_DEPENDS
(依赖的打补丁环境)
第5.7.7节
DEPENDS
(一般依赖)
第5.7.8节
USE_
*
第5.7.9节
关于依赖关系的补充说明
第5.7.10节
循环的依赖关系是致命的
第5.8节
MASTERDIR
(主 port 所在的目录)
第5.9节
联机手册
第5.10节
Info 文件
第5.11节
Makefile 选项
第5.11.1节
开关 (
KNOBS
)
第5.11.2节
OPTIONS
(菜单式可选项)
第5.12节
指定工作临时目录
第5.12.1节
WRKSRC
(开始构建操作的目录名)
第5.12.2节
NO_WRKSUBDIR
(不需要临时的构建目录)
第5.13节
CONFLICTS
(设置与其它包的冲突)
第6章
特殊情况
第6.1节
共享库
第6.2节
Ports 的发行限制
第6.2.1节
NO_PACKAGE
(禁止编译结果打包)
第6.2.2节
NO_CDROM
(禁止以 CDROM 发行预编译包)
第6.2.3节
RESTRICTED
(禁止任何形式的再分发)
第6.2.4节
RESTRICTED_FILES
(禁止某些文件的再分发)
第6.3节
构建机制
第6.3.1节
make
、
gmake
, 以及
imake
第6.3.2节
configure
脚本
第6.4节
利用 GNU autotools
第6.4.1节
入门
第6.4.2节
libtool
第6.4.3节
libltdl
第6.4.4节
autoconf
和
autoheader
第6.4.5节
automake
和
aclocal
第6.5节
使用
perl
第6.6节
使用 X11
第6.6.1节
Variable definitions
第6.6.2节
需要使用 Motif 的 port
第6.6.3节
X11 字体
第6.7节
使用 GNOME
第6.8节
使用 KDE
第6.9节
使用 Java
第6.9.1节
变量定义
第6.9.2节
采用 Ant 进行构建
第6.9.3节
最佳实践
第6.10节
使用 Apache 和 PHP
第6.10.1节
Apache
第6.10.2节
PHP
第6.10.3节
PEAR 模块
第6.11节
使用 Python
第6.12节
使用 Emacs
第6.13节
使用 Ruby
第6.14节
使用 SDL
第6.15节
启动和停止服务 (rc 脚本)
第7章
高级
pkg-plist
用法
第7.1节
根据 make 变量对
pkg-plist
进行修改
第7.2节
空目录
第7.2.1节
清理空目录
第7.2.2节
如何建立空目录
第7.3节
配置文件
第7.4节
装箱单 (package list) 的自动化制作
第8章
pkg-
*
文件
第8.1节
pkg-message
(安装预编译包时显示的消息文件)
第8.2节
pkg-install
(安装预编译包时执行的脚本文件)
第8.3节
pkg-deinstall
(卸载时执行的脚本文件)
第8.4节
pkg-req
(安装预编译包时检测是否应执行操作的脚本文件)
第8.5节
改变
pkg-
*
文件的名字
第8.6节
使用
SUB_FILES
和
SUB_LIST
第9章
测试您的 port
第9.1节
运行
make describe
第9.2节
Portlint
第9.3节
PREFIX
(安装时的顶级目录名)
第10章
升级
第11章
Ports 的安全
第11.1节
安全为何如此重要
第11.2节
修复安全漏洞
第11.3节
通知整个用户群体
第11.3.1节
VuXML 数据库
第11.3.2节
VuXML 简介
第11.3.3节
测试您对 VuXML 数据库所作的修改
第11.3.4节
假如 VuXML 仍然让您感到恐惧……
第12章
该做什么和不该做什么
第12.1节
介绍
第12.2节
对可执行文件做脱模 (strip) 操作
第12.3节
INSTALL_* 宏
第12.4节
WRKDIR
(构建时使用的临时目录)
第12.5节
WRKDIRPREFIX
(用于构建的临时目录的父目录名)
第12.6节
区分不同的操作系统, 以及 OS 的版本
第12.7节
__FreeBSD_version 值
第12.8节
在
bsd.port.mk
之后写一些内容
第12.9节
安装附加的文档
第12.10节
子目录
第12.11节
UID 和 GID
第12.12节
理性行事
第12.13节
遵循
CC
和
CXX
设置
第12.14节
遵循
CFLAGS
第12.15节
反馈
第12.16节
README.html
第12.17节
使用
BROKEN
、
FORBIDDEN
或
IGNORE
标记不可安装的 port
第12.17.1节
变量
第12.17.2节
实现说明
第12.18节
可以用
DEPRECATED
或
EXPIRATION_DATE
表示某个 port 将被删除。
第12.19节
避免使用
.error
结构
第12.20节
一些必要的 workaround
第12.21节
杂记
第13章
示范的
Makefile
第14章
保持同步
第14.1节
FreshPorts
第14.2节
代码库的 Web 访问界面
第14.3节
FreeBSD Ports 邮件列表
第14.4节
位于
pointyhat.FreeBSD.org
的 FreeBSD Port 构建集群
第14.5节
FreeBSD 的 Port Distfile 普查
第14.6节
FreeBSD 的 Ports 追踪系统
表格清单
表5-1.
常用的
USE_
*
变量
表5-2.
WITH_
*
和
WITHOUT_
*
变量
表6-1.
用于与 gmake 有关的 port 的变量
表6-2.
用于用到了 configure 脚本的 port 的变量
表6-3.
用于用到
perl
的 port 的变量
表6-4.
用到 X 的 port 可以使用的变量
表6-5.
用于表示对 X11 某些组件的依赖关系的变量
表6-6.
用于用到 KDE 的 port 的变量
表6-7.
用到 Java 的 port 可以使用的变量
表6-8.
向使用了 Java 的 port 提供的变量
表6-9.
为使用 Java 的 port 定义的常量
表6-10.
用到 Apache 的 port 可以使用的变量
表6-11.
用到 PHP 的 port 中可以使用的变量
表6-12.
对用到 Python 的 port 最有用的一些变量
表6-13.
使用 Ruby 的 port 可以使用的变量
表6-14.
使用 Ruby 的 port 中的一些可用的只读变量
表12-1.
__FreeBSD_version 值
范例清单
例5-1.
简化的
MASTER_SITES:n
用法, 每个文件来自一个站点
例5-2.
简化的
MASTER_SITES:n
用法, 其中同一个站点上提供了不止一个文件
例5-3.
在
MASTER_SITE_SUBDIR
中
MASTER_SITES:n
的详细用法
例5-4.
用到逗号分隔符、 多个文件, 多个站点和 不同子目录的
MASTER_SITES:n
详细用法
例5-5.
MASTER_SITE_SOURCEFORGE
中
MASTER_SITES:n
的详细用法
例5-6.
简化的
PATCH_SITES
中的
MASTER_SITES:n
用法。
例5-7.
简单的
OPTIONS
用法
例6-1.
在变量中使用与 X11 有关的变量
例6-2.
用于 PEAR 类的 Makefile 例子
例12-1.
怎样避免使用
.error
下一页
介绍
若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <
ports@FreeBSD.org
>。
关于此文档的任何问题, 请致函 <
doc@FreeBSD.org
>。