SyncRequestProcess

Differences between revisions 34 and 46 (spanning 12 versions)
Revision 34 as of 2010-03-15 09:08:05
Size: 6627
Editor: p5DDC3681
Comment:
Revision 46 as of 2012-01-23 12:20:22
Size: 6149
Editor: mitya57
Comment: package should be in testing for lts
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
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. 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 [[UbuntuDevelopment/Merging|merged]] from Debian, not synced.
Line 11: Line 11:
You should always sync a package rather than upload 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). 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).
Line 14: Line 14:

Packages can be synced from any Debian-format package archive, i.e. something with a Sources file.
Line 21: Line 19:
it is not even valid in the first place. If it does not match then you will have to do a "manual
sync."
it is not even valid in the first place. If it does not match then you will have to do a [[fakesync]].
Line 27: Line 24:
 * and the Debian package is in sid  * and the Debian package is in sid (in testing for LTS releases of Ubuntu)
Line 29: 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 (unless you need a [[UbuntuDevelopment/ReleaseProcess#Freezes|freeze exception]]), 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 33: Line 40:
 * Informations to put into the Summary:  * Information to put into the Summary:
Line 37: Line 44:
 * Informations to put into the Bug Description:  * Information to put into the Bug Description:
Line 45: Line 52:
== Submitting your request == === Submitting your request ===
Line 47: Line 54:
To request a sync, [[https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect|file a bug in Launchpad]] with the above information. 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 subscribe `ubuntu-archive`. Ubuntu developers should subscribe (NOT assign) the `ubuntu-archive` team to the bug directly. This team will process the request and close the bug when it is complete. Please only subscribe ubuntu-archive to a bug once you have a '''clear action''' for the archive team to perform. Do not ask ubuntu-archive to help you decide what to do. 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 49: Line 56:
Do not change the Status of the bug or put it back to New as package sponsors and the archive administrators 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, if the archive admin has not, 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 51: 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 53: Line 60:
== requestsync == 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 55: Line 62:
Martin Pitt and Steve Kowalik have written '''requestsync''', a script to file sync requests which is available in the [[https://launchpad.net/ubuntu/+source/ubuntu-dev-tools|ubuntu-dev-tools]] package. === requestsync ===
Line 57: Line 64:
'''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 changelog entry from packages.debian.org, and then prompts for your GPG passphrase so it can sign the mail and send it off, which files a sync request in the form of a bug report in Launchpad. 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:
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: '''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 61: Line 68:
{{{ manage-credentials create -c ubuntu-dev-tools -l 2 }}} For documentation of how to call '''requestsync''', see its [[Manpage:requestsync|manual page]].
Line 63: Line 70:
You have to grant permissions to '''Change non-private data'''. === Sync bug list ===
Line 65: Line 72:
The syntax to call '''requestsync''' is:

{{{ 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 python-launchpad-bugs instead of email to submit the sync request.

<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 ==

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 [[https://bugs.launchpad.net/~ubuntu-archive/+bugs|here]].
Before submitting a sync request, please check that a similar request has not been filed already. You can see all bugs to which the ubuntu-sponsors have been subscribed [[https://bugs.launchpad.net/~ubuntu-sponsors/+subscribedbugs|here]].

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

  • we're before DebianImportFreeze (check ReleaseSchedule) and

  • our version of the package has no Ubuntu changes
  • and the Debian package is in sid (in testing for LTS releases of Ubuntu)

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 (unless you need a freeze exception), 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 ubuntu-sponsors have been subscribed here.


CategoryProcess

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