NEW processing (wiki)¶
To work with the upload queue, you may either use the
web interface or the queue
API
client in ubuntu-archive-tools
. The API client should generally be faster and
more flexible; in particular, it is
not currently possible to override individual binaries using the web interface.
Both source packages and new binaries which have not yet been approved are not automatically accepted into the archive, but are instead held for checking and manual acceptance. Once accepted they’ll be automatically approved from then on.
The current queue can be obtained with:
$ ./queue info
This is the NEW
queue for the development series of Ubuntu by default; you
can change the queue with -Q
, the distro with -D
and the release using -s
.
To list the UNAPPROVED
queue for ubuntu/xenial
, for example:
$ ./queue -s xenial -Q unapproved info
Packages are placed in the UNAPPROVED
queue if they’re uploaded to a closed
distribution, and are usually security updates or similar; this should be
checked with the uploader.
You can give a string argument after info
which is interpreted as a sub-string
match filter.
To obtain a report of the size of all the different queues for a particular release:
$ ./queue report
Back to the NEW
queue for now, however. You’ll see output that looks somewhat
like this:
$ ./queue info
Listing ubuntu/dapper (New) 4
---------|----|----------------------|----------------------|---------------
25324 | S- | diveintopython-zh | 5.4-0ubuntu1 | 3 minutes
| * diveintopython-zh/5.4-0ubuntu1 Component: main Section: doc
25276 | -B | language-pack-kde-co | 1:6.06+20060427 | 2 hours 20 minutes
| * language-pack-kde-co-base/1:6.06+20060427/i386 Component: main Section: translations Priority: OPTIONAL
23635 | -B | upbackup (i386) | 0.0.1 | 2 days
| * upbackup/0.0.1/i386 Component: main Section: admin Priority: OPTIONAL
| * upbackup_0.0.1_i386_translations.tar.gz Format: raw-translations
23712 | S- | gausssum | 1.0.3-2ubuntu1 | 45 hours
| * gausssum/1.0.3-2ubuntu1 Component: main Section: science
---------|----|----------------------|----------------------|---------------
4
The number at the start can be used with other commands instead of referring to
a package by name. The next field shows you what is actually in the queue,
“S-
” means it’s a new source and “-B
” means it’s a new binary. You then have
the package name, the version and how long it’s been in the queue.
New sources need to be checked to make sure they’re well packaged, the licence details are correct and permissible for us to redistribute, etc. See:
You can fetch a package from the queue for manual checking:
$ ./queue fetch 25324
Or, if you just want to print the URLs so that you can fetch them on a system with a faster network connection:
$ ./queue show-urls 25324
The source is now in the current directory and ready for checking. Any problems should result in the rejection of the package (also send a mail to the uploader explaining the reason and cc ubuntu-archive@lists.ubuntu.com):
$ ./queue reject 25324
If the package is fine, you should next check that it’s going to end up in the
right part of the archive. On the next line of the info
output, you have
details about the different parts of the package, including which component,
section, etc. it is expected to head into. One of the important jobs is making
sure that this information is actually correct through the application of
overrides.
To alter the overrides for a package, use:
$ ./queue override -c universe ubuntustudio-menu
Where the override can be -c <component>
, -x <section>
, and/or (for binary
packages) -p <priority>
. If you want to limit the override application to
only source or only binary packages, use the --source
or --binary
options
respectively.
Often, a binary will be in the NEW
queue because it is a shared library that
has changed SONAME
. In this case you’ll probably want to check the existing
overrides to make sure anything new matches. These can be found in
/ubuntu/indices
on Ubuntu mirrors.
Currently, a special case of this are the kernel packages, which change package names with each ABI update and build many distinct binary packages in different sections. A helper tool has been written to apply overrides to the queue based on the packages that are currently published:
$ ./kernel-overrides [-s <sourcepackage>] <newabi>
Binary packages are not often rejected (they go into a black hole with no
automatic notifications), so, check the .deb
contains files, run lintian
on
it and file bugs when things are broken. The binaries also need to be put into
universe
etc as appropriate even if the source is already there.
If you’re happy with a package, and the overrides are correct, accept it with:
$ ./queue accept 23712
You can also use ./queue accept binary-name
which will accept it for all
architectures.
Partner archive¶
The Canonical partner archive, though not part of Ubuntu proper, is managed using the same tools and queues. As such, use the same procedures when processing partner packages. E.g.:
$ ./queue -s hardy info
Listing ubuntu/hardy (New) 2
---------|----|----------------------|----------------------|---------------
1370980 | S- | arkeia | 8.0.9-3 | 19 hours
| * arkeia/8.0.9-3 Component: partner Section: utils
1370964 | S- | arkeia-amd64 | 8.0.9-3 | 19 hours
| * arkeia-amd64/8.0.9-3 Component: partner Section: utils
---------|----|----------------------|----------------------|---------------
2
Notice 'Component: partner'
. Use -A ubuntu/partner
to remove a package:
$ ./remove-package -m "request from First Last name" -A ubuntu/partner -s precise adobe-flashplugin
The rules governing package inclusion in partner are not the same as those for
the main Ubuntu archive. See
Extension Repository Policy
for the Technical Board’s requirements regarding the contents of add-on
repositories made available through the Software Sources
interface.