<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 12/10/2013 10:52 PM, Angelos Tzotsos
wrote:<br>
</div>
<blockquote cite="mid:52A77F19.9080608@gmail.com" type="cite"><br>
My proposal here is to split the project (since it grew too big):
<br>
- OSGeoLive ppa (UbuntuGIS or perhaps other)
<br>
- OSGeoLive apt repository (for packages not fitting under the
Launchpad rules, eg. Java binary packages)
<br>
- OSGeoLive docs and translations (should be maintained separately
and create a deb file periodically e.g. for every new commit)
<br>
- OSGeoLive data (also should be packaged in a deb file)
<br>
- OSGeoLive build scripts (for anything not in a deb file, e.g.
the actual build files)
<br>
<br>
This would also simplify things:
<br>
All projects must provide deb packages, else they are not included
in the 8.0 release. So 7.9 will be a transition release...
<br>
<br>
</blockquote>
<br>
Hi all,<br>
<br>
Based on the previous proposal I would to discuss the potential
solutions on how to create Debian packages targeting the 8.0
release:<br>
<br>
My suggestion here is to create a Launchpad account for OSGeoLive,
which we will use to "freeze" UbuntuGIS-Unstable when we are
preparing a release. This means that this OSGeoLive ppa will not be
used for packaging, just for release purposes, to avoid last minute
changes in UbuntuGIS-Unstable. <br>
Alternatively we could use UbuntuGIS-Stable and try to keep the
packages we need there, but this would require the OSGeoLive team to
have a certain level of control to that ppa which I am not sure it
is proper. <br>
<br>
The second step is to make sure we have a place to host deb files
that are not acceptable under the Launchpad rules. A simple solution
would be to create an apt-repository to the OSGeo infrastructure. We
just need a folder under apache and ssh access so that we can
periodically upload deb files and re-calculate the index:<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a
href="http://www.hiddentao.com/archives/2011/06/27/setting-up-a-simple-ubuntu-apt-repository/">http://www.hiddentao.com/archives/2011/06/27/setting-up-a-simple-ubuntu-apt-repository/</a><br>
<br>
The third and "difficult" part is the deb packaging itself. Here we
have several possible paths: <br>
<br>
1. Use all the standard tools in Debian packaging and create/update
packages on UbuntuGIS ppa.<br>
A VERY simple example to create a deb package is shown here:<br>
<a class="moz-txt-link-freetext" href="http://ubuntuforums.org/showthread.php?t=910717">http://ubuntuforums.org/showthread.php?t=910717</a><br>
but usually more complex things are required so the complete guides
can be found here:<br>
<a class="moz-txt-link-freetext" href="https://wiki.debian.org/IntroDebianPackaging">https://wiki.debian.org/IntroDebianPackaging</a><br>
<a class="moz-txt-link-freetext" href="http://www.debian.org/doc/manuals/maint-guide/">http://www.debian.org/doc/manuals/maint-guide/</a><br>
<a class="moz-txt-link-freetext" href="http://packaging.ubuntu.com/html/">http://packaging.ubuntu.com/html/</a><br>
<br>
2. Use helper programs to produce deb packages.<br>
Recently I used this excellent tool for packaging/deployment:<br>
<a class="moz-txt-link-freetext" href="https://github.com/jordansissel/fpm">https://github.com/jordansissel/fpm</a><br>
<a class="moz-txt-link-freetext" href="https://github.com/jordansissel/fpm/wiki">https://github.com/jordansissel/fpm/wiki</a><br>
<a class="moz-txt-link-freetext" href="http://goo.gl/sWs3Z">http://goo.gl/sWs3Z</a><br>
<br>
This actually can save us lots of trouble, especially for building
things that cannot easily be moved to Launchpad.<br>
<br>
Small example to create a GeoServer package:<br>
$ cd /tmp<br>
$ wget
<a class="moz-txt-link-freetext" href="http://sourceforge.net/projects/geoserver/files/GeoServer/2.4.3/geoserver-2.4.3-war.zip">http://sourceforge.net/projects/geoserver/files/GeoServer/2.4.3/geoserver-2.4.3-war.zip</a><br>
$ unzip geoserver-2.4.3-war.zip<br>
$ mkdir -p /tmp/geoserver-root/var/lib/tomcat6/webapps<br>
$ mv geoserver.war /tmp/geoserver-root/var/lib/tomcat6/webapps/<br>
$ fpm -s dir -t deb -v 2.4.3 -n geoserver -a all -d tomcat6 -C
/tmp/geoserver-root .<br>
<br>
and we have a geoserver_2.4.3_all.deb file ready for us. This also
declares tomcat6 as a dependency and will just deploy the war file
in the correct tomcat folder.<br>
<br>
Then we upload this to our OSGeo apt repository (since we cannot
upload Java binaries to Launchpad) and we simple change the
install_geoserver.sh to apt-get install geoserver. OK, it is a bit
more complicated than this, but you get the picture :)<br>
<br>
FPM also supports translation of Ruby gems and Python packages into
any other format... so it is easy to create deb packages from
pypi...<br>
<br>
This can also be combined with Ansible and Vagrant to automate every
step of the build process.<br>
<a class="moz-txt-link-freetext" href="http://www.ansibleworks.com/docs/guide_vagrant.html">http://www.ansibleworks.com/docs/guide_vagrant.html</a><br>
<a class="moz-txt-link-freetext" href="http://www.ansibleworks.com/docs/playbooks.html">http://www.ansibleworks.com/docs/playbooks.html</a><br>
<br>
Thoughts?<br>
<br>
Cheers,<br>
Angelos<br>
<br>
<pre class="moz-signature" cols="72">--
Angelos Tzotsos
Remote Sensing Laboratory
National Technical University of Athens
<a class="moz-txt-link-freetext" href="http://users.ntua.gr/tzotsos">http://users.ntua.gr/tzotsos</a></pre>
</body>
</html>