diff options
author | 2011-06-09 21:10:07 +0000 | |
---|---|---|
committer | 2011-06-09 21:10:07 +0000 | |
commit | efeb38a7c1235e045e0421a207e9ef19d61bd0c2 (patch) | |
tree | 623edb1f189c27f24d2396d25699450b1a3c55fb /app-misc/sabayonlive-tools/files/2.3/sabayonlive | |
parent | Deps and anaconda, imported from Sabayon (diff) | |
download | anaconda-overlay-efeb38a7c1235e045e0421a207e9ef19d61bd0c2.tar.gz anaconda-overlay-efeb38a7c1235e045e0421a207e9ef19d61bd0c2.tar.bz2 anaconda-overlay-efeb38a7c1235e045e0421a207e9ef19d61bd0c2.zip |
Fixed categories
Diffstat (limited to 'app-misc/sabayonlive-tools/files/2.3/sabayonlive')
-rwxr-xr-x | app-misc/sabayonlive-tools/files/2.3/sabayonlive | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/app-misc/sabayonlive-tools/files/2.3/sabayonlive b/app-misc/sabayonlive-tools/files/2.3/sabayonlive new file mode 100755 index 0000000..7ee4659 --- /dev/null +++ b/app-misc/sabayonlive-tools/files/2.3/sabayonlive @@ -0,0 +1,212 @@ +#!/sbin/runscript +# Copyright 2004-2009 Fabio Erculiani +# Distributed under the terms of the GNU General Public License v2 + +. /sbin/sabayon-functions.sh + +depend() { + after x-setup + before hald + before xdm +} + +prepare_fluxbox_locked_autologin() { + + # change default wm to fluxbox + echo "[Desktop]" > /home/${LIVE_USER}/.dmrc + echo "Session=fluxbox" >> /home/${LIVE_USER}/.dmrc + chown ${LIVE_USER} /home/${LIVE_USER}/.dmrc + # Change passwords for security + echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + +} + +my_setup_desktop() { + + # create LIVE_USER if it does not exist + sabayon_setup_live_user "${LIVE_USER}" "1000" + if [ "${?}" = "1" ]; then + # if user is already available, then setup skel + # Copy ${LIVE_USER} directory + rm -rf /home/${LIVE_USER} + cp /etc/skel /home/${LIVE_USER} -Rp + chown ${LIVE_USER}:users /home/${LIVE_USER} -R + fi + + liveinst_desktop="/usr/share/applications/liveinst.desktop" + liveinst_desktop_name="$(basename ${liveinst_desktop})" + if [ -f "${liveinst_desktop}" ]; then + [[ -d "/home/${LIVE_USER}/Desktop" ]] || mkdir -p /home/${LIVE_USER}/Desktop + cp "${liveinst_desktop}" /home/${LIVE_USER}/Desktop + chown ${LIVE_USER}:users /home/${LIVE_USER}/Desktop -R + chmod +x /home/${LIVE_USER}/Desktop/${liveinst_desktop_name} + rm -f /etc/skel/Desktop/Anaconda*.desktop + rm -f /home/${LIVE_USER}/Desktop/Anaconda*.desktop + fi + + # Disable memory eating services + rm -f /etc/xdg/autostart/hplip-systray.desktop + rm -f /etc/xdg/autostart/beagle-search-autostart.desktop + rm -f /etc/xdg/autostart/tracker*.desktop + rm -f /etc/xdg/autostart/magneto.desktop + rm -f /etc/xdg/autostart/beagled-autostart.desktop + rm -f /usr/share/autostart/magneto.desktop + rm -f /usr/share/autostart/nepomukserver.desktop + + # Remove broken entries in /etc/mtab + sed -i '/.*newroot.*/d' /etc/mtab + + # Create /media for removable devices + if [ ! -d /media ]; then + mkdir /media + chmod 755 /media + fi + + # Add sudo to gparted exec= + gparted_file="/home/${LIVE_USER}/Desktop/gparted.desktop" + if [ -f "${gparted_file}" ]; then + sed -i 's/Exec=/Exec=sudo /' "${gparted_file}" + fi + + # create /overlay, this way df -h won't bitch + [[ -d "/overlay" ]] || mkdir /overlay + +} + +my_setup_password() { + + cmdline_autoscramble_exist=$(cat /proc/cmdline | grep autoscramble) + if [ -n "$cmdline_autoscramble_exist" ]; then + echo + echo -e "\E[33;36m * \E[0m\E[01;36m Autoscrambling root passwords for S E C U R I T Y" + echo root:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo ${LIVE_USER}:\`pwgen -s 16\` | chpasswd > /dev/null 2>&1 + echo + fi + +} + +my_setup_keymap() { + + # Check if KEYMAP is forced by cmdline + cmdline_keymap_exist=$(cat /proc/cmdline | grep -i "KEYMAP=") + cmdline_keymap_isolinux_exist=$(cat /proc/cmdline | grep -i "console-setup/layoutcode=") + + if [ -n "$cmdline_keymap_isolinux_exist" ]; then + cmdline_keymap_exist="console-setup" + fi + + if [ -n "$cmdline_keymap_exist" ];then + + if [ "$cmdline_keymap_exist" == "console-setup" ]; then + # detect keymap + for word in `cat /proc/cmdline` ; do + case $word in + console-setup/layoutcode=*) + keymap_toset=$(echo $word | cut -d "=" -f 2) + ;; + console-setup/modelcode=*) + keymap_toset_model="-$(echo $word | cut -d "=" -f 2)" + ;; + esac + done + else + + # detect keymap + for word in `cat /proc/cmdline` ; do + case $word in + KEYMAP=*) + keymap_toset=$(echo $word | cut -d "=" -f 2) + ;; + keymap=*) + keymap_toset=$(echo $word | cut -d "=" -f 2) + ;; + esac + done + + fi + + if [ -n "$keymap_toset" ]; then + aggregated_keymap="${keymap_toset}${keymap_toset_model}" + /sbin/keyboard-setup-2 ${aggregated_keymap} all &> /dev/null + if [ "${?}" = "0" ]; then + /etc/init.d/keymaps restart --nodeps + fi + fi + + fi + +} + +my_wait_opengl_config() { + + echo -en "\E[33;36m * \E[0m \E[01;32m Waiting for Graphical Configurator to finish... \E[0m" + while [ -e "/etc/x-setup-configuration-running" ] + do + # waiting... + sleep 1 + done + echo -e "Done" + +} + +my_setup_locale() { + + cmdline_lang_exist=$(cat /proc/cmdline | grep -i "lang=") + cmdline_locale_exist=$(cat /proc/cmdline | grep -i "locale=") + + if [ -n "$cmdline_locale_exist" ]; then + cmdline_lang_exist="locale-setup" + fi + + if [ -n "$cmdline_lang_exist" ];then + + if [ "$cmdline_lang_exist" == "locale-setup" ]; then + # detect keymap + for word in `cat /proc/cmdline` ; do + case $word in + locale=*) + lang_toset=$(echo $word | cut -d "=" -f 2) + ;; + esac + done + else + for word in `cat /proc/cmdline` ; do + case $word in + LANG=*) + lang_toset=$(echo $word | cut -d "=" -f 2) + ;; + lang=*) + lang_toset=$(echo $word | cut -d "=" -f 2) + ;; + esac + done + fi + + # Setup Language + if [ -n "$lang_toset" ]; then + /sbin/language-setup $lang_toset &> /dev/null + fi + + fi + +} + +start() { + + my_setup_desktop + my_setup_password + my_setup_keymap + my_wait_opengl_config + # MOVED HERE TO AVOID RACE CONDITIONS ON WRITING /etc/profile.env variables + # Check if LANG is forced by cmdline + my_setup_locale + # setup autologin for all the supported Login managers + sabayon_setup_autologin + # override autostart stuff if required: + sabayon_setup_motd + sabayon_setup_vt_autologin + sabayon_setup_oem_livecd + +} |