|
@@ -97,151 +97,59 @@ parts:
|
|
|
- execstack
|
|
|
- nodejs
|
|
|
- npm
|
|
|
+ - p7zip-full
|
|
|
stage-packages:
|
|
|
- libfontconfig1
|
|
|
override-build: |
|
|
|
echo "Cleaning environment first"
|
|
|
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
|
|
|
- # Create the OpenAPI specification
|
|
|
rm -rf .build
|
|
|
- ## Use Meteor 1.8.x on Snap
|
|
|
- #rm -rf .meteor
|
|
|
- #mv .snap-meteor-1.8/.meteor .
|
|
|
- #mv .snap-meteor-1.8/package.json .
|
|
|
- #mv .snap-meteor-1.8/package-lock.json .
|
|
|
- ## Meteor 1.9.x has changes to Buffer() => Buffer.alloc(), so reverting those
|
|
|
- #mv .snap-meteor-1.8/cfs_access-point.txt fix-download-unicode/
|
|
|
- #mv .snap-meteor-1.8/export.js models/
|
|
|
- #mv .snap-meteor-1.8/wekanCreator.js models/
|
|
|
- #mv .snap-meteor-1.8/ldap.js packages/wekan-ldap/server/ldap.js
|
|
|
- #mv .snap-meteor-1.8/oidc_server.js packages/wekan-oidc/oidc_server.js
|
|
|
- rm -rf .snap-meteor-1.8
|
|
|
- #mkdir -p .build/python
|
|
|
- #cd .build/python
|
|
|
- #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 api2html@0.3.0
|
|
|
- #npm install -g mkdirp
|
|
|
- #api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
|
|
|
- #npm uninstall -g mkdirp
|
|
|
- #npm uninstall -g 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 .build
|
|
|
- meteor add standard-minifier-js --allow-superuser
|
|
|
- meteor npm install --allow-superuser
|
|
|
- meteor npm install --allow-superuser --save babel-runtime
|
|
|
+ chmod u+w *.json
|
|
|
+ npm install
|
|
|
meteor build .build --directory --allow-superuser
|
|
|
- cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
|
|
|
- #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 ../../../../
|
|
|
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
|
|
|
rm -rf .build/bundle/programs/web.browser.legacy
|
|
|
# Change to directory .build/bundle/programs/server
|
|
|
cd .build/bundle/programs/server
|
|
|
chmod u+w *.json
|
|
|
npm install
|
|
|
- npm install --allow-superuser --save babel-runtime
|
|
|
- #meteor npm install --save bcrypt
|
|
|
- # Change back to Wekan source directory
|
|
|
cd ../../../..
|
|
|
+ # Cleanup
|
|
|
+ cd .build/bundle
|
|
|
+ find . -type d -name '*-garbage*' | xargs rm -rf
|
|
|
+ find . -name '*phantom*' | xargs rm -rf
|
|
|
+ find . -name '.*.swp' | xargs rm -f
|
|
|
+ find . -name '*.swp' | xargs rm -f
|
|
|
+ cd ../..
|
|
|
+ # Add fibers multi arch
|
|
|
+ cd .build/bundle/programs/server/node_modules/fibers/bin
|
|
|
+ curl https://releases.wekan.team/fibers-multi.7z -o fibers-multi.7z
|
|
|
+ 7z x fibers-multi.7z
|
|
|
+ rm fibers-multi.7z
|
|
|
+ cd ../../../../../../..
|
|
|
+ # Copy to Snap
|
|
|
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/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
|
|
|
# Delete phantomjs that is in accounts-lockout
|
|
|
- rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
|
|
+ #rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
|
|
# Delete temporary files
|
|
|
- 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/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
|
|
|
# Meteor 1.8.x additional .swp remove
|
|
|
- rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-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
|
|
|
# Delete fibers for other archs
|
|
|
- rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/fibers/bin/linux-ia32*
|
|
|
+ #rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/fibers/bin/linux-ia32*
|
|
|
# ostrio tmp remove
|
|
|
- rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
|
|
+ #rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
|
|
|
|
|
organize:
|
|
|
README: README.wekan
|