FreeBSD Porter 手冊

The FreeBSD Documentation Project

FreeBSD 中文計劃

修訂:
法律通告
法律通告
2000 年 4 月 由 .
2005 年 11 月 由 .

目錄
1. 介紹
2. 自行制作新 port
3. 簡單的 port
3.1. 編寫 Makefile
3.2. 創建描述文件
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.3. 分類
5.4. 源碼包文件
5.5. MAINTAINER (監護人)
5.6. COMMENT (一句話說明)
5.7. 依賴關系
5.8. MASTERDIR (主 port 所在的目錄)
5.9. 聯機手冊
5.10. Info 文件
5.11. Makefile 選項
5.12. 指定工作臨時目錄
5.13. 處理沖突
5.14. 安裝文件
6. 特殊情況
6.1. 共享庫
6.2. Ports 的發行限制
6.3. 聯編機制
6.4. 利用 GNU autotools
6.5. 使用 GNU gettext
6.6. 使用 perl
6.7. 使用 X11
6.8. 使用 GNOME
6.9. 使用 Qt
6.10. 使用 KDE
6.11. 使用 Java
6.12. Web 應用, Apache 和 PHP
6.13. 使用 Python
6.14. 使用 Tcl/Tk
6.15. 使用 Emacs
6.16. 使用 Ruby
6.17. 使用 SDL
6.18. 使用 wxWidgets
6.19. 使用 Lua
6.20. 使用 Xfce
6.21. 使用 Mozilla
6.22. 使用數據庫
6.23. 啟動和停止服務 (rc 腳本)
6.24. 添加用戶和用戶組
6.25. 依賴內核源代碼的 Ports
7. 高級 pkg-plist 用法
7.1. 根據 make 變量對 pkg-plist 進行修改
7.2. 空目錄
7.3. 配置文件
7.4. 動態裝箱單與靜態裝箱單的對比
7.5. 裝箱單 (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_FILESSUB_LIST
9. 測試您的 port
9.1. 運行 make describe
9.2. Portlint
9.3. 使用 Port Tools 來完成測試
9.4. PREFIX (安裝時的頂級目錄名) 和 DESTDIR
9.5. Tinderbox
10. 升級一個 port
10.1. 使用 CVS 制作補丁
10.2. UPDATING 和 MOVED 文件
11. Ports 的安全
11.1. 安全為何如此重要
11.2. 修復安全漏洞
11.3. 通知整個用戶群體
12. 該做什么和不該做什么
12.1. 介紹
12.2. WRKDIR (聯編時使用的臨時目錄)
12.3. WRKDIRPREFIX (用于聯編的臨時目錄的父目錄名)
12.4. 區分不同的操作系統, 以及 OS 的版本
12.5. __FreeBSD_version 值
12.6. 在 bsd.port.mk 之后寫一些內容
12.7. 在 wrapper 腳本中使用 exec 語句
12.8. 理性行事
12.9. 遵循 CCCXX 設置
12.10. 遵循 CFLAGS
12.11. 線程庫
12.12. 反饋
12.13. README.html
12.14. 使用 BROKENFORBIDDENIGNORE 阻止用戶安裝 port
12.15. 使用 DEPRECATEDEXPIRATION_DATE 表示某個 port 將被刪除
12.16. 避免使用 .error 結構
12.17. 對于 sysctl 的使用
12.18. 重新發布的 distfiles
12.19. 雜記
13. 示范的 Makefile
14. 保持同步
14.1. FreshPorts
14.2. 代碼庫的 Web 訪問界面
14.3. FreeBSD Ports 郵件列表
14.4. 位于 pointyhat.FreeBSD.org 的 FreeBSD Port 聯編集群
14.5. FreeBSD 的 Ports Distfile 掃描器
14.6. FreeBSD 的 Ports 追蹤系統
表格清單
5.1. 常用的魔術 MASTER_SITES
5.2. 常用的 USE_* 變量
5.3. 常見的 WITH_*WITHOUT_* 變量
6.1. gmake 有關的 port 變量
6.2. 用于用到了 configure 腳本的 port 的變量
6.3. 使用 scons 的 port 會用到的變量
6.4. 用于用到 perl 的 port 的變量
6.5. 用到 X 的 port 可以使用的變量
6.6. 用于表示對 X11 某些組件的依賴關系的變量
6.7. 用于使用 Qt 的 port 的變量
6.8. 其他用于使用 Qt 4.x 的變量
6.9. 可用的 Qt4 函數庫組件
6.10. 可用的 Qt4 工具組件
6.11. 可用的 Qt4 插件組件
6.12. 用于使用 KDE 3.x 的 port 的變量
6.13. 可用的 KDE4 組件
6.14. 用到 Java 的 port 可以使用的變量
6.15. 向使用了 Java 的 port 提供的變量
6.16. 為使用 Java 的 port 定義的常量
6.17. 用到 Apache 的 port 可以使用的變量
6.18. 在移植 Apache 模塊時比較有用的變量
6.19. 用到 PHP 的 port 中可以使用的變量
6.20. 對用到 Python 的 port 最有用的一些變量
6.21. 用到 Tcl/Tk 的 port 可以使用的變量
6.22. 使用 Ruby 的 port 可以使用的變量
6.23. 使用 Ruby 的 port 中的一些可用的只讀變量
6.24. 用于選擇 wxWidgets 版本的變量
6.25. 可用的 wxWidgets versions
6.26. wxWidgets 版本
6.27. 用于選擇希望的版本的 wxWidgets versions
6.28. 可用的 wxWidgets 組件
6.29. 可用的 wxWidgets 依賴類型
6.30. 默認的 wxWidgets 依賴關系類型
6.31. 用以在 Unicode 版本的 wxWidgets 的變量
6.32. 為使用 wxWidgets 的 port 定義的變量
6.33. 可用于 WX_CONF_ARGS 的值
6.34. 用于選擇 Lua 版本的變量
6.35. 可用的 Lua 版本
6.36. 指定 Lua 版本
6.37. 用于選擇推薦 Lua 版本的變量
6.38. 可用的 Lua 組件
6.39. 可用的 Lua 依賴關系類型
6.40. 默認的 Lua 依賴關系類型
6.41. 為用到 Lua 的 port 定義的變量
6.42. 用到 Mozilla 的 port 使用的變量
6.43. ports 中有關數據庫的變量
10.1. cvs update 文件名前字母前綴的含義
12.1. __FreeBSD_version 值
范例清單
5.1. 簡化的 MASTER_SITES:n 用法, 每個文件來自一個站點
5.2. 簡化的 MASTER_SITES:n 用法, 其中同一個站點上提供了不止一個文件
5.3. MASTER_SITE_SUBDIRMASTER_SITES:n 的詳細用法
5.4. 用到逗號分隔符、 多個文件, 多個站點和 不同子目錄的 MASTER_SITES:n 詳細用法
5.5. MASTER_SITE_SOURCEFORGEMASTER_SITES:n 的詳細用法
5.6. 簡化的 PATCH_SITES 中的 MASTER_SITES:n 用法。
5.7. 如何使用 ALWAYS_KEEP_DISTFILES
5.8. 簡單的 OPTIONS 用法
5.9. Old style use of OPTIONS
5.10. 處理選項時的錯誤做法
5.11. 處理選項時的正確做法
6.1. 使用 USE_XORG 的例子
6.2. 在變量中使用與 X11 有關的變量
6.3. 選擇 Qt4 組件
6.4. USE_KDE4 示例
6.5. 用于 PEAR 類的 Makefile 例子
6.6. 選擇 wxWidgets 組件
6.7. 檢測已安裝的 wxWidgets 版本和組件
6.8. 在命令中使用 wxWidgets 變量
6.9. 選擇 Lua 版本
6.10. 選擇 Lua 組件
6.11. 檢測已安裝的 Lua 版本和組件
6.12. 告訴 port 到什么地方去找 Lua
6.13. 在命令中使用 Lua 變量
12.1. 怎樣避免使用 .error

本文檔和其它文檔可從這里下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果對于FreeBSD有問題,請先閱讀 ,如不能解決再聯系 <questions@FreeBSD.org>.

關于本文檔的問題請發信聯系 <doc@FreeBSD.org>.

乐盈在线彩票 右玉县 | 军事 | 仙桃市 | 格尔木市 | 韶山市 | 长岛县 | 宜丰县 | 临江市 | 台北市 | 德保县 | 白城市 | 泽库县 | 安平县 | 汉中市 | 突泉县 | 万年县 | 鄢陵县 | 蒲城县 | 庆安县 | 南陵县 | 利川市 | 修武县 | 吉水县 | 辛集市 | 沙坪坝区 | 北宁市 | 开化县 | 伊宁市 | 平舆县 | 凌海市 | 松滋市 | 景泰县 | 陆良县 | 土默特右旗 | 志丹县 | 盈江县 | 东海县 | 措美县 | 黄平县 | 辰溪县 | 嘉荫县 | 沿河 | 穆棱市 | 巴青县 | 将乐县 | 古交市 | 南华县 | 红安县 | 栾城县 | 临清市 | 和平区 | 德州市 | 上思县 | 贡嘎县 | 离岛区 | 天气 | 锦州市 | 马边 | 大丰市 | 黎城县 | 屏山县 | 拜泉县 | 河源市 | 大安市 | 洛川县 | 朝阳市 | 鄱阳县 | 梁平县 | 富源县 | 泽库县 | 民乐县 | 吴旗县 | 自治县 | 孟连 | 谷城县 | 界首市 | 定襄县 | 特克斯县 | 孟村 | 大同市 | 龙井市 | 香格里拉县 | 兴宁市 | 永靖县 | 汨罗市 | 泰顺县 | 信宜市 | 乌苏市 | 浑源县 | 观塘区 | 亚东县 | 辽宁省 | 如东县 | 枣庄市 | 巴彦淖尔市 | 左权县 | 安徽省 | 崇礼县 | 文山县 | 星座 | 晴隆县 | 宁安市 | 仁怀市 | 巴塘县 | 南昌县 | 呼图壁县 | 宁乡县 | 鸡泽县 | 尉犁县 | 盐津县 | 丰城市 | 曲麻莱县 | 拜泉县 | 祁连县 | 宜昌市 | 北川 | 台东县 | 上犹县 | 麻江县 | 鄂伦春自治旗 | 筠连县 | 西贡区 | 肇源县 | 正蓝旗 | 介休市 | 永新县 | 辉县市 | 婺源县 | 庆安县 | 特克斯县 | 江陵县 | 鄂温 | 岢岚县 | 岑巩县 | 偏关县 | 伊春市 | 望江县 | 西峡县 | 陆丰市 | 衡南县 | 湖南省 | 桐柏县 | 德惠市 | 永登县 | 萨迦县 | 揭西县 | 巢湖市 | 保山市 | 海伦市 | 壤塘县 | 嘉定区 | 西林县 | 镇沅 | 江城 | 巴楚县 | 天祝 | 综艺 | 昌图县 | 德惠市 | 广平县 | 通渭县 | 富民县 | 广昌县 | 肃宁县 | 富蕴县 | 汕头市 | 天镇县 | 淮滨县 | 连山 | 松江区 | 夹江县 | 吉林市 | 胶州市 | 阳江市 | 上林县 | 广东省 | 梅州市 | 安岳县 | 万盛区 | 广丰县 | 安义县 | 颍上县 | 肃北 | 剑阁县 | 南漳县 | 饶阳县 | 内江市 | 北辰区 | 吉水县 | 自贡市 | 阳原县 | 潞城市 | 科技 | 海晏县 | 星座 | 桃江县 | 新乡市 | 石楼县 | 墨玉县 | 恩施市 | 天祝 | 卓资县 | 乌什县 | 崇明县 | 米易县 | 乌兰县 | 泽州县 | 扎兰屯市 | 龙泉市 | 张家界市 | 民乐县 | 囊谦县 | 志丹县 | 北海市 | 重庆市 | 桃源县 | 蛟河市 | 壶关县 | 渭南市 | 潜江市 | 泰来县 | 红原县 | 凉城县 | 遂平县 | 木里 | 榆树市 | 自治县 | 廊坊市 | 蒙阴县 | 远安县 | 陆川县 | 大邑县 | 安仁县 | 武夷山市 | 和平县 | 诸城市 | 襄汾县 | 渝中区 | 获嘉县 | 托克逊县 | 郸城县 | 视频 | 亳州市 | 信宜市 | 青神县 | 大姚县 | 泽库县 | 成都市 | 阳谷县 | 土默特左旗 | 宁德市 |