2022-01-20 19:59:39 +02:00
|
|
|
# Arch User Repositories
|
|
|
|
|
2022-10-22 03:30:54 +02:00
|
|
|
After releasing to GitHub, GitLab, or Gitea, GoReleaser can generate and publish
|
2022-01-20 19:59:39 +02:00
|
|
|
a `PKGBUILD` to an _Arch User Repository_.
|
|
|
|
|
|
|
|
!!! warning
|
2023-12-17 19:52:09 +02:00
|
|
|
|
2022-01-20 19:59:39 +02:00
|
|
|
Before going further on this, make sure to read
|
|
|
|
[AUR's Submission Guidelines](https://wiki.archlinux.org/title/AUR_submission_guidelines).
|
|
|
|
|
|
|
|
This page describes the available options.
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
# .goreleaser.yaml
|
|
|
|
aurs:
|
2024-04-01 15:01:56 +02:00
|
|
|
- # The package name.
|
2022-01-20 19:59:39 +02:00
|
|
|
#
|
|
|
|
# Note that since this integration does not create a PKGBUILD to build from
|
|
|
|
# source, per Arch's guidelines.
|
|
|
|
# That said, GoReleaser will enforce a `-bin` suffix if its not present.
|
2023-04-02 22:16:21 +02:00
|
|
|
#
|
|
|
|
# Default: ProjectName with a -bin suffix.
|
2022-01-20 19:59:39 +02:00
|
|
|
name: package-bin
|
|
|
|
|
|
|
|
# Artifact IDs to filter for.
|
2023-04-02 22:16:21 +02:00
|
|
|
# Empty means all IDs (no filter).
|
2022-01-20 19:59:39 +02:00
|
|
|
ids:
|
|
|
|
- foo
|
|
|
|
- bar
|
|
|
|
|
|
|
|
# Your app's homepage.
|
2024-07-03 14:31:08 +02:00
|
|
|
#
|
|
|
|
# Default: inferred from global metadata.
|
2022-01-20 19:59:39 +02:00
|
|
|
homepage: "https://example.com/"
|
|
|
|
|
2023-04-02 22:16:21 +02:00
|
|
|
# Your app's description.
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Templates: allowed.
|
2024-07-03 14:31:08 +02:00
|
|
|
# Default: inferred from global metadata.
|
2022-01-20 19:59:39 +02:00
|
|
|
description: "Software to create fast and easy drum rolls."
|
|
|
|
|
|
|
|
# The maintainers of the package.
|
2024-07-03 14:31:08 +02:00
|
|
|
#
|
|
|
|
# Default: inferred from global metadata.
|
2022-01-20 19:59:39 +02:00
|
|
|
maintainers:
|
2024-04-01 15:01:56 +02:00
|
|
|
- "Foo Bar <foo at bar dot com>"
|
2022-01-20 19:59:39 +02:00
|
|
|
|
|
|
|
# The contributors of the package.
|
|
|
|
contributors:
|
2024-04-01 15:01:56 +02:00
|
|
|
- "Foo Zaz <foo at zaz dot com>"
|
2022-01-20 19:59:39 +02:00
|
|
|
|
|
|
|
# SPDX identifier of your app's license.
|
2024-07-03 14:31:08 +02:00
|
|
|
#
|
|
|
|
# Default: inferred from global metadata.
|
2022-01-20 19:59:39 +02:00
|
|
|
license: "MIT"
|
|
|
|
|
|
|
|
# The SSH private key that should be used to commit to the Git repository.
|
|
|
|
# This can either be a path or the key contents.
|
|
|
|
#
|
2023-02-20 18:18:12 +02:00
|
|
|
# IMPORTANT: the key must not be password-protected.
|
|
|
|
#
|
2022-09-17 05:13:09 +02:00
|
|
|
# WARNING: do not expose your private key in the configuration file!
|
2024-04-01 15:01:56 +02:00
|
|
|
private_key: "{{ .Env.AUR_KEY }}"
|
2022-01-20 19:59:39 +02:00
|
|
|
|
|
|
|
# The AUR Git URL for this package.
|
2022-08-04 20:38:58 +02:00
|
|
|
# Publish is skipped if empty.
|
2024-04-01 15:01:56 +02:00
|
|
|
git_url: "ssh://aur@aur.archlinux.org/mypackage-bin.git"
|
2022-01-20 19:59:39 +02:00
|
|
|
|
|
|
|
# Setting this will prevent goreleaser to actually try to commit the updated
|
2024-04-01 15:01:56 +02:00
|
|
|
# formula - instead, the formula file will be stored on the dist directory
|
|
|
|
# only, leaving the responsibility of publishing it to the user.
|
2022-01-20 19:59:39 +02:00
|
|
|
#
|
2022-06-25 21:34:57 +02:00
|
|
|
# If set to auto, the release will not be uploaded to the AUR repo
|
2022-01-20 19:59:39 +02:00
|
|
|
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1.
|
|
|
|
skip_upload: true
|
|
|
|
|
|
|
|
# List of additional packages that the software provides the features of.
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: the project name.
|
2022-01-20 19:59:39 +02:00
|
|
|
provides:
|
|
|
|
- mybin
|
|
|
|
|
|
|
|
# List of packages that conflict with, or cause problems with the package.
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: the project name.
|
2022-01-20 19:59:39 +02:00
|
|
|
conflicts:
|
|
|
|
- mybin
|
|
|
|
|
|
|
|
# List of packages that must be installed to install this.
|
|
|
|
depends:
|
|
|
|
- curl
|
|
|
|
|
|
|
|
# List of packages that are not needed for the software to function,
|
|
|
|
# but provide additional features.
|
|
|
|
#
|
|
|
|
# Must be in the format `package: short description of the extra functionality`.
|
|
|
|
optdepends:
|
2024-04-01 15:01:56 +02:00
|
|
|
- "wget: for downloading things"
|
2022-01-20 19:59:39 +02:00
|
|
|
|
2022-10-05 14:42:17 +02:00
|
|
|
# List of files that can contain user-made changes and should be preserved
|
|
|
|
# during package upgrades and removals.
|
|
|
|
backup:
|
|
|
|
- /etc/foo.conf
|
|
|
|
|
2022-01-20 19:59:39 +02:00
|
|
|
# Custom package instructions.
|
|
|
|
# which is not always correct.
|
|
|
|
#
|
|
|
|
# We recommend you override this, installing the binary, license and
|
|
|
|
# everything else your package needs.
|
2023-04-02 22:16:21 +02:00
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: 'install -Dm755 "./PROJECT_NAME" "${pkgdir}/usr/bin/PROJECT_NAME"'.
|
2022-01-20 19:59:39 +02:00
|
|
|
package: |-
|
|
|
|
# bin
|
|
|
|
install -Dm755 "./mybin" "${pkgdir}/usr/bin/mybin"
|
|
|
|
|
|
|
|
# license
|
|
|
|
install -Dm644 "./LICENSE.md" "${pkgdir}/usr/share/licenses/mybin/LICENSE"
|
|
|
|
|
|
|
|
# completions
|
|
|
|
mkdir -p "${pkgdir}/usr/share/bash-completion/completions/"
|
|
|
|
mkdir -p "${pkgdir}/usr/share/zsh/site-functions/"
|
|
|
|
mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/"
|
|
|
|
install -Dm644 "./completions/mybin.bash" "${pkgdir}/usr/share/bash-completion/completions/mybin"
|
|
|
|
install -Dm644 "./completions/mybin.zsh" "${pkgdir}/usr/share/zsh/site-functions/_mybin"
|
|
|
|
install -Dm644 "./completions/mybin.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/mybin.fish"
|
|
|
|
|
|
|
|
# man pages
|
|
|
|
install -Dm644 "./manpages/mybin.1.gz" "${pkgdir}/usr/share/man/man1/mybin.1.gz"
|
|
|
|
|
|
|
|
# Git author used to commit to the repository.
|
|
|
|
commit_author:
|
|
|
|
name: goreleaserbot
|
2022-05-18 17:12:42 +02:00
|
|
|
email: bot@goreleaser.com
|
2022-01-20 19:59:39 +02:00
|
|
|
|
2023-04-02 22:16:21 +02:00
|
|
|
# Commit message.
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: 'Update to {{ .Tag }}'.
|
|
|
|
# Templates: allowed.
|
2022-01-20 19:59:39 +02:00
|
|
|
commit_msg_template: "pkgbuild updates"
|
|
|
|
|
2022-04-12 03:43:22 +02:00
|
|
|
# If you build for multiple GOAMD64 versions, you may use this to choose which one to use.
|
2023-04-02 22:16:21 +02:00
|
|
|
#
|
|
|
|
# Default: 'v1'.
|
2022-04-12 03:43:22 +02:00
|
|
|
goamd64: v2
|
|
|
|
|
2022-01-20 19:59:39 +02:00
|
|
|
# The value to be passed to `GIT_SSH_COMMAND`.
|
|
|
|
# This is mainly used to specify the SSH private key used to pull/push to
|
|
|
|
# the Git URL.
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: 'ssh -i {{ .KeyPath }} -o StrictHostKeyChecking=accept-new -F /dev/null'.
|
2024-04-01 15:01:56 +02:00
|
|
|
git_ssh_command: "ssh -i {{ .Env.KEY }} -o SomeOption=yes"
|
2022-01-20 19:59:39 +02:00
|
|
|
|
2023-04-02 22:16:21 +02:00
|
|
|
# URL which is determined by the given Token
|
2022-01-20 19:59:39 +02:00
|
|
|
# (github, gitlab or gitea).
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: depends on the client.
|
|
|
|
# Templates: allowed.
|
2022-01-20 19:59:39 +02:00
|
|
|
url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}"
|
2023-12-17 19:52:09 +02:00
|
|
|
|
|
|
|
# Directory in which the files will be created inside the repository.
|
|
|
|
# Only useful if you're creating your own AUR with multiple packages in a
|
|
|
|
# single repository.
|
|
|
|
#
|
2024-06-19 16:44:22 +02:00
|
|
|
# Default: '.'.
|
|
|
|
# Templates: allowed.
|
2024-01-27 13:49:36 +02:00
|
|
|
directory: "."
|
2022-01-20 19:59:39 +02:00
|
|
|
```
|
|
|
|
|
2024-07-09 04:30:10 +02:00
|
|
|
{% include-markdown "../includes/templates.md" comments=false %}
|
2022-01-20 19:59:39 +02:00
|
|
|
|
|
|
|
!!! tip
|
2023-12-17 19:52:09 +02:00
|
|
|
|
2022-01-20 19:59:39 +02:00
|
|
|
For more info about what each field does, please refer to
|
|
|
|
[Arch's PKGBUILD reference](https://wiki.archlinux.org/title/PKGBUILD).
|