Difference between revisions of "Ubuntu Packaging"

From GRASS-Wiki
Jump to: navigation, search
(in progress)
 
(first real version GRASS Ubuntu)
Line 1: Line 1:
= Organisation =
+
= Grass Package Repositories =
 +
== Organisation ==
 +
*  GRASS packages are provided by different repositories.
 +
*  They are mostely distihuished by their level of up-to-dateness in respect to the GRASS source code.
  
GRASS packages are provided by different repositories:
+
== Overview and Sources ==
 +
An overview is given in the following table:
  
== Offical Ubuntu  Repors
 
  
=
+
{| style="border-spacing:0;"
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Repository
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Type
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Update Frequency
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Status
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Current version
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Source
 +
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Details
 +
| style="border:0.05pt solid #000000;padding:0.097cm;"|  Link
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Official Ubuntu  Repositories
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  universe
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Only updated before each Ubuntu release
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Stable at time of import
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  6.4.2-2
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Imported from Debian repositories
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  <nowiki>[http://packages.ubuntu.com/search?keywords=grass&searchon=names&exact=1&suite=all&section=all Overview]</nowiki>
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  UbuntuGIS
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  stable
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  ?
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Stable at time of packaging
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| 6.4.2
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  ?
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  [https://launchpad.net/~ubuntugis/+archive/ppa ubuntugis-stable]
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  UbuntuGIS
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  unstable
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  ?
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Unstable at time of packaging
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| 6.4.2~x
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  ?
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  [https://launchpad.net/~ubuntugis/+archive/ubuntugis-unstable ubuntugis-unstable]
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  UbuntuGIS
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  testing
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  ?
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Very unstable at time of packaging
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  6.4.3-1~x
 +
7.0-1~x
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  ?
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  [https://launchpad.net/~ubuntugis/+archive/ubuntugis-testing ubuntugis-testing]
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  GRASS PPA
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  stable
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Daily upon change of GRASS source code
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Most recent fixes and backports to stable  series
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  6.4.2+2
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Imported from [http://svn.osgeo.org/grass/grass/branches/releasebranch_6_4 GRASS SVN of releasebranch_6_4]
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  [file:///home/hotryce/Dokumente/GRASS%20Packages:%20Stable%20Series GRASS Packages: Stable Series]
 +
 
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  GRASS PPA
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  unstable
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Daily upon change of GRASS source code
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Very unstable but latest development code
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  7.0.x
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  Imported from [https://svn.osgeo.org/grass/grass/trunk GRASS SVN trunk]
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  [https://launchpad.net/~grass/+archive/grass-devel GRASS Packages: Development Series]
 +
 
 +
|}
 +
= GRASS on Launchpad (LP) =
 +
== Organisation ==
 +
*  [https://launchpad.net/~grass GRASS team]
 +
**  GRASS team
 +
**  individuals which are dedicated to work on GRASS packaging for Ubuntu
 +
**  Any user and developer is free and welcome to join!
 +
**  New active members are needed!
 +
**  Umbrella ''organisation'' for activities around GRASS on Launchpad
 +
*  [https://launchpad.net/grass GRASS GIS Project]
 +
**  The GRASS [https://help.launchpad.net/Projects LP project]
 +
**  Umbrella project for all activities related to the GRASS core such as
 +
***  code: [https://code.launchpad.net/grass Bazaar branches of GRASS GIS Project]
 +
*  other future projects could be
 +
**  Automatic packaging of [http://grasswiki.osgeo.org/wiki/AddOns AddOns]
 +
**  Further integration of GRASS in Ubntu
 +
**  Link to Live-CD projects such as [http://live.osgeo.org/ OSGeo-Live]
 +
 
 +
== Others (UbuntuGIS) ==
 +
* [https://wiki.ubuntu.com/UbuntuGIS https://wiki.ubuntu.com/UbuntuGIS]
 +
* [http://trac.osgeo.org/ubuntugis/ http://trac.osgeo.org/ubuntugis/]
 +
* [https://launchpad.net/~ubuntugis https://launchpad.net/~ubuntugis]
 +
 
 +
== Source Code ==
 +
The source code is managed in a structure corresponding to the above organisation
 +
 
 +
*  Latest SVN imports
 +
**  [https://code.launchpad.net/~grass/grass/releasebranch_6_4 stable] from [http://svn.osgeo.org/grass/grass/branches/releasebranch_6_4 SVN releasebranch_6_4]
 +
**  [https://code.launchpad.net/~grass/grass/grass_trunk development] from [https://svn.osgeo.org/grass/grass/trunk SVN ][https://svn.osgeo.org/grass/grass/trunk trunk]
 +
*  [https://code.launchpad.net/ubuntu/+source/grass Bazaar branches for “grass” package in Ubuntu]
 +
**  Used by Ubuntu packages for the official packages
 +
 
 +
= GRASS Packaging =
 +
== Offical Ubuntu Packages ==
 +
To be added.
 +
 
 +
== UbuntuGIS Packages ==
 +
To be added.
 +
 
 +
== GRASS PPA Packages ==
 +
* [http://Packaging/SourceBuilds/Recipes Built by Launchpad] using [https://code.launchpad.net/~grass/+recipes GRASS build recipes]
 +
* Either built daily (stable code) or upon request (development code)
 +
 
 +
=== Process ===
 +
#  GRASS source code is regularly imported upon change by LP (destination: see above)
 +
#  If source has changed, the package is build by
 +
##  nesting the debian package files (e.g. from [https://code.launchpad.net/~grass/grass/grass64_release_debian lp:~grass/grass/grass64_release_debian] for the 6.4.x stable series) in the original source (e.g. [https://code.launchpad.net/~grass/grass/releasebranch_6_4 lp:~grass/grass/releasebranch_6_4]  for the 6.4.x stable series)
 +
##  run the build process on LP for the chosen Ubuntu releases according to the instructions in the debian files (e.g. [http://bazaar.launchpad.net/~grass/grass/grass64_release_debian/files ~grass/grass/grass64_release_debian])
 +
##  Upload the package to the respective archive / PPA (e.g. [https://code.launchpad.net/~grass/+archive/grass-stable GRASS Packages: Stable Series] for  6.4.x stable series)
 +
 
 +
=== What do to on errors in the packaging process ===
 +
* If a package build fails, its most likely that there were changes in the upstream GRASS SVN
 +
* Then the debian files outlined above must be adapted:
 +
** branch the code of the debian files Bazaar (bzr) repository from launchpad
 +
** make the necessary changes locally
 +
** prepare the source running the recipe locally using
 +
*** bzr dailydeb
 +
*** bzr build
 +
** tests the build process on your machine using
 +
*** pbuilder (recommended), or
 +
*** dpkg-buildpackage (etc.)
 +
 
 +
=== Actions where help is needed ===
 +
Outstanding tasks are:
 +
 
 +
* check the correct update & daily builds for GRASS 6.4.x
 +
* Check if the upgrade to the next Ubntu release (13.04) does not affect the packages
 +
* make the GRASS 7.0.x package failsave so that it can be activated for daily builds
 +
 
 +
'''Interested contributors, please come in here and give something back to the GRASS community!'''

Revision as of 03:38, 12 April 2013

Grass Package Repositories

Organisation

  • GRASS packages are provided by different repositories.
  • They are mostely distihuished by their level of up-to-dateness in respect to the GRASS source code.

Overview and Sources

An overview is given in the following table:


Repository Type Update Frequency Status Current version Source Details Link
Official Ubuntu Repositories universe Only updated before each Ubuntu release Stable at time of import 6.4.2-2 Imported from Debian repositories [http://packages.ubuntu.com/search?keywords=grass&searchon=names&exact=1&suite=all&section=all Overview]
UbuntuGIS stable  ? Stable at time of packaging 6.4.2  ? ubuntugis-stable
UbuntuGIS unstable  ? Unstable at time of packaging 6.4.2~x  ? ubuntugis-unstable
UbuntuGIS testing  ? Very unstable at time of packaging 6.4.3-1~x
7.0-1~x
 ? ubuntugis-testing
GRASS PPA stable Daily upon change of GRASS source code Most recent fixes and backports to stable series 6.4.2+2 Imported from GRASS SVN of releasebranch_6_4 [file:///home/hotryce/Dokumente/GRASS%20Packages:%20Stable%20Series GRASS Packages: Stable Series]
GRASS PPA unstable Daily upon change of GRASS source code Very unstable but latest development code 7.0.x Imported from GRASS SVN trunk GRASS Packages: Development Series

GRASS on Launchpad (LP)

Organisation

  • GRASS team
    • GRASS team
    • individuals which are dedicated to work on GRASS packaging for Ubuntu
    • Any user and developer is free and welcome to join!
    • New active members are needed!
    • Umbrella organisation for activities around GRASS on Launchpad
  • GRASS GIS Project
  • other future projects could be
    • Automatic packaging of AddOns
    • Further integration of GRASS in Ubntu
    • Link to Live-CD projects such as OSGeo-Live

Others (UbuntuGIS)

Source Code

The source code is managed in a structure corresponding to the above organisation

GRASS Packaging

Offical Ubuntu Packages

To be added.

UbuntuGIS Packages

To be added.

GRASS PPA Packages

Process

  1. GRASS source code is regularly imported upon change by LP (destination: see above)
  2. If source has changed, the package is build by
    1. nesting the debian package files (e.g. from lp:~grass/grass/grass64_release_debian for the 6.4.x stable series) in the original source (e.g. lp:~grass/grass/releasebranch_6_4 for the 6.4.x stable series)
    2. run the build process on LP for the chosen Ubuntu releases according to the instructions in the debian files (e.g. ~grass/grass/grass64_release_debian)
    3. Upload the package to the respective archive / PPA (e.g. GRASS Packages: Stable Series for 6.4.x stable series)

What do to on errors in the packaging process

  • If a package build fails, its most likely that there were changes in the upstream GRASS SVN
  • Then the debian files outlined above must be adapted:
    • branch the code of the debian files Bazaar (bzr) repository from launchpad
    • make the necessary changes locally
    • prepare the source running the recipe locally using
      • bzr dailydeb
      • bzr build
    • tests the build process on your machine using
      • pbuilder (recommended), or
      • dpkg-buildpackage (etc.)

Actions where help is needed

Outstanding tasks are:

  • check the correct update & daily builds for GRASS 6.4.x
  • Check if the upgrade to the next Ubntu release (13.04) does not affect the packages
  • make the GRASS 7.0.x package failsave so that it can be activated for daily builds

Interested contributors, please come in here and give something back to the GRASS community!