<metapackage xmlns:os="http://opensuse.org/Standards/One_Click_Install" xmlns="http://opensuse.org/Standards/One_Click_Install">
  <group distversion="openSUSE Tumbleweed">
    <repositories>
      <repository recommended="true">
        <name>Application:Geo</name>
        <summary>Applications related to the earth (GIS, Mapping, geodesy, GPS, astronomy)</summary>
        <description>This project collects the user applications of all the geosciences.

Topics are:

- GIS:
  geoinformation system programs, data sets and everything related
- GPS/GNSS:
  enduser software for global navigation satellite systems
- Mapping:
  software to handle maps, data display on maps and everything related to this
- everything else which fits

When installing on SLES, you need to have openSUSE:Backports/SUSE Package Hub repositories as well:
https://en.opensuse.org/Portal:Backports
https://en.opensuse.org/openSUSE:Backports_How_To_Use
https://packagehub.suse.com/
</description>
        <url>https://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Tumbleweed</name>
        <summary>Tumbleweed</summary>
        <description>Tumbleweed is the openSUSE Rolling Release

This OBS Project represents the content of the currently published
snapshot. The newer repository for next publish can be found in openSUSE:Factory standard repository.
</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Tumbleweed</name>
        <summary>Tumbleweed</summary>
        <description>Tumbleweed is the openSUSE Rolling Release

This OBS Project represents the content of the currently published
snapshot. The newer repository for next publish can be found in openSUSE:Factory standard repository.
</description>
        <url>https://download.opensuse.org/tumbleweed/repo/oss/</url>
      </repository>
      <repository recommended="false">
        <name>openSUSE:Factory</name>
        <summary>The next openSUSE distribution</summary>
        <description>openSUSE Tumbleweed: The Bleeding Edge, Perfected.
Tumbleweed is the ultimate rolling release distribution, providing the latest software as it’s released, built upon a foundation of world-class stability and testing.

* Always Current: Get the newest kernel, IDEs, desktops, and applications automatically.

* Powerfully Stable: Experience the velocity of a rolling release without sacrificing the reliability you depend on.

* Engineered for Professionals: The top choice for Developers, Power Users, and openSUSE Contributors who need the best tools for the job.

If you demand the latest stable software, your choice is Tumbleweed.

Staging dashboard is located at: https://build.opensuse.org/staging_workflows/openSUSE:Factory 

List of known devel projects: https://build.opensuse.org/package/view_file/openSUSE:Factory:Staging/dashboard/devel_projects

Have a look at http://en.opensuse.org/Portal:Factory for more details.</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Factory/ports/</url>
      </repository>
    </repositories>
    <software>
      <item>
        <name>perl-IPC-ShareLite</name>
        <summary>Lightweight interface to shared memory</summary>
        <description>IPC::ShareLite provides a simple interface to shared memory, allowing data
to be efficiently communicated between processes. Your operating system
must support SysV IPC (shared memory and semaphores) in order to use this
module.

IPC::ShareLite provides an abstraction of the shared memory and semaphore
facilities of SysV IPC, allowing the storage of arbitrarily large data; the
module automatically acquires and removes shared memory segments as needed.
Storage and retrieval of data is atomic, and locking functions are provided
for higher-level synchronization.

In many respects, this module is similar to IPC::Shareable. However,
IPC::ShareLite does not provide a tied interface, does not (automatically)
allow the storage of variables, and is written in C for additional speed.

Construct an IPC::ShareLite object by calling its constructor:

    my $share = IPC::ShareLite-&gt;new(
        -key     =&gt; 1971,
        -create  =&gt; 'yes',
        -destroy =&gt; 'no'
    ) or die $!;

Once an instance has been created, data can be written to shared memory by
calling the store() method:

	$share-&gt;store(&quot;This is going in shared memory&quot;);

Retrieve the data by calling the fetch() method:

	my $str = $share-&gt;fetch();

The store() and fetch() methods are atomic; any processes attempting to
read or write to the memory are blocked until these calls finish. However,
in certain situations, you'll want to perform multiple operations
atomically. Advisory locking methods are available for this purpose.

An exclusive lock is obtained by calling the lock() method:

	$share-&gt;lock();

Happily, the lock() method also accepts all of the flags recognized by the
flock() system call. So, for example, you can obtain a shared lock like
this:

	$share-&gt;lock( LOCK_SH );

Or, you can make either type of lock non-blocking:

	$share-&gt;lock( LOCK_EX|LOCK_NB );

Release the lock by calling the unlock() method:

	$share-&gt;unlock;</description>
      </item>
    </software>
  </group>
</metapackage>
