FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • FreeBSD Port 开发者手册翻译项目
  • 编辑日志
  • 译者说明
  • FreeBSD Port 开发者手册
    • FreeBSD Port 开发者手册
  • 第1章 简介
    • 1.1.简介
  • 第2章 制作新的 port
    • 2.1.制作新的 port
  • 第3章 简单的 port
    • 3.1.编写 Makefile
    • 3.2.编写描述文件
    • 3.3.创建校验和文件
    • 3.4.测试 port
    • 3.5.用 portlint 来检查 port
    • 3.6.提交新的 port
  • 第4章 复杂的 Port
    • 4.1 Port 工作原理
    • 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.许可证
    • 5.9.PORTSCOUT
    • 5.10.依赖
    • 5.11.从属 port 和 MASTERDIR
    • 5.12.man 手册
    • 5.13.info 文件
    • 5.14.Makefile 参数
    • 5.15.特殊的工作目录
    • 5.16.解决冲突
    • 5.17.安装文件
    • 5.18. 使用 BINARY_ALIAS 来重命名命令,而不是在编译中打补丁
  • 第6章 特殊情况
    • 第6章 特殊情况
  • 第7章 Flavors
    • 7.1.Flavors 简介
    • 7.2.使用 FLAVORS
    • 7.3.USES=php 和 Flavors
    • 7.4.USES=python 和 Flavors
    • 7.5.USES=lua 和 Flavors
  • 第8章 高级 pkg-plist 实践
    • 8.1.根据 make 变量对 pkg-plist 进行修改
    • 8.2.空目录
    • 8.3.配置文件
    • 8.4.动态与静态软件包列表
    • 8.5.自动创建软件包列表
    • 8.6.用关键词扩展软件包列表
  • 第9章 pkg-*
    • 9.1.pkg-message(安装二进制包时显示的消息文件)
    • 9.2.pkg-install、pkg-pre-install 和 pkg-post-install(安装二进制包时执行的脚本文件)
    • 9.3.pkg-deinstall、pkg-pre-deinstall 和 pkg-post-deinstall(卸载时执行的脚本文件)
    • 9.4.修改 pkg-* 文件的名字
    • 9.5.使用 SUB_FILES 和 SUB_LIST
  • 第10章 测试 port
    • 10.1.运行 make describe
    • 10.2.运行 make test
    • 10.3.Portclippy / Portfmt
    • 10.4.Portlint
    • 10.5.Port 工具
    • 10.6.PREFIX 和 DESTDIR
    • 10.7.Poudriere
    • 10.8.调试 port
  • 第11章 升级 port
    • 11.1.使用 Git 制作补丁
    • 11.2.UPDATING 和 MOVED
  • 第12章 安全
    • 12.1.安全为何如此重要
    • 12.2.修复安全漏洞
    • 12.3.向社区通报情况
  • 第13章 该做什么和不该做什么
    • 第13章 该做什么和不该做什么
  • 第14章 一个简单的 port
    • 第14章 一个简单的 port
  • 第15章 在 Port Makefile 中变量的顺序
    • 第15章 在 Port Makefile 中变量的顺序
  • 第16章 保持更新
    • 第16章 保持更新
  • 第17章 使用 USES 宏
    • 第17章 使用 USES 宏
  • 第18章 __FreeBSD_version 的值
    • 第18章 __FreeBSD_version 的值
由 GitBook 提供支持
LogoLogo

FreeBSD 中文社区(CFC) 2025

在本页
在GitHub上编辑
导出为 PDF
  1. 第3章 简单的 port

3.6.提交新的 port

上一页3.5.用 portlint 来检查 port下一页4.1 Port 工作原理

最后更新于2天前

在提交新的 Port 之前,请阅读 部分。

如果你对 Port 满意,剩下的就是将它放入 FreeBSD 的主 Ports 树,并让其他人也为它高兴。

重要

我们不需要 work 目录或 pkgname.txz 包,所以现在就删除它们。

接下来,创建一个 文件。假设该 Port 名为 oneko,并位于 games 分类下。

示例 1. 为新 Port 创建 .diff 文件

使用 git add . 添加所有文件,然后用 git diff 查看差异。例如:

% git add .
% git diff --staged

确保所有必要的文件都已包括,然后将更改提交到本地分支,并使用 git format-patch 生成补丁:

% git commit
% git format-patch origin/main

使用 git format-patch 生成的补丁会包括作者的身份和电子邮件地址,使开发人员能够更容易地应用补丁(使用 git am),并给予适当的信用。

为了方便提交者在其 Ports 树的工作副本中应用补丁,请从 Ports 树的根目录生成 .diff 文件。

通过 提交 oneko.diff。选择产品 "Ports & Packages",组件 "Individual Port(s)",并遵循那里显示的指南。在 PR 的描述字段中添加该程序的简短描述(也许是 COMMENT 的简短版本),并记得将 oneko.diff 作为附件添加。

注意

在问题报告的总结中给出一个好的说明,可以让 Port 提交者和分类员的工作变得更容易。新 Port 的预期格式是 "[NEW PORT] 类别/port名 port简要描述"。使用这个格式可以让提交新 Port 的工作开始得更快更顺利。

提交 Port 后,请耐心等待。将新 Port 纳入 FreeBSD 的时间可能从几天到几个月不等。可以通过 搜索问题报告数据库的简单搜索表单。

要列出 Open 状态的 Port PR,可以在搜索表单中选择 Open 和 Ports & Packages,然后点击 Search。

重要

在查看新 Port 后,我们会根据需要回复,并将其提交到树中。提交者的名字也会被添加到 和其他文件的列表中。

之前提交新 Port 的补丁可以使用 文件;但随着 的发展,这已经不再是有效的方式。提交者现在不再接受 文件,因为它容易出错,并且不会在分类的 Makefile 中添加相关条目。

DOs 和 DON’Ts
patch(1)
问题报告提交表单
https://bugs.freebsd.org/bugzilla/query.cgi
Additional FreeBSD Contributors
shar(1)
git(1)
shar(1)