PkgmeService

Introduction

This document is aimed at developers and administrators of pkgme-service.

How it works

When an application is submitted for review on MyApps, it is also sent for automatic packaging to an internal service that runs pkgme.

packaging-workflow.png

How to

Test the service

lp:pkgme-service comes with a script that will submit a file to pkgme-service for packaging.

With pkgme-service in the PYTHONPATH, and in a directory that's a pkgme-service checkout:

$ ./bin/submit-for-packaging some-binary.tar.gz devportal-metadata.json http://pkgme-service.wherever/pkgme/api/1.0

If the API url is not provided, it will default to http://localhost:8000/pkgme/api/1.0, which is where the dev service runs by default.

If the path to the metadata JSON file is not provided, it will look for devportal-metadata.json in the current working directory.

It will take a few seconds, usually. If it succeeds it will print a Python dict showing the response. e.g.

{u'dependencies': [],
 u'packaged_app_url': u'packaged-tarballs/gtk.tar.gz',
 u'pkgme_distro_arch_series': [],
 u'pkgme_extra_data': {u'executable': u'', u'pkgme_id': 7}}

If it fails it will print output to stderr.

You can try with the example binary tarball and devportal-metadata.json.

There are more detailed notes for testing the Canonical production instance of pkgme-service on the Canonical wiki. These notes differ mostly by providing extra information to do with specific network & machine configuration.

See also

PkgmeService (last edited 2012-03-05 14:56:22 by cpc11-acto4-2-0-cust359)