Skip to content

publish: flint 0.0.50 - #142

Closed
marivaaldo wants to merge 1 commit into
CardputerZero:mainfrom
marivaaldo:publish/flint-0.0.50-1788641966
Closed

publish: flint 0.0.50#142
marivaaldo wants to merge 1 commit into
CardputerZero:mainfrom
marivaaldo:publish/flint-0.0.50-1788641966

Conversation

@marivaaldo

Copy link
Copy Markdown
Contributor

Package: flint

Field Value
Version 0.0.50
Architecture arm64
Maintainer marivaaldo marivaaldo@users.noreply.github.com
Size 3.9 MB
SHA-256 f1ba7eb767d0c10a7bd5874fff3524c8a11745b5fd8ad0c07d6ba7d1cd13f772
Manifest pool/main/flint/flint_0.0.50_arm64.deb.release.json
Binary flint_0.0.50_arm64.deb

Submitted via czdev publish. The .deb is hosted on the contributor's buffer release; CI verifies the sha256 and, on merge, promotes it into the official apt-pool release.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

❌ Package Validation Failed

  • flint_0.0.50_arm64.deb is missing usr/share/APPLaunch/applications/*.desktop
  • flint_0.0.50_arm64.deb installs files in disallowed locations:
    usr/local/bin/flint — Debian Policy 9.1.2 forbids packages installing into /usr/local (reserved for the sysadmin) / Debian Policy 9.1.2 禁止软件包写入 /usr/local(那是留给系统管理员的)
  • flint_0.0.50_arm64.deb has a dangerous pattern in maintainer script postinst
  • flint_0.0.50_arm64.deb has a dangerous pattern in maintainer script postrm
📁 Install path rules + a ready-to-paste AI prompt / 安装路径规则 + 可直接交给 AI 的提示词(点开)

We allow Debian's standard locations and only require that anything landing
in a shared directory carries your package name
, so an app cannot quietly
shadow system commands or other packages' files. -, _ and . are ignored
in the comparison, so package fontpreview may use a font_preview directory.
Copy the block below into an AI assistant (Cursor / Claude / ChatGPT); it
carries the full policy plus your rejected paths and can fix the packaging
scripts directly.

我们放行 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 = flint
这次被拒绝的路径:
usr/local/bin/flint

请告诉我具体要改哪些文件、改成什么,以及资源路径在源码里怎么同步修改。
(Assistant: reply in the same language the user speaks to you.)

Suggestions (non-blocking) / 建议(不阻断):

  • ⚠️ flint: consider adding description — shown in full on the detail page / 建议提供 description(详细描述),商店详情页会完整展示
  • ⚠️ flint: consider adding locales (localized title/summary) / 建议提供 locales(多语言 title/summary),商店会按用户语言展示

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

如果你认为这是误判,请联系维护者。

@marivaaldo marivaaldo closed this Sep 5, 2026
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