Uploading to Extras-devel

(Add information about non-free packages. This needs some work, but at least this info is recorded now ;))
m (typo fix)
Line 76: Line 76:
Publishing non-free packages in the Maemo Extras repository for Diablo is done via dput. Direct upload of binary packages is allowed for non-free packages only.
Publishing non-free packages in the Maemo Extras repository for Diablo is done via dput. Direct upload of binary packages is allowed for non-free packages only.
-
Settings for /etc.dput.cf for Diablo Extras-Devel non-free:
+
Settings for /etc/dput.cf for Diablo Extras-Devel non-free:
  [diablo-extras-devel-non-free]
  [diablo-extras-devel-non-free]
Line 86: Line 86:
  incoming = /var/www/extras-devel/incoming-nonfree/diablo
  incoming = /var/www/extras-devel/incoming-nonfree/diablo
-
Settings for /etc.dput.cf for Diablo Extras non-free:
+
Settings for /etc/dput.cf for Diablo Extras non-free:
  [diablo-extras-non-free]
  [diablo-extras-non-free]

Revision as of 20:13, 28 July 2008

Contents

Pre-requisites

Setup

Setting up SSH and PGP to upload to extras

Put your SSH key[1] and PGP key[2] into Garage.

  • If you need to create an RSA SSH key (Make sure it is an RSA key):
  1. ssh-keygen -t rsa (enter enter enter).
  2. Copy the contents of ~/.ssh/id_rsa.pub in the "Public SSH keys" section of your garage account maintenance page.
  • If you need to create a PGP key:
  1. Create the key using: gpg --gen-key: enter your name, email address etc.
  2. Export the key using: gpg --export --armor jqdoe@example.com
  3. Copy the text to the extras sign-up page.

Setting up Scratchbox to use the extras repository

Add the extras repository to your Scratchbox install:

  1. Login to Scratchbox
  2. Create /etc/apt/sources.list.d/extras-repo.list
  3. Update apt's information.

Note: this should be done in both your ARMEL and x86 targets.

/scratchbox/login
cat >/etc/apt/sources.list.d/extras-repo.list <<EOT
#Maemo extras
deb http://repository.maemo.org/extras/ diablo free non-free
deb-src http://repository.maemo.org/extras/ diablo free
EOT
fakeroot apt-get update

Preparing a source package

Upstream sources can be easily repacked using mud-builder which automates the steps below. Alternatively, you can do it directly using Debian tooling:

Create your package with dpkg-buildpackage in the project source directory:

dpkg-buildpackage -rfakeroot -sa -S -i

You may verify that your Build-Depends field in debian/control is complete by running

dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b

in the source tree. (You'll need to fakeroot apt-get install devscripts for this to work).

Upload

Sign the package

Sign the .changes file (you'll need to do it outside scratchbox) with

debsign -k<key-id> <package>.changes

If you have multiple keys or don't know your key-id, you can find it with

gpg --list-keys

Example output:

pub   1024D/FEA210ED 2007-06-14 [expired: 2008-06-13]
uid                  Niels Breet (Maemo) <maemo@xxx>
pub   4096R/80C3F817 2008-06-30 [expires: 2009-06-30]
uid                  Niels Breet (Maemo) <niels@xxx>

The key-id is found in the second column, in this case FEA210ED or 80C3F817.

Upload the package

free packages

Describe: upload source package to diablo-extras-builder via dput[1], scp[2] or through the web interface[3].

non-free packages

Publishing non-free packages in the Maemo Extras repository for Diablo is done via dput. Direct upload of binary packages is allowed for non-free packages only.

Settings for /etc/dput.cf for Diablo Extras-Devel non-free:

[diablo-extras-devel-non-free]
login = <your_garage_login_name>
fqdn = garage.maemo.org
method = scp
hash = md5
allow_unsigned_uploads = 0
incoming = /var/www/extras-devel/incoming-nonfree/diablo

Settings for /etc/dput.cf for Diablo Extras non-free:

[diablo-extras-non-free]
login = <your_garage_login_name>
fqdn = garage.maemo.org
method = scp
hash = md5
allow_unsigned_uploads = 0
incoming = /var/www/extras/incoming-nonfree/diablo

The packages are imported into the repository once per hour.

Please make sure your dependencies are correct. If there is a dependency problem between a free and a non-free package, the non-free package will most likely be removed first. (As we can recompile free packages, but can't do that for non-free ones)

There is no promotion available for non-free. You need to upload your package to the right repository yourself.

Promotion

After the autobuilder builds a package, it will be available in Extras-Devel. This is the experimental repository.

Please make sure your package is ready for the masses and at least test:

  • if it installs without problems
  • if it uninstalls without problems
  • if it doesn't introduce dependency problems for other packages.

You can promote your package to Extras with the promotion interface.

Resources

Reference

Template:Refs


Cite error: <ref> tags exist, but no <references/> tag was found