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节
Makefile 选项
第5.8.1节
WITH_
*
和
WITHOUT_
*
第5.8.2节
OPTIONS
(菜单式可选项)
第5.9节
指定工作临时目录
第5.9.1节
WRKSRC
(开始构建操作的目录名)
第5.9.2节
NO_WRKSUBDIR
(不需要临时的构建目录)
第5.10节
CONFLICTS
(设置与其它包的冲突)
第5.11节
构建机制
第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节
使用
perl
第6.4节
使用 X11
第6.5节
使用
automake
、
autoconf
, 以及
libtool
第6.6节
使用 GNOME
第6.7节
使用 KDE
第6.8节
使用 Java
第6.8.1节
变量定义
第6.8.2节
采用 Ant 进行构建
第6.8.3节
最佳实践
第6.9节
使用 Apache 和 PHP
第6.9.1节
Apache
第6.9.2节
PHP
第6.9.3节
PEAR 模块
第6.10节
使用 Python
第6.11节
使用 Emacs
第6.12节
使用 Ruby
第6.13节
使用 SDL
第7章
MASTERDIR
(主 port 所在的目录)
第8章
共享库的版本
第9章
联机手册
第10章
需要使用 Motif 的 port
第10.1节
USE_MOTIF
(用到了 Motif)
第10.2节
MOTIFLIB
(指定使用的 Motif 库版本)
第11章
X11 字体
第12章
Info 文件
第13章
pkg-
*
文件
第13.1节
pkg-message
(安装预编译包时显示的消息文件)
第13.2节
pkg-install
(安装预编译包时执行的脚本文件)
第13.3节
pkg-deinstall
(卸载时执行的脚本文件)
第13.4节
pkg-req
(安装预编译包时检测是否应执行操作的脚本文件)
第13.5节
根据 make 变量改变
pkg-plist
第13.6节
改变
pkg-
*
文件的名字
第13.7节
使用
SUB_FILES
和
SUB_LIST
第14章
测试您的 port
第14.1节
运行
make describe
第14.2节
Portlint
第14.3节
PREFIX
(安装时的顶级目录名)
第15章
升级
第16章
Ports 的安全
第16.1节
安全为何如此重要
第16.2节
修复安全漏洞
第16.3节
通知整个用户群体
第16.3.1节
VuXML 数据库
第16.3.2节
VuXML 简介
第16.3.3节
测试您对 VuXML 数据库所作的修改
第16.3.4节
假如 VuXML 仍然让您感到恐惧……
第17章
该做什么和不该做什么
第17.1节
介绍
第17.2节
对可执行文件做脱模 (strip) 操作
第17.3节
INSTALL_* 宏
第17.4节
WRKDIR
(构建时使用的临时目录)
第17.5节
WRKDIRPREFIX
(用于构建的临时目录的父目录名)
第17.6节
区分不同的操作系统, 以及 OS 的版本
第17.7节
__FreeBSD_version 值
第17.8节
在
bsd.port.mk
之后写一些内容
第17.9节
安装附加的文档
第17.10节
子目录
第17.11节
清理空目录
第17.12节
UID 和 GID
第17.13节
理性行事
第17.14节
遵循
CC
和
CXX
设置
第17.15节
遵循
CFLAGS
第17.16节
配置文件
第17.17节
反馈
第17.18节
README.html
第17.19节
使用
BROKEN
、
FORBIDDEN
或
IGNORE
标记不可安装的 port
第17.19.1节
变量
第17.19.2节
实现说明
第17.20节
可以用
DEPRECATED
或
EXPIRATION_DATE
表示某个 port 将被删除。
第17.21节
一些必要的 workaround
第17.22节
杂记
第17.23节
如果遇到了问题...
第18章
示范的
Makefile
第19章
装箱单 (package list) 的自动化制作
第20章
保持同步
第20.1节
FreshPorts
第20.2节
代码库的 Web 访问界面
第20.3节
FreeBSD Ports 邮件列表
第20.4节
位于
pointyhat.FreeBSD.org
的 FreeBSD Port 构建集群
第20.5节
FreeBSD 的 Port Distfile 普查
第20.6节
FreeBSD 的 Ports 追踪系统
表格清单
表5-1.
常用的
USE_
*
变量
表5-2.
WITH_
*
和
WITHOUT_
*
变量
表6-1.
使用
perl
的 ports 可以使用的变量
表6-2.
用到 X 的 port 可以使用的变量
表6-3.
用于表示对 X11 某些组件的依赖关系的变量
表6-4.
用到 automake, autoconf 或 libtool 的 port 可以使用的变量
表6-5.
用于使用 KDE 的 port 的变量
表6-6.
用到 Java 的 port 可以使用的变量
表6-7.
向使用了 Java 的 port 提供的变量
表6-8.
为使用 Java 的 port 定义的常量
表6-9.
用到 Apache 的 port 可以使用的变量
表6-10.
用到 PHP 的 port 中可以使用的变量
表6-11.
对用到 Python 的 port 最有用的一些变量
表6-12.
使用 Ruby 的 port 可以使用的变量
表6-13.
使用 Ruby 的 port 中的一些可用的只读变量
表17-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 例子
例14-1.
如何避免使用
.error
下一页
介绍
若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <
ports@FreeBSD.org
>。
关于此文档的任何问题, 请致函 <
doc@FreeBSD.org
>。