diff --git a/.future-snap/old-snapcraft.yaml b/.future-snap/old-snapcraft.yaml new file mode 100644 index 000000000..78bdd53c0 --- /dev/null +++ b/.future-snap/old-snapcraft.yaml @@ -0,0 +1,155 @@ +name: wekan +version: git +summary: The open-source kanban +description: | + Wekan is an open-source and collaborative kanban board application. + + Whether you’re maintaining a personal todo list, planning your holidays with some friends, or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool to keep your things organized. They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most. + Depending on target environment, some configuration settings might need to be adjusted. + For full list of configuration options call: + $ wekan.help + +confinement: strict +grade: stable +base: core18 + +architectures: + - amd64 + +plugs: + mongodb-plug: + interface: content + target: $SNAP_DATA/shared + +hooks: + configure: + plugs: + - network + - network-bind + +slots: + mongodb-slot: + interface: content + write: + - $SNAP_DATA/share + +apps: + wekan: + command: wekan-control + daemon: simple + plugs: [network, network-bind] + + mongodb: + command: mongodb-control + daemon: simple + plugs: [network, network-bind] + + caddy: + command: caddy-control + daemon: simple + plugs: [network, network-bind] + + help: + command: wekan-help + + database-backup: + command: mongodb-backup + plugs: [network, network-bind] + + database-list-backups: + command: ls -al $SNAP_COMMON/db-backups/ + + database-restore: + command: mongodb-restore + plugs: [network, network-bind] + +parts: + mongodb: + source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.2/multiverse/binary-amd64/mongodb-org-server_4.2.2_amd64.deb + #https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.14.tgz + #https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.22.tgz + plugin: dump + stage-packages: [libssl1.0.0, libcurl3] + filesets: + mongo: + - usr + - bin + - lib + stage: + - $mongo + prime: + - $mongo + + wekan: + source: . + plugin: nodejs + node-engine: 14.19.0 + node-packages: + - node-gyp + - node-pre-gyp + - fibers + build-packages: + - ca-certificates + - apt-utils + - build-essential + - python + - python3 + - g++ + - capnproto + - curl + - libcurl3 + - execstack + - nodejs + - npm + stage-packages: + - libfontconfig1 + override-build: | + echo "Cleaning environment first" + rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules + rm -rf .build + echo "Installing meteor" + curl https://install.meteor.com/ -o install_meteor.sh + chmod +x install_meteor.sh + sh install_meteor.sh + rm install_meteor.sh + rm -rf .build + meteor add standard-minifier-js --allow-superuser + meteor npm install --allow-superuser + meteor npm install --allow-superuser --save babel-runtime + meteor build .build --directory --allow-superuser + cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js + cd .build/bundle/programs/server + npm install + npm install --allow-superuser --save babel-runtime + # Change back to Wekan source directory + cd ../../../.. + cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/ + cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/ + rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan + rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs + rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp + rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp + rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp + rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp + + organize: + README: README.wekan + prime: + - -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp + + helpers: + source: snap-src + plugin: dump + + caddy: + plugin: dump + source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off + source-type: tar + organize: + caddy: bin/caddy + CHANGES.txt: CADDY_CHANGES.txt + EULA.txt: CADDY_EULA.txt + LICENSES.txt: CADDY_LICENSES.txt + README.txt: CADDY_README.txt + stage: + - -init diff --git a/.future-snap/snapcraft.yaml b/.future-snap/snapcraft.yaml index 78bdd53c0..101cb6087 100644 --- a/.future-snap/snapcraft.yaml +++ b/.future-snap/snapcraft.yaml @@ -1,8 +1,9 @@ name: wekan -version: git -summary: The open-source kanban +version: '6.10' +base: core20 +summary: Open Source kanban description: | - Wekan is an open-source and collaborative kanban board application. + WeKan ® is an Open Source and collaborative kanban board application. Whether you’re maintaining a personal todo list, planning your holidays with some friends, or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool to keep your things organized. They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most. Depending on target environment, some configuration settings might need to be adjusted. @@ -11,10 +12,13 @@ description: | confinement: strict grade: stable -base: core18 architectures: - - amd64 + - build-on: amd64 + run-on: amd64 + + - build-on: arm64 + run-on: arm64 plugs: mongodb-plug: @@ -37,12 +41,14 @@ apps: wekan: command: wekan-control daemon: simple - plugs: [network, network-bind] + plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control] + restart-condition: on-failure mongodb: command: mongodb-control daemon: simple - plugs: [network, network-bind] + plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control] + restart-condition: on-failure caddy: command: caddy-control @@ -54,22 +60,25 @@ apps: database-backup: command: mongodb-backup - plugs: [network, network-bind] + plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control] database-list-backups: command: ls -al $SNAP_COMMON/db-backups/ database-restore: command: mongodb-restore - plugs: [network, network-bind] + plugs: [network, network-bind, mount-observe, system-observe, bluetooth-control] parts: mongodb: - source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.2/multiverse/binary-amd64/mongodb-org-server_4.2.2_amd64.deb - #https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.14.tgz - #https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.22.tgz plugin: dump - stage-packages: [libssl1.0.0, libcurl3] + source: + - on amd64: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-amd64/mongodb-org-server_4.4.12_amd64.deb + - on arm64: https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-arm64/mongodb-org-server_4.4.12_arm64.deb + stage-packages: + - libssl1.1 + - libcurl3-dev + - libcurl4-openssl-dev filesets: mongo: - usr @@ -81,61 +90,43 @@ parts: - $mongo wekan: - source: . - plugin: nodejs - node-engine: 14.19.0 - node-packages: - - node-gyp - - node-pre-gyp - - fibers + plugin: npm + source: + # TODO: Fix URLs to some allowed GitHub releases URL. + # Non-GitHub build server file urls are not allowed at 2022-03-02 and later. + - on amd64: https://wekan.github.io/wekan-latest-x64.zip + - on arm64: https://wekan.github.io/raspi3/wekan-latest-arm64.zip + npm-node-version: 14.19.0 +# node-packages: +# - node-gyp +# - node-pre-gyp +# - fibers build-packages: - - ca-certificates - - apt-utils - - build-essential - - python - - python3 - - g++ - - capnproto - - curl - - libcurl3 - - execstack - - nodejs - - npm - stage-packages: - - libfontconfig1 + - npm +# - build-essential +# - ca-certificates +# - apt-utils +# - python +# - python3 +# - g++ +# - capnproto +# - curl +# - execstack +# - nodejs +# - npm + - p7zip-full +# stage-packages: +# - libfontconfig1 override-build: | - echo "Cleaning environment first" - rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules - rm -rf .build - echo "Installing meteor" - curl https://install.meteor.com/ -o install_meteor.sh - chmod +x install_meteor.sh - sh install_meteor.sh - rm install_meteor.sh - rm -rf .build - meteor add standard-minifier-js --allow-superuser - meteor npm install --allow-superuser - meteor npm install --allow-superuser --save babel-runtime - meteor build .build --directory --allow-superuser - cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js - cd .build/bundle/programs/server - npm install - npm install --allow-superuser --save babel-runtime - # Change back to Wekan source directory - cd ../../../.. - cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/ - cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/ - rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan - rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs - rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp - rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp - rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp - rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp - + cp -r bundle/* $SNAPCRAFT_PART_INSTALL/ + cp bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/ + rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan + snapcraftctl build organize: README: README.wekan prime: - -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp + - -lib/node_modules/weka* helpers: source: snap-src @@ -143,8 +134,15 @@ parts: caddy: plugin: dump - source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off - source-type: tar + ## Caddy v1 is not developed anymore. TODO: Sometime migrate to Caddy v2. + ## https://caddy.community/t/caddyfile-v1-adapter/9129 + ## https://github.com/caddyserver/caddy/tree/v1 + #source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off + #source-type: tar + # Using last working binary that was downloaded from above URL to Wekan Snap, + # and .txt files from https://github.com/caddyserver/caddy/tree/v1/dist + source: https://wekan.github.io/caddy-v1-linux-amd64.7z + source-type: 7z organize: caddy: bin/caddy CHANGES.txt: CADDY_CHANGES.txt