diff --git a/user/loomio/APKBUILD b/user/loomio/APKBUILD deleted file mode 100644 index 38eb631..0000000 --- a/user/loomio/APKBUILD +++ /dev/null @@ -1,196 +0,0 @@ -# Maintainer: Antoine Martin (ayakael) -# Contributor: Jakub Jirutka -# Contributor: Antoine Martin (ayakael) -pkgname=loomio -pkgver=2.21.4 -_gittag=v$pkgver -pkgrel=0 -pkgdesc="A collaborative decision making tool" -url="https://github.com/loomio/loomio" -arch="x86_64" -license="MIT" -depends=" - postgresql - postgresql-contrib - python3 - redis - ruby3.2 - ruby3.2-bundler - ruby3.2-grpc - vips - npm - procps-ng - " -makedepends=" - cmd:chrpath - ruby3.2-dev - nodejs - openssl-dev - readline-dev - zlib-dev - libpq-dev - libffi-dev - imagemagick-dev - " -pkgusers="loomio" -pkggroups="loomio www-data" -install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade" -subpackages="$pkgname-openrc" -source=" - $pkgname-$pkgver.tar.gz::https://github.com/loomio/loomio/archive/refs/tags/v$pkgver.tar.gz - bin-wrapper.in - loomio.confd - loomio.logrotate - loomio.sidekiq.initd - loomio.vue.initd - loomio.initd - " -_prefix="usr/lib/webapps/loomio" - -export BUNDLE_DEPLOYMENT=true -export BUNDLE_FORCE_RUBY_PLATFORM=true -export BUNDLE_FROZEN=true -export BUNDLE_JOBS=${JOBS:-2} - -prepare() { - local sysgemdir=$(ruby -e 'puts Gem.default_dir') - - default_prepare - - # Allow use of any bundler - sed -i -e '/BUNDLED/,+1d' Gemfile.lock - - # Allow use of any platform - sed -i -e 's/PLATFORMS/PLATFORMS\n ruby/' Gemfile.lock - - # Some gems are broken, so we copy our fixed version - # instead of installing it from RubyGems using Bundler. - mkdir -p vendor/gems/grpc/src/ruby/lib/grpc - cp -r "$sysgemdir"/gems/grpc-*/* vendor/gems/grpc/ - cp "$sysgemdir"/specifications/grpc-*.gemspec \ - vendor/gems/grpc/grpc.gemspec - cp "$sysgemdir"/extensions/*/*/grpc-*/grpc/*.so \ - vendor/gems/grpc/src/ruby/lib/grpc/ -} - -build() { - local bundle_without='exclude development test' - - bundle config --local build.ffi --enable-system-libffi - bundle config --local build.vips --enable-system-libraries - bundle config --local build.nokogiri --use-system-libraries \ - --with-xml2-include=/usr/include/libxml2 \ - --with-xslt-include=/usr/include/libxslt - bundle config --local build.google-protobuf '-- --with-cflags=-D__va_copy=va_copy' - - msg "Installing Ruby gems..." - bundle config --local without "$bundle_without" - bundle config --local path "vendor/bundle" - - bundle install --no-cache - - msg "Precompiling static assets..." - bundle exec bootsnap precompile --gemfile app/ lib/ - - # Create executables in bin/*. - # See also https://github.com/bundler/bundler/issues/6149. - bundle binstubs --force bundler puma sidekiq - - # Remove faulty RPATH. - chrpath -d vendor/bundle/ruby/*/gems/*/lib/nokogiri/*/nokogiri.so - - # cp grpc so - cp vendor/gems/grpc/src/ruby/lib/grpc/grpc_c.so vendor/bundle/ruby/*/gems/grpc*/src/ruby/lib/grpc/. - rm -R vendor/bundle/ruby/*/gems/grpc*/src/ruby/lib/grpc/3* vendor/bundle/ruby/*/gems/grpc*/src/ruby/lib/grpc/2* - - msg "Installing npm modules..." - cd vue - # force as vite-plugin-yaml hasn't updated their peerDependencies list yet - npm ci --force - npm run build -} - -package() { - local destdir="$pkgdir/$_prefix" - local datadir="$pkgdir/var/lib/loomio" - local file dest - - # Make directories - install -dm 755 \ - "$(dirname $destdir)" \ - "$datadir" - - mkdir -p "$(dirname $destdir)" - cp -R "$builddir" "$destdir" - - cd "$destdir"/vendor/bundle/ruby/*/ - - # Remove tests, documentations and other useless files. - find gems/ \( -name 'doc' \ - -o -name 'spec' \ - -o -name 'test' \) \ - -type d -maxdepth 2 -exec rm -fr "{}" + - find gems/ \( -name 'README*' \ - -o -name 'CHANGELOG*' \ - -o -name 'CONTRIBUT*' \ - -o -name '*LICENSE*' \ - -o -name 'Rakefile' \ - -o -name '.*' \) \ - -type f -delete - - # Remove build logs and cache. - rm -rf build_info/ cache/ - find extensions/ \( -name gem_make.out -o -name mkmf.log \) -delete - - cd "$destdir" - - # Install and symlink config files. - for file in database.yml.postgresql puma.rb sidekiq.yml; do - dest="$(basename "${file/.postgresql/}")" - install -m640 -g loomio -D config/$file "$pkgdir"/etc/loomio/$dest - ln -sf /etc/loomio/$dest "$pkgdir"/$_prefix/config/${file/.postgrewsql/} - done - - # This file will be generated by the post-install script, just prepare symlink. - ln -sf /etc/loomio/secrets.yml config/secrets.yml - # These shouldn't be necessary, they are all configurable, but OmniBus - - cat > "$datadir"/.profile <<-EOF - export RAILS_ENV=production - export NODE_ENV=production - export EXECJS_RUNTIME=Disabled - EOF - - # Install wrapper scripts to /usr/bin. - local name; for name in rake rails; do - sed "s/__COMMAND__/$name/g" "$srcdir"/bin-wrapper.in \ - > "$builddir"/loomio-$name - install -m755 -D "$builddir"/loomio-$name "$pkgdir"/usr/bin/loomio-$name - done - - for file in $pkgname $pkgname.sidekiq $pkgname.vue; do - install -m755 -D "$srcdir"/$file.initd "$pkgdir"/etc/init.d/$file - done - - install -m644 -D "$srcdir"/loomio.confd \ - "$pkgdir"/etc/conf.d/loomio - - install -m644 -D "$srcdir"/loomio.logrotate \ - "$pkgdir"/etc/logrotate.d/loomio -} - -assets() { - depends="" - - amove $_prefix/public/assets -} - -sha512sums=" -72a1238c1eaa3b963bd20a09d4fc2e52798264779bdf06d3f32891f2880d246059c77381329d1274bfa5979a35740017f0ced324f88b205369e77335b403ffba loomio-2.21.4.tar.gz -6cd4bb030660a9f4697eeb7c6de3f7509558aab3651e68218583dfeea56634f3b9f58acb50c7c9a4188a38c19434a815dd6c347e30207c4c0ae028c8dcb6ccaf bin-wrapper.in -0f1c91fbd4b8099f0a115705d5af799e4492fa2a0fd54175f3bfbfb5be1122bd7fd73a7709695c7caf2dcc667f3b8715051c24f424472e1115753e43a38fdf50 loomio.confd -1ecb0717cd5f04b894467b21d226b98d8f83b8f62afbf8da7edd57973aeabb13d121e9061cc48aec7572b1c710e82c8b44a1cedc0a924efd4bc4a124b3afe9a8 loomio.logrotate -c5dae2b6f9a23853c3c7ac068d97a7b0269b1775f6e0169c3d8999ec67c2baf3545515ea21037e882d900b15a7abf9061dd5a584bdc82c347b54d8c134f6d7a4 loomio.sidekiq.initd -f774954d8b06aacab27af9593b1b12fbe18ec2d0593dd4f82e4d3dfbc7e325fb1a423347fd974a2ec6665776a6cfe85f255f4fd7493c97eb840f34eb7fbdb329 loomio.vue.initd -645637c4112ec91ec2ea6022713e77a8ee76c0f0a81f9adf1f9210b52a578e94b5b02f0b6244b173905f580f72dc362b5434c714aae11e3619f73af223891bb8 loomio.initd -" diff --git a/user/loomio/bin-wrapper.in b/user/loomio/bin-wrapper.in deleted file mode 100644 index fad9737..0000000 --- a/user/loomio/bin-wrapper.in +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -BUNDLE_DIR='/usr/lib/webapps/loomio' -export RAILS_ENV='production' -export NODE_ENV='production' -export EXECJS_RUNTIME='Disabled' - -cd $BUNDLE_DIR -install -m 700 -o loomio -g loomio -d "$(readlink ./tmp)" - -if [ "$(id -un)" != 'loomio' ]; then - exec su loomio -c '"$0" "$@"' -- bin/__COMMAND__ "$@" -else - exec bin/__COMMAND__ "$@" -fi diff --git a/user/loomio/loomio.confd b/user/loomio/loomio.confd deleted file mode 100644 index 890ad21..0000000 --- a/user/loomio/loomio.confd +++ /dev/null @@ -1,32 +0,0 @@ -# Configuration file for /etc/init.d/loomio and -# /etc/init.d/loomio.{vue,sidekiq} - -# Specify how many processes to create using sidekiq-cluster and which queue -# they should handle. Each whitespace-separated item equates to one additional -# Sidekiq process, and comma-separated values in each item determine the queues -# it works on. The special queue name "*" means all queues. -# Example: "* gitlab_shell process_commit,post_receive" -# See https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html. -#sidekiq_queue_groups="*" - -# Maximum threads to use with Sidekiq (default: 50, 0 to disable). -#sidekiq_max_concurrency= - -# Minimum threads to use with Sidekiq (default: 0). -#sidekiq_min_concurrency= - -# The number of seconds to wait between worker checks. -#sidekiq_interval= - -# Graceful timeout for all running processes. -#sidekiq_shutdown_timeout= - -# Run workers for all queues in sidekiq_queues.yml except the given ones. -#sidekiq_negate=no - -# Run workers based on the provided selector. -#sidekiq_queue_selector=no - -# Memory limit (in MiB) for the Sidekiq process. If the RSS (Resident Set Size) -# of the Sidekiq process exceeds this limit, a delayed shutdown is triggered. -#sidekiq_memkiller_max_rss=2000 diff --git a/user/loomio/loomio.initd b/user/loomio/loomio.initd deleted file mode 100644 index 864d102..0000000 --- a/user/loomio/loomio.initd +++ /dev/null @@ -1,39 +0,0 @@ -#!/sbin/openrc-run - -name="Loomio" -description="Meta script for starting/stopping all the Loomio components" -subservices="loomio.sidekiq loomio.vue" - -depend() { - use net -} - -start() { - local ret=0 - - ebegin "Starting all Loomio components" - local svc; for svc in $subservices; do - service $svc start || ret=1 - done - eend $ret -} - -stop() { - local ret=0 - - ebegin "Stopping all Loomio components" - local svc; for svc in $subservices; do - service $svc stop || ret=1 - done - eend $ret -} - -status() { - local ret=0 - - local svc; for svc in $subservices; do - echo "$svc:" - service $svc status || ret=1 - done - eend $ret -} diff --git a/user/loomio/loomio.logrotate b/user/loomio/loomio.logrotate deleted file mode 100644 index f7fd264..0000000 --- a/user/loomio/loomio.logrotate +++ /dev/null @@ -1,11 +0,0 @@ -/var/log/loomio/*.log { - compress - copytruncate - delaycompress - maxsize 10M - minsize 1M - missingok - sharedscripts - rotate 10 - weekly -} diff --git a/user/loomio/loomio.post-install b/user/loomio/loomio.post-install deleted file mode 100755 index 2e2fb10..0000000 --- a/user/loomio/loomio.post-install +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -set -eu - -group=loomio -config_file='/etc/loomio/config.yml' - -#if [ $(grep '@@SECRET_KEY@@' "$config_file") ]; then -# echo "* Generating random secret in $config_file" >&2 - -# secret_key="$(pwgen -s 50 1)" -# sed -i "s|@@SECRET_KEY@@|$secret_key|" "$config_file" -#fi - -if [ "${0##*.}" = 'post-upgrade' ]; then - cat >&2 <<-EOF - * - * To finish Loomio upgrade run: - * - * - EOF -else - cat >&2 <<-EOF - * - * 1. Adjust settings in /etc/loomio/config.yml. - * - * 2. Create database for loomio: - * - * psql -c "CREATE ROLE loomio PASSWORD 'top-secret' INHERIT LOGIN;" - * psql -c "CREATE DATABASE loomio OWNER loomio ENCODING 'UTF-8';" - * - EOF -fi diff --git a/user/loomio/loomio.post-upgrade b/user/loomio/loomio.post-upgrade deleted file mode 120000 index ec5bf9b..0000000 --- a/user/loomio/loomio.post-upgrade +++ /dev/null @@ -1 +0,0 @@ -loomio.post-install \ No newline at end of file diff --git a/user/loomio/loomio.pre-install b/user/loomio/loomio.pre-install deleted file mode 100644 index 612ce4c..0000000 --- a/user/loomio/loomio.pre-install +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# It's very important to set user/group correctly. - -loomio_dir='/var/lib/loomio' - -if ! getent group loomio 1>/dev/null; then - echo '* Creating group loomio' 1>&2 - - addgroup -S loomio -fi - -if ! id loomio 2>/dev/null 1>&2; then - echo '* Creating user loomio' 1>&2 - - adduser -DHS -G loomio -h "$loomio_dir" -s /bin/sh \ - -g "added by apk for loomio" loomio - passwd -u loomio 1>/dev/null # unlock -fi - -if ! id -Gn loomio | grep -Fq redis; then - echo '* Adding user loomio to group www-data' 1>&2 - - addgroup loomio www-data -fi - -exit 0 diff --git a/user/loomio/loomio.sidekiq.initd b/user/loomio/loomio.sidekiq.initd deleted file mode 100644 index fd3dd2d..0000000 --- a/user/loomio/loomio.sidekiq.initd +++ /dev/null @@ -1,32 +0,0 @@ -#!/sbin/openrc-run - -name="Loomio background workers Service" -root="/usr/share/webapps/loomio" -pidfile="/run/loomio-sidekiq.pid" -logfile="/var/log/loomio/sidekiq.log" - -depend() { - use net - need redis -} - -start() { - ebegin "Starting Loomio background workers" - - cd $root - - start-stop-daemon --start --background \ - --chdir "${root}" \ - --user="loomio" \ - --make-pidfile --pidfile="${pidfile}" \ - -1 "${logfile}" -2 "${logfile}" \ - --exec /usr/bin/env -- RAILS_ENV=production bundle exec rails s - eend $? -} - -stop() { - ebegin "Stopping Loomio background workers" - start-stop-daemon --stop \ - --pidfile=${pidfile} \ - eend $? -} diff --git a/user/loomio/loomio.vue.initd b/user/loomio/loomio.vue.initd deleted file mode 100644 index 8fffb40..0000000 --- a/user/loomio/loomio.vue.initd +++ /dev/null @@ -1,31 +0,0 @@ -#!/sbin/openrc-run - -name="$RC_SVCNAME" -cfgfile="/etc/conf.d/$RC_SVCNAME.conf" -pidfile="/run/$RC_SVCNAME.pid" -working_directory="/usr/share/bundles/loomio" -command="npm" -command_args="run serve" -command_user="loomio" -command_group="loomio" -start_stop_daemon_args="" -command_background="yes" -output_log="/var/log/loomio/$RC_SVCNAME.log" -error_log="/var/log/loomio/$RC_SVCNAME.err" - -depend() { - need redis - need postgresql -} - -start_pre() { - cd "$working_directory" - checkpath --directory --owner $command_user:$command_group --mode 0775 \ - /var/log/loomio \ - /var/lib/loomio -} - -stop_pre() { - ebegin "Killing child processes" - kill $(ps -o pid= --ppid $(cat $pidfile)) || true -}