SyncRequestProcess

Differences between revisions 41 and 42
Revision 41 as of 2012-01-12 14:38:04
Size: 6736
Editor: polihale
Comment:
Revision 42 as of 2012-01-12 14:42:06
Size: 5228
Editor: 82-69-40-219
Comment: link to requestsync(1) rather than copying it
Deletions are marked like this. Additions are marked like this.
Line 64: Line 64:
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:

{{{ 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 }}}
For documentation of how to call '''requestsync''', see its [[Manpage:requestsync|manual page]].

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

Content of a sync request

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

  • Informations 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')
  • Informations 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, 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.)

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).

Warning: As the sync requester, your "hidden" Launchpad contact e-mail address will be publicly disclosed when the package is released (lp #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)