Releases: Debian/dh-make-golang
v0.7.0 Release
[ Guillem Jover ]
-
Use new dh-sequence-golang instead of dh-golang and --with=golang
-
Add mongodb to known hosts.
This is required by the go.mongodb.org/mongo-driver modules. -
Generate a debian/.gitignore file.
This helps ignoring artifacts that git should not track, and which it
can safely clean. -
Reorder generated fields.
While stylistic, the rationale for these changes is as follows:
= debian/control
- Group Section and Priority together as these categorize the package,
and place them after Source or Package fields, as this determines
where in the archive these might end up. - Place Maintainer/Uploader after these, as the responsible party for
the package. - Move Rules-Requires-Root before Build-Depends, as this determines
how to drive the building process, and might impose additional
dependencies, such as fakeroot or sudo. - Move the Testsuite after the Build-Depends, as this is part of the
runnable metadata.
= debian/copyright
- Move the Source field after Format, as both line up, refer to an
URL, and it's the first reference to the upstream project.
- Group Section and Priority together as these categorize the package,
-
Set a Section: TODO field for program packages.
The golang section is for Go development packages, the fact that a
program is written in Go is generally of no major relevance for the
user, and instead a more suitable section relative to its actual
functionality should be used, to help a proper categorization in the
archive.
[ dependabot ]
- Bump github.com/mattn/go-isatty from 0.0.13 to 0.0.14
[ Taavi Väänänen ]
- make: download tarballs from sr.ht
and add a test for the tarball URL generation.
[ Anthony Fok ]
- Bump glamour requirement to get bluemonday v1.0.16
- Fix empty tarball in case of "unsupported hoster".
This fixes the error that I introduced on 2021-08-26 in commit 64dccd7
"Refactor the logic on whether to download upstream tarball"
Thanks to @mdosch for the report and @creekorful for tips on error handling.
Fixes #180, fixes #190 (Closes: #993703, #1064567) - Handle salsa.debian.org too in tarballFromHoster()
to fetch pristine tarball (.gz) instead of compressing our own (.xz) - Set u.remote as "salsa" instead of "debian" for salsa.debian.org
to avoid git remote and git branch containing the same "debian" name - Add modernc.org as "modernc" to knownHosts
- Use https for Apache license link
- Create dependabot.yml
- Update .github/workflows/ci-test.yml to test with go1.18
- Replace deprecated ioutil functions with their io or os equilvalents
- Add --no-show-signature to "git log --pretty=format:%ct -n1" call
so the timestamp can be read correctly even if the user has set
log.showSignature to true in git config.
Closes: #1035321 - Bump dependencies:
- ci-test: Bump go version to 1.21 and 1.22 for testing
- make: Unset GO111MODULE=off so that "go list" works with Go 1.21+.
This fixes dh-make-golang’s failure to determine dependencies
since 2023-08-21 when Go 1.21 became the default in Debian.
Closes: #1050523
[ Maytham Alsudany ]
- Bump template Standards-Version to 4.6.2
[ Reinhard Tartler ]
- Tolerate "errornous" packages in go list
Fixes: #204
v0.6.0 Release
[ Aloïs Micard ]
- New upstream version 0.6.0.
- Add myself as Uploader.
- Implement clone command to allow easily cloning
from Salsa and download of upstream .orig.tar.gz
from FTP archive. This ensure a clean upstream
tarball will be use. - Implement check-depends command to compare dependencies
between go.mod and d/control. - Use new Gitlab CI template.
- Add software.sslmate.com to knownHosts.
[ Anthony Fok ]
- Add go.cypherpunks.ru as "cypherpunks" to knownHosts.
- Switch description renderer to goldmark/Glamour.
- Template: Fix errors in debian/watch track git HEAD comment.
[ Shengjing Zhu ]
- Add go.opentelemetry.io to knownHosts.
v0.5.0 Release
[ Guillem Jover ]
- Update default upstream gitignore directories.
Add _build as that's the default build directory. Anchor both _build
and .pc under the root source by prefixing with «/». Mark them as
directories by suffixing with «/». - Place license location on the filesystem in a Comment field.
This is not part of the license statement, it's rather an ancillary
comment about where to find it.
[ Peymaneh Nejad ]
- Add step (go.step.sm) to knownHosts
[ Federico Grau ]
- Check for and move upstream debian dir if it exists (Closes: #983241)
[ Arnaud Rebillout ]
- Make sure to call normalizeDebianProgramName() on the whole name,
not on parts. - Renaming: normalizeDebian{Program,Package}Name
- Add testcases to nameFromGoPkg: golang.org/x/term and two others.
- Update debian-policy link url
- Set debianBranch in execMake(), use it in createGitRepository()
This minor refactoring prepares the code for the next commit, where we
will need to know the Debian branch inexecMake()
. - Fix make output: run 'git push' before 'gbp push'
As mentioned in #107, running 'gbp push' when there's no debian tag is
not the right thing to do, as it will only push the upstream branch.
Consequences are:- The default gitlab branch is set to the upstream branch instead of
the debian branch. - The debian branch is not pushed and needs to be pushed manually
anyway.
I believe that the best thing to do instead is just to run 'git push
origin ' first, and then run 'gbp push'.
- The default gitlab branch is set to the upstream branch instead of
- Keep compatibility with Git below 2.28.
Thanks to Alois Micard for pointing that out
[ Aleksey Morarash ]
- Extend .gitignore with vim temporary files
- Annotate errors with context.
This will prevent situations when program terminates with bare error
leaving the user without any clue of where the error was occurred.
[ Anthony Fok ]
- Set GO111MODULE=off when calling
go list
etc.
to keep dh-make-golang make and estimate working with Go 1.16 and 1.17 - Add "Multi-Arch: foreign" to library packages in debian/control
- Add Expat (MIT) license text template
- Update Standards-Version to 4.6.0
- Recognize upstream pre-release versions so that tilde
~
instead of-
is used in upstream tarball and in debian/changelog, e.g.1.0.0~rc1
instead of1.0.0-rc.1
.
Thanks to nicoo (Closes: #981421) - Workaround
go list
error when upstream uses../..
in import path
(Closes: #992610) - make: Add -program_package_name flag.
This allows overriding the program package name, and the source package
name too when appropriate, e.g. to name github.com/cli/cli asgh
.
See discussion at #951374 - make: Change -force_prerelease and -upstream_git_history flags
to use underscore instead of hyphen - make: Change some wordings in help and instruction, especially
the use ofgit commit -S
for signing the commit - Add fyne.io as "fyne" to knownHosts
- Add filippo.io as "filippo" to knownHosts
- Fix SA1006 and ST1005 reported by staticcheck
- ST1005 Incorrectly formatted error string
- SA1006 Printf with dynamic first argument and no further arguments
- Migrate from Travis CI to GitHub Actions workflow for CI tests
- Bump dependencies: Go >= 1.13 and github.com/google/go-github to v38
v0.4.0 Release
- Normalize every part of a Gopkg's name (#128)
Closes #127. (by @ThreeFx, reviewed by @zhsj, commit b1321ff) - template.go: bump debhelper-compat version to 13 (#142)
(by @lucaskanashiro, commit d492b3a) - Add travis jobs on ppc64le (#143) (by @dineshks1, commit b184ad3)
- Change section to
golang
(by @zhsj, commit 34a37c9) - Bump go-github to v32 (by @zhsj, commit 5570a05)
- Set timezone to UTC in TestSnapshotVersion (by @zhsj, commit 9f8aadb)
- Add rsc.io as "rsc" to knownHosts (commit 3bdaee6)
- template: Generate debian/upstream/metadata too.
Fixes #144 (commit 2412963) - Move debian/man/dh-make-golang.md from Debian packaging to this
upstream repository. Fixes #129 (commit adbf657) - Add support for upstream tag that is not <version> or v<version>,
e.g. github.com/lxc/lxd with tag lxd-4.8. Fixes #139 (commit 581a5e8)
v0.3.3 Release
-
Remove unneeded golang-*-dev dependency for program
This fixes a bug that I introduced in commit 8ed6b21 for v0.1.0 -
Fix erroneous reference to
--include-upstream-history
in the instruction; should be--upstream-git-history
instead. -
Remove
"# TODO: publish under debian-go-team/ci"
from debian/gitlab-ci.yml, as I believe that has already been done,
and so that its TODO would not confuse the packager. -
Add
"Upstream-Contact: TODO"
to generated debian/copyright
as mentors.debian.net seems to require this field, and if missing,
would display the following warning:RFS: author info missing
Upstream-Contact: was not found in d/copyright.
RFS will not autocomplete the Upstream author. -
Move Build-Depends-{Arch,Indep} back into Build-Depends.
For Go packages, golang-any and dependencies are always needed
regardless of whether we are building a program or a library,
and it is not like we need e.g. texinfo to build *-doc packages,
so the use Build-Depends-Arch and Build-Depends-Indep served
no purpose other than unnecessarily complicating things. -
template: Add
"dversionmangle=s/\+ds\d*$//,repacksuffix=+ds1"
to debian/watch if Files-Excluded is added to debian/copyright -
Add honnef.co as "honnef" to knownHosts
-
Print dh-make-golang version at the start of make
v0.3.2
This release includes contributions from, in alphabetical order,
@anthonyfok, @creekorful, @kataras, @ThreeFx and @zhsj.
- Refactor shortHostName:
Move knownHosts to a map to simplify the code,
and fix the publicsuffix guess, input should be fqdn. - Sort the knownHosts list in alphabetical order
- Add {sigs,}k8s.io, "gocloud" (gocloud.dev), sourcehut (git.sr.ht),
and "uber" (go.uber.org) to knownHosts. - Fix version detection for multi-module repo.
- Download upstream tarball from GitHub or GitLab
if so resolved by vcs.RepoRootForImportPath(). - Update Standards-Version to 4.5.0
- Fix ineffectual assignment to err in tarballFromHoster()
- Manage MIT (Expat) license too
- Remove unneeded golang-*-dev dependency for program.
Fixes a bug that was introduced in commit 8ed6b21 for v0.1.0
v0.3.1
- Generate debian/gitlab-ci.yml too.
- Add remote "origin" to point to Salsa in .git/config
to save the user from doing so manually. - Preconfigure git branches just as "git clone" and "gbp clone" would do.
- List full path of /usr/sbin/sendmail in final instructions
so that the end developer can copy-and-paste to send ITP mail
without using sudo. - Fix empty host var before slicing.
Fixes #120 "slice bounds out of range" error with -allow_unknown_hoster.
Thanks @utkarsh2102 and @montj2! - Sort dependency list like wrap-and-sort,
i.e. place variables like ${misc:Depends} and ${shlibs:Depends}
at the end of the list. Fixes #121. Thanks @elboulangero!
v0.3.0: Include upstream git history by default
New feature:
- "dh-make-golang" now includes the full upstream git history
as recommended by Debian Go Packaging Team’s new workflow,
see https://go-team.pages.debian.net/workflow-changes.html.
This is still somewhat experimental, so all feedback is welcome!
v0.2.0: Prefer upstream tagged release version
- Prefer upstream tagged release version over master (HEAD),
and download upstream release tarball if available,
just like what uscan would do with our default debian/watch. - Add -force-prerelease flag to revert to old behaviour
of always choosing@master
(git HEAD) over@latest
tagged version. - Generate debian/watch to track git HEAD if upstream has never
tagged any release. - Fix missing long description for non-GitHub import path
when "go-source" meta tag actually resolves to GitHub. - Add gitlab.com hoster as "gitlab", and blitiri.com.ar hoster as "blitiri".
v0.1.1
- Fix
gbp import-orig
call for-pristine-tar=true
so that the pristine-tar branch is actually created if requested - Stop adding
Files-Excluded: Godeps/_workspace
to debian/copyright if no such directory exists upstream - Suppress
Switched to a new branch 'debian/sid'
message - Use fmt.Printf() instead of log.Printf() for final instructions