<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>