Publishing package with only binaries

Asked by Michel Helms on 2019-05-28

Hi!

I have an open source project in Javascript that I want people to be able to install via a-get and ppa. I am still trying to get everything rolling and tried but couldn't get it building with a makefile but instead bundled it with "bundle-node-app" that gave me a binary that I can distribute.

Now in around two weeks of trying I actually have my Launchpad account set up and working with a GPG key and all and I can build a package with a signed changes file and all. The package I build is quite slim and just copies the one binary file to /usr/bin, like here [1]. But now when uploading to Launchpad I get the rejection email

"Upload rejected because it contains binary packages.
Ensure you are using `debuild -S`, or an equivalent
command, to generate only the source package before
re-uploading."

How do I get around that? According to this thread [2] the vmware-player package also just distributes binary files too, but I couldn't figure out how they do it.

Any help greatly appreciated, thank you!

[1] https://stackoverflow.com/questions/3214319/i-need-my-debian-rules-file-to-simply-copy-files-to-its-target
[2] https://answers.launchpad.net/launchpad/+question/57744

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
Michel Helms
Solved:
2019-05-29
Last query:
2019-05-29
Last reply:
2019-05-28
Colin Watson (cjwatson) said : #1

Launchpad will never publish binary packages without a corresponding source package. However, you can always construct a fake source package that just shoves the bits you need into a binary package and packs it up, along the lines of that stackoverflow post; once you have that you can upload that source package to Launchpad and let it build and publish corresponding binary packages.

Michel Helms (badestrand) said : #2

Thank you for your answer!

So I have to create it the "normal" way with a makefile that creates the binary (in whichever way) and that `make install` puts that binary into /usr/bin?

Colin Watson (cjwatson) said : #3

debian/rules must exist and must itself be a Makefile (although it can be a very minimal one of the kind advertised by modern versions of debhelper, using the "dh" tool). There's no particular reason why you need an artificial Makefile just to have "make install" work; for this kind of thing it would be more usual to use debhelper facilities such as dh_install to put files in place.

Michel Helms (badestrand) said : #4

Alright, I will try, thank you a ton!