Advertisement
barjac

Skype-installer v. 1.00

May 9th, 2011
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.73 KB | None | 0 0
  1. #!/bin/bash
  2. # Skype-installer
  3. v="Ver. 1.00"
  4. ##################
  5. # Description:
  6. # A combined Skype Installer and Uninstaller for Mageia.
  7. # Based in part on Skype4Mandriva by Megaf and adapted by barjac.
  8. # Uses aria2c as downloader and saves a copy of the tar.bz2 in ~/skype-tbz
  9. # which is not removed by the uninstaller. This saves bandwidth if a re-install
  10. # of the same version is required.
  11. # Also installs libv4l-wrappers required by most webcams to work with Skype
  12. # in Mageia and incorporates the module preload into the launcher.
  13. # This works equally well on i586 and x86_64.
  14. # An install log is created in /var/log/skype-installer.log
  15. ##################
  16. # Changelog:
  17. # Ver 1.00 10/05/2011 First version launched.
  18. #
  19. ##################
  20. # Use:
  21. # Save this file as "Skype-installer" and in the same directory run:-
  22. # chmod +x Skype-installer
  23. # To run this script from the same directory use:-
  24. #    su
  25. #    ./Skype-installer
  26. #
  27. ##################
  28. #
  29. #
  30. confirm()
  31. {
  32. par=("$@")
  33. rval=3
  34. while [[ $rval > 2 ]]; do
  35.     echo -n ${par[0]}" "${par[1]}" "
  36.     ans= ; rval=
  37.     read ans
  38.     if [[ -z $ans ]] || [[ ${#ans} > 1 ]]; then
  39.         rval=3
  40.     else
  41.         case $ans in
  42.             [${par[2]}]*)
  43.                 rval=0
  44.                 ;;
  45.             [${par[3]}]*)
  46.                 rval=1
  47.                 ;;
  48.             [${par[4]}]*)
  49.                 rval=2
  50.                 ;;
  51.             *)
  52.                 rval=3
  53.                 ;;
  54.         esac
  55.     fi
  56. done
  57.     return $rval
  58. }
  59.  
  60. chksu()
  61. {
  62. if [[ $UID != 0 ]] || [[ $USER = "root" ]]; then
  63.    echo "Sorry, you must run this as root. (Use su NOT su -)"
  64.    exit 1
  65. fi
  66. }
  67.  
  68. skypeun()
  69. {
  70. pkg=$(rpm -qa skype)
  71. [[ ${#pkg} = 0 ]] || urpme --auto -a skype >> /var/log/skype-installer.log
  72. rm -rf /opt/skype/ >> /var/log/skype-installer.log
  73. rm -f /usr/local/bin/skype >> /var/log/skype-installer.log
  74. rm -f /usr/share/icons/skype.png >> /var/log/skype-installer.log
  75. rm -f /usr/share/icons/SkypeBlue_48x48.png >> /var/log/skype-installer.log
  76. rm -f /usr/share/icons/SkypeBlue_16x16.png >> /var/log/skype-installer.log
  77. rm -f /usr/share/icons/SkypeBlue_32x32.png >> /var/log/skype-installer.log
  78. rm -f /usr/share/applications/skype.desktop >> /var/log/skype-installer.log
  79. rm -rf /tmp/skype-installer/ >> /var/log/skype-installer.log
  80. }
  81.  
  82. getskype()
  83. {
  84. echo "Downloading Skype latest version - Please be patient..." | tee -a /var/log/skype-installer.log
  85. mkdir /tmp/skype-installer >> /var/log/skype-installer.log
  86. aria2c -s1 -c -m0 "http://www.skype.com/go/getskype-linux-beta-dynamic" --dir=/home/$USER/skype-tbz >> /var/log/skype-installer.log
  87. cp /home/$USER/skype-tbz/$(ls --sort version --reverse /home/$USER/skype-tbz |grep -v aria |grep -m1 skype) /tmp/skype-installer/Skype-latest.tar.bz2 >> /var/log/skype-installer.log
  88. tar jxvf /tmp/skype-installer/Skype-latest.tar.bz2 -C /tmp/skype-installer/ >> /var/log/skype-installer.log
  89. }
  90.  
  91. getdeps()
  92. {
  93. echo "Installing dependencies" | tee -a /var/log/skype-installer.log
  94. urpmi --auto libasound.so.2 libXv.so.1 libXss.so.1 libQtDBus.so.4 libQtGui.so.4 libQtNetwork.so.4 libv4l-wrappers >> /var/log/skype-installer.log
  95. }
  96.  
  97. skypeinst()
  98. {
  99. echo "Installing Skype" | tee -a /var/log/skype-installer.log
  100. mkdir /opt/skype/ >> /var/log/skype-installer.log
  101. cp -axRf /tmp/skype-installer/skype-*/* /opt/skype/ >> /var/log/skype-installer.log
  102. cp -axf /opt/skype/icons/SkypeBlue_48x48.png /usr/share/icons/skype.png >> /var/log/skype-installer.log
  103. cp -axf /opt/skype/icons/* /usr/share/icons/ >> /var/log/skype-installer.log
  104. cp -axf /opt/skype/skype.desktop /usr/share/applications/ >> /var/log/skype-installer.log
  105. echo "LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so /opt/skype/skype --resources=/bin/skype/" > /usr/local/bin/skype && chmod +x /usr/local/bin/skype
  106. }
  107.  
  108. cleanup()
  109. {
  110. echo "Removing temporary files" | tee -a /var/log/skype-installer.log
  111. rm -rf /tmp/skype-installer/ >> /var/log/skype-installer.log
  112. }
  113.  
  114. exiterr()
  115. {
  116. echo "An error occurred - Check /var/log/skype-installer.log for clues"
  117. exit 1
  118. }
  119.  
  120. ########################## Get this show on the road ! #########################
  121.  
  122. clear
  123. echo "Skype Installer - "$v
  124. chksu
  125. confirm "(I)nstall latest Skype version, (U)ninstall Only or (Q)uit ?" "[I/U/Q]" "Ii" "Uu" "Qq"
  126. an=$?
  127. [[ $an > 1 ]] && exit 1
  128. rm -f /var/log/skype-installer.log
  129. if [[ $an = 0 ]]; then
  130. echo "Uninstalling previous version/s of Skype" | tee -a /var/log/skype-installer.log
  131. skypeun
  132. getskype
  133. getdeps
  134. skypeinst
  135. cleanup
  136. echo "Skype has been installed successfully" | tee -a /var/log/skype-installer.log
  137. else
  138. echo "Uninstalling Skype" | tee -a /var/log/skype-installer.log
  139. skypeun
  140. echo "Skype has been uninstalled - you may need to remove any manually created desktop launchers by hand." | tee -a /var/log/skype-installer.log
  141. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement