mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-24 11:10:25 +02:00
Electron apps share an identical upstream Electron binary, so its GNU build-id is the same across every Electron RPM (Slack, VS Code, Discord, etc.). The default fpm/rpm behavior owns /usr/lib/.build-id/<hash> symlinks, which collide between packages and make `dnf install` fail when any other Electron app is already installed. Pass `_build_id_links none` to rpmbuild via fpm so the multica-desktop RPM no longer claims those paths. Fixes multica-ai/multica#1723.
63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
appId: ai.multica.desktop
|
|
productName: Multica
|
|
directories:
|
|
buildResources: build
|
|
files:
|
|
- "!**/.vscode/*"
|
|
- "!src/*"
|
|
- "!electron.vite.config.*"
|
|
- "!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}"
|
|
- "!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}"
|
|
protocols:
|
|
- name: Multica
|
|
schemes:
|
|
- multica
|
|
asarUnpack:
|
|
- resources/**
|
|
mac:
|
|
entitlementsInherit: build/entitlements.mac.plist
|
|
target:
|
|
- dmg
|
|
- zip
|
|
# Hardcoded name avoids the `@multica/desktop-*` subdirectory that
|
|
# `${name}` produces for scoped package names.
|
|
# Naming scheme: multica-desktop-<version>-<platform>-<arch>.<ext>
|
|
# so the filename alone surfaces kind, version, platform, and CPU arch.
|
|
artifactName: multica-desktop-${version}-mac-${arch}.${ext}
|
|
# Notarize via notarytool. Requires APPLE_ID + APPLE_APP_SPECIFIC_PASSWORD
|
|
# + APPLE_TEAM_ID env vars at package time. Non-mac contributors are
|
|
# unaffected because `pnpm package` already requires the Developer ID
|
|
# signing cert — notarization is a strict superset.
|
|
notarize: true
|
|
dmg:
|
|
artifactName: multica-desktop-${version}-mac-${arch}.${ext}
|
|
linux:
|
|
target:
|
|
- AppImage
|
|
- deb
|
|
- rpm
|
|
artifactName: multica-desktop-${version}-linux-${arch}.${ext}
|
|
rpm:
|
|
# Disable RPM build-id symlinks. Electron apps embed the upstream Electron
|
|
# binary, whose GNU build-id is identical across every app shipping the same
|
|
# Electron version (Slack, VS Code, Discord, ...). Without this, our RPM
|
|
# would own /usr/lib/.build-id/<hash> paths and collide with any other
|
|
# Electron RPM already installed, breaking `dnf install` on Fedora/RHEL.
|
|
fpm:
|
|
- "--rpm-rpmbuild-define=_build_id_links none"
|
|
win:
|
|
target:
|
|
- nsis
|
|
artifactName: multica-desktop-${version}-windows-${arch}.${ext}
|
|
publish:
|
|
provider: github
|
|
owner: multica-ai
|
|
repo: multica
|
|
# Align with our CLI release flow which pre-creates a *published* GitHub
|
|
# Release via `gh release create`. The electron-builder default of
|
|
# `releaseType: draft` conflicts with `existingType=release` and causes
|
|
# uploads of the DMG/ZIP/blockmaps/latest-mac.yml to be silently skipped,
|
|
# which breaks electron-updater auto-update on installed clients.
|
|
releaseType: release
|
|
npmRebuild: false
|