Skip to content

Rewind exe analysis to the analyse-installshield feature (remove Qt & 7-Zip SFX)#30

Merged
Tom Plant (pl4nty) merged 0 commit into
mainfrom
claude/rebase-main-anthelion-6xsdzi
Jul 14, 2026
Merged

Rewind exe analysis to the analyse-installshield feature (remove Qt & 7-Zip SFX)#30
Tom Plant (pl4nty) merged 0 commit into
mainfrom
claude/rebase-main-anthelion-6xsdzi

Conversation

@pl4nty

Copy link
Copy Markdown
Member

Context

Request: "rebase main back to anthelion changes + 94da4ab (Suppress prompts when CI=true) + 0a32118 (feat/analyse-installshield-squashed)".

main (a61e6c7) is a merge of two lineages:

  • Devicie fork line — 42 commits on top of upstream 18616f9. The two named commits sit in the middle of this line: 94da4ab (20th from the tip) and 0a32118 (21st, directly below it). ~19 newer devicie commits are stacked above them.
  • Anthelion line — 30 commits, integrated via the #27 merge.

⚠️ This is a partial interpretation — please confirm the intended scope

A literal "reset the devicie line back to 94da4ab" (dropping all ~19 commits above it) turns out not to be achievable as a clean, buildable change, because those commits are deeply entangled with the anthelion integration and with each other:

  • serde_yaml vs serde-saphyr — the anthelion integration deliberately kept devicie's serde_yaml/serini and reverted anthelion's serde-saphyr (Cargo.toml, manifests/mod.rs, commands/submit.rs). Re-merging onto 94da4ab reintroduces serde-saphyr calls that won't compile (it isn't a dependency).
  • Vendored inno is dead — at 94da4ab, inno is patched to a vendor/inno git submodule whose commits no longer exist on the remote (git submodule update --init fails). Commit 00b46d0 later moved to the published inno/msi crates specifically to unbreak CI.
  • Compile-level fixes masked by the broken submodule00b46d0 also fixed a duplicated Installer { switches: … } struct field in msi/mod.rs, a keyring_core::Entry match in token.rs, and a fork-only inno API. Reverting these reintroduces hard compile errors against the published crates.
  • Clippy -D warnings — several files below the boundary use older idioms current clippy rejects (redundant_closure in sourceforge.rs, map_oris_none_or in vanity_url.rs, collapsible_if in prompts.rs).

Also note: this build environment's toolchain is Rust 1.94.1 but the crate needs rust-version = "1.95", so I could not build/clippy-verify locally — CI on this PR is the verification.

What this PR does (the buildable subset)

Rewinds the exe installer-analysis set back to the analyse-installshield feature (0a32118) by removing the two analysis features added after it — the cleanly separable, build-safe part of the rewind:

  • Removed the Qt (Qt Installer Framework) and SevenZipSfx variants, detection branches, and dispatch arms from ExeType/Exe.
  • Removed the qt and sevenzip_sfx modules and their re-exports.
  • Deleted src/analysis/installers/qt.rs and src/analysis/installers/sevenzip_sfx.rs.

Everything else (bug fixes, the published-crate build config, the anthelion integration) is retained so the tree still builds and passes clippy.

Question

Do you want:

  1. This scope — just drop the post-installshield analyse features (Qt, 7-Zip SFX)? or
  2. A deeper rewind — also drop the other devicie commits above 94da4ab (NSIS/Inno/Burn/MSI parser fixes, autoupdate concurrency, published-crate migration, locale-publisher, the winget-extraswinget-pkgs default change, etc.)?

If (2), several of those changes must be retained (or re-applied) for the tree to compile and pass CI, as detailed above — so the result won't be a byte-for-byte 94da4ab tree. Happy to iterate once you confirm the direction.

🤖 Generated with Claude Code


Generated by Claude Code

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