SyncRequestProcess

Differences between revisions 41 and 43 (spanning 2 versions)
Revision 41 as of 2012-01-12 14:38:04
Size: 6736
Editor: laney
Comment:
Revision 43 as of 2012-01-12 14:55:20
Size: 6015
Editor: cjwatson
Comment: refactor into developer and sponsor sections
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
== Content of a sync request == == For people with permission to upload the package to Ubuntu ==

Use the '''syncpackage''' tool from '''ubuntu-dev-tools''' to perform the sync ([[Manpage:syncpackage|manual page]]). This will ask Launchpad to copy the source package publication entry from its import of Debian. You can do this for any package you could upload directly to Ubuntu.

This process relies on the Debian source upload having been processed by the Debian archive, pushed to mirrors, and then imported by Launchpad, so it can take a little while for very recent uploads to be available (in general, though, this should take well under a day). The Debian publication history in Launchpad (`https://launchpad.net/debian/+source/SOURCE-PACKAGE-NAME/+publishinghistory`) shows when uploads have been imported.

Although you no longer need to file a sync request bug if you have direct upload permission, please look over the "Content of a sync request" section below and make sure you have a good reason for any Ubuntu changes you are dropping as a result of the sync.

== For people requiring sponsorship ==

=== Content of a sync request ===
Line 30: Line 40:
 * Informations to put into the Summary:  * Information to put into the Summary:
Line 34: Line 44:
 * Informations to put into the Bug Description:  * Information to put into the Bug Description:
