diff --git a/scripts/.fonctions b/scripts/.fonctions index 7d9c54d..59e4f46 100644 --- a/scripts/.fonctions +++ b/scripts/.fonctions @@ -89,6 +89,27 @@ FIND_PORT () { # Search free port CHECK_VAR "$port" "port empty" } +SETUP_SOURCE () { # Download source, decompress and copu into $final_path + src=$(cat ../sources/source_md5 | awk -F' ' {'print $2'}) + sudo wget -nv -i ../sources/source_url -O $src + # Checks the checksum of the downloaded source. + # md5sum -c ../sources/source_md5 --status || ynh_die "Corrupt source" + # Decompress source + if [ "$(echo ${src##*.})" == "tgz" ]; then + tar -x -f $src + elif [ "$(echo ${src##*.})" == "zip" ]; then + unzip -q $src + else + false # Unsupported archive format. + fi + # Copy file source + sudo cp -a $(cat ../sources/source_dir)/. "$final_path/live" + # Copy additional file and modified + if test -e "../sources/ajouts"; then + sudo cp -a ../sources/ajouts/. "$final_path" + fi +} + ### REMOVE SCRIPT @@ -173,6 +194,15 @@ ynh_psql_create_db() { } +# Drop a role +# +# usage: ynh_mysql_drop_role db +# | arg: db - the database name to drop +ynh_psql_drop_role() { + sudo su -c "psql" postgres <<< \ + "DROP ROLE ${1};" +} + # Drop a database # # usage: ynh_mysql_drop_db db diff --git a/scripts/install b/scripts/install index 41d430e..11c3f1a 100644 --- a/scripts/install +++ b/scripts/install @@ -61,23 +61,32 @@ ynh_app_setting_set $app final_path $final_path # Install de Node.js pushd /opt -curl -sL https://deb.nodesource.com/setup_4.x | bash - +curl -sL https://deb.nodesource.com/setup_4.x | sudo bash - sudo apt-get -y install nodejs npm install -g yarn # Create DB without password +sudo systemctl restart postgresql ynh_psql_create_db_without_password "$app" # Download all Ruby source sudo git clone https://github.com/rbenv/rbenv.git $final_path/.rbenv -git clone https://github.com/rbenv/ruby-build.git $final_path/.rbenv/plugins/ruby-build -git clone https://github.com/tootsuite/mastodon.git $final_path/live +sudo git clone https://github.com/rbenv/ruby-build.git $final_path/.rbenv/plugins/ruby-build + +# Be king rewind (/var/cache/yunohost/from_file/scripts) +popd + +# Get Mastodon last version +sudo mkdir "${final_path}/live" +SETUP_SOURCE sudo chown -R $app: "${final_path}" # Install de rbenv sudo su - $app <> ~/.bashrc +echo 'export PATH="/opt/mastodon/.rbenv/bin:/opt/mastodon/live/bin:$PATH"' >> ~/.profile echo 'export PATH="/opt/mastodon/.rbenv/bin:/opt/mastodon/live/bin:$PATH"' >> ~/.bashrc echo 'eval "\$(rbenv init -)"' >> ~/.bashrc COMMANDS @@ -91,7 +100,7 @@ RCOMMANDS # Create symlink for ruby sudo ln -s /opt/mastodon/.rbenv/versions/2.3.1/bin/ruby /usr/bin/ruby || true -# # Install Mastodon +# Install Mastodon sudo su - $app <