Skip to content

feat: store pipeline fixes from developer/reviewer feedback - #21

Merged
eggfly merged 1 commit into
mainfrom
store-review-fixes
Oct 26, 2026
Merged

eggfly merged 1 commit into
mainfrom
store-review-fixes

Conversation

@eggfly

@eggfly eggfly commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Source of the packages-repo workflows (synced in CardputerZero/packages, branch store-review-fixes; merge that one first). Merging this deploys dev.cardputer.cc.

Changes

  • Install path policy (install_path_policy.py + browser copy in site/debparse.js, kept identical by test/installpath.test.js): Debian file-named slots allowed, udev exec keys rejected, strict package-name prefix.
  • Worker: POST /api/listing for store listing updates without a .deb; ~ and : both map to . in asset names.
  • Portal: "Edit store listing" button in My packages opens the store form for a published package (zh-CN / en / ja strings).
  • Workflows: package details table, safe branch and asset names, collision and manifest-edit checks, prune-staging.yml, takedown.yml, listing-update mode.
  • README: listing updates, staging cleanup, takedown policy.

Tests

22 of 25 pass locally. The 3 debparse fixture tests need dpkg-deb and run in the deploy CI.

🤖 Generated with Claude Code

- Install path policy: allow Debian file-named slots (etc/default, man,
  lintian overrides, bash-completion, tmpfiles.d, udev rules, logrotate.d);
  reject udev rules that RUN / PROGRAM / IMPORT{program}; a name must now
  start with the package name (closes sudoers.d / cron.d claims)
- Branch names safe for '~' and ':' versions; asset names map both to '.';
  reject versions whose asset name collides with a published one, and
  edits to published manifests
- Package details table (sizes, files, ELF) in portal PR bodies and czdev
  validation comments (deb_summary.py)
- prune-staging.yml: drop promoted, stale and orphaned staging assets
- Store listing updates without a new .deb: portal "edit store info",
  /api/listing, web-listing-update dispatch
- takedown.yml: admin takedown with binary deletion, reserved names in
  policy/takedowns.json and an owner notification issue

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@eggfly
eggfly merged commit 0729fab into main Oct 26, 2026
2 checks passed
@eggfly
eggfly deleted the store-review-fixes branch October 26, 2026 14:54
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