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.
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.
| rGBLBR Blubber | |||
| Restricted Differential Revision | rGBLBR8ff4d41552d5 Provide Debian packaging files | ||
| Restricted Differential Revision | rGBLBRf52923fb5bce Switch to github import path for testify | ||
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | None | T170453 FY2017/18 Program 6: Streamlined Service delivery | |||
| Invalid | None | T170480 FY2017/18 Program 6 - Outcome 2: Developers are able to develop and test their applications through a unified pipeline towards production deployment. | |||
| Invalid | None | T170481 FY2017/18 Program 6 - Outcome 2 - Objective 2: Set up a continuous integration and deployment pipeline | |||
| Resolved | None | T157469 Mathoid CI Container Build | |||
| Resolved | dduvall | T175297 Define new Jenkins pipeline for container build phase | |||
| Resolved | dduvall | T175296 Install Blubber on contint1001 | |||
| Resolved | dduvall | T175609 Package Blubber |
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.