Differences between revisions 17 and 18
Revision 17 as of 2013-04-09 03:54:55
Size: 4429
Editor: ?JoeHealy
Comment:
Revision 18 as of 2013-04-09 04:14:52
Size: 4442
Editor: GeoffSimmons
Comment: Add DefaultTemplate header, InterWiki, formatting.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~
----
Line 20: Line 23:
 * '''Salt Package QA Page''': http://packages.qa.debian.org/s/salt.html  * '''Salt Package QA Page''': DebianPts:salt
Line 33: Line 36:
1) download the .tar.gz and dsc files from http://debian.madduck.net/repo/pool/main/s/salt/

{{{
 1. download the .tar.gz and dsc files from http://debian.madduck.net/repo/pool/main/s/salt/ {{{
Line 40: Line 41:
Initiate a new Git directory

{{{
 Initiate a new Git directory {{{
Line 46: Line 45:
or maybe a git clone git+ssh://username-guest@git.debian.org/git/pkg-salt/pkg-salt.git before all this it's a better idea (?)  or maybe a git clone git+ssh://username-guest@git.debian.org/git/pkg-salt/pkg-salt.git before all this it's a better idea (?)
Line 48: Line 47:
2) Use git-import-dsc with madducks last 0.12.1 release:

{{{
 1. Use git-import-dsc with madducks last 0.12.1 release: {{{
Line 54: Line 51:
3) Download and import the released 0.14.0 tar.gz from pypi:

{{{
 1. Download and import the released 0.14.0 tar.gz from pypi: {{{
Line 60: Line 55:
Verify new upstream version

{{{
 Verify new upstream version {{{
Line 123: Line 116:
1. Install on sufficiently clean system  1. Install on sufficiently clean system
Line 125: Line 118:
1. Uninstall  1. Uninstall
Line 127: Line 120:
1. Install previous version  1. Install previous version
Line 129: Line 122:
1. Upgrade to new package  1. Upgrade to new package
Line 131: Line 124:
1. Test basic package functionality  1. Test basic package functionality
Line 137: Line 130:
If we backport to squeeze, we may need to be aware of
http://bugs.d
ebian.org/cgi-bin/bugreport.cgi?bug=698901
If we backport to squeeze, we may need to be aware of DebianBug:698901

Translation(s): none


Salt Packaging Team

It is early days for the salt packaging team, but we are setting up the infrastructure.

Our aims are to package salt and then the other salt tools (salt-api, salt-cloud etc) for debian and subsequently ubuntu.

Our primary aim at this point is firstly getting salt into debian unstable and hopefully being backported to wheezy and squeeze. Following this, we will be repeating this process for the other salt tools.

Most of the information below is for the team to learn, agree and standardize on processes for setting up and working with the repository we will use for packaging. Although it contains information that may be useful for building your own salt packages, that is not the intention at this stage. For the moment, the best reference is probably http://docs.saltstack.com/topics/installation/debian.html.

If you wish to be involved, the best approach is probably to join the mailing list.

Infrastructure

Interacting with the team

Task description

Packaging of Salt (http://saltstack.com) and related projects.

HowTos

Initial Repository Setup

  1. download the .tar.gz and dsc files from http://debian.madduck.net/repo/pool/main/s/salt/

    dget http://debian.madduck.net/repo/pool/main/s/salt/salt_0.12.1-1~bpo60+1~madduck.2.dsc (or another dsc filename if applicable)

    Initiate a new Git directory

    git init

    or maybe a git clone git+ssh://username-guest@git.debian.org/git/pkg-salt/pkg-salt.git before all this it's a better idea (?)

  2. Use git-import-dsc with madducks last 0.12.1 release:

    git-import-dsc salt_0.12.1-1~bpo60+1~madduck.2.dsc --pristine-tar
  3. Download and import the released 0.14.0 tar.gz from pypi:

    cd salt/

    Verify new upstream version

    uscan --verbose --download

Importing a new salt release

git-import-orig ../salt-0.14.0.tar.gz -u 0.14.0 --pristine-tar

Patching the repository

Depending on the need, this should either be done by using quilt (http://www.debian.org/doc/manuals/maint-guide/modify.en.html) or by modifing the debian/rules file.

In a recent (and educational) example, the rm was added at the end of the override_dh_installdocs chunk to delete the .DS_Store file after the files were copied into the temporary packaging location (dh_install/dh_installdocs step) but before being packaged into the .deb file.

rm -r was used rather than rm -rf (force) so that when a fixed upstream release is made, this will fail and the patch can be removed.

The extract from debian/rules can be seen below:

override_dh_installdocs:
        dh_installdocs
        # Remove embedded copies of javascript libs
        for f in $(JS_FILES) ; do \
                cd debian/salt-doc/usr/share/doc/salt/html/_static/ \
                  && rm $${f}.js \
                  && ln -s ../../../../javascript/sphinxdoc/1.0/$${f}.js . \
                  && cd $(CURDIR) ; \
        done ;
        # Remove stray .DS_Store file
        rm -r debian/salt-doc/usr/share/doc/salt/html/_static/fonts/.DS_Store

Building the packages

Is this the best? Some people use pbuilder - should that be our standard process?

git-dch

git-buildpackage -us -uc

Cloning the repo down

As it is a git-buildpackage repo, the following will clone the branches down properly:

gbp-clone git+ssh://username-guest@git.debian.org/git/pkg-salt/pkg-salt.git

Testing the packages

  1. Install on sufficiently clean system
  2. Uninstall
  3. Install previous version
  4. Upgrade to new package
  5. Test basic package functionality

Backporting

If we backport to squeeze, we may need to be aware of 698901

Decisions

  1. Use of git and git-buildpackage for VCS

Proposed Decisions