Skip to content

feat(makefile): add make deploy target + BUNDLE_ID_SUFFIX#41

Open
tkgstrator wants to merge 1 commit into
masterfrom
feat/deploy-target
Open

feat(makefile): add make deploy target + BUNDLE_ID_SUFFIX#41
tkgstrator wants to merge 1 commit into
masterfrom
feat/deploy-target

Conversation

@tkgstrator

Copy link
Copy Markdown
Contributor

Summary

Mirror the same deploy tooling KiouForge grew (IPA-Patch/KiouForge#16):

  • Add make deploy target: build patched IPA → scp to device → trollstorehelper install force → launch app. Kept separate from Theos's install:: so make deploy does not also run the JB rootless .deb install.
  • Add BUNDLE_ID_SUFFIX — empty (default) keeps overwrite behaviour; setting e.g. BUNDLE_ID_SUFFIX=chinlan appends .chinlan to the bundle id at IPA build time, so the patched IPA installs side-by-side with the original App Store copy. INSTALLED_IPA_BUNDLE_ID composes the launch target automatically.
  • Plumb IPA_OUT so the deploy target knows where the packaged IPA lands, matching KiouForge's naming.
  • Bump shared submodule (7c78581c29a372) to pick up build_patched_ipa.sh --bundle-id-suffix support.

Dependencies

  • Depends on IPA-Patch/Kanade#16 (--bundle-id-suffix flag on build_patched_ipa.sh). The shared submodule pointer already references that PR's tip commit; merging this before Kanade#16 would leave a dangling reference.

Overrides

  • TROLLSTORE_HELPER — path to trollstorehelper (default: /var/jb/Applications/TrollStorePersistenceHelper.app/trollstorehelper)
  • INSTALLED_IPA_BUNDLE_ID — auto-composed from TARGET_BUNDLE_ID + BUNDLE_ID_SUFFIX
  • DEVICE_USER — SSH user (default: root)
  • THEOS_DEVICE_IP — already handled by existing .env include

Test plan

  • make deploy completes end-to-end on a JB device with TrollStore.
  • make deploy BUNDLE_ID_SUFFIX=chinlan installs side-by-side with an existing com.neconome.shogi app; open com.neconome.shogi.chinlan launches the patched copy.
  • make ipa (without BUNDLE_ID_SUFFIX) leaves CFBundleIdentifier unchanged — overwrite behaviour preserved.
  • Existing make chinlan, make jailed, make package install paths unaffected.

🤖 Generated with Claude Code

Mirror the same deploy tooling KiouForge grew: build the patched IPA,
scp it to the device, install via trollstorehelper install force, and
launch the app. Kept separate from Theos's install:: so `make deploy`
does not also trigger the JB rootless .deb install.

BUNDLE_ID_SUFFIX is empty by default (patched IPA overwrites the
original app). Setting e.g. BUNDLE_ID_SUFFIX=chinlan appends
".chinlan" to the bundle id at IPA build time so the patched IPA
installs side-by-side with the original App Store copy.
INSTALLED_IPA_BUNDLE_ID composes the launch target from
TARGET_BUNDLE_ID + suffix automatically.

Related overrides (.env-friendly):
  * TROLLSTORE_HELPER — /var/jb/Applications/TrollStorePersistenceHelper.
    app/trollstorehelper (stable rootless path)
  * INSTALLED_IPA_BUNDLE_ID — TARGET_BUNDLE_ID + optional suffix
  * DEVICE_USER — root

Also plumb IPA_OUT so the deploy target knows where the packaged IPA
lands, matching KiouForge's naming.

Requires the shared submodule bump (7c78581 → c29a372) so
build_patched_ipa.sh honours --bundle-id-suffix end-to-end.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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