summaryrefslogtreecommitdiffstats
path: root/releases
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2019-08-06 20:31:12 +0300
committerLauri Ojansivu <x@xet7.org>2019-08-06 20:31:12 +0300
commit74a4b28313e9cfedcb927e4496c0dd3800b1e6f9 (patch)
tree77ef81ba611964ddf0cc14618b3bde8d99d25ab2 /releases
parentb9a25ecfaca067d0392c83d97a0deb65e6e296dd (diff)
downloadwekan-74a4b28313e9cfedcb927e4496c0dd3800b1e6f9.tar.gz
wekan-74a4b28313e9cfedcb927e4496c0dd3800b1e6f9.tar.bz2
wekan-74a4b28313e9cfedcb927e4496c0dd3800b1e6f9.zip
Use Meteor 1.6.0.1 dependencies on Snap.
Thanks to xet7 !
Diffstat (limited to 'releases')
-rw-r--r--releases/not-working-meteor-1.8-snapcraft.yaml262
1 files changed, 262 insertions, 0 deletions
diff --git a/releases/not-working-meteor-1.8-snapcraft.yaml b/releases/not-working-meteor-1.8-snapcraft.yaml
new file mode 100644
index 00000000..bf5d5ee8
--- /dev/null
+++ b/releases/not-working-meteor-1.8-snapcraft.yaml
@@ -0,0 +1,262 @@
+name: wekan
+version: '0'
+version-script: git describe --dirty --tags | cut -c 2-
+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
+
+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.0/multiverse/binary-amd64/mongodb-org-server_4.0.11_amd64.deb
+ plugin: dump
+ stage-packages: [libssl-dev]
+ filesets:
+ mongo:
+ - usr
+ - bin
+ - lib
+# stage:
+# - $mongo
+# prime:
+# - $mongo
+ wekan:
+ source: .
+ plugin: nodejs
+ node-engine: 8.16.0
+# node-packages:
+# - node-gyp
+# - node-pre-gyp
+# - fibers@4.0.1
+ build-packages:
+ - ca-certificates
+ - apt-utils
+ - bsdtar
+ - gnupg
+ - bzip2
+ ## - python3
+ - g++
+ - build-essential
+ - git
+ # - capnproto
+ - curl
+ - libcurl3
+ - php-curl
+ # - execstack
+ # - nodejs
+ # - npm
+ ## - python3-pip
+ ## - python3-venv
+ stage-packages:
+ - libfontconfig1
+ override-build: |
+ set -o xtrace
+ echo "Cleaning environment first"
+ rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
+ # Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
+ # https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
+ cp $(which tar) $(which tar)~
+ ln -sf $(which bsdtar) $(which tar)
+ # Create the OpenAPI specification
+ rm -rf .build
+ mkdir .build
+ ##mkdir -p .build/python
+ ##cd .build/python
+ ##python3 -m venv env
+ ##. ./env/bin/activate
+ ##pip3 install -U setuptools wheel
+ ##git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
+ ##cd esprima-python
+ ##python3 setup.py install
+ ##cd ../../..
+ ##mkdir -p ./public/api
+ ##python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
+ # we temporary need api2html and mkdirp
+ ##npm install -g --unsafe-perm api2html@0.3.0
+ ##npm install -g --unsafe-perm mkdirp
+ ##api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
+ ##npm uninstall -g --unsafe-perm mkdirp
+ ##npm uninstall -g --unsafe-perm api2html
+ # Node Fibers 100% CPU usage issue:
+ # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
+ # https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
+ # https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129
+ # Also see beginning of wekan/server/authentication.js
+ # import Fiber from "fibers";
+ # Fiber.poolSize = 1e9;
+ # OLD: Download node version 8.12.0 prerelease build => Official node 8.12.0 has been released
+ # Description at https://releases.wekan.team/node.txt
+ ##echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc
+ ##curl https://releases.wekan.team/node -o node
+ # Verify Fibers patched node authenticity
+ ##echo "Fibers 100% CPU issue patched node authenticity:"
+ ##grep node node-SHASUMS256.txt.asc | shasum -a 256 -c -
+ ##rm -f node-SHASUMS256.txt.asc
+ ##chmod +x node
+ ##mv node `which node`
+ # DOES NOT WORK: paxctl fix.
+ # Removed from build-packages: - paxctl
+ #echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
+ #paxctl -mC `which node`
+ #echo "Installing npm"
+ #curl -L https://www.npmjs.com/install.sh | sh
+ echo "Installing meteor"
+ curl https://install.meteor.com/ -o install_meteor.sh
+ #sed -i "s|RELEASE=.*|RELEASE=\"1.8.1-beta.0\"|g" install_meteor.sh
+ chmod +x install_meteor.sh
+ sh install_meteor.sh
+ rm install_meteor.sh
+ # REPOS BELOW ARE INCLUDED TO WEKAN REPO
+ #if [ ! -d "packages" ]; then
+ # mkdir packages
+ #fi
+ #if [ ! -d "packages/kadira-flow-router" ]; then
+ # cd packages
+ # git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
+ # cd ..
+ #fi
+ #if [ ! -d "packages/meteor-useraccounts-core" ]; then
+ # cd packages
+ # git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
+ # sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js
+ # cd ..
+ #fi
+ #if [ ! -d "packages/meteor-accounts-cas" ]; then
+ # cd packages
+ # git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
+ # cd ..
+ #fi
+ #if [ ! -d "packages/wekan-ldap" ]; then
+ # cd packages
+ # git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
+ # cd ..
+ #fi
+ #if [ ! -d "packages/wekan-scrollbar" ]; then
+ # cd packages
+ # git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
+ # cd ..
+ #fi
+ #if [ ! -d "packages/wekan_accounts-oidc" ]; then
+ # cd packages
+ # git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
+ # mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan-accounts-oidc
+ # mv meteor-accounts-oidc/packages/switch_oidc wekan-oidc
+ # rm -rf meteor-accounts-oidc
+ # cd ..
+ #fi
+ #if [ ! -d "packages/markdown" ]; then
+ # cd packages
+ # git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
+ # cd ..
+ #fi
+ rm -rf package-lock.json .build
+ #meteor add standard-minifier-js --allow-superuser
+ meteor npm install --allow-superuser --unsafe-perm
+ meteor build .build --directory --allow-superuser
+ cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
+ # Disable code coverage on Snap, because it crashes Wekan starting.
+ # https://github.com/wekan/wekan/issues/2533#issuecomment-513506939
+ #sed -i 's|Profile(fileInfo.path, func).apply(global, args);|//Profile(fileInfo.path, func).apply(global, args);|g' .build/bundle/programs/server/boot.js
+ # although it did not help, it said unable to find main function.
+ # Other option to fix would be to drop indexes at start of snap:
+ # https://stackoverflow.com/questions/24241742/drop-all-indexes-from-all-collections-in-a-mongodb-database-using-the-command-li
+ #Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
+ #https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
+ #https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
+ #cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
+ #rm -rf node_modules/bcrypt
+ #meteor npm install --save bcrypt
+ # Change from npm-bcrypt directory back to .build/bundle/programs/server directory.
+ #cd ../../../../
+ # Change to directory .build/bundle/programs/server
+ cd .build/bundle/programs/server
+ npm install --unsafe-perm
+ #meteor npm install --save bcrypt
+ # Change back to Wekan source directory
+ cd ../../../..
+ cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
+ cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
+ # rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
+ #rm $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
+ # rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
+ # rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
+ # Put back the original tar
+ mv $(which tar)~ $(which tar)
+ 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