Line 42: Line 52:
== Submitting your request == === Submitting your request ===
Line 44: Line 54:
To request a sync, [[https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect|file a bug in Launchpad]] with the above information (the requestsync tool discussed below makes this simple). Once the bug is complete and correct, if you are not an Ubuntu developer, subscribe (NOT assign) `ubuntu-sponsors`. They will review the request and perform the sync for you using the '''syncpackage''' tool. Ubuntu developers should use '''syncpackage''' from '''ubuntu-dev-tools''' to perform syncs directly. (Previously syncs went through the Archive Administrators. This process is now deprecated.) To request a sync, [[https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect|file a bug in Launchpad]] with the above information (the requestsync tool discussed below makes this simple). Once the bug is complete and correct, subscribe (NOT assign) `ubuntu-sponsors`. They will review the request and perform the sync for you using the '''syncpackage''' tool. (Previously syncs went through the Archive Administrators. This process is now deprecated.)
Line 46: Line 56:
Do not change the Status of the bug or put it back to New as package sponsors use this field. Do track the status of the sync. You will be notified via bug mail when the package has been published.  Once you see (in Launchpad) that the updated packaged has been successfully built, then you may mark the bug Status as 'Fix Released' (primarily for Universe/Multiverse). Do not change the Status of the bug or put it back to New as package sponsors use this field. Do track the status of the sync. You will be notified via bug mail when the package has been published.
Line 48: Line 58:
Warning: As the sync requester, your "hidden" Launchpad contact e-mail address will be publicly disclosed when the package is released (lp #523093). Warning: As the sync requester, your "hidden" Launchpad contact e-mail address will be publicly disclosed when the package is released (Bug:523093).
Line 50: Line 60:
If you do not have a Launchpad account you can mail the [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel|ubuntu devel]] mailing list (warning: moderated for non-developers). If you do not have a Launchpad account you can mail the [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel|ubuntu-devel]] mailing list (warning: moderated for non-developers).
Line 52: Line 62:
== requestsync == === requestsync ===
Line 54: Line 64:
There's a tool that automates the bureaucratic part of the sync request
process, '''requestsync''' in the
[[https://launchpad.net/ubuntu/+source/ubuntu-dev-tools|ubuntu-dev-tools]]
package.
There's a tool that automates the bureaucratic part of the sync request process, '''requestsync''' in the [[https://launchpad.net/ubuntu/+source/ubuntu-dev-tools|ubuntu-dev-tools]] package.
Line 59: Line 66:
'''requestsync''' looks at the versions of the source package in Debian and
Ubuntu, prompts for an explanation of why the Ubuntu changes (if there are
any) should be dropped, downloads the new Debian changelog entries, and files
the bug in Launchpad.
'''requestsync''' looks at the versions of the source package in Debian and Ubuntu, prompts for an explanation of why the Ubuntu changes (if there are any) should be dropped, downloads the new Debian changelog entries, and files the bug in Launchpad.
Line 64: Line 68:
In releases before natty, before the first use of '''requestsync''' you have to
create credentials which are used to access launchpad via the API. This is done
by running the following command:
For documentation of how to call '''requestsync''', see its [[Manpage:requestsync|manual page]].
Line 68: Line 70:
{{{ manage-credentials create -c ubuntu-dev-tools -l 2 }}}

You have to grant permissions to '''Change non-private data'''.

The syntax to call '''requestsync''' is (or was when this page was written,
check the manpage for up-to-date information):

{{{ requestsync [-d distro|-h|-n|-k <keyid>|--lp] <source package> <target release> [base version] }}}

Where:

-d distro

Override the Debian distribution (by default, unstable)

-h

Print the help

-n

Specifies that the package is a new package, and requestsync should not attempt to look it up in Ubuntu since it will not exist.

-k <keyid>

Override the keyid used to sign the email (only used when submitting the bug by mail)

--lp

Use the LP API (through python-launchpadlib) instead of email to submit the sync request. (This is the default in precise and later)

<source package>

This is the source package that you would like to be synced from Debian.

<target release>

This is the release that you would like the source package to be synced into. This should always be the latest development release of Ubuntu.

[base version]

In some cases, the base version (where the Ubuntu package started differing from the Debian package) can not be automatically determined. Specify this option in this case.

'''Example''':
{{{ requestsync --lp -s -d testing gedit-latex-plugin }}}


== sync bug list ==
=== sync bug list ===

Before requesting a sync

Syncs (like uploads) cannot be reversed or undone. ALWAYS thoroughly check a package before asking for a sync. In particular, if there are Ubuntu changes in the current package, you must ensure the Ubuntu changes have been merged or are no longer relevant. If the Ubuntu changes are still relevant, the package should be merged from Debian, not synced.

Sometimes the sponsor requires a build log of the Debian package compiled in the Ubuntu release as proof that the new Debian version still compiles in Ubuntu. The build log has to be attached to the sync request.

After FeatureFreeze, syncs of a newer upstream version require a freeze exception.

You should always sync a package rather than uploading the unmodified source by hand, as it is safer and more accurate. If you know you will upload modified source immediately, modify the package and make an -<n>ubuntu<n> upload rather than requesting a sync. However, be sure to always use the exact same .orig.tar.gz as Debian (or whomever).

After DebianImportFreeze, it's a good idea to review the Debian changes to make sure that the fixes will improve Ubuntu: some changes (maintainer change, new uploader, NMU acknowledgement with no additional fixes, etc.) may be better left for the next cycle.

If the version in Ubuntu is a -0ubuntu* version, i.e. it introduces a new upstream that Debian doesn't have it is important to check that the md5sum of the .orig.tar.gz in the Ubuntu archive matches the md5sum of the tarball in the Debian archive (or wherever the sync is from). If it does not match then you risk problems where the source package cannot be unpacked, or where it is not even valid in the first place. If it does not match then you will have to do a fakesync.

An explicit sync is not necessary, when

For people with permission to upload the package to Ubuntu

Use the syncpackage tool from ubuntu-dev-tools to perform the sync (manual page). This will ask Launchpad to copy the source package publication entry from its import of Debian. You can do this for any package you could upload directly to Ubuntu.

This process relies on the Debian source upload having been processed by the Debian archive, pushed to mirrors, and then imported by Launchpad, so it can take a little while for very recent uploads to be available (in general, though, this should take well under a day). The Debian publication history in Launchpad (https://launchpad.net/debian/+source/SOURCE-PACKAGE-NAME/+publishinghistory) shows when uploads have been imported.

Although you no longer need to file a sync request bug if you have direct upload permission, please look over the "Content of a sync request" section below and make sure you have a good reason for any Ubuntu changes you are dropping as a result of the sync.

For people requiring sponsorship

Content of a sync request

When requesting a 'sync', please include the following information:

  • Information to put into the Summary:
    • Source package name
    • Source package version number to sync
    • Where to sync from (e.g. 'Debian sid main', 'Debian experimental non-free')
  • Information to put into the Bug Description:
    • If there are Ubuntu changes apart from debian/changelog or if FeatureFreeze is in effect:

      • A copy of the entries from debian/changelog corresponding to the changes relative to the current version in Ubuntu
    • If there are Ubuntu changes:
      • a description of each of the Ubuntu changes (a bullet point list is fine, but copies of debian/changelog aren't)
      • a brief explanation of why each one may be dropped (e.g., it's been merged into Debian, is no longer appropriate, etc.)
      • an explicit confirmation that the Ubuntu changes should be overridden

Submitting your request

To request a sync, file a bug in Launchpad with the above information (the requestsync tool discussed below makes this simple). Once the bug is complete and correct, subscribe (NOT assign) ubuntu-sponsors. They will review the request and perform the sync for you using the syncpackage tool. (Previously syncs went through the Archive Administrators. This process is now deprecated.)

Do not change the Status of the bug or put it back to New as package sponsors use this field. Do track the status of the sync. You will be notified via bug mail when the package has been published.

Warning: As the sync requester, your "hidden" Launchpad contact e-mail address will be publicly disclosed when the package is released (523093).

If you do not have a Launchpad account you can mail the ubuntu-devel mailing list (warning: moderated for non-developers).

requestsync

There's a tool that automates the bureaucratic part of the sync request process, requestsync in the ubuntu-dev-tools package.

requestsync looks at the versions of the source package in Debian and Ubuntu, prompts for an explanation of why the Ubuntu changes (if there are any) should be dropped, downloads the new Debian changelog entries, and files the bug in Launchpad.

For documentation of how to call requestsync, see its manual page.

sync bug list

Before submitting a sync request, please check that a similar request has not been filed already. You can see all bugs to which the archive-admins have been subscribed here.


CategoryProcess

SyncRequestProcess (last edited 2012-01-23 12:20:22 by mitya57)