`patch-add` + bare `%autosetup` fails at build time for patches that touch subdirectories

未关闭
#409 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 4 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
54/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
go
领域
build-system

调研方向

Start by locating patch-add handling and the renderer logic for %autosetup and %autopatch; the payload names no source files or tests, so trace those entry points and inspect existing patch rendering tests. Reproduce the failure with a patch touching a subdirectory and bare %autosetup, then verify the chosen strip-option or warning behavior is covered and the rendered build no longer fails silently.

由索引模型根据 Issue 内容生成。

描述

A bare %autosetup (no -p) runs patch with no strip level, so it only uses the file's basename. A normal git patch to lib/xmlparse.c then fails with "No file to patch". Render looks fine, and the failure only shows up in mock. It hits any spec whose first added patch touches a subdirectory (expat, for example). There are 808 specs on 4.0 with a bare %autosetup.

Ask: a strip option on patch-add (e.g. strip = 1), or a render-time warning when a bare %autosetup/%autopatch meets a patch that needs -p1.

主要语言
Go
星标
18
派生
30
平均合并
3 天 17 小时
30 天内合并 PR
40

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

microsoft/azure-linux-dev-tools 的其他 Issue

查看 microsoft/azure-linux-dev-tools 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。