#!/bin/bash #Generating the paipix Makefile if [ ! -f /usr/bin/make ] ; then sudo apt-get --yes install make fi mkdir -p tmp echo -e "#!/usr/bin/make -f\n# -*- makefile -*-\n#" > Makefile ARCH=`dpkg --print-architecture` echo "ARCH=$ARCH" >> Makefile CODENAME=`lsb_release -sc` echo "CODENAME=$CODENAME" >> Makefile Dist=`lsb_release -si` DIST=`echo $Dist | tr '[:upper:]' '[:lower:]'` echo "Dist=$Dist" >> Makefile echo "DIST=$DIST" >> Makefile if [ ! -f /usr/bin/g++ ] ; then sudo apt-get --yes install g++ fi STDCPP=`g++ -dumpversion` #STDCPP=${STDCPP%.*} echo "STDCPP=$STDCPP" >> Makefile #if [ ! -f /usr/bin/check-language-support ] ; then # sudo apt-get --yes install check-language-support #fi LANGSUPPORT='' if [ -f templates/LANGSUPPORT ] ; then source templates/LANGSUPPORT else if [ -f /usr/bin/check-language-support ] ; then LLANG=${LANG%.*} echo "LLANG=$LLANG" >> Makefile LANGSUPPORT=`check-language-support -l en_US` LANGSUPPORT="$LANGSUPPORT `check-language-support -l $LLANG`" LANGSUPPORT=${LANGSUPPORT//openoffice.org-hyphenation/} #LANGSUPPORT=${LANGSUPPORT//myspell-pt-pt/} #LANGSUPPORT=${LANGSUPPORT//myspell-pt/} echo "LANGSUPPORT=\"$LANGSUPPORT\"" > templates/LANGSUPPORT fi fi echo "LANGSUPPORT=$LANGSUPPORT" >> Makefile if [ "$DIST" == "ubuntu" ] then REPOS="main restricted universe multiverse" else REPOS="main non-free" fi echo "REPOS=\"$REPOS\"" >> Makefile if [ -f /usr/bin/kde4-config ] then KDE4PREFIX=`kde4-config --localprefix` else KDE4PREFIX=`kde-config --localprefix` fi echo "KDE4PREFIX=$KDE4PREFIX" >> Makefile USER=`whoami` echo "USER=$USER" >> Makefile echo "" >> Makefile ALL="update:" echo "$ALL" >> Makefile echo "" >> Makefile cat templates/Makefile.in >> Makefile echo -e "\npaipix-sources: \n\t@cp -f /etc/apt/sources.list tmp/sources.list\n\t@echo \"deb http://mirror.sim.ul.pt/${DIST}-paipix ${CODENAME} $REPOS\" >> tmp/sources.list\n\t@echo \"deb-src http://mirror.sim.ul.pt/${DIST}-paipix ${CODENAME} $REPOS\\\n\" >> tmp/sources.list\n\t@if ! (grep -q http://mirror.sim.ul.pt/${DIST}-paipix /etc/apt/sources.list) ; then sudo cp -f tmp/sources.list /etc/apt/sources.list ; fi\n" >> Makefile NXVER=4.5 NXSERREL=1 NXNODEREL=9 NXCLIREL=0 NXIP=download.nomachine.com echo -e "nxclient: \n\tcd tmp ; wget -N http://${NXIP}/download/${NXVER}/Linux/nomachine_${NXVER}.${NXCLIREL}_${NXSERREL}_${ARCH}.deb\n\tsudo dpkg -i tmp/nomachine_${NXVER}.${NXCLIREL}_${NXSERREL}_${ARCH}.deb" >> Makefile echo -e "nxserver: nxclient\n\tcd tmp ; wget -N http://${NXIP}/download/${NXVER}/Linux/nxnode_${NXVER}-${NXNODEREL}_${ARCH}.deb\n\tcd tmp ; wget -N http://${NXIP}/download/${NXVER}/Linux/FE/nxserver_${NXVER}-${NXSERREL}_${ARCH}.deb\n\tsudo gdebi tmp/nxnode_${NXVER}-${NXNODEREL}_${ARCH}.deb\n\tsudo dpkg -i tmp/nxserver_${NXVER}-${NXSERREL}_${ARCH}.deb \n\tsudo apt-get --yes install icewm\n\tif (! grep icewm /usr/NX/etc/node.cfg) ; then sed 's/CommandStartKDE/#CommandStartKDE/g' /usr/NX/etc/node.cfg > tmp/node.cfg ; echo \"CommandStartKDE = \\\"icewm-session\\\"\" >> tmp/node.cfg; sudo cp tmp/node.cfg /usr/NX/etc/node.cfg ; mkdir -p ${HOME}/.icewm ; cp -f templates/icewm.preferences ${HOME}/.icewm/preferences ; fi\n" >> Makefile #if [ "$ARCH" == "amd64" ] ; then #echo -e "nxclient: gdebi\n\tcd tmp ; wget -N http://${NXIP}/download/3.4.0/Linux/nxclient_3.4.0-7_x86_64.deb\n\tsudo gdebi tmp/nxclient_3.4.0-7_x86_64.deb\n" >> Makefile #echo -e "nxserver: nxclient \n\tcd tmp ; wget -N http://${NXIP}/download/3.4.0/Linux/nxnode_3.4.0-16_x86_64.deb\n\tcd tmp ; wget -N http://${NXIP}/download/3.4.0/Linux/FE/nxserver_3.4.0-17_x86_64.deb\n\tsudo gdebi tmp/nxnode_3.4.0-16_x86_64.deb\n\tsudo dpkg -i tmp/nxserver_3.4.0-17_x86_64.deb \n" >> Makefile #fi VBXVERSIONDIR=4.3.22 VBXVERSION=4.3_4.3.22-98236 VBXPACKVERSION=4.3.22-98236 #VBCODENAME="$CODENAME" VBCODENAME="raring" echo -e "virtualbox:\n\t@if [ -d /usr/share/virtualbox/ ] ; then sudo dpkg -P virtualbox-${VBXVERSIONDIR%.??} ; fi\n\tcd tmp ; wget -N http://download.virtualbox.org/virtualbox/${VBXVERSIONDIR}/virtualbox-${VBXVERSION}~${Dist}~${VBCODENAME}_${ARCH}.deb\n\tsudo gdebi tmp/virtualbox-${VBXVERSION}~${Dist}~${VBCODENAME}_${ARCH}.deb\n\tcd tmp ; wget -N http://download.virtualbox.org/virtualbox/${VBXVERSIONDIR}/Oracle_VM_VirtualBox_Extension_Pack-${VBXPACKVERSION}.vbox-extpack\n\tVBoxManage extpack uninstall Oracle\\ VM\\ VirtualBox\\ Extension\\ Pack\n\tcd tmp; VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-${VBXPACKVERSION}.vbox-extpack\n\tsudo useradd -G vboxusers ${USER}\n" >> Makefile #munpack -t message.eml echo -e "thunderbird:\n\tsudo apt-get --yes install thunderbird mpack" >> Makefile if [ "${LLANG}" == "pt_PT" ] || [ "${LC_NAME%.*}" == "pt_PT" ] ; then echo -e "\tsudo apt-get --yes install thunderbird-locale-pt-pt\n" >> Makefile ; fi echo -e "\n" >> Makefile echo -e "spell:" >> Makefile if [ "${LLANG}" == "pt_PT" ] || [ "${LC_NAME%.*}" == "pt_PT" ] ; then echo -e "\tsudo apt-get --yes install myspell-pt-pt hunspell-pt-pt\n" >> Makefile ; fi echo -e "\n" >> Makefile echo -e "language:" >> Makefile if [ "${LANGSUPPORT}" != " " ] ; then echo -e "\tsudo apt-get --yes install $LANGSUPPORT" >> Makefile ; fi if [ "${LLANG}" == "pt_PT" ] ; then echo -e "\tsudo apt-get --yes install kde-l10n-pt language-pack-kde-pt language-pack-pt \n" >> Makefile ; fi echo -e "\n" >> Makefile echo -e "libreoffice:\n\tsudo apt-get --yes install libreoffice libreoffice-pdfimport libreoffice-writer2latex pdftk pdfshuffler" >> Makefile if [ "${LANG%.*}" == "pt_PT" ] || [ "${LC_NAME%.*}" == "pt_PT" ]; then echo -e "\tsudo apt-get --yes install libreoffice-l10n-pt libreoffice-help-pt\n" >> Makefile ; fi echo -e "\n" >> Makefile echo -e "latex: latex-nolang" >> Makefile if [ "${LANG%.*}" == "pt_PT" ] || [ "${LC_NAME%.*}" == "pt_PT" ] ; then echo -e "\tsudo apt-get --yes install texlive-lang-portuguese\n" >> Makefile ; fi echo -e "\n" >> Makefile mkdir -p ${HOME}/.local/share/desktop-directories cp -f templates/*.directory ${HOME}/.local/share/desktop-directories mkdir -p ${HOME}/.local/share/applications mkdir -p ${HOME}/.config/menus cp -f templates/applications-kmenuedit.menu.template tmp/applications-kmenuedit.menu.old #deskinstall install-games "Install extra games" "Instala conjunto extra de jogos" "" deskinstall() { sed "s/%INSTALL%/$1/g;s/%NAME%/$2/g;s/%NAMEPT%/$3/g;s/%PATH%/\$\$HOME\/paipix_user\//g;s/%ICON%/$4/g" templates/template-install.desktop > ${HOME}/.local/share/applications/$1.desktop sed "s/%FILE-INSTALL%/$1.desktop<\/Filename>%FILE-INSTALL%/g" tmp/applications-kmenuedit.menu.old > tmp/applications-kmenuedit.menu cp -f tmp/applications-kmenuedit.menu tmp/applications-kmenuedit.menu.old } undeskinstall() { rm -f ${HOME}/.local/share/applications/$1.desktop } #deskapps apps "Install extra games" "Instala conjunto extra de jogos" "" deskapps() { sed "s/%APPS%/$1/g;s/%NAME%/$2/g;s/%NAMEPT%/$3/g;s/%PATH%/\$\$HOME\/paipix_user\//g;s/%ICON%/$4/g" templates/template-application.desktop > ${HOME}/.local/share/applications/$1.desktop sed "s/%APPS%/$1.desktop<\/Filename>%APPS%/g" tmp/applications-kmenuedit.menu.old > tmp/applications-kmenuedit.menu cp -f tmp/applications-kmenuedit.menu tmp/applications-kmenuedit.menu.old } #deskdocs docs "Install extra games" "Instala conjunto extra de jogos" "" deskdocs() { sed "s/%DOCS%/$1/g;s/%NAME%/$2/g;s/%NAMEPT%/$3/g;s/%PATH%/$5/g;s/%ICON%/$4/g" templates/template-documentation.desktop > ${HOME}/.local/share/applications/$1.desktop sed "s/%DOCS%/$1.desktop<\/Filename>%DOCS%/g" tmp/applications-kmenuedit.menu.old > tmp/applications-kmenuedit.menu cp -f tmp/applications-kmenuedit.menu tmp/applications-kmenuedit.menu.old } #deskconf config-printer "Configure printers (CUPS)" "Configura as inpressoras (CUPS)" "" deskconf() { sed "s/%INSTALL%/$1/g;s/%NAME%/$2/g;s/%NAMEPT%/$3/g;s/%PATH%/\$\$HOME\/paipix_user\//g;s/%ICON%/$4/g" templates/template.desktop > ${HOME}/.local/share/applications/$1.desktop sed "s/%FILE-CONFIGURE%/$1.desktop<\/Filename>%FILE-CONFIGURE%/g" tmp/applications-kmenuedit.menu.old > tmp/applications-kmenuedit.menu cp -f tmp/applications-kmenuedit.menu tmp/applications-kmenuedit.menu.old } #deskfix fix-X "Fix X after removing driver" "Corrigir a instalação do sistema X" "" deskfix() { sed "s/%INSTALL%/$1/g;s/%NAME%/$2/g;s/%NAMEPT%/$3/g;s/%PATH%/\$\$HOME\/paipix_user\//g;s/%ICON%/$4/g" templates/template.desktop > ${HOME}/.local/share/applications/$1.desktop sed "s/%FILE-FIX%/$1.desktop<\/Filename>%FILE-FIX%/g" tmp/applications-kmenuedit.menu.old > tmp/applications-kmenuedit.menu cp -f tmp/applications-kmenuedit.menu tmp/applications-kmenuedit.menu.old } # deskdisp 2display "Monitor display on top of laptop" "Imagem do monitor por cima do laptop" "" deskdisp(){ sed "s/%INSTALL%/$1/g;s/%NAME%/$2/g;s/%NAMEPT%/$3/g;s/%PATH%/\$\$HOME\/paipix_user\//g;s/%ICON%/$4/g" templates/template.desktop > ${HOME}/.local/share/applications/$1.desktop sed "s/%FILE-DISPLAY%/$1.desktop<\/Filename>%FILE-DISPLAY%/g" tmp/applications-kmenuedit.menu.old > tmp/applications-kmenuedit.menu cp -f tmp/applications-kmenuedit.menu tmp/applications-kmenuedit.menu.old }