English
Tag it:
Delicious
Furl it!
Spurl
NewsVine
Reddit
YahooMyWeb
Technorati
Digg
Mister.Wong




Preface

We will now give an example on how to build your own application package. This example was made with the skype-static archive.
Oh and please check the "how to" on system preparation before you start with the actual package building.

Development directory

First you have to create a new directory for the developement of your package. For example:
cd  ~/
mkdir packagedevelop

Now change directory to packagedevelop and execute
cd packagedevelop
tcos_genpackage skype 

After you have done that, a new directory with the name of the project will be created.

Download of Software

Ok now we have to download the software we want to use.
To do this we change directory into the project directory /skype in our case.
And then download the archive like this:
cd skype/
wget http://www.skype.com/go/getskype-linux-static


Unpacking

Ok now we have the software in the right directory, which means its time to unpack the tar file. (At the time of this writing, version 2.0.0.72 was current. If you use a newer version, please change accordingly.)
See how its done:
tar -xjvf skype_static-2.0.0.72.tar.bz2


Move the data

Now we need to move the data from the unpacked file, into the skype directory.
The next example should make it crystal clear :).
rmdir skype-0.0.1/skype
mv skype_static-2.0.0.72 skype-0.0.1/skype


Note:
The recommended naming scheme for applications is "openthinclientversion-programmversion-currentrelease"
For the Skype application this would be the number "0.4.5-2.0.0.72-1". The last letter is updated automatically
when dch -i is called. Therefore only the openthinclientversion-progammversion (0.4.5-2.0.0.72)
should be used for the name of the directory.

To get a starter icon on our openthinclient desktop, we have to create a link to an icon in the skype software.
ln -f skype-0.0.1/skype/icons/SkypeBlue_48x48.png skype-0.0.1/tcos/launcher.icon


Change the executable

We need to change the executable line in the launcher file now.
You can open the "launcher" with vi.
vi skype-0.0.1/tcos/launcher

Now change the line executable to this:
executable ="/opt/skype/skype --resources=/opt/skype"


Building the package

First we change directory to
cd skype-0.0.1
there we open the control file with an editor
vi debian/control

and change the description.
Second we use
dch
to create a comment for the current version.
If we want to increment the version (or revision) use
dch -i
.

Now
tcos_buildpackage
.

The build-script generates several files in the skype-project folder (../):

skype_0.0.1-1_i386.deb		(Debian based package)
skype_0.0.1-1.dsc		(Debian based description file)
skype_0.0.1-1_i386.changes	(Changes History)
skype_0.0.1-1.tar.gz		(Source including the hole skype_0.0.1 folder you created)
skype.changelog			(History Logfile)


Once this is done you should execute tcos_upload-debs like this (for this you need to be root, we use the sudo command):
 sudo tcos_upload-debs ../skype_0.0.1-1_i386.deb 

"../skype_0.0.1-1_i386.deb" comes from tcos_buildpackage and will be different if you increment the versions.

Now you should be able to load the package in the openthinclient manager and then install it.

Deploy your package


To do this, right click on package manager and then click on reload.

Required that you modified the source.list file on your server! See here


(screenshots were made in the german version)


After the reload there should be a new package named skype in the installable packages node.
Doubleclick on skype, then mark it, and click install marked packages.
Now the skype package should be installed.


To test skype in a thinclient you have to generate an Application.
Now you can assign the new Application to ThinClient.


Finally be proud of your work!



Change the Desktop file

If you want your cursor to change to a busy cursor while loading the new application, you can do this by changing the .desktop file on the thin client.

First you have to check out the data in the WM_CLASS(STRING) line, you can do this by creating a command line on your desktop xterm for example.
To create the xterm, right click on the thin client desktop, then select "create launcher" from the context menu that appears.
In the next menu give it a name and type in the line that wants a command "xterm" then click "ok".

Now start your commandline and skype. Type xprop in the commandline, the cursour now changes into a crosshair, click on the skype window.
You should now see a line named WM_CLASS(STRING) in your commandline. The string behind the = is what we need, in our case the string is "skype" or "Skype".

Next open up the Skype.desktop file with an editor. You can find the file in
cd ~/packagedevelop/skype/skype-0.0.1/tcos/

open it with an editor
vi skype.desktop

Insert the following lines:
[Desktop Entry]
StartupWMClass=skype