Page MenuHomePhabricator

Package Blubber
Closed, ResolvedPublic

Description

Blubber is at a point where it can be installed on contint1001. Let's get a Debian package built for it.

It appears that dh-make-golang is the right tool for the job.

Revisions and Commits

rGBLBR Blubber
AuditedRestricted Differential Revision
Concern RaisedRestricted Differential Revision

Event Timeline

dduvall triaged this task as Medium priority.
dduvall moved this task from Backlog to In-progress on the Release-Engineering-Team (Kanban) board.

@Joe, any experience with this?

Looks like dh-make-golang is yet another golang tool that depends heavily on GitHub hosting.

$ dh-make-golang -allow_unknown_hoster phabricator.wikimedia.org/source/blubber.git
2017/09/11 12:06:05 WARNING: Using "phabricator.wikimedia" as canonical hostname for "phabricator.wikimedia.org". If that is not okay, please file a bug against dh-make-golang.
2017/09/11 12:06:05 Downloading "phabricator.wikimedia.org/source/blubber.git/..."
2017/09/11 12:06:14 Determining upstream version number
2017/09/11 12:06:14 Package version is "0.0~git20170911.0.4e5c728"
2017/09/11 12:06:14 Determining package type
2017/09/11 12:06:14 Assuming you are packaging a program (because "phabricator.wikimedia.org/source/blubber.git" defines a main package), use -type to override
2017/09/11 12:06:14 Determining dependencies
2017/09/11 12:06:16 Build-Dependency "golang-gopkg-stretchr-testify.v1-dev" is not yet available in Debian
2017/09/11 12:06:16 Could not determine description for "phabricator.wikimedia.org/source/blubber.git": "phabricator.wikimedia.org/source/blubber.git" is not on GitHub
2017/09/11 12:06:16 Could not determine license for "phabricator.wikimedia.org/source/blubber.git": "phabricator.wikimedia.org/source/blubber.git" is not on GitHub
2017/09/11 12:06:16 Could not determine copyright for "phabricator.wikimedia.org/source/blubber.git": "phabricator.wikimedia.org/source/blubber.git" is not on GitHub
2017/09/11 12:06:16 Could not determine license for "phabricator.wikimedia.org/source/blubber.git": "phabricator.wikimedia.org/source/blubber.git" is not on GitHub
2017/09/11 12:06:16 Could not determine author for "phabricator.wikimedia.org/source/blubber.git": "phabricator.wikimedia.org/source/blubber.git" is not on GitHub
2017/09/11 12:06:16 Could not determine description for "phabricator.wikimedia.org/source/blubber.git": "phabricator.wikimedia.org/source/blubber.git" is not on GitHub
2017/09/11 12:06:16
2017/09/11 12:06:16 Packaging successfully created in /home/dduvall/blubber.git
2017/09/11 12:06:16
2017/09/11 12:06:16 Resolve all TODOs in itp-blubber.git.txt, then email it out:
2017/09/11 12:06:16     sendmail -t < itp-blubber.git.txt
2017/09/11 12:06:16
2017/09/11 12:06:16 Resolve all the TODOs in debian/, find them using:
2017/09/11 12:06:16     grep -r TODO debian
2017/09/11 12:06:16
2017/09/11 12:06:16 To build the package, commit the packaging and use gbp buildpackage:
2017/09/11 12:06:16     git add debian && git commit -a -m 'Initial packaging'
2017/09/11 12:06:16     gbp buildpackage --git-pbuilder
2017/09/11 12:06:16
2017/09/11 12:06:16 To create the packaging git repository on alioth, use:
2017/09/11 12:06:16     ssh git.debian.org "/git/pkg-go/setup-repository blubber.git 'Packaging for blubber.git'"
2017/09/11 12:06:16
2017/09/11 12:06:16 Once you are happy with your packaging, push it to alioth using:
2017/09/11 12:06:16     git push git+ssh://git.debian.org/git/pkg-go/packages/blubber.git.git --tags master pristine-tar upstream

The inference of blubber.git as the base package name is also a longstanding annoyance, somewhat orthogonal but popping up again here. If we can get Phab to include some meta tags, we can at least solve that part.

dh-make-golang is what I'd use for creating a debian package from scratch, as it will also prepare packages for any dependency (read: any library dependency that still isn't in debian).

So I would try to use it anyways for dependencies management. If it generates too many dependencies that need to be packaged, you can go rogue and do what I did for the calico-related packages, see https://github.com/wikimedia/operations-calico-containers/blob/master/debian/rules for instance. I think you can adapt what's in the makefile for blubber I created and start from there. After all the debian/rules file is just a Makefile which follows certain standards.

dduvall added a revision: Restricted Differential Revision.Sep 13 2017, 5:48 PM
dduvall added a revision: Restricted Differential Revision.Sep 14 2017, 4:56 PM