diff --git a/data/hooks/backup/05-system_ldap b/data/hooks/backup/05-system_ldap index 65c52fc7..9ef09b11 100644 --- a/data/hooks/backup/05-system_ldap +++ b/data/hooks/backup/05-system_ldap @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/ldap" mkdir -p $backup_dir diff --git a/data/hooks/backup/08-system_ssh b/data/hooks/backup/08-system_ssh index 617eee0f..e5f2570e 100644 --- a/data/hooks/backup/08-system_ssh +++ b/data/hooks/backup/08-system_ssh @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/ssh" mkdir -p $backup_dir diff --git a/data/hooks/backup/11-system_mysql b/data/hooks/backup/11-system_mysql index e5ff07c5..984d52a6 100644 --- a/data/hooks/backup/11-system_mysql +++ b/data/hooks/backup/11-system_mysql @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/mysql" mkdir -p $backup_dir diff --git a/data/hooks/backup/14-system_ssowat b/data/hooks/backup/14-system_ssowat index f4ec8c42..fbb78f19 100644 --- a/data/hooks/backup/14-system_ssowat +++ b/data/hooks/backup/14-system_ssowat @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/ssowat" mkdir -p $backup_dir diff --git a/data/hooks/backup/17-system_home b/data/hooks/backup/17-system_home index 13414a75..b73b2dff 100644 --- a/data/hooks/backup/17-system_home +++ b/data/hooks/backup/17-system_home @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/home" mkdir -p $backup_dir diff --git a/data/hooks/backup/20-system_yunohost b/data/hooks/backup/20-system_yunohost index 22d556c6..e49b5289 100644 --- a/data/hooks/backup/20-system_yunohost +++ b/data/hooks/backup/20-system_yunohost @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/yunohost" mkdir -p $backup_dir diff --git a/data/hooks/backup/23-system_mail b/data/hooks/backup/23-system_mail index 2145c0bc..7fe210ce 100644 --- a/data/hooks/backup/23-system_mail +++ b/data/hooks/backup/23-system_mail @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/mail" sudo cp -a /var/mail/. $backup_dir diff --git a/data/hooks/backup/26-system_xmpp b/data/hooks/backup/26-system_xmpp index 836c7307..2b87644d 100644 --- a/data/hooks/backup/26-system_xmpp +++ b/data/hooks/backup/26-system_xmpp @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/xmpp" mkdir -p $backup_dir/{etc,var} diff --git a/data/hooks/backup/29-system_nginx b/data/hooks/backup/29-system_nginx index 6bbcae2c..97680912 100644 --- a/data/hooks/backup/29-system_nginx +++ b/data/hooks/backup/29-system_nginx @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/nginx" mkdir -p $backup_dir diff --git a/data/hooks/backup/32-system_cron b/data/hooks/backup/32-system_cron index b529b021..87a2a4f2 100644 --- a/data/hooks/backup/32-system_cron +++ b/data/hooks/backup/32-system_cron @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/cron" mkdir -p $backup_dir diff --git a/data/hooks/restore/05-system_ldap b/data/hooks/restore/05-system_ldap index 58ca04ea..f16225c3 100644 --- a/data/hooks/restore/05-system_ldap +++ b/data/hooks/restore/05-system_ldap @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/ldap" if [ -z "$2" ]; then diff --git a/data/hooks/restore/08-system_ssh b/data/hooks/restore/08-system_ssh index 09aaf9c9..bfe729f3 100644 --- a/data/hooks/restore/08-system_ssh +++ b/data/hooks/restore/08-system_ssh @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/ssh" sudo cp -a $backup_dir/. /etc/ssh diff --git a/data/hooks/restore/11-system_mysql b/data/hooks/restore/11-system_mysql index 28db5148..23293b15 100644 --- a/data/hooks/restore/11-system_mysql +++ b/data/hooks/restore/11-system_mysql @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/mysql" mysqlpwd=$(sudo cat /etc/yunohost/mysql) diff --git a/data/hooks/restore/14-system_ssowat b/data/hooks/restore/14-system_ssowat index df92fe10..15bae3c7 100644 --- a/data/hooks/restore/14-system_ssowat +++ b/data/hooks/restore/14-system_ssowat @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/ssowat" sudo cp -a $backup_dir/. /etc/ssowat diff --git a/data/hooks/restore/17-system_home b/data/hooks/restore/17-system_home index a90794ad..d005bed0 100644 --- a/data/hooks/restore/17-system_home +++ b/data/hooks/restore/17-system_home @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/home" sudo cp -a $backup_dir/. /home diff --git a/data/hooks/restore/20-system_yunohost b/data/hooks/restore/20-system_yunohost index 1bd33276..2ceb2ada 100644 --- a/data/hooks/restore/20-system_yunohost +++ b/data/hooks/restore/20-system_yunohost @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/yunohost" sudo cp -a $backup_dir/. /etc/yunohost diff --git a/data/hooks/restore/23-system_mail b/data/hooks/restore/23-system_mail index 39f6f933..ecef0ec1 100644 --- a/data/hooks/restore/23-system_mail +++ b/data/hooks/restore/23-system_mail @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/mail" sudo cp -a $backup_dir/. /var/mail diff --git a/data/hooks/restore/26-system_xmpp b/data/hooks/restore/26-system_xmpp index c1b4e360..70dc7e1c 100644 --- a/data/hooks/restore/26-system_xmpp +++ b/data/hooks/restore/26-system_xmpp @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/xmpp" sudo cp -a $backup_dir/etc/. /etc/metronome diff --git a/data/hooks/restore/29-system_nginx b/data/hooks/restore/29-system_nginx index 62810985..5ffaf5c1 100644 --- a/data/hooks/restore/29-system_nginx +++ b/data/hooks/restore/29-system_nginx @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/nginx" sudo cp -a $backup_dir/. /etc/nginx/conf.d diff --git a/data/hooks/restore/32-system_cron b/data/hooks/restore/32-system_cron index b1a53c3d..1e12d23b 100644 --- a/data/hooks/restore/32-system_cron +++ b/data/hooks/restore/32-system_cron @@ -1,5 +1,3 @@ -#!/bin/bash - backup_dir="$1/cron" sudo cp -a $backup_dir/. /etc/cron.d diff --git a/debian/postinst b/debian/postinst index 2ad81579..3106cfed 100644 --- a/debian/postinst +++ b/debian/postinst @@ -1,56 +1,86 @@ #!/bin/bash -TMP=/usr/share/yunohost/yunohost-config/moulinette +set -e -if [ ! -d /etc/yunohost ]; -then - mkdir -p /etc/yunohost -fi +do_configure() { + TMP=/usr/share/yunohost/yunohost-config/moulinette -# Allow users to access /media directory -if [ ! -d /etc/skel/media ]; -then - mkdir -p /media - ln -s /media /etc/skel/ -fi + if [ ! -d /etc/yunohost ]; + then + mkdir -p /etc/yunohost + fi -#Firewall -grep -q "UPNP:" /etc/yunohost/firewall.yml > /dev/null 2>&1 -if [[ $? -eq 0 ]] || [ ! -f /etc/yunohost/firewall.yml ]; -then - cp $TMP/firewall.yml /etc/yunohost/ -fi + # Allow users to access /media directory + if [ ! -d /etc/skel/media ]; + then + mkdir -p /media + ln -s /media /etc/skel/ + fi -# App fetchlist -if [ -f /etc/cron.d/yunohost-applist-yunohost ]; -then - sed -i "s/--no-ldap //g" /etc/cron.d/yunohost-applist-yunohost -fi + #Firewall + grep -q "UPNP:" /etc/yunohost/firewall.yml > /dev/null 2>&1 + if [[ $? -eq 0 ]] || [ ! -f /etc/yunohost/firewall.yml ]; + then + cp $TMP/firewall.yml /etc/yunohost/ + fi -# Service list -if [ ! -f /etc/yunohost/services.yml ]; -then - cp $TMP/services.yml /etc/yunohost/ -fi + # App fetchlist + if [ -f /etc/cron.d/yunohost-applist-yunohost ]; + then + sed -i "s/--no-ldap //g" /etc/cron.d/yunohost-applist-yunohost + fi -# Stop old API -ps aux | grep "yunohost.tac" | grep -qv grep -if [[ $? -eq 0 ]]; -then - killall twistd -fi + # Service list + if [ ! -f /etc/yunohost/services.yml ]; + then + cp $TMP/services.yml /etc/yunohost/ + fi -rm -rf /var/cache/moulinette/* -update-rc.d yunohost-api defaults -service yunohost-api restart + # Stop old API + ps aux | grep "yunohost.tac" | grep -qv grep + if [[ $? -eq 0 ]]; + then + killall twistd + fi -# Reload SSOwat conf if obsolete -if [ -f /etc/yunohost/installed ]; -then - yunohost firewall upnp | grep -qi "true" - if [[ $? -eq 0 ]]; - then - yunohost firewall upnp enable - fi - yunohost app ssowatconf -fi + rm -rf /var/cache/moulinette/* + update-rc.d yunohost-api defaults > /dev/null + service yunohost-api restart + + # Firewall + update-rc.d yunohost-firewall defaults > /dev/null + + # Reload SSOwat conf if obsolete + if [ -f /etc/yunohost/installed ]; + then + yunohost firewall upnp | grep -qi "true" + if [[ $? -eq 0 ]]; + then + yunohost firewall upnp enable + fi + yunohost app ssowatconf + fi +} + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + configure) + do_configure + ;; + abort-upgrade|abort-remove|abort-deconfigure) + ;; + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac diff --git a/debian/yunohost-api.init b/debian/yunohost-api.init index 11c92b74..3e75e159 100755 --- a/debian/yunohost-api.init +++ b/debian/yunohost-api.init @@ -6,6 +6,7 @@ # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop YunoHost API +# Description: Start/stop YunoHost API ### END INIT INFO DAEMON=/usr/bin/yunohost-api @@ -40,7 +41,7 @@ case "$1" in kill `ps aux | grep 'yunohost-api' | grep -v grep | grep -v stop | awk '{print $2}'` > /dev/null 2>&1 log_end_msg 0 ;; - restart) + restart|force-reload) logger "YunoHost API: Restarting" log_daemon_msg "Restarting API: YunoHost" if [ -f /var/run/yunohost-api.pid ]; then @@ -66,7 +67,7 @@ case "$1" in ;; *) logger "YunoHost API: Invalid usage" - echo "Usage: /etc/init.d/yunohost-api {start|stop|restart|status}" >&2 + echo "Usage: /etc/init.d/yunohost-api {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac diff --git a/debian/yunohost-firewall.init b/debian/yunohost-firewall.init index f16e1d6b..fd144349 100755 --- a/debian/yunohost-firewall.init +++ b/debian/yunohost-firewall.init @@ -6,6 +6,7 @@ # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop YunoHost firewall +# Description: Start/stop YunoHost firewall ### END INIT INFO DAEMON=/usr/bin/yunohost @@ -30,7 +31,7 @@ case "$1" in /usr/bin/yunohost firewall stop log_end_msg $? ;; - restart) + restart|force-reload) logger "YunoHost firewall: Restarting" log_daemon_msg "Restarting firewall: YunoHost" /usr/bin/yunohost firewall reload @@ -44,7 +45,7 @@ case "$1" in ;; *) logger "YunoHost API: Invalid usage" - echo "Usage: /etc/init.d/yunohost-api {start|stop|restart|status}" >&2 + echo "Usage: /etc/init.d/yunohost-api {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac diff --git a/lib/yunohost/__init__.py b/lib/yunohost/__init__.py old mode 100755 new mode 100644