Merge pull request #20 from YunoHost/use_generic_function_for_symlink_creation

[enh] use generic function for symlink creation.
This commit is contained in:
M5oul 2017-03-10 21:55:36 +01:00 committed by GitHub
commit e1f084feb5

101
ynh-dev
View file

@ -43,6 +43,15 @@ check_yunohost_vm() {
fi fi
} }
create_sym_link() {
# Remove current sources if not a symlink
if [ ! -L '$2' ]; then
sudo rm -rf $2
fi
# Symlink from Git repository
sudo ln -sfn $1 $2
}
packages=${@:2} packages=${@:2}
if [ "$#" = "1" ]; then if [ "$#" = "1" ]; then
packages=('moulinette' 'ssowat' 'yunohost' 'yunohost-admin') packages=('moulinette' 'ssowat' 'yunohost' 'yunohost-admin')
@ -182,36 +191,18 @@ elif [ "$1" = "use-git" ]; then
case ${packages[i]} in case ${packages[i]} in
ssowat) ssowat)
echo "Using Git repository for SSOwat" echo "Using Git repository for SSOwat"
# Remove current sources if not a symlink create_sym_link "/vagrant/ssowat" "/usr/share/ssowat"
if [ ! -L '/usr/share/ssowat' ]; then
sudo rm -rf /usr/share/ssowat
fi
# Symlink from Git repository
sudo ln -sfn /vagrant/ssowat /usr/share/ssowat
echo "↳ Don't forget to do 'sudo yunohost app ssowatconf' when hacking SSOwat" echo "↳ Don't forget to do 'sudo yunohost app ssowatconf' when hacking SSOwat"
echo "" echo ""
;; ;;
moulinette) moulinette)
if [ ! -L '/usr/share/moulinette/locale' ]; then sudo rm -rf /usr/share/moulinette/locale; fi create_sym_link "/vagrant/moulinette/locales" "/usr/share/moulinette/locale"
sudo ln -sfn /vagrant/moulinette/locales /usr/share/moulinette/locale create_sym_link "/vagrant/moulinette/moulinette/authenticators" "/usr/lib/python2.7/dist-packages/moulinette/authenticator"
create_sym_link "/vagrant/moulinette/moulinette/interfaces" "/usr/lib/python2.7/dist-packages/moulinette/interfaces"
if [ ! -L '/usr/lib/python2.7/dist-packages/moulinette/authenticators' ]; then sudo rm -rf /usr/lib/python2.7/dist-packages/moulinette/authenticators; fi create_sym_link "/vagrant/moulinette/moulinette/utils" "/usr/lib/python2.7/dist-packages/moulinette/utils"
sudo ln -sfn /vagrant/moulinette/moulinette/authenticators /usr/lib/python2.7/dist-packages/moulinette/authenticators create_sym_link "/vagrant/moulinette/moulinette/__init__.py" "/usr/lib/python2.7/dist-packages/moulinette/__init__.py"
create_sym_link "/vagrant/moulinette/moulinette/core.py" "/usr/lib/python2.7/dist-packages/moulinette/core.py"
if [ ! -L '/usr/lib/python2.7/dist-packages/moulinette/interfaces' ]; then sudo rm -rf /usr/lib/python2.7/dist-packages/moulinette/interfaces; fi create_sym_link "/vagrant/moulinette/moulinette/actionsmap.py" "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py"
sudo ln -sfn /vagrant/moulinette/moulinette/interfaces /usr/lib/python2.7/dist-packages/moulinette/interfaces
if [ ! -L '/usr/lib/python2.7/dist-packages/moulinette/utils' ]; then sudo rm -rf /usr/lib/python2.7/dist-packages/moulinette/utils; fi
sudo ln -sfn /vagrant/moulinette/moulinette/utils /usr/lib/python2.7/dist-packages/moulinette/utils
if [ ! -L '/usr/lib/python2.7/dist-packages/moulinette/__init__.py' ]; then sudo rm /usr/lib/python2.7/dist-packages/moulinette/__init__.py; fi
sudo ln -sfn /vagrant/moulinette/moulinette/__init__.py /usr/lib/python2.7/dist-packages/moulinette/__init__.py
if [ ! -L '/usr/lib/python2.7/dist-packages/moulinette/core.py' ]; then sudo rm /usr/lib/python2.7/dist-packages/moulinette/core.py; fi
sudo ln -sfn /vagrant/moulinette/moulinette/core.py /usr/lib/python2.7/dist-packages/moulinette/core.py
if [ ! -L '/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py' ]; then sudo rm /usr/lib/python2.7/dist-packages/moulinette/actionsmap.py; fi
sudo ln -sfn /vagrant/moulinette/moulinette/actionsmap.py /usr/lib/python2.7/dist-packages/moulinette/actionsmap.py
echo "↳ If you add files at the root of this directory /vagrant/moulinette/moulinette/ you should adapt ynh-dev" echo "↳ If you add files at the root of this directory /vagrant/moulinette/moulinette/ you should adapt ynh-dev"
echo "" echo ""
;; ;;
@ -219,50 +210,33 @@ elif [ "$1" = "use-git" ]; then
echo "Using Git repository for yunohost" echo "Using Git repository for yunohost"
# bin # bin
if [ ! -L '/usr/bin/yunohost' ]; then sudo rm /usr/bin/yunohost; fi create_sym_link "/vagrant/yunohost/bin/yunohost" "/usr/bin/yunohost"
sudo ln -sfn /vagrant/yunohost/bin/yunohost /usr/bin/yunohost create_sym_link "/vagrant/yunohost/bin/yunohost-api" "/usr/bin/yunohost-api"
if [ ! -L '/usr/bin/yunohost-api' ]; then sudo rm /usr/bin/yunohost-api; fi
sudo ln -sfn /vagrant/yunohost/bin/yunohost-api /usr/bin/yunohost-api
# data # data
if [ ! -L '/etc/bash_completion.d/yunohost' ]; then sudo rm /etc/bash_completion.d/yunohost; fi create_sym_link "/vagrant/yunohost/data/bash-completion.d/yunohost" "/etc/bash_completion.d/yunohost"
sudo ln -sfn /vagrant/yunohost/data/bash-completion.d/yunohost /etc/bash_completion.d/yunohost create_sym_link "/vagrant/yunohost/data/actionsmap/yunohost.yml" "/usr/share/moulinette/actionsmap/yunohost.yml"
if [ ! -L '/usr/share/moulinette/actionsmap/yunohost.yml' ]; then sudo rm /usr/share/moulinette/actionsmap/yunohost.yml; fi create_sym_link "/vagrant/yunohost/data/hooks" "/usr/share/yunohost/hooks"
sudo ln -sfn /vagrant/yunohost/data/actionsmap/yunohost.yml /usr/share/moulinette/actionsmap/yunohost.yml create_sym_link "/vagrant/yunohost/data/templates" "/usr/share/yunohost/templates"
if [ ! -L '/usr/share/yunohost/hooks' ]; then sudo rm -rf /usr/share/yunohost/hooks; fi create_sym_link "/vagrant/yunohost/data/helpers" "/usr/share/yunohost/helpers"
sudo ln -sfn /vagrant/yunohost/data/hooks /usr/share/yunohost/hooks create_sym_link "/vagrant/yunohost/data/helpers.d" "/usr/share/yunohost/helpers.d"
if [ ! -L '/usr/share/yunohost/templates' ]; then sudo rm -rf /usr/share/yunohost/templates; fi create_sym_link "/vagrant/yunohost/data/other" "/usr/share/yunohost/yunohost-config/moulinette"
sudo ln -sfn /vagrant/yunohost/data/templates /usr/share/yunohost/templates
if [ ! -L '/usr/share/yunohost/helpers' ]; then sudo rm /usr/share/yunohost/helpers; fi
sudo ln -sfn /vagrant/yunohost/data/helpers /usr/share/yunohost/helpers
if [ ! -L '/usr/share/yunohost/helpers.d' ]; then sudo rm -rf /usr/share/yunohost/helpers.d; fi
sudo ln -sfn /vagrant/yunohost/data/helpers.d /usr/share/yunohost/helpers.d
if [ ! -L '/usr/share/yunohost/yunohost-config/moulinette' ]; then sudo rm -rf /usr/share/yunohost/yunohost-config/moulinette; fi
sudo ln -sfn /vagrant/yunohost/data/other /usr/share/yunohost/yunohost-config/moulinette
# debian # debian
if [ ! -L '/usr/share/pam-configs/mkhomedir' ]; then sudo rm /usr/share/pam-configs/mkhomedir; fi create_sym_link "/vagrant/yunohost/debian/conf/pam/mkhomedir" "/usr/share/pam-configs/mkhomedir"
sudo ln -sfn /vagrant/yunohost/debian/conf/pam/mkhomedir /usr/share/pam-configs/mkhomedir
# lib # lib
if [ ! -L '/usr/lib/metronome/modules/ldap.lib.lua' ]; then sudo rm /usr/lib/metronome/modules/ldap.lib.lua; fi create_sym_link "/vagrant/yunohost/lib/metronome/modules/ldap.lib.lua" "/usr/lib/metronome/modules/ldap.lib.lua"
sudo ln -sfn /vagrant/yunohost/lib/metronome/modules/ldap.lib.lua /usr/lib/metronome/modules/ldap.lib.lua create_sym_link "/vagrant/yunohost/lib/metronome/modules/mod_auth_ldap2.lua" "/usr/lib/metronome/modules/mod_auth_ldap2.lua"
if [ ! -L '/usr/lib/metronome/modules/mod_auth_ldap2.lua' ]; then sudo rm /usr/lib/metronome/modules/mod_auth_ldap2.lua; fi create_sym_link "/vagrant/yunohost/lib/metronome/modules/mod_legacyauth.lua" "/usr/lib/metronome/modules/mod_legacyauth.lua"
sudo ln -sfn /vagrant/yunohost/lib/metronome/modules/mod_auth_ldap2.lua /usr/lib/metronome/modules/mod_auth_ldap2.lua create_sym_link "/vagrant/yunohost/lib/metronome/modules/mod_storage_ldap.lua" "/usr/lib/metronome/modules/mod_storage_ldap.lua"
if [ ! -L '/usr/lib/metronome/modules/mod_legacyauth.lua' ]; then sudo rm /usr/lib/metronome/modules/mod_legacyauth.lua; fi create_sym_link "/vagrant/yunohost/lib/metronome/modules/vcard.lib.lua" "/usr/lib/metronome/modules/vcard.lib.lua"
sudo ln -sfn /vagrant/yunohost/lib/metronome/modules/mod_legacyauth.lua /usr/lib/metronome/modules/mod_legacyauth.lua
if [ ! -L '/usr/lib/metronome/modules/mod_storage_ldap.lua' ]; then sudo rm /usr/lib/metronome/modules/mod_storage_ldap.lua; fi
sudo ln -sfn /vagrant/yunohost/lib/metronome/modules/mod_storage_ldap.lua /usr/lib/metronome/modules/mod_storage_ldap.lua
if [ ! -L '/usr/lib/metronome/modules/vcard.lib.lua' ]; then sudo rm /usr/lib/metronome/modules/vcard.lib.lua; fi
sudo ln -sfn /vagrant/yunohost/lib/metronome/modules/vcard.lib.lua /usr/lib/metronome/modules/vcard.lib.lua
# src # src
if [ ! -L '/usr/lib/moulinette/yunohost' ]; then sudo rm -rf /usr/lib/moulinette/yunohost; fi create_sym_link "/vagrant/yunohost/src/yunohost" "/usr/lib/moulinette/yunohost"
sudo ln -sfn /vagrant/yunohost/src/yunohost /usr/lib/moulinette/yunohost
# locales # locales
if [ ! -L '/usr/lib/moulinette/yunohost/locales' ]; then sudo rm -rf /usr/lib/moulinette/yunohost/locales; fi create_sym_link "/vagrant/yunohost/locales" "/usr/lib/moulinette/yunohost/locales"
sudo ln -sfn /vagrant/yunohost/locales /usr/lib/moulinette/yunohost/locales
echo "" echo ""
;; ;;
@ -291,12 +265,7 @@ elif [ "$1" = "use-git" ]; then
sudo su -c "gulp build --dev" vagrant sudo su -c "gulp build --dev" vagrant
echo "Using Git repository for yunohost-admin" echo "Using Git repository for yunohost-admin"
# Remove current sources if not a symlink create_sym_link "/vagrant/yunohost-admin/src" "/usr/share/yunohost/admin"
if [ ! -L '/usr/share/yunohost/admin' ]; then
sudo rm -rf /usr/share/yunohost/admin
fi
# Symlink from Git repository
sudo ln -sfn /vagrant/yunohost-admin/src /usr/share/yunohost/admin
echo "--------------------------------------------------------" echo "--------------------------------------------------------"
echo "Launching gulp ... " echo "Launching gulp ... "