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

Event Timeline

dduvall created this task.Sep 11 2017, 5:31 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptSep 11 2017, 5:31 PM
dduvall claimed this task.Sep 11 2017, 5:32 PM
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.

Joe added a comment.Sep 12 2017, 9:30 AM

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.