Skip to content
Snippets Groups Projects
Commit b3355334 authored by Eric Vidal's avatar Eric Vidal :speech_balloon:
Browse files

adapt to scandir@-66serv 0.3.1. Avoid to erase user change at .xinitrc and .xsession at backup time

parent e0a4d501
Branches master
Tags 0.8.0
No related merge requests found
...@@ -7,11 +7,11 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then ...@@ -7,11 +7,11 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then
unset f unset f
fi fi
list=( $(ls -1 @PATH_ENVIRONMENT@) ) list=( $(ls -A1 @PATH_ENVIRONMENT@ | sort) )
for i in ${list[@]};do for i in ${list[@]};do
var=$(<@PATH_ENVIRONMENT@/${i}) var=( $(<@PATH_ENVIRONMENT@/${i}) )
for j in ${var[@]}; do for j in ${var[@]}; do
export ${j} export ${j}
done done
done done
...@@ -19,9 +19,9 @@ done ...@@ -19,9 +19,9 @@ done
## Try consolekit ## Try consolekit
if 66-which -q ck-launch-session; then if 66-which -q ck-launch-session; then
cmd="exec ck-launch-session $@" cmd="exec ck-launch-session $@"
else else
cmd="exec $@" cmd="exec $@"
fi fi
## Select the session to start ## Select the session to start
......
#!@BINDIR@/bash #!@BINDIR@/bash
list=( $(ls -1 @PATH_ENVIRONMENT@) ) list=( $(ls -A1 @PATH_ENVIRONMENT@ | sort) )
for i in ${list[@]};do for i in ${list[@]};do
var=$(<@PATH_ENVIRONMENT@/${i}) var=( $(<@PATH_ENVIRONMENT@/${i}) )
for j in ${var[@]}; do for j in ${var[@]}; do
export ${j} export ${j}
done done
done done
......
...@@ -16,76 +16,84 @@ home_env="${home}/${MOD_SERVICE_USERCONFDIR}svscan@${owner}" ...@@ -16,76 +16,84 @@ home_env="${home}/${MOD_SERVICE_USERCONFDIR}svscan@${owner}"
die(){ die(){
66-yeller -fc "${@}" 66-yeller -fc "${@}"
exit 111 exit 111
} }
check_empty_var(){ check_empty_var(){
name="${1}" var_value="${2}" name="${1}" var_value="${2}"
if [ -z "${var_value}" ]; then if [ -z "${var_value}" ]; then
die invalid value for variable: "${name}" die invalid value for variable: "${name}"
fi fi
} }
enable(){ enable(){
name="${1}" name="${1}"
66-yeller %benable%n service: "${name}" 66-yeller %benable%n service: "${name}"
touch "${MOD_MODULE_DIR}/service/${name}" || die "unable to enable ${MOD_MODULE_DIR}/service/${1}" touch "${MOD_MODULE_DIR}/service/${name}" || die "unable to enable ${MOD_MODULE_DIR}/service/${1}"
} }
disable(){ disable(){
name="${1}" name="${1}"
66-yeller %bdisable%n service: "${name}" 66-yeller %rdisable%n service: "${name}"
rm -f "${MOD_MODULE_DIR}/service/${name}" || die "disable to enable ${MOD_MODULE_DIR}/service/${1}" rm -f "${MOD_MODULE_DIR}/service/${name}" || die "disable to enable ${MOD_MODULE_DIR}/service/${1}"
} }
if execl-toc -X -V DISPLAY_MANAGER; then if execl-toc -X -V DISPLAY_MANAGER; then
check_empty_var "DISPLAY_MANAGER" "${DISPLAY_MANAGER}" check_empty_var "DISPLAY_MANAGER" "${DISPLAY_MANAGER}"
enable "display-manager@${DISPLAY_MANAGER}" enable "display-manager@${DISPLAY_MANAGER}"
66-yeller set environment at .xsession file to: %b"${home_env}"%n if ! [ -e "${MOD_SERVICE_ADMDIR}${DISPLAY_MANAGER}" ] && ! [ -e "${MOD_SERVICE_SYSDIR}${DISPLAY_MANAGER}" ]; then
sed -i "s:@PATH_ENVIRONMENT@:${home_env}:g" ".xsession" || die "unable to set environment directory at .xsession file" die "the ${DISPLAY_MANAGER} frontend service file do not exist on your system -- please install it and try again"
fi
if [ -e "${home}/.xsession" ]; then
66-yeller -W "move existing ${home}/.xsession file to ${home}/.xsession.bak" 66-yeller set environment at .xsession file to: %b"${home_env}"%n
mv "${home}/.xsession" "${home}/.xsession.bak" || exit 111 sed -i "s:@PATH_ENVIRONMENT@:${home_env}:g" ".xsession" || die "unable to set environment directory at .xsession file"
fi
if [ -e "${home}/.xsession" ]; then
66-yeller "create ${home}/.xsession" random=$(date +%M%N)
cp .xsession "${home}/" || exit 111 66-yeller -W "move existing ${home}/.xsession file to ${home}/.xsession-${random}.backup"
chown "${uid}":"${gid}" "${home}/.xsession" || exit 111 mv "${home}/.xsession" "${home}/.xsession-${random}.backup" || exit 111
fi
66-yeller "create ${home}/.xsession"
cp .xsession "${home}/" || exit 111
chown "${uid}":"${gid}" "${home}/.xsession" || exit 111
fi fi
if execl-toc -X -V CONSOLE_TRACKER; then if execl-toc -X -V CONSOLE_TRACKER; then
check_empty_var "CONSOLE_TRACKER" "${CONSOLE_TRACKER}" check_empty_var "CONSOLE_TRACKER" "${CONSOLE_TRACKER}"
if ! [ -e "${MOD_SERVICE_ADMDIR}${CONSOLE_TRACKER}" ] && ! [ -e "${MOD_SERVICE_SYSDIR}${CONSOLE_TRACKER}" ]; then
enable "console-tracker@${CONSOLE_TRACKER}" die "the ${CONSOLE_TRACKER} frontend service file do not exist on your system -- please install it and try again"
fi
enable "console-tracker@${CONSOLE_TRACKER}"
fi fi
if [ "${XDG_RUNTIME}" = "yes" ]; then if [ "${XDG_RUNTIME}" = "yes" ]; then
enable "mount-run@${owner}" enable "mount-run@${owner}"
else else
disable "mount-run@${owner}" disable "mount-run@${owner}"
fi fi
if execl-toc -X -V DESKTOP_CMDLINE; then if execl-toc -X -V DESKTOP_CMDLINE; then
check_empty_var "DESKTOP_CMDLINE" "${DESKTOP_CMDLINE}" check_empty_var "DESKTOP_CMDLINE" "${DESKTOP_CMDLINE}"
66-yeller set environment at .xinitrc file to: %b"${home_env}"%n 66-yeller set environment at .xinitrc file to: %b"${home_env}"%n
sed -i "s:@PATH_ENVIRONMENT@:${home_env}:g" ".xinitrc" || die "unable to set environment directory at .xinitrc file" sed -i "s:@PATH_ENVIRONMENT@:${home_env}:g" ".xinitrc" || die "unable to set environment directory at .xinitrc file"
66-yeller set commandline at .xinitrc file to: %b"${DESKTOP_CMDLINE}"%n 66-yeller set commandline at .xinitrc file to: %b"${DESKTOP_CMDLINE}"%n
sed -i "s:@DESKTOP_CMDLINE@:${DESKTOP_CMDLINE}:g" ".xinitrc" || die "unable to set environment directory at .xinitrc file" sed -i "s:@DESKTOP_CMDLINE@:${DESKTOP_CMDLINE}:g" ".xinitrc" || die "unable to set environment directory at .xinitrc file"
if [ -e "${home}/.xinitrc" ]; then if [ -e "${home}/.xinitrc" ]; then
66-yeller -W "move existing ${home}/.xinitrc file to ${home}/.xinitrc.bak" random=$(date +%M%N)
mv "${home}/.xinitrc" "${home}/.xinitrc.bak" || exit 111 66-yeller -W "move existing ${home}/.xinitrc file to ${home}/.xinitrc-${random}.backup"
fi mv "${home}/.xinitrc" "${home}/.xinitrc-${random}.backup" || exit 111
fi
66-yeller -c "create ${home}/.xinitrc"
cp .xinitrc "${home}/" || exit 111 66-yeller -c "create ${home}/.xinitrc"
chown "${uid}":"${gid}" "${home}/.xinitrc" || exit 111 cp .xinitrc "${home}/" || exit 111
chown "${uid}":"${gid}" "${home}/.xinitrc" || exit 111
fi fi
66-yeller "%bsuccessfully%n configured" 66-yeller "%bsuccessfully%n configured"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment