I've created a PPA (https://launchpad.net/~brentonhorne/+archive/ubuntu/eclipse-ide-cpp) that is presently completely empty but I have been trying to upload my .changes file to it (with dput eclipse-ide-cpp eclipse-ide-cpp_4.6.0-1_amd64.changes), but everytime I do I get the error message:

Checking signature on .changes
gpg: no valid OpenPGP data found.
gpg: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.
No signature on /home/fusion809/GitHub/mine/eclipse-ide-cpp/eclipse-ide-cpp_4.6.0-1_amd64.changes.

FYI I have created this ~/.dput.cf file (via following the instructions at https://help.launchpad.net/Packaging/PPA/Uploading):

fqdn = ppa.launchpad.net
method = ftp
incoming = ~brentonhorne/ubuntu/eclipse-ide-cpp/
login = anonymous
allow_unsigned_uploads = 0

Now, I tried to create a .sig file for my changes file with:

gpg --output eclipse-ide-cpp_4.6.0-1_amd64.changes.sig --sign eclipse-ide-cpp_4.6.0-1_amd64.changes

But even after doing this whenever I try to upload my changes file with dput I get same error message I previously reported. Now if I run dput eclipse-ide-cpp eclipse-ide-cpp_4.6.0-1.changes.sig instead (as that is what I thought my original upload error message indicated I should be doing) I get the error message:

Not a .changes file.
Please select a .changes file to upload.
Tried to upload: eclipse-ide-cpp_4.6.0-1.changes.sig

My changes files were generated by cd'ing into the eclipse-ide-cpp_4.6.0 subdirectory of this GitHub repository of mine and running:

dpkg-buildpackage -us -uc

in case you're wondering if I made a mistake when I was creating my .changes files.


You seem get some advance in packaging, I'm learning too.

dpkg-buildpackage -us -uc

From man dpkg-buildpackage

-us    Do not sign the source package.
-uc    Do not sign the .changes file.

:) you order it not to sign them. Remove both options then try again.

Side notes:

  • You should sync your GPG key with hkp://keyserver.ubuntu.com:11371 using seahorse or other tools. Otherwise launchpad will reject your packages.

  • Calling simply dpkg-buildpackage with generate both the source + binary(your machine arch only) packages. If you are confident that binary is building fine, you can make the process shorter by building only source package and let launchpad build all the binaries, using:

    dpkg-buildpackage -S

    From man dpkg-buildpackage

      -S     Specifies a source-only build, no binary packages need to 
             be made.  Passed to dpkg-genchanges.  Note: if what you 
             want is  simply  to (re-)build the source package, using 
             dpkg-source is always better as it does not require any 
             build dependencies to be installed to be able to call the 
             clean target.

    Also dpkg-source another option that don't need to installed build dependencies to build source package.

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.