Provided by: gophian_0.6.1-1_all 

NAME
gophian-make - Prepare a Go module for packaging in Debian
SYNOPSIS
gophian make <IMPORTPATH> [OPTIONS]
DESCRIPTION
This subcommand prepares a Debian package for Go software, producing a DEP-14 and Go team compliant Git
repository that has the latest appropriate upstream source imported, and initial packaging files that
have been filled out intelligently as best as possible.
Before starting, Gophian will check if the IMPORTPATH passed has already been packaged for Debian. This
makes use of the same functionality used by gophian-show(1) and gophian-search(1), which makes use of the
XS-Go-Import-Path field specified in Debian source packages. If found, Gophian will warn you, and unless
the --no-warn-packaged option was passed, the program will exit.
If Gophian finds binary programs (files that start with "package 'main'") in the upstream code, it will
prompt you to choose what type of package you intend to create. The prompt can be skipped ahead of time
by setting the --type option.
• Library only - Package is only intended to be imported by other programs. The source package will be
named after the library. This is most Go packages depended on by other projects.
• Library and accompanying binaries - Package is intended to be imported by other programs, with a
helper or side program(s), usually meant to be used alongside the library. The source package will be
named after the library. For example, the main purpose of github.com/go-git/go-git is to be used by
other code, but also includes a proof-of-concept CLI called go-git.
• Binaries and accompanying library - Package is intended to be used by the end user as a program, but
also supplies a library to programs that want to consume it. The source package will be named after
the binary. For example, Docker is mainly used as a CLI, but is also intentionally developed by
upstream in such a way that it is reusable to other projects, and so is also available as a library.
• Binary only - Package is only intended to be used as a program by the end user, and no library
package should be created. The source package will be named after the binary. This is most end-user
programs written in Go.
If no binary packages are found, the "Library only" package type is chosen automatically without
prompting you.
If you selected one of the package types that include one or more binaries, you will then be prompted to
select which binaries you'd like to include in the generated d/control template. You should use this
opportunity to check for and exclude any example programs that are not intended to be built.
If you selected one of the package types "Binaries and accompanying library" or "Binary only", you will
be prompted to choose which binary to name the source package after. This should usually be the name of
the primary program intended to be used by the end user, which is often also the name of the upstream
project itself.
Following this, Gophian will check for any existing Salsa repos under the Go team with this name of
source package, and warn you if one has been found. The program will then exit unless the --no-warn-salsa
flag was passed.
Gophian will also check for any open Intent to Package (ITP) or Request for Package (RFP) bugs matching
the source package name and warn you. If found, this will be filled in the generated d/changelog for you.
Gophian will now prepare the packaging Git repository, importing the latest upstream source and
generating the initial packaging files. It will also check for any unpackaged dependencies and test
dependencies and warn you about them.
Once this is complete, it is strongly recommended you review all the Debian packaging files generated by
Gophian and ensure all information is correct, and then fill in any missing information and complete any
additional packaging work required.
ARGUMENTS
IMPORTPATH - The import path of the Go package being Debianized.
OPTIONS
--type [l|l+b|b+l|b] - Select the type of software being packaged. Can be one of "Library only", "Library
and accompanying binaries", "Binaries and accompanying library", or "Binaries only", denoted by "l",
"l+b", "b+l", or "b" respectively.
--name <NAME> - Name of package maintainer. Uses DEBFULLNAME environment variable by default. (required)
--email <EMAIL> - Email of package maintainer. Uses DEBEMAIL environment variable by default. (required)
--[no-]quiet - Don't print warnings.
--[no-]warn-packaged - Warn if the given Go package has already been packaged for Debian. (default: true)
--[no-]warn-salsa - Warn if the package already has a repo under the Go team namespace on Salsa.
(default: true)
--[no-]itp - Generate an ITP template as well. (default: false)
--[no-]todo - Generate a debian/TODO file. (default: false)
--[no-]pristine-tar - Create a pristine-tar branch and delta file. (default: false)
--[no-]gpg-sign - GPG sign the commit that merges the upstream tarball into the packaging branch. If not
passed to Gophian, then it will not be passed to git nor gbp and they will use their configured defaults.
--[no-]include-upstream-history - Include upstream git history. Upstream will be tracked with the
'upstreamvcs' remote, and commits that import new package versions will include the upstream commit or
tag as a parent. (default: false)
--git-remote [ssh|https] - Protocol to use when setting Git remote. (default: ssh)
--help - Show help message and exit.
ENVIRONMENT
DEBFULLNAME - Used for --name.
DEBEMAIL - Used for --email.
GOPHIAN_ITP - Used for --[no-]itp.
GOPHIAN_TODO - Used for --[no-]todo.
GOPHIAN_PRISTINE_TAR - Used for --[no-]pristine-tar.
GOPHIAN_REMOTE - Used for --git-remote.
GOPHIAN_GPG_SIGN - Used for --[no-]gpg-sign.
SEE ALSO
gophian(1), gophian-license-text(1)
2025-07-17 GOPHIAN-MAKE(1)