Uploading to Extras-devel
(typo fix) |
(Add information about non-free packages. This needs some work, but at least this info is recorded now ;)) |
||
Line 67: | Line 67: | ||
=== Upload the package === | === Upload the package === | ||
+ | |||
+ | ==== free packages ==== | ||
+ | |||
Describe: upload source package to diablo-extras-builder via <code>dput</code><ref>[http://extras-cauldron.garage.maemo.org/HOWTO.html#how-to-prepare-and-upload-source-packages-for-build upload to autobuilder with dput]</ref>, <code>scp</code><ref>[http://lists.maemo.org/pipermail/maemo-users/2006-September/002080.html Use scp to upload a package]</ref> or through the web interface<ref>[https://garage.maemo.org/extras-assistant/index.php Extras assistant]</ref>. | Describe: upload source package to diablo-extras-builder via <code>dput</code><ref>[http://extras-cauldron.garage.maemo.org/HOWTO.html#how-to-prepare-and-upload-source-packages-for-build upload to autobuilder with dput]</ref>, <code>scp</code><ref>[http://lists.maemo.org/pipermail/maemo-users/2006-September/002080.html Use scp to upload a package]</ref> or through the web interface<ref>[https://garage.maemo.org/extras-assistant/index.php Extras assistant]</ref>. | ||
- | + | ==== 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 == | == Promotion == |
Revision as of 20:10, 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):
-
ssh-keygen -t rsa
(enter enter enter). - 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:
- Create the key using:
gpg --gen-key
: enter your name, email address etc. - Export the key using: gpg --export --armor jqdoe@example.com
- 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:
- Login to Scratchbox
- Create
/etc/apt/sources.list.d/extras-repo.list
- 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
- Extras assistant
- Garage SSH key
- Build logs: chinook, diablo
Reference
Cite error:
<ref>
tags exist, but no <references/>
tag was found