blob: f3635acc0f4978c8af0efac595f25eca2d4b6faf [file] [log] [blame]
Using kernel.org uploader (kup)
===============================
Kernel.org uploader (kup) is a Perl program that was written for the
sole purpose of making sure that any software uploaded to kernel.org is
cryptographically verified against a list of pre-approved maintainers.
If you are a kernel developer and you'd like to be able to upload
tarballs, patches or any other data to https://kernel.org/pub/, this
document is for you.
Before you begin
----------------
.. warning:: Do not upload non-Open Source software without special
prior permission. This includes binaries of software intended to be
Open Source for which source code isn't actually available yet. IN
PARTICULAR, do not upload non-Open Source cryptographic software, or
cryptographic binaries from source not available on the Internet,
under any circumstances. This is absolutely essential.
If you have not yet set up your ssh access, first see :doc:`access`.
Obtaining kup
-------------
Kup is packaged for most distributions and is probably installable using
your distribution's package management tools. For example, on Fedora it
is installable using::
yum install kup
.. note:: Make sure the version of kup is at least 0.3.6, as earlier
versions will NOT work.
You can also check out the git tree to obtain the latest version of
kup::
git clone git://git.kernel.org/pub/scm/utils/kup/kup.git
Configuring kup
---------------
Set your ``$HOME/.kuprc`` as follows (**requires kup >= 0.3.6**)::
host = git@gitolite.kernel.org
subcmd = kup-server
That should be all you need to do. You may test things by running::
kup info
You should see the following or similar output::
kup-server 0.3.6 (gitolite integrated)
ls /*
put/rm/mv/mkdir /testing/*
put/rm/mv/mkdir /pub/linux/kernel/people/yourname/*
If you get an error in return, check to make sure you have correctly set
up your ssh access (see :doc:`access`). Additionally, if you see a long
list of gitolite repositories instead, make sure your version of kup is
0.3.6 or above, and that you have correctly set up your ``~/.kuprc`` to
specify ``subcmd=kup-server``.
If it is still not working for you, please email helpdesk@kernel.org for
further assistance.
Uploading with kup
------------------
Please carefully read the manpages provided by kup to familiarize
yourself with the procedure::
man kup
You can test kup by uploading into the special ``/testing`` directory::
kup put foo.tar foo.tar.asc /testing/foo.tar.gz
If you get "invalid signature", the most likely cause is that your
signature is against the compressed version of the archive. KUP expects
the signature to be against .tar, not .tar.?z. It uncompresses the file,
then runs the verification check, then recompresses in multiple formats.
Please remove anything you put there after you are done::
kup rm /testing/foo.tar.gz
Anything uploaded to ''/pub'' will be rsynced to kernel.org frontends
and will be available on http://kernel.org/pub after a few minutes.
Permissions
-----------
If you find that some directories do not have the correct permissions,
or if you need to set up groups in order to allow multiple developers
write access, please send a request to helpdesk@kernel.org.