Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a manually created .deb, and I'd like to upload it to a PPA.

My question is as follows:

  • Is that possible?

and If so,

  • how do I do that?
share|improve this question
add comment

2 Answers

up vote 10 down vote accepted

No, you cannot do that. Launchpad does not allow uploading of binary packages directly. It needs you to upload the dsc file along changes and original tarball. Then the build system builds it in a clean chrooted environment

How did you build this tarball? You had the packaging directory which was debian/ directory? Right?

This is how I do:

  1. Unzip/untar an upstream tarball. Say foo-x.y.tar.gz

  2. Then put the debian/ directory inside that extracted directory

  3. Put an entry in the debian/changelog file(either manually or using dch -i. If the version number reads say x.y

  4. Rename that foo-x.y.tar.gz to foo_x.y.orig.tar.gz. Please see how the orig tarball should be named - sourcepackagename_x.y.orig.tar.gz

  5. Now change to the directory where you have debian/ directory

  6. Run debuild -S -k9E6622AB where 9E6622AB is my GPG key. You need to sign your packages.

If everything was fine, then three files are created - that .orig.tar.gz file, a .dsc file and a third is .changes file

I hope you would be using pbuilder/cowbuilder or any such builder of your choice to create the deb file.

Rest you have to do is

dput ppa:yourusername/ppaname foo.changes

Ofcourse you need to create a PPA of that name


In case your dependencies are ruby gems which use incompatible packaging system, then you can use postinst, preinst, postrm, and prerm files for better control over the packaging process

share|improve this answer
add comment

You can't upload a .deb, you need to upload the sources for the .deb for the PPA to make them (this, if your .deb is architecture-dependant, allows it to be built for both 32bit and 64bit then!). See here on getting started with that.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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