<chapter><title>Software</title>

<para>
The "Software" application, also called oipkg, is what is used to install and
remove software.  It is actually a frontend to the command line program "ipkg"
so most things you can do with oipkg you can also do with ipkg.  Oipkg can
install things either remotely from a web server (called a "feed") or it can
install an ipkg package file that resides on the local filesystem.
</para>
<important>
<para>
If you are using a version of ipkg lower than 0.99.20 there is a bug that prevents 
oipkg from working properly.  If you see errors in the installation log about not being 
able to kill the old gunzip process, you can get around this by starting oipkg from 
Embedded Konsole.
</para>
</important>

<section><title>Installing Software</title>
<para>
There are several way to install a software package, depending on how you are 
accessing the package.
</para>
<para>
To install software from a feed (see <xref linkend=feed>), first select "Opie" from the
"Section" pulldown menu, the press the "+" icon next to "Feeds" in the main view.  
This will show all the available Opie packages (you can change which packages 
to view by selecting something else from the "Section" pulldown).  Installed 
packages are marked with a blue circle, while packages that are not installed are marked with a red
box.  If you click on the icon for an uninstalled package, it will turn into an
open box, with a blue circle coming out of it, indicating that you have marked
this package to be installed.  Mark as many packages as you wish this way, and
then press the "Apply" icon (same red box and blue dot icon) to install all
the marked packages.  It will also remove any packages marked for removal (see
below).  Clicking this will open a window showing all the packages marked to be
removed and installed, with some check boxes on the bottom, which represent
arguments to be sent to ipkg, which you can usually ignore.  After verifying
that all the packages to be installed are correct, press "Ok" in the upper
right corner (or press "x" to cancel and go back to the package selection
window).  The packages should then install, and you should see their icons
appear in the Launcher, if they are Opie applications.
</para>
<para>
If you would like to install software that is not avaialable in a feed, you can 
download it to your device, and open Filemanger to the directory that it is in.  You
can then press and hold on the file name, and select "Open in Software", and oipkg 
will be started, with the package already marked to install.  Confirm that it is the 
correct package, and check any options that you may need and press "Ok" to install 
the package.
</para>
<para>
If you would like to install a package but are not sure where to find it, and it is not in 
any of the feeds that you are using, you can try to have oipkg search for it.  You can 
enter a query in the "Search" field in the toolbars, and then press the magnifying
glass icon.  Oipkg will then search a list of feeds as well as some software websites, 
and show you all the packages that it thinks might be what you are looking for, and
displays them under the "ipkgfind&amp;killefiz" section in the Package view.  You can
then select the packages that you would like to install from that list and install them 
as you normally would install packages from a feed.
</para>
</section>

<section><title>Removing Software</title>
<para>
Removing software is the same as installing software, except you will press the
blue circle icon of an installed package, and it will have a red "X" over it.  
Then press the apply icon, and "Ok".  You can install and remove packages at
the same time by marking the ones you want to install and the ones you want to 
remove, and then pressing apply.
</para>
</section>

<section id=feed><title>Servers</title>
<para>
When you install software normally, ipkg downloadins  the packages automatically
from ipkg servers (also called "Feeds") and installing them.  The list of
servers and where they are is stored in a file called ipkg.conf in /etc/.  Oipkg
is capable of maintaining this list, as well as adding or deleting feeds from 
it.
</para>
<section><title>Selecting Servers</title>
<para>
To select which feeds you want to be able to see and install packages from, go 
to Settings&arrow;Setups.  There will be a box with a list of servers in it 
called "Used Servers".  Servers that are highlighted will be used to install 
software from, while servers that are not highlighted will be ignored.  You can 
click on a server to toggle its status.  When a server is disabled, the
information about that server such as its name and location is kept, so that 
you can resume using it without having to reenter this data.  "Ok" will save the 
changes, and "x" will cancel them.
</para>
</section>
<section><title>Adding Servers</title>
<para>
You can add a server to your list of available servers by going to 
Settings&arrow;Servers.  Click on the button labeled "New" and enter the name 
and URL into the appropriate fields at the bottom of the window.  The name is 
only for your convinience, so name it whatever makes sense to you.  The URL is 
the URL of the feed, so the URL for the opie feed would be 
"http://131.152.105.154/feeds/ipaq/unstable".  When you are done, click "Ok" to 
save the new server, or "x" to cancel adding it.
</para>
</section>
<section><title>Editing Servers</title>
<para>
To change the URL or name of a server, go to Settings&arrow;Servers, and select
the server that you want to edit.  The current Name and URL should appear in the
appropriate fields, and you can change them to the new values.  Once you are
done, click "Ok" to save, or "x" to cancel.
</para>
</section>
<section><title>Deleting Servers</title>
<para>
If you no longer need to use a server, this can be done by going to
Settings&arrow;Servers.  You can then select the server you wish to delete and 
press the "Remove" button.  "Ok" will save the deletion, and "x" will cancel it.
</para>
</section>
</section>

