I'm using Launchpad to upload a .dsc, a debian.tar.gz and a .orig.tar.xz. The orig archive contains both i386 and amd64 files, and I use debian/rules to build different architecture packages. But it only builds on Trusty series. I would like to use the feature Copy packages, but I want it to be automated.

Currently, I have to connect to Launchpad, click View Package Details, click Copy Packages, and use:

> Destination PPA:
> This PPA

> Destination series:
> Utopic

> Copy existing binaries

Is there a way to automate all this "copy the existing binaries from the older series to the new series", or to do it through CLI to use it in a script ?

Thank you

Leads :

  • Q: Maybe ubuntu-archive-tools can help me do that, it seem to have a copy-package python script ?

    A: It doesn't work with that: python copy-package -y -b --ppa-name=myname/myppa --to-ppa-name=myname/myppa -s trusty --to-suite=utopic -e versionofpackage

  • Q: Maybe if I change my changelog entry from trusty ; urgency=low to utopic trusty ; urgency=low ?

    A: It doesn't work : Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.

  • Q: Build 1 orig.tar.xz and multiple .dsc & debian.tar.gz

    A: I currently build an incremented version-number (i.e. mypackage-1.1.0-0trusty0 and mypackage-1.1.0-0utopic0), but the solution could be better since I have to reupload the orig.tar.xz for each and that it takes twice the place in the PPA since the built .deb aren't considered as a copy of each other but 2 packages.

  • 1
    For the record, you don't have to reupload the orig.tar.xz if you already uploaded it before. Run debuild -sd (or dpkg-build-package -sd) to generate a .changes file that doesn't upload the original tarball. Jun 30, 2014 at 0:58
  • What error did you get with the first method? Jun 30, 2014 at 1:07
  • Thanks for the first tip @saiarcot895, I'll use it !! The first method did not output anything, I think it's because --to-suite isn't made for "series" but for something else. I don't know. It seemed to work but nothing changed on my PPA.
    – MrVaykadji
    Jun 30, 2014 at 14:21
  • 1
    --to-suite is for the series. I wouldn't specify the -e flag since, by default, the latest version will be chosen. Also, try splitting up --ppa-name=myname/myppa to -p myname --ppa-name=myppa, since --ppa-name just wants the name of the PPA. Also, you don't need to specify --to-* if it's the same thing as the from. Jun 30, 2014 at 14:24
  • @saiarcot895 : I can't get copy-package to work. I have an authorization token, I'm the owner of the PPA, but it doesn't work.
    – MrVaykadji
    Jun 30, 2014 at 15:46

1 Answer 1


copy-package is good for this, but the correct modern invocation would be:

./copy-package --from=~myname/ubuntu/myppa --from-suite=trusty --to=~myname/ubuntu/myppa --to-suite=utopic -b -y packagename

(As saiarcot895 correctly noted, you needed to separate --ppa and --ppa-name, but this was always very confusing which was among the reasons we added the unified --from and --to options for specifying archives. Also, you neglected to include the package name, which was probably why you got no output; more recent versions of copy-package check for this.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.