如何向vcpkg报告一个issue

发布时间 2023-09-06 18:21:41作者: vcpkg_C++包管理器

如果你在使用 VCPKG 时遇到问题并想报告,你可以通过创建一个新的问题来完成。以下是操作步骤:

1. 访问 VCPKG 的 GitHub 仓库(microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS (github.com))。

2. 点击“问题”(Issues)。 你可以在仓库页面顶部找到“问题”选项卡,位于“代码”(Code)和“拉取请求”(Pull requests)选项卡旁边。

3. 点击“新建问题”(New issue),这个按钮通常位于问题页面的右侧。

 4. 根据你的问题类型选择匹配的模板。VCPKG 为不同类型的问题(如 “错误报告” 或 “库升级”)提供了不同的模板,请选择最适合你的问题的一个模板并点击右侧的”开始“(Get started)。

具体的问题类型如下:

  • 如果你的库安装失败,请选择模板“报告库安装失败”(Report package build failure):

    • 填写“标题 ”[<port name>] build failure,请修改标题栏中的 <port name> 为安装失败的库的名称。

    • 参考以下步骤填写问题内容,以下内容可帮助 VCPKG 团队成员更好定位你的问题并给出相应的解决方案。

      1. 请观看模板中的视频:

        • 该视频来自模板问题(How to report a package build failure [explanation video] · Issue #30604 · microsoft/vcpkg (github.com)),你需要拷贝本地文件 issue_body.md 里的内容至新问题页面最下方的“附加背景信息”(Additional context)对话框内。

        • 如果你使用 VCPKG 的一般模式,该文件的路径为:[VCPKG_ROOT]/installed/vcpkg/issue_body.md,[VCPKG_ROOT] 为你本地的 VCPKG 所在路径。

        • 如果你使用 VCPKG 的 manifest 模式,该文件的路径为:[Manifest_ROOT]/vcpkg_installed/vcpkg/issue_body.md ,[Manifest _ROOT] 为你本地的 manifest 目录。

        • 内容拷贝完毕,可以点击对话框上方的“预览”(Preview)可查看你的问题相关信息,再将对应的信息拷贝到对应的必填项里。

        • issue_body.md文件包含了你的环境信息、复现步骤以及错误日志,该文件由VCPKG在库安装失败时生成。请注意,该文件只记录最近一次构建失败的信息,如果有新的安装失败出现,文件内容会被覆盖。

      2. 环境信息(必填):你的操作系统以及它的版本(如Windows 11/Ubuntu 22.02/Mac OS 10.15.2等)。

      3. 编译器信息(Compiler):你使用哪个编译器以及它的版本(如Visual Studio 2022/GCC 9/Clang 13等)。

      4. 复现步骤(必填):复现这个问题的“详细步骤”,即你如何使用 VCPKG 并遇到了这个问题。如果你修改了本地 VCPKG 文件,请添加你修改的文件以及具体的修改内容。这个可以帮助 VCPKG 团队更好的去复现并调查相关问题。

      5. 错误日志(必填):包含安装日志以及错误日志,你可以选择将日志内容粘贴在对话框内或者上传日志附件。

      6. 如果您有对这个问题其他的见解或者疑问,请在“附加信息”(Additional context)对话框内填写。

    • 带有 * 号的是必填栏目,如果以上内容填写完毕,点击“提交新问题”(Submit new issue)。

  • 如果你想添加一个新的库,请选择模板“请求一个新库”(Request a new port):

    • 填写“标题” [New Port Request] <library name here>,请修改标题栏中的 <library name here> 为你想要添加的库名称。

    • 参考以下步骤填写问题内容:

      1. 库名称(Library name)(必填)。

      2. 请填写对这个库的“描述”(Library description),这个描述可以帮助VCPKG团队和社区用户们更好的了解这个库。

      3. 库的源链接(Source repository URL)(必填),如 zlib 的源链接为: https://github.com/madler/zlib。

      4. 如果该库的项目主页与源链接不同,请填写这个库的“项目主页”(Project homepage (if different from the source repository)),如zlib的项目主页为: http://zlib.net/ 。

      5. 如果你想要同时添加这个库的一些可选功能或者编译条件,请填写“其他有用信息栏”(Anything else that is useful to know when adding (such as optional features the library may have that should be included))。

    • 带有 * 号的为必填栏目,如果以上内容填写完毕,点击“提交新问题”(Submit new issue)。

  • 如果你想更新某一个库,请选择模板“请求更新一个 VCPKG 已存在的库”(Request an update to an existing port):

    • 填写“标题” [<port name>] update to <version>,请修改标题栏中的 <port name> 为需要更新的库名称。

    • 参考以下步骤填写问题内容:

      1. 库名称(Library name)(必填)。

      2. 要更新到的“新版本号”(New version number)(必填)。

      3. 如果有其他有用的信息,请填写“其他有用信息栏”(Other information that may be useful(release notes, etc...))。

    • 带有 * 号的为必填栏目,如果以上内容填写完毕,点击“提交新问题”(Submit new issue)。

  • 如果你想为某一个已有库添加新的功能或者改进这个库,请选择模板“请求对一个库进行功能添加或改进”(Request a feature or improvement to a port):

    • 填写标题 [<port name>] <short description of feature>,请修改标题栏中的 <port name> 为需要改进的库名称。

    • 参考以下步骤填写问题内容:

      1. 必填:请填写“你的功能请求是否与某个问题相关”(Is your feature request related to a problem? Please describe.),你可以描述这个功能的具体作用等信息。

      2. 必填:请填写你提出的 “解决方案”(Proposed solution),例如相关功能的代码。

      3. 如果你有别的替代方案,请填写“描述你考虑过的替代方案”(Describe alternatives you've considered)。

      4. 如果其他有用的信息,请填写“其他有用信息栏”(Additional context)。

    • 带有 * 号的为必填栏目,如果以上内容填写完毕,点击“提交新问题”(Submit new issue)。

  • 有其他任何不适合上述问题类型的问题,请选择模板“其他类型的错误报告”(Other type of bug report):

    • 填写标题(Title),描述你的问题。

    • 参考以下步骤填写问题内容:

      1. 请描述你遇到的问题(Describe the bug)。

      2. 请填写你的 “环境信息与编译器版本”(Environment)。

      3. 请填写“复现步骤”(To Reproduce)。

      4. 请填写“期待的结果”(Expected behavior)。

      5. 请填写“错误日志”(Failure logs)。

      6. 如果有用的信息,请填写“其他有用信息栏”(Additional context)。

    • 请参照上面的步骤详细描述你的问题,如果以上内容填写完毕,点击“提交新问题”(Submit new issue)。

  • 如果你认为在任何微软的存储库中发现了符合微软定义的安全漏洞,请浏览“报告一个安全漏洞”(Report a security vulnerability)右侧的“预览策略”(View policy)。如果你的问题符合微软策略,请通过以下途径报告你的问题:

    • 请在微软安全响应中心(MSRC Researcher Portal (microsoft.com))报告您的问题。

    • 如果你希望在不登录的情况下报告问题,请发送电子邮件至 secure@microsoft.com,如果可能,请使用我们的 PGP 密钥加密你的信息,请从微软安全响应中心 PGP 密钥页面(MSRC PGP Key (microsoft.com))下载它。

    • 以上内容来自策略文档,如果你想了解更多的细节,请点击“报告一个安全漏洞”(Report a security vulnerability)右侧的“预览策略”(View policy)。

  • 如果你有其他的问题,请点击模板“我有一个问题”(I have a question)右侧的“打开”(Open),该链接会跳转到 VCPKG 的讨论页面(microsoft/vcpkg · Discussions · GitHub)。你可以浏览已有的问题或者创建一个“新讨论”(New discussion),讨论类型有以下几种:

    • 一般的(General):普通问题。

    • 想法(Ideas):分享对新功能的想法和对现有功能的思考。

    • 投票(Polls):向社区征求投票。

    • 问答(Q&A):向社区征求意见。

    • 展示并讲述(Show and tell):展示你制作的东西。

请提供尽可能多的详细信息,这有助于 VCPKG 团队和社区理解你的问题,并更有效地找到解决方案。