Search Forum FAQ Register Login
Welcome Guest!
Please login or register!

Linux Installation Guide

Linux Installation Guide

Postby posativ » Wed Oct 07, 2009 8:59 pm

:arrow: Oerlikon notes:
As of release Oerlikon (2010-05-05), we have a .deb-repository for Debian and derivatives (Ubuntu etc.). Detailled instructions are available on http://www.wuala.com/download/linux.

Also note that the file system integration is using Fuse since Release Seebach (beginning of March, 20101). Part of the instructions below may be obsolete/deprecated.

/Marcel

--------------------------

Installation

  1. Install Java (if not yet installed) - to check if installed, type 'java -version'.
    You need at least Java version 1.5.

    The simplest way is to use the package manager from you distribution:
    Debian/Ubuntu: sudo apt-get install sun-java6-jre (from non-free)
    OpenSuse: sudo zypper install [...]
    Arch Linux: sudo pacman -S jre (or openjdk6)

    Direct link to Java 1.6 update 3, 32-Bit version:
    http://javadl.sun.com/webapps/download/ ... leId=12791

    It is recommend to use Sun's JVM. The GUI version only runs with 32-Bit Java.

  2. Download the wuala.com/files/wuala.tar.gz and extract it to ~/wuala using your favourite file manager
    In commandline:

    cd ~
    wget http://wuala.com/files/wuala.tar.gz
    tar -xzf wuala.tar.gz
    chmod u+x wuala/wuala && chmod u+x wuala/wualacmd

    tsukasa has written a bash script for automated installing and removing of wuala:
    See http://forum.wuala.com/viewtopic.php?p=75#p75

  3. Setup file-system integration (optional)

    Execute the following command to add the necessary mount to your /etc/fstab:
    sudo echo "localhost:/wuala $HOME/wuala/direct nfs defaults,users,noauto,rsize=8192,wsize=8192,timeo=60,acregmin=10,noac,intr,nolock,soft" >> /etc/fstab

    Another way is to use rdirect's script: https://forum.wuala.com/viewtopic.php?p=390#p390

  4. Run Wuala

    • KDE 4: Menu Entry / Icon
      Rightlick on Kickup Application Starter -> Menu Editor -> Rightclick on the Internet Apps -> New Element -> Name it Wuala
      Now you can add to description : Wuala - Secure Online Storage and set an icon image (included in the .tar.gz)
      And add to command : ~/wuala/wuala
      Save your configuration and go to your Desktop.
      Rightlick on your Desktop and Unlock your Widgets. Now open your start menu and go to Internet -> Wuala. Drag and Drop it to your Desktop. That's all.
    • Gnome: Menu Entry / Icon
      RightClick on Menu -> Edit menus -> Internet -> New Item
      Name: Wuala
      Command: ~/wuala/wuala (or some alternative command, namely one of the scripts you've possibly created
      To set an icon, click an icon-button and navigate to image (or just drag and drop it).

Hints for Wuala on Linux:

  • Used Directories:
    ~/.config/ Wuala will put its configuration file Wuala.cfg there
    ~/wuala/ Default program directory. Start Wuala with -basepath PATH
    if you want it to use another one.
  • KDE4 Service Menu (and a complete guide for PLD Linux):
    http://pld-users.org/en/howtos/wuala.com-and-pld-linux


Links:
Effective Usage: Wuala on Ubuntu
Effective Usage: Control Wuala With Your Console
Effective Usage: Running Wuala on a Debian-based server
Ubuntu - Setting up Wuala [as daemon!]
posativ
Mastermind
 
Posts: 104
Joined: Fri Sep 18, 2009 2:03 pm
Location: Berlin

Re: Linux Installation Guide

Postby tsukasa » Thu Oct 08, 2009 6:35 am

...or you could use me' good ol' script to do the job for you... although it was designed to be used in repository packages to pull wuala from the web (yeah, the Debian workaround for non-free software :P ).

Execute it without root privileges to install it to your home directory and create a local (~/.local) menu entry. Execute as root (through sudo, preferred) and Wuala will be installed system wide, a global symlink will be created in /usr/bin (for wuala and wualacmd) and a global menu entry will be created.

Code: Select all
#!/bin/bash
#
# Wuala universal installation script
# tsukasa <tsukasa@tsukasa.eu>
#
# Detects various GNU/Linux distributions
# and tries to satisfy the dependencies.

# -- You may edit these values ---
activeuser="$(whoami)"     # Leave this as it is!
installbase="/opt"         # Install location base for system-wide install
installpath="$installbase" # Install location for system-wide install
installpathusr="$HOME"     # Install path for local install

usrbase="$HOME/wuala"      # Base path that will be branded into wuala

tmppath="/tmp"             # Your temporary directory

userdistro="unknown"       # Initialize distro variables
userdistrotype="unknown"   # Initialize distro variables

function installprereqs {
   # Only Debian-based stuff supported right now, bad luck, huh?
   if [ "$userdistrotype" != "unknown" ]; then
      if [[ $EUID -eq 0 ]]; then
         # -- add your distros here! --
         if [ "$userdistrotype" = "debian" ]; then
            aptitude install sun-java6-jre wget 2> /dev/null
            if [ $? -ne 0 ]; then
               echo "!! Error while installing dependencies. Aborting..."
               exit 1
            fi
         fi
         # -- /add your distros here! --
      else
         echo "** WARNING: You do not run this script as root!"
         echo "** This means I cannot install the dependencies for you"
         echo "** and this script may fail!"
         echo "!! Make sure to install WGET and SUN Java Runtime 1.6!"
      fi
   else
      echo "I cannot install packages for your distro."
      echo "Please make sure to install:"
      echo "- SUN Java Runtime 1.6"
      echo "- WGET"
   fi
}

# Rudimentary checks your GNU/Linux distribution
function checkdistro {
   userdistronam="unknown"
   userdistrover="unknown"
   userdistrotype="unknown"

   # If there's no lsb-release we have to fall back to good
   # old knowledge about distribution specific files.
   if [ -e "/etc/debian_version" ]; then
      userdistrover="$(cat /etc/debian_version)"
      userdistronam="Debian GNU/Linux"
      userdistrotype="debian"
   fi
   
   if [ -e "/etc/arch-release" ]; then
      userdistrover="$(cat /etc/arch-release)"
      userdistronam="Arch Linux"
      userdistrotype="unsupported"
   fi

   if [ -e "/etc/fedora-release" ]; then
      userdistrover="$(cat /etc/fedora-release)"
      userdistronam="Fedora"
      userdistrotype="redhat"
   fi

   if [ -e "/etc/gentoo-release" ]; then
      userdistrover="$(cat /etc/gentoo-release)"
      userdistronam="Gentoo"
      userdistrotype="unsupported"
   fi

   # Let the user know that we know that he knows that we know.
   if [ "$userdistronam" != "unknown" ]; then
      if [ "$userdistrover" != "unknown" ]; then
         echo "** I think you are using $userdistronam $userdistrover"
      else
         echo "!! I think you are using $userdistronam but do not know what version"
      fi
   else
      echo "!! I do not know what Linux distro you are using"
   fi
}

# --- No more editing from this point onwards ---
function downloadwuala {
   echo "** Downloading Wuala from official site..."

   if [ -e "$tmppath/wuala.tar.gz" ]; then
      echo "** Found old archive, deleting..."
      rm "$tmppath/wuala.tar.gz"
      if [ $? -ne 0 ]; then
         echo "!! Unable to delete old archive, please delete $tmppath/wuala.tar.gz manually!"
         echo "!! Run this script again after deleting the archive!"
         exit 1
      fi
   fi

   cd "$tmppath"
   wget -q -nv "http://wuala.com/files/wuala.tar.gz"

   if [ $? -eq 0 ]; then
      echo "** Download completed!"
   else
      echo "!! Download error, aborting installation!"
      exit 1
   fi
}

function downloadicon {
   echo "** Unpacking icon..."

   echo "iVBORw0KGgoAAAANSUhEUgAAAEkAAABJCAYAAABxcwvcAAAAIGNIUk0AAHolAACAgwAA+f8AAIDp" >  "$tmppath/wuala.png.base64"
   echo "AAB1MAAA6mAAADqYAAAXb5JfxUYAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCa" >> "$tmppath/wuala.png.base64"
   echo "nBgAAAAJdnBBZwAAAEkAAABJABw+EuEAAAywSURBVHja7ZxpbFTXGYafe2fujBcIiyEECCEbEBaH" >> "$tmppath/wuala.png.base64"
   echo "gB0DCQ42W8japIqitqqa/miULoqaNqpS9U/VH1VbNU3VVm0jVaoqdZGatkpLAsTgBdsYmy0QsDEG" >> "$tmppath/wuala.png.base64"
   echo "4hhjQ8AOXsAe+26nP84de8Yzd7Y7YJL2lZDQnXO/e77X7/nOd1aFG4y+8pLwf4PArcBsoACY4jzT" >> "$tmppath/wuala.png.base64"
   echo "AAMYBa4BnwA9wGXnGTNqDt7QOis3kJggcAdwN7ACWAwsBeY5BGmAH1ABGzAdsq4BF4BW4DTQDLQD" >> "$tmppath/wuala.png.base64"
   echo "ncDojSDsupHkEJMHLAJKgQ0OOQuAfA+mh4DzDlm1QD1wBhi+XoRllSSHGAWYBZQBzzgEzQN816H+" >> "$tmppath/wuala.png.base64"
   echo "FlJl9cC/gb1ALyCySVhWSIqIM7cCTwNfBorxpph0MQQcBv4CbEfGsKzEL88kRcSbjcD3gLVA7g0k" >> "$tmppath/wuala.png.base64"
   echo "ZyJCQBPwc6CaLMStjEmKaFrLgW8BzwMzJ5GcibgCvAX8FmjBQxPMiCSHIA34HPBDZEC+WdEM/Aj4" >> "$tmppath/wuala.png.base64"
   echo "D2BkQlRaJEXEngLg28A3kEH6Zkcv8HvgV8i8K61YpWbwwQXAL4HX+HQQhFPP15x6L0j35ZSV5Kho" >> "$tmppath/wuala.png.base64"
   echo "MfAG8BiZETzZsIFdwHeB06mqKSWSIgj6HbBpsj3NAqqAb5IiUQlJiohBC4A3gccn27ssYifwdWT2" >> "$tmppath/wuala.png.base64"
   echo "njBGpdJkCoAfI5vYZwmPOX4VJCvoSpKjogDwKvAFbtBg+AZCcfx6FQhEtJoYxCUp4oXnkG1Xm2yP" >> "$tmppath/wuala.png.base64"
   echo "rhM0x7/nJvgdhUTNbRnwA2DaZHtynTHN8XO5W4EYkhw2c4HvJHrxM4blwCtAbjw1RZEUUWAbciz2" >> "$tmppath/wuala.png.base64"
   echo "v4TnHb9jml285jYbeBm4ZVKqatuT8lnH35cd/6MwRlIEe08B66JKCSEr7/ZPCO9VFAIlLw//qmKU" >> "$tmppath/wuala.png.base64"
   echo "YDBrNtOs9zrH/yg1+ScUmoWcMMuJfKjMmo06bbprxcVAP/YnvaB4yBKEwF+8htyXXmb4jZ9iHmry" >> "$tmppath/wuala.png.base64"
   echo "bE+dMRNlhsvsjaJgD/QjPumNfJrj+L8dOSiOS1I5UDLxY9qqYnK++iIocVqnqmIeO0Lo168jhocy" >> "$tmppath/wuala.png.base64"
   echo "c0wIlNw8AhsfRZ07n8DWxzE/OAqmTkbpmRAQDBJ84Wtoa9fHb8LCZuRPf0Dfs2tinUscHv4RRVJE" >> "$tmppath/wuala.png.base64"
   echo "j/YME6dchcBsbUaMjuK76564ddJKyzDqqjEa6jImybfifvyrimWlikrwLV6C1Xwc1Mzs+ZcVEijb" >> "$tmppath/wuala.png.base64"
   echo "jDJtetwi1kcfYrY2S0Kj65wPPAu821deEppRczAqcC9CrmhEQ1Wxu7vQqypcm5uSl09g21MoeXnp" >> "$tmppath/wuala.png.base64"
   echo "OwQQCBDYuBVl6lT5yZkFBDZsAl9mawdKMEjg0SdcCUII9KoK7O4uUOOmihuQA3pZn4gfSoHb4hq1" >> "$tmppath/wuala.png.base64"
   echo "bYzaKqyOdteK+VcV4X+gKP3eybbx3bMI/4Nrox5rDz2C7447M7O3vBBtzUOuRayOdozaqkS25wCP" >> "$tmppath/wuala.png.base64"
   echo "jJEUMUYrx23ZR1Wxu7pkc3JT05SpUk35U9Lrmfx+AmWbUWdF97zqvPlo6zeAmp6alJxcAlufRJk+" >> "$tmppath/wuala.png.base64"
   echo "w4VEC716dyIV4fBQhjOmC5daSLLsWtgY1buxL3a7+1tUItWUKkm2je+OhWil5XG8VdA2bEKdfWt6" >> "$tmppath/wuala.png.base64"
   echo "9pYXoq192L3IxYuY9TWpKHSZw8sYSXcjl6DdoapYnR0YNZWuRZT8fALbnkCZkqKafCra+jLU2+bG" >> "$tmppath/wuala.png.base64"
   echo "//nOu9EeKk3NlhAoubkEtj6BMn26azGjthKr63wiFYURXpIfI2kFckk6MUxTBrwLXa5F/EUl+O9f" >> "$tmppath/wuala.png.base64"
   echo "ndwxIVBnz0FbX+ZeYb8frWwTysyClOz5lq5AW+sei+wLXeiVFWCayUmXfKwIkxQE7kvlLVQV69xH" >> "$tmppath/wuala.png.base64"
   echo "idWUl0/g8aeTxyYh0B7egO+eexN+0rd0OVpRCQg7oS1ycghse9K9RwOMmkqscx+loqIw7gOCKnKs" >> "$tmppath/wuala.png.base64"
   echo "siTVt7Cs5GpaXYz/gQRqEgKlYBZa+Wbw+UkEJRBE2/woytRpCe35lyXu0ewLThpjWSm76vAyW0Wu" >> "$tmppath/wuala.png.base64"
   echo "389P+TVVxepoR6+tdncsWd4kbLRVRfiXLE3pk/7CB/AtL3RVkxLMSZwXAXpttUxhUlcRDi9zVOTS" >> "$tmppath/wuala.png.base64"
   echo "dHobG2wbo6YSu7fH3TG3vEkIlClT0TZtAy2Q0ueUvHwCm7ZBIBi3Lr5lKxKr6GI3RuV7mcww5AMz" >> "$tmppath/wuala.png.base64"
   echo "VOQUQWq1DUNVsDo+lHmTm2NueZMQ+FesxF+4MuYdMTyM2dSAGB6OJX11Mb7FS2MdDccit7xICIy9" >> "$tmppath/wuala.png.base64"
   echo "VZmoCIeXW1TkyNef3rsK6DpGxQ7s3suupfxFD8bGppwcAlseQ5kyNaa81dFO6I9vYp8/F/t3KZhF" >> "$tmppath/wuala.png.base64"
   echo "oHwzaBHT7badPBZd7JaD2PRiURg+nMDtI5Ohtqpgnj2Nsa/Wncr8KVJN4bzJtvEvWoJ/9YOxhYXA" >> "$tmppath/wuala.png.base64"
   echo "qKvCOtOGXrMnbpDW1pXiW7BwbC5Iyc2VschNRYDRUId1viMTFYHs/X0qcrdYBjNcCuij6Ht2JVfT" >> "$tmppath/wuala.png.base64"
   echo "/aulY4EA2satced47AtdGI0NYFmYTQ1xM3t17jyZnau+iLwoQXbdexl9byUYKeVFcU0AlgqMIDdx" >> "$tmppath/wuala.png.base64"
   echo "ZsCzinX6VGI15TlZeG4uvoV3oa0rjVvOaKjH7uoEvx+rqxOjcV8cYwqBjVtQ586FQDB5XrSvFuv0" >> "$tmppath/wuala.png.base64"
   echo "qUxVBFJAoyowCOiZWsEw0HfvxO5JoKaVq/EtK0QrLUedEzvRYPddQa+tHI8bpolRW43o74v9u9y+" >> "$tmppath/wuala.png.base64"
   echo "AG3tevxJRvp2z2X03TvBMDJ2zeFlUAX6kPsNM4OqYp1pk9OtLlCmTSfnhRcJlG+JOylnHTuC3X52" >> "$tmppath/wuala.png.base64"
   echo "/DdFwTrbJmcnJ8LnJ7BlG8EvfiWxivbXYZ1p86IiHF76VOAS0O3FEoaBXlWBGBxwLeJfuQp1QewY" >> "$tmppath/wuala.png.base64"
   echo "WoRC8t3QcBRJYngIvboCMRKK5WnRfWjFa1y/Zff2ZENFOLxcUpG77ds8mVIUzJYTGAca037VajmO" >> "$tmppath/wuala.png.base64"
   echo "2fxB7Py5omIeP4bV1hr7ks+XUCFGQ1hFnrcvtAE9KvIowimvJDESQt+1PaGaJkLoOvreSsRAf2wz" >> "$tmppath/wuala.png.base64"
   echo "VBREfx9GzZ60FGH39qBX7AA9w0WEaJzCCdwgN18OezAm40hrM0bTvpRfsTvaMQ82JnTGONiIlWAw" >> "$tmppath/wuala.png.base64"
   echo "HVN+316ss6ezoaJhh5ex+aTwWQ1PJIlQCL1ip1RGKg411CZer1MU7EsfY9RVp2RPKq8S9FGyoKJO" >> "$tmppath/wuala.png.base64"
   echo "h5cxks4BJ71aRVUxW45jNO1PWtS+0I1Rvzf5cMGyMPbVYvdcSmrTONCI2XbSa48WRqvDC6qzDU4H" >> "$tmppath/wuala.png.base64"
   echo "apDJkzeMjKDv3oEYSBybjIP7sTo7kjukqnKN7NCBhMVEfx96xbswMpINgmyHD33iulsd8LFn84qC" >> "$tmppath/wuala.png.base64"
   echo "daoF88Qxd4cGB+SSTmrTqKCPYtTsQVy75lrEONiE2XI8Wyr62OEDiF53OxP5gxeSxNAQesW7cac8" >> "$tmppath/wuala.png.base64"
   echo "AMwPjmK1nUp9tVdRMdtaMU+eiPuzGByQKhodzQZBII+InY4iyWlyIeBtvGTfEUSZx45gHj0c+9vI" >> "$tmppath/wuala.png.base64"
   echo "CHr17vT2DSgKYrAfo3q307VHwzjYiNVywtsGi3EMOTyEwjtyJ2qzBjiUDZLE1avo772DGIrm3Gw7" >> "$tmppath/wuala.png.base64"
   echo "iXnscPoOKSrG+4cw289GPRaDA+g7t8vMPDskHXJ4GMNEknqBPyNnBjwTFaMm08Sor0H092dAkoLo" >> "$tmppath/wuala.png.base64"
   echo "7ZHpgD3evxhNDVitzdkiaMTxP2o/zhhJEZu9twPpjy/iOXX1qoxNQzLgWl2dGPvrM7cpbIz9ddiX" >> "$tmppath/wuala.png.base64"
   echo "ZP8iBgbQK3YgQllTUSPwzgQ+4m4H7AV+g5xC8QZVxTx6GPPY+wAY9TXSwUwdUuQOlzDRxtFDMphn" >> "$tmppath/wuala.png.base64"
   echo "p0cbdPyOWd2Ish7B3nvIA3WeIa5dw9i7B7urE2NfXaZzzeMwdIzaammvqgJCIW/2xvGW43fMEYqY" >> "$tmppath/wuala.png.base64"
   echo "LRs/6+jm+3fNN5Ep+Qbkupwn2FeuIHouYx0/6n3jqKIirg4i+q5gHj4Ahp6NpnYSeTLgQrwzJnGt" >> "$tmppath/wuala.png.base64"
   echo "R2yq/BLyZJK3De9CyOmNbO6sVdVs2RtAHo/9K8Q/iBO3MUcU/BfydJK32StFieqRsoLs2DMc//7p" >> "$tmppath/wuala.png.base64"
   echo "RpArSREvjAKvA38noxWVKKayS5J3e8Lx63WSnPhOpVvoRZ692JVlLycbuxy/epMVTOfk5BLkYd/y" >> "$tmppath/wuala.png.base64"
   echo "VN65yVGDPGTdlsrJyZQSDMdQm2N4F3Iq4dOI8BnclAmCNA4bRxD1EvA3vAbzGw/DqfdL6RAEmZ3I" >> "$tmppath/wuala.png.base64"
   echo "Po889vQLZPf5acCAU99XnPqnBS83TOQAnyfJgbqbAC3AT5DpzMh1v2EiEv+/qyQNRNx6swl5680a" >> "$tmppath/wuala.png.base64"
   echo "Jv/WmwOM33qTkXqySlIEUTD59ycdQc4H3Vz3J0Uizk1czyLPrMzl+t3EdRF5E9fb3Mw3cSUgLA+4" >> "$tmppath/wuala.png.base64"
   echo "F3mYpRwZv27H+51uXcg4U4NcvDjLp+VOtySERd4OWMj47YBzkbcDBpB7NxXkuMpErgdeQ6olfDvg" >> "$tmppath/wuala.png.base64"
   echo "CT4rtwMmISxM2sR7JnORzdJCBuCb4p7J/wKJOT5wfeXc/gAAAABJRU5ErkJggg==" >> "$tmppath/wuala.png.base64"

   base64 -d "$tmppath/wuala.png.base64" > "$tmppath/wuala/wuala.png"

   rm "$tmppath/wuala.png.base64"

   echo "** Icon unpack complete!"
}
function unpackarchive {
   echo "** Unpacking base archive..."

   cd "$tmppath"
   tar xzf "$tmppath/wuala.tar.gz" 2> /dev/null
   if [ $? -eq 0 ]; then
      echo "** Unpack complete!"
   else
      echo "!! Error while unpacking, aborting installation!"
      exit 1
   fi
}

function makeexecutable {
   echo "** Patching the startup scripts..."
   sed 's/-installed \"\$\@\"/-installed \"\$\@\" \&/g' "$tmppath/wuala/wuala" > "$tmppath/wuala/wuala.new.1"
   sed 's/\"\$\@\"/\"\$\@\" \&/g' "$tmppath/wuala/wualacmd" > "$tmppath/wuala/wualacmd.new.1"

   sed "s|\.\/loader3|"${installpath}"\/wuala\/loader3|g" "$tmppath/wuala/wuala.new.1" > "$tmppath/wuala/wuala.new"
   sed "s|\.\/wuala|"${installpath}"\/wuala\/wuala|g" "$tmppath/wuala/wualacmd.new.1" > "$tmppath/wuala/wualacmd.new"
   rm "$tmppath/wuala/wuala.new.1"
   rm "$tmppath/wuala/wualacmd.new.1"

   rm "$tmppath/wuala/wuala" "$tmppath/wuala/wualacmd"
   mv "$tmppath/wuala/wuala.new" "$tmppath/wuala/wuala"
   mv "$tmppath/wuala/wualacmd.new" "$tmppath/wuala/wualacmd"

   echo "** Making the scripts executable..."
   chmod +x "$tmppath/wuala/wuala" "$tmppath/wuala/wualacmd"
}

# Testing write permissions this way will ensure that
# even on odd configurations we will get somewhat usable results.
function testaccess {
   rm "$installbase/_wualatest" 2> /dev/null
   touch "$installbase/_wualatest" 2> /dev/null
   if [ $? -ne 0 ]; then
      echo "!! Do not have access to $installbase, trying $installpathusr..."
      installpath="$installpathusr"
   else
      rm "$installbase/_wualatest" 2> /dev/null
   fi
}

function movedir {
   echo "** Moving Wuala directory..."

   mv "$tmppath/wuala" "$installpath/wuala" 2> /dev/null
   if [ $? -eq 0 ]; then
      if [ "$installpath" != "$installpathusr" ]; then
         if [ -e "/usr/bin/wualacmd" ]; then
            rm "/usr/bin/wualacmd"
         fi

         ln -s "$installpath/wuala/wualacmd" "/usr/bin/wualacmd" 2> /dev/null

         if [ $? -eq 1 ]; then
            echo "!! Unable to create symlink to $installpath/wuala/wualacmd!"
         fi

         if [ -e "/usr/bin/wuala" ]; then
            rm "/usr/bin/wuala"
         fi

         ln -s "$installpath/wuala/wuala" "/usr/bin/wuala" 2> /dev/null

         if [ $? -eq 1 ]; then
            echo "!! Unable to create symlink to $installpath/wuala/wuala!"
         fi
     fi
   else
      echo "!! Unable to move files to $installpath, aborting!"
      exit 1
   fi
}

function builddesktop {
   echo "#!/usr/bin/env xdg-open" > "$tmppath/wuala.desktop"
   echo "[Desktop Entry]" >> "$tmppath/wuala.desktop"
   echo "Encoding=UTF-8" >> "$tmppath/wuala.desktop"
   echo "Version=1.0" >> "$tmppath/wuala.desktop"
   echo "Type=Application" >> "$tmppath/wuala.desktop"
   echo "Categories=Network;" >> "$tmppath/wuala.desktop"
   echo "Terminal=false" >> "$tmppath/wuala.desktop"
   echo "Name=Wuala" >> "$tmppath/wuala.desktop"
   echo "Name[en_US]=Wuala" >> "$tmppath/wuala.desktop"
   echo "Exec=$installpath/wuala/wuala" >> "$tmppath/wuala.desktop"
   echo "Comment=Wuala Social Sharing" >> "$tmppath/wuala.desktop"
   echo "Comment[en_US]=Wuala Social Sharing" >> "$tmppath/wuala.desktop"
   echo "Icon=$installpath/wuala/wuala.png" >> "$tmppath/wuala.desktop"
   chmod +x "$tmppath/wuala.desktop"

   mv "$tmppath/wuala.desktop" "$installpath/wuala/wuala.desktop" 2> /dev/null

   if [ -e "/usr/share/applications/wuala.desktop" ]; then
      rm "/usr/share/applications/wuala.desktop" 2> /dev/null
   fi

   ln -s "$installpath/wuala/wuala.desktop" "/usr/share/applications/wuala.desktop" 2> /dev/null

   if [ $? -eq 1 ]; then
      echo "!! Cannot create global desktop link, creating local one..."
     
      if [ -e "$HOME/.local/share/applications/wuala.desktop" ]; then
         rm "$HOME/.local/share/applications/wuala.desktop"
      fi
     
      ln -s "$installpath/wuala/wuala.desktop" "$HOME/.local/share/applications/wuala.desktop" 2> /dev/null
   fi
}

function finishinst {
   # Let's note where we installed Wuala (for uninstall purposes)
   if [ $installpath == $installpathusr ]; then
      echo "$installpath" > "$installpath/.wualainstall"
   else
      mkdir -p "/usr/local/share/wuala"
      echo "$installpath" > "/usr/local/share/wuala/wualainstall"
   fi
}

function wualawelcome {
   echo "Wuala installation"
   echo "=================="
   echo ""
   echo "Hey there, $activeuser!"
   echo "Please stand by while I'm working..."
   echo "Messages prefixed with ** are status or success messages."
   echo "Messages prefixed with !! are warnings or errors."
   echo "The script will terminate on critical errors."
}

wualawelcome
checkdistro
testaccess
installprereqs
downloadwuala
unpackarchive
downloadicon
makeexecutable
movedir
builddesktop
finishinst


And if you don't like Wuala, remove it through this script:
Code: Select all
#!/bin/bash
didsomething=0
if [ -e "$HOME/.wualainstall" ]; then
   installpath="$(cat "$HOME/.wualainstall")"
   echo "** Uninstalling Wuala from $installpath/wuala..."
   rm -rf "$installpath/wuala"
   echo "** Removing desktop file..."
   rm "$installpath/.local/share/applications/wuala.desktop"
   echo "** Deleting installer help..."
   rm "$HOME/.wualainstall"
   didsomething=1
fi

if [ -e "/usr/local/share/wuala/wualainstall" ]; then
   if [ $EUID -eq 0 ]; then
      installpath="$(cat "/usr/local/share/wuala/wualainstall")"
      echo "** Uninstalling Wuala from $installpath/wuala..."
      rm -rf "$installpath/wuala"
      rm "/usr/bin/wuala" "/usr/bin/wualacmd" "/usr/share/applications/wuala.desktop"
      rm "/usr/local/share/wuala/wualainstall"
      if [ "$(ls -A "/usr/local/share/wuala")" ]; then
         rm -rf "/usr/local/share/wuala"
      fi
      didsomething=1
   else
      echo "!! Error: Cannot uninstall Wuala, you are not running this script as root!"
      exit 1
   fi
fi

if [ $didsomething -eq 1 ]; then
   if [ $? -eq 0 ]; then
      echo "** Everything went fine, Wuala is now uninstalled!"
   else
      echo "!! Something went wrong, Wuala may not be uninstalled completely!"
   fi
else
   echo "** Nothing to do, Wuala does not seem to be installed."
fi


Edit (2010-07-27): Minor corrections to counter problems introduced by the new launcher!
User avatar
tsukasa
Mastermind
 
Posts: 65
Joined: Sun Sep 20, 2009 6:29 pm
Location: Hamburg, Germany

Re: Linux Installation Guide

Postby posativ » Thu Oct 08, 2009 8:36 pm

Nice, why have you hidden this all the time?
I've added it below the 3. step, should be ok, shouldn't it?
posativ
Mastermind
 
Posts: 104
Joined: Fri Sep 18, 2009 2:03 pm
Location: Berlin

Re: Linux Installation Guide

Postby tsukasa » Thu Oct 08, 2009 8:46 pm

I never had the time to really finish it up and write a nice blog entry around it; it's only an experiment... also, there are too many distros missing (no rpm based stuff, no fedora, no suse). I managed to do what I wanted, though: build a .deb file that does invoke the install/uninstall script.

By the way, if you search for a nice Wuala icon, I can recommend Oona & Sushi's Twitter avatar. There's no logo kit for the new one.

The proper (and DE independent) way to create a menu entry is to craft a .desktop file (for users it goes to ~/.local/share/applications/, system wide it's in /usr/share/applications/). You can pick it off the script I posted. But this is the internet, so I know people are lazy...

Code: Select all
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Categories=Network;
Terminal=false
Name=Wuala
Name[en_US]=Wuala
Exec=$HOME/wuala/wuala
Comment=Wuala Social Sharing
Comment[en_US]=Wuala Social Sharing
Icon=$HOME/wuala/wuala.png

Edit it to your heart's content, replace $HOME with your absolute path to your home directory (i.e. /home/tsukasa or /home/posativ), save it as ~/.local/share/applications/wuala.desktop, chmod +x it and enjoy.
User avatar
tsukasa
Mastermind
 
Posts: 65
Joined: Sun Sep 20, 2009 6:29 pm
Location: Hamburg, Germany

Re: Linux Installation Guide

Postby posativ » Thu Oct 08, 2009 9:55 pm

tsukasa wrote:
Code: Select all
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Categories=Network;
Terminal=false
Name=Wuala
Name[en_US]=Wuala
Exec=$HOME/wuala/wuala
Comment=Wuala Social Sharing
Comment[en_US]=Wuala Social Sharing
Icon=$HOME/wuala/wuala.png

Edit it to your heart's content, replace $HOME with your absolute path to your home directory (i.e. /home/tsukasa or /home/posativ), save it as ~/.local/share/applications/wuala.desktop, chmod +x it and enjoy.


Ah, I never opened a .desktop file; it is not magic as I thought. Maybe the tar file could include the logo.png and a .desktop file to complete the basic setup?
posativ
Mastermind
 
Posts: 104
Joined: Fri Sep 18, 2009 2:03 pm
Location: Berlin

Re: Linux Installation Guide

Postby tsukasa » Fri Oct 09, 2009 6:12 am

The logo: I agree. The .desktop file: I'm not so sure.

As you will notice when playing around with the paths, desktop files need absolute paths, variables won't work; this effectively means that either Wuala itself has to create the file on the first run (to update the paths) or we need a simple addition to the startup scripts that will do the job.
User avatar
tsukasa
Mastermind
 
Posts: 65
Joined: Sun Sep 20, 2009 6:29 pm
Location: Hamburg, Germany

Re: Linux Installation Guide

Postby posativ » Thu Oct 15, 2009 9:02 pm

Ok, I will submit a ticket, to include the official wuala logo to use it for an icon (if wished).

I see, you did some changes fstab configuration; really neat!
I will remove the red parts by the official start of the forum. We can extend it, when needed :)
posativ
Mastermind
 
Posts: 104
Joined: Fri Sep 18, 2009 2:03 pm
Location: Berlin

Re: Linux Installation Guide

Postby hudolejev » Thu Oct 22, 2009 11:49 pm

One of many possible ways to create menu entry in Gnome:

RightClick(Menu) / Edit menus / Internet / New Item
* Name: Wuala
* Command: ~/wuala/wuala (or some alternative command, namely one of the scripts you've possibly created)
* Comment: use your imagination (:

To set an icon, click an icon-button and navigate to image.
hudolejev
 
Posts: 5
Joined: Thu Oct 22, 2009 11:36 pm
Location: Tallinn

Re: Linux Installation Guide

Postby thommy » Sat Oct 24, 2009 7:11 pm

hudolejev wrote:To set an icon, click an icon-button and navigate to image.


...or drag and drop it on the icon-button ^^
My low-power homeserver with the GuruPlug Server Plus: www.myownhomeserver.ch
thommy
 
Posts: 8
Joined: Sat Oct 24, 2009 6:32 pm

Re: Linux Installation Guide

Postby posativ » Sun Nov 08, 2009 12:31 pm

We have another little script just for configuring the NFS Filesystemintegration. Thanks to rdirect.

Code: Select all
#! /bin/sh
user=$(id -un)
cp /etc/fstab /etc/fstab.bkup
echo "localhost:/wuala /home/$user/wuala/direct nfs defaults,users,noauto,rsize=8192,wsize=8192,timeo=14,intr,nolock,soft" >> /etc/fstab
chmod u+s /sbin/mount.nfs
chmod u+s /home/$user/wuala/direct
echo "Wuala-Network Drive was inserted in /etc/fstab. Permissions for /sbin/mount.nfs and /home/$user/wuala/direct were set."
echo "Try to install nfs-common. If you not using an apt-get system, install nfs-common/nfs-client manually. Also take a look to your firewall settings."
apt-get install nfs-common


Save this little snippet as wualaconfigurator.sh and run as normal user using sudo
Code: Select all
$ sudo sh ./wualaconfigurator.sh
posativ
Mastermind
 
Posts: 104
Joined: Fri Sep 18, 2009 2:03 pm
Location: Berlin

Next

Return to Linux and Unix Systems