Page MenuHomePhabricator

[CMake] Introduce DEB generator for making .deb packages
AbandonedPublic

Authored by jasonbcox on Feb 28 2020, 23:36.

Details

Reviewers
deadalnix
Group Reviewers
Restricted Project
Summary

Enables ninja package to generate .deb packages. This patch is only the first step,
as it only generates the aggregate package with all bitcoin* binaries (the PPA currently offers
separate packages for each binary).

This patch is loosely based on contrib/debian/control but the dependencies in that file
appear to be way out of date.

Depends on D5399

Test Plan

Generate the .deb file and try to install it in a fresh VM:

ninja package
dpkg-deb --info bitcoinabc_0.21.1_amd64.deb  # verify basic package information is set correctly

scp bitcoinabc_0.21.1_amd64.deb debian@somevm:~
ssh debian@somevm
sudo dpkg -i bitcoinabc_0.21.1_amd64.deb
sudo apt-get -f install

Diff Detail

Repository
rABC Bitcoin ABC
Branch
cpack-deb
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 9689
Build 17275: Default Diff Build & Tests
Build 17274: arc lint + arc unit

Event Timeline

cmake/modules/PackageOptions.cmake
33 ↗(On Diff #16644)

This is the source name used in the current PPA: https://launchpad.net/~bitcoin-abc/+archive/ubuntu/ppa/+packages
I think it's strange to not include the dash, but I didn't want to try fixing too many things at once without knowing the consequences.

deadalnix requested changes to this revision.Feb 28 2020, 23:47
deadalnix added a subscriber: deadalnix.

This is clearly the wrong place for this.

This revision now requires changes to proceed.Feb 28 2020, 23:47

Moved PackageOptions to a more appropriate place in D5399

deadalnix requested changes to this revision.Mar 2 2020, 23:29

Please move the thing first so we don't export more of this in unrelated projects.

This revision now requires changes to proceed.Mar 2 2020, 23:29

Did you see the stack?

deadalnix requested changes to this revision.Mar 4 2020, 18:38
deadalnix added inline comments.
PackageOptions.cmake
48

The -dev packages are required to compile, not to run the binaries. Some goes for automake, libtool, etc...

You need to rework that dependency list.

This revision now requires changes to proceed.Mar 4 2020, 18:38