<section><title>Destinations</title>
<para>
Software is distributed in a format called "ipkg" which contains all the 
necessary files for the program, as well as information on where to put them.  
However, this information is only half complete, as it tells the package manager 
where in the "destination" to put the files, but the package manager must know 
where this "destination" is.  The default destination is "/" (called "root") so
if the package says to install a file in opt/QtPalmtop/ then the file will be
installed in /opt/QtPalmtop/.  However, if ask the package manger to use a
destination at /mnt/hda/ (this is typically where a compact flash card would be)
then the files will be installed in /mnt/hda/opt/QtPalmtop/.
</para>
<para>
The problem with installing file in a destination other than root is that the 
software usually does not know where to fine the installed files, and Opie does 
not know where to find the information that tells it how to display the program 
in the Launcher.  To get around this, the package manager creates links 
<footnote><para>See <xref linkend=symlink> for more information on symbolic 
links in Linux</para></footnote> from where the files would be if they were 
installed in root to where they are actually installed.  This means that no more 
space is taken up where the files would normally be installed, but any programs
can still find the files where they think they should be.
</para>

<section><title>Using Destinations</title>
<para>
To mark a single package to be installed to a destination other than the default, you 
can press and hold on it, and select the destination you would like to use from the 
"Install to" menu.  That package will then be installed in that destination.
</para>
<para>
To install a group of packages in a destination other than root, go to
Settings&arrow;Setups to open the settings dialog to the Setups tab.  From here
you can select the destination you would like to install the package to from the 
pulldown menu at the bottom.  You will also want to check "Link to root 
destination" so that links are properly made.  Once you have selected the 
destination you want to install the package to, click the dialog's "Ok" button, 
and all packages that you mark for install will be installed in the selected feed 
(The destination will not be changed for the packages already marked for 
installation).
</para>
<para>
You can also change the default destination by checking View&arrow;Destinations 
to add the Destination toolbar to your toolbars.  You can then select the default
destination from the pulldown menu, as well as use the checkbox to select whether
the packages should be linked to the root destination or not.
</para>
</section>
<section><title>Adding Destinations</title>
<para>
To add a destination, go to Settings&arrow;Destinations to bring up the settings 
dialog at the Destinations tab, and press the "New" button to add a new 
Destination to the list.  The new destination should be highlighted 
automatically, and you can then change the name and the URL with the two text 
entry fields below it.  The name is only for easy display of the destination, so 
name it whatever makes the most sense to you.  The URL is the location that you 
want the destination to have.  So, if you want all your software to be installed 
under /usr/directory then you would set the URL to that.  You can then click 
"Ok" to save, or "x" to cancel the changes.
</para>
</section>
<section><title>Editing Destinations</title>
<para>
You can edit a destination by going to Settings&arrow;Destinations and selecting 
the destination that you would like to edit.  Then you can edit the Name and URL 
fields in the same manner as when you added a destination.  To save, click "Ok" 
or cancel by clicking "x".
</para>
</section>
<section><title>Deleting Destinations</title>
<para>
Deleting a destination is very easy.  Go to Settings&arrow;Destinations and 
select the Destination that you would like to delete in the dialog that appears. 
 Press the "Remove" button to delete the destination, and press "Ok" to save the 
changes, or "x" to cancel them.
</para>
</section>
</section>
</chapter>
