diff --git a/scripts/_common.sh b/scripts/_common.sh index 75c1b47..01640c8 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,4 +1,3 @@ #!/bin/bash - pkg_dependencies="build-essential cmake libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs postgresql bison " -ruby_build_dependencies="bison libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libyaml-dev pkg-config sqlite3 zlib1g-dev libgmp-dev libreadline-dev libssl-dev" +ruby_build_dependencies="bison libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libyaml-dev pkg-config sqlite3 zlib1g-dev libgmp-dev libreadline-dev libssl-dev libjemalloc-dev" diff --git a/scripts/bundle_app b/scripts/bundle_app index 333864d..c2c9c77 100644 --- a/scripts/bundle_app +++ b/scripts/bundle_app @@ -1,22 +1,22 @@ #!/bin/bash pushd $final_path/diaspora -# here we *absolutely* need bash (not dash) because dash does not understand what rvm puts in .profile -# (wtf rvm for assuming everybody uses bash as default shell??) -# we also need a login shell to make sure .profile is loaded -sudo -u $app /bin/bash --login << EOF -rvm use --default 2.4 -rvm 2.4 do gem install bundler:1.17.3 +echo 2.6.6 > .ruby-version # overwrite 2.4 default from diaspora because rbenv does not understand it +sudo -u $app --login << EOF +gem install bundler:1.17.3 +cd diaspora script/configure_bundler bin/bundle install --full-index --with=postgresql EOF -sudo -u $app /bin/bash --login << EOF +sudo -u $app --login << EOF +cd diaspora RAILS_ENV=production bundle exec rake db:migrate EOF #================================================= # ASSETS PRECOMPILATION #================================================= -sudo -u $app /bin/bash --login << EOF +sudo -u $app --login << EOF +cd diaspora RAILS_ENV=production bin/rake assets:precompile EOF popd diff --git a/scripts/install b/scripts/install index 4da125c..6f8b1b7 100755 --- a/scripts/install +++ b/scripts/install @@ -11,9 +11,6 @@ can_remove_db=0 can_remove_home=0 can_remove_user=0 -# flag to make clean_setup display rvm log if rvm build has failed -should_display_rvm_log=0 - #================================================= # GENERIC START #================================================= @@ -27,12 +24,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= # Exit if an error occurs during the execution of the script -ynh_clean_setup() { - # print rvm logs - if [ $should_display_rvm_log -eq 1 ]; then - find $final_path/.rvm/log/ -name make.log -exec cat {} \; - fi -} ynh_abort_if_errors #================================================= @@ -101,7 +92,7 @@ chown $app:www-data $final_path # INSTALL RVM AND RUBY FOR CURRENT USER #================================================= ynh_script_progression --message="Installing rvm and ruby..." --weight=240 -source ./install_rvm_ruby +source ./install_ruby #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE diff --git a/scripts/install_ruby b/scripts/install_ruby new file mode 100644 index 0000000..3cdbe0f --- /dev/null +++ b/scripts/install_ruby @@ -0,0 +1,18 @@ +#!/bin/bash +# some stuff we don't care about really. +# clone ynh_experimental helpers +pushd $final_path +if [ -x Experimental_helpers ]; then + pushd Experimental_helpers + git fetch + popd +else + git clone https://github.com/YunoHost-Apps/Experimental_helpers.git +fi +pushd Experimental_helpers +git checkout 606b60cf6bb3906d32020392f0a824d1f9971e96 +source ./ynh_install_ruby/ynh_install_ruby +popd +popd +ynh_install_ruby --ruby_version=2.6.6 + diff --git a/scripts/install_rvm_ruby b/scripts/install_rvm_ruby deleted file mode 100644 index bc0c87e..0000000 --- a/scripts/install_rvm_ruby +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# some stuff we don't care about really. -cp -v ../conf/piotr.kuczynski\@gmail.com.pgp ../conf/mpapis\@gmail.com.pgp $final_path -chown $app:$app $final_path/piotr.kuczynski\@gmail.com.pgp $final_path/mpapis\@gmail.com.pgp -sudo -u $app gpg --import $final_path/piotr.kuczynski\@gmail.com.pgp $final_path/mpapis\@gmail.com.pgp -pushd $final_path -sudo -u $app curl -sSL https://get.rvm.io | sudo -u $app bash -s stable -sudo -u $app $final_path/.rvm/bin/rvm autolibs read-fail -# avoid some issues where /tmp is not big enough -export TMPDIR=$final_path/.gcc_tmp -sudo -u $app mkdir -p $TMPDIR -# unfortunately no prebuilt for debian... this will be long -should_display_rvm_log=1 -sudo -u $app TMPDIR=$TMPDIR $final_path/.rvm/bin/rvm install 2.4 -should_display_rvm_log=0 -popd - diff --git a/scripts/remove b/scripts/remove index a73a452..10c18b7 100644 --- a/scripts/remove +++ b/scripts/remove @@ -87,6 +87,13 @@ if [ $can_remove_user -eq 1 ]; then ynh_system_user_delete $app fi +#================================================= +# REMOVE RUBY +#================================================= +ynh_script_progression --message="Remove ruby (if this is the last app using it)" +source $final_path/Experimental_helpers/ynh_install_ruby/ynh_install_ruby +ynh_remove_ruby + #================================================= # REMOVE APP MAIN DIR #================================================= diff --git a/scripts/restore b/scripts/restore index 1c379d3..90551d1 100644 --- a/scripts/restore +++ b/scripts/restore @@ -69,7 +69,7 @@ chown $app:www-data $final_path # INSTALL RVM AND RUBY FOR CURRENT USER #================================================= ynh_script_progression --message="Reinstalling rvm and ruby..." --weight=50 -source ./install_rvm_ruby +source ./install_ruby #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE