From 5559975a02b8079f69607fc98659d041017ab015 Mon Sep 17 00:00:00 2001 From: Tobias Zimmermann Date: Mon, 16 Jan 2023 14:47:08 +0100 Subject: [PATCH] Initial WIP flatpak build Signed-off-by: Tobias Zimmermann --- .gitignore | 3 ++ flatpak/dev.k8slens.open-lens.yml | 54 +++++++++++++++++++++++++++++++ package.json | 10 ++++-- 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 flatpak/dev.k8slens.open-lens.yml diff --git a/.gitignore b/.gitignore index 8e9d6f3fe4..f0e26d3e51 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,6 @@ binaries/server/ docs/extensions/api site/ build/webpack/ +flatpak/.flatpak-builder/ +flatpak/builder/ +flatpak/generated-sources.json diff --git a/flatpak/dev.k8slens.open-lens.yml b/flatpak/dev.k8slens.open-lens.yml new file mode 100644 index 0000000000..3cc8721b87 --- /dev/null +++ b/flatpak/dev.k8slens.open-lens.yml @@ -0,0 +1,54 @@ +app-id: dev.k8slens.open-lens +runtime: org.freedesktop.Platform +runtime-version: '21.08' +sdk: org.freedesktop.Sdk +base: org.electronjs.Electron2.BaseApp +base-version: '21.08' +sdk-extensions: + - org.freedesktop.Sdk.Extension.node16 +command: run.sh +separate-locales: false +finish-args: + - --device=dri + - --filesystem=~/.k8slens + - --filesystem=~/.kube + - --share=ipc + - --share=network + - --socket=x11 + - --system-talk-name=org.freedesktop.login1 +build-options: + append-path: /usr/lib/sdk/node16/bin + env: + NPM_CONFIG_LOGLEVEL: info +modules: + - name: open-lens + buildsystem: simple + build-options: + env: + # DEBUG: electron-builder + XDG_CACHE_HOME: /run/build/open-lens/flatpak-node/cache + npm_config_cache: /run/build/open-lens/flatpak-node/npm-cache + npm_config_nodedir: /run/build/open-lens/flatpak-node/cache/node-gyp/19.0.4 + npm_config_offline: 'true' + build-commands: + # Install dependencies + - yarn install --offline + # Build the app + - | + . ../flatpak-node/electron-builder-arch-args.sh + yarn run --offline build:linux $ELECTRON_BUILDER_ARCH_ARGS --linux --dir + # Bundle app and dependencies + - cp -a dist/linux*unpacked /app/main + # Install app wrapper + - install -Dm755 -t /app/bin/ ../run.sh + subdir: main + sources: + - type: dir + path: .. + dest: main + - generated-sources.json + # Wrapper to launch the app + - type: script + dest-filename: run.sh + commands: + - zypak-wrapper.sh /app/main/open-lens "$@" diff --git a/package.json b/package.json index e05f484da9..2d35f9f2a0 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,9 @@ "version": "yarn run version-checkout && git add package.json && yarn run version-commit", "postversion": "git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version", "precreate-release-pr": "npx swc ./scripts/create-release-pr.ts -o ./scripts/create-release-pr.mjs", - "create-release-pr": "node ./scripts/create-release-pr.mjs" + "create-release-pr": "node ./scripts/create-release-pr.mjs", + "flatpak:install": "cd flatpak && flatpak-node-generator yarn ../yarn.lock && flatpak-builder builder dev.k8slens.open-lens.yml --install --force-clean --user", + "flatpak:run": "flatpak run dev.k8slens.open-lens" }, "config": { "k8sProxyVersion": "0.3.0", @@ -130,7 +132,11 @@ "build": { "generateUpdatesFilesForAllChannels": true, "files": [ - "static/**/*" + "static/**/*", + { + "from": "build/tray/", + "to": "./static/build/tray/" + } ], "afterSign": "build/notarize.js", "extraResources": [