Skip to content

Releases: Debian/dh-make-golang

v0.7.0 Release

22 Mar 10:51
v0.7.0
ba882c9
Compare
Choose a tag to compare

[ 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.
  • 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:
    • Bump go from 1.16 to 1.21
    • Bump golang.org/x/net from v0.0.0-20210614182718-04defd469f4e to v0.21.0
    • Bump golang.org/x/mod from v0.5.1 to v0.15.0
    • Bump github.com/google/go-github/v38 to github.com/google/go-github/v60
    • Add golang.org/x/tools/go/vcs v0.1.0-deprecated
    • etc.
      Fixes #200, fixes #203
  • 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

25 Nov 23:36
v0.6.0
Compare
Choose a tag to compare

[ 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

26 Aug 20:48
v0.5.0
97f4545
Compare
Choose a tag to compare

[ 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 in execMake().
  • 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:
    1. The default gitlab branch is set to the upstream branch instead of
      the debian branch.
    2. 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'.
  • 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 of 1.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 as gh.
    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 of git 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

13 Nov 23:40
v0.4.0
3671570
Compare
Choose a tag to compare
  • 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

27 Feb 00:28
v0.3.3
c43abd7
Compare
Choose a tag to compare
  • 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

23 Feb 08:25
v0.3.2
82916c0
Compare
Choose a tag to compare

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

31 Dec 19:05
v0.3.1
88748fe
Compare
Choose a tag to compare
  • 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

01 Dec 13:51
v0.3.0
e1bfd01
Compare
Choose a tag to compare

New feature:

This is still somewhat experimental, so all feedback is welcome!

v0.2.0: Prefer upstream tagged release version

29 Nov 21:13
v0.2.0
b737b16
Compare
Choose a tag to compare
  • 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

25 Nov 14:04
v0.1.1
8c30050
Compare
Choose a tag to compare
  • 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