Skip to content

publish: czdev-selftest 0.0.1 (pipeline self-test — expected to FAIL) - #101

Merged
github-actions[bot] merged 3 commits into
CardputerZero:mainfrom
eggfly:selftest-noncompliant
Aug 6, 2026
Merged

publish: czdev-selftest 0.0.1 (pipeline self-test — expected to FAIL)#101
github-actions[bot] merged 3 commits into
CardputerZero:mainfrom
eggfly:selftest-noncompliant

Conversation

@eggfly

@eggfly eggfly commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

自检 PR:故意包含 usr/bin/lsusr/local/bin/thing,验证 fork 通道的安装路径检查会拒绝、评论里给出规则和提示词,且不会被自动合并。验证完即关闭。

Made with Cursor

Co-authored-by: Cursor <cursoragent@cursor.com>
eggfly added a commit that referenced this pull request Aug 6, 2026
Syncs from CardputerZero/dev-portal (50bd9c4).

listPullRequestsAssociatedWithCommit only sees commits in the repository it is
asked about, so for a fork PR it returned nothing and the privileged stage
silently skipped both the comment and the merge (seen on #101). Listing open PRs
filtered by head does find them, and the head SHA from the event is still
checked, so the decision rests on the same trusted inputs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

❌ Package Validation Failed

  • czdev-selftest_0.0.1_arm64.deb installs files in disallowed locations:
    usr/bin/ls — /usr/bin 下的文件名必须与包名 czdev-selftest 相关,避免覆盖系统命令
    usr/local/bin/thing — Debian Policy 9.1.2 禁止软件包写入 /usr/local(那是留给系统管理员的)
📁 安装路径规则 + 可直接交给 AI 的提示词(点开)

我们放行 Debian 的标准位置,只要求落在共享目录里的文件名/目录名带上你的包名
这样一个应用不会悄悄覆盖系统命令或别人的文件。比对时忽略 -_. 的差异,
所以包名 fontpreviewfont_preview 目录是可以的。

把下面整段复制给 AI(Cursor / Claude / ChatGPT),它带着完整规则和你这次被拒的路径,
可以直接帮你改打包脚本:

我在给 CardputerZero AppStore 打一个 Debian 包(.deb),提交后被商店的安装路径检查拒绝了。
请帮我修改打包脚本(CMakeLists.txt / debian/rules / install 脚本 / Makefile,看项目里用的是哪种),
把文件装到合规位置,并同步更新 .desktop 里的 Exec 和 Icon、以及代码里读取资源文件的路径。

商店的规则(包名记作 PKG,比对时忽略 - _ . 的差异,所以 PKG 是 fontpreview 时目录叫 font_preview 也算合规):

允许安装到:
- usr/bin/<名字>:可执行文件,名字必须与包名相关(这是 Debian Policy 10.1 的标准位置)
- usr/share/<与包名相关的目录>/**:图片、字体、音频等只读资源
- usr/lib/<与包名相关的目录>/**:私有库、插件
- opt/<与包名相关的目录>/**:整体打包自带的目录
- etc/<与包名相关的目录>/** 或 etc/<与包名相关>.conf:配置文件(Debian conffile 惯例)
- var/lib/<与包名相关的目录>/**:运行时数据
- usr/share/APPLaunch/**:CardputerZero 启动器资源,且必须有 usr/share/APPLaunch/applications/<名字>.desktop
- usr/share/doc/**:文档
- lib/systemd/system/<与包名相关>.service 或 usr/lib/systemd/system/<同样>:服务名必须与包名相关,
  且 [Service] 段必须写 User=<非 root 用户>(商店拒绝以 root 运行的服务)

禁止:
- usr/local/** —— Debian Policy 9.1.2 明令禁止软件包写入
- 以 bin/ sbin/ lib/ lib32/ lib64/ libx32/ 开头的路径 —— Debian Policy 10.1(usr-merge 别名路径),请改用 usr/ 下的对应位置
- 直接散落在 usr/share/ 或 usr/lib/ 下的文件 —— 必须收进以包名命名的子目录
- 在 usr/bin/ 下建子目录
- 名字与包名无关的共享目录名、可执行文件名或服务名(这是为了防止覆盖系统文件)
- setuid/setgid 文件、设备文件

我的包名 PKG = czdev-selftest
这次被拒绝的路径:
usr/bin/ls
usr/local/bin/thing

请告诉我具体要改哪些文件、改成什么,以及资源路径在源码里怎么同步修改。

If you believe this is an error, contact a maintainer.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

✅ Package Validation Passed

All checks passed. Ready for maintainer review.

@github-actions
github-actions Bot merged commit b61c63e into CardputerZero:main Aug 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant