# # spec file for package git-town # # Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: git-town Version: 22.6.0 Release: 0 Summary: Git branches made easy License: MIT URL: https://github.com/git-town/git-town Source0: %{name}-%{version}.tar.gz BuildRequires: bash-completion BuildRequires: fish BuildRequires: go1.24 >= 1.24.9 BuildRequires: zsh Requires: git-core %description Git Town provides additional Git commands that automate the creation, synchronization, shipping, and cleanup of Git branches. Compatible with all popular Git workflows like Git Flow, GitHub Flow, GitLab Flow, and trunk-based development. Supports mono-repos and stacked changes. %package -n %{name}-bash-completion Summary: Bash Completion for %{name} Group: System/Shells Requires: %{name} = %{version} Requires: bash-completion Supplements: (%{name} and bash-completion) BuildArch: noarch %description -n %{name}-bash-completion Bash command line completion support for %{name}. %package -n %{name}-fish-completion Summary: Fish Completion for %{name} Group: System/Shells Requires: %{name} = %{version} Requires: fish Supplements: (%{name} and fish) BuildArch: noarch %description -n %{name}-fish-completion Fish command line completion support for %{name}. %package -n %{name}-zsh-completion Summary: Zsh Completion for %{name} Group: System/Shells Requires: %{name} = %{version} Requires: zsh Supplements: (%{name} and zsh) BuildArch: noarch %description -n %{name}-zsh-completion zsh command line completion support for %{name}. %prep %autosetup -p 1 %build go build \ -mod=vendor \ -buildmode=pie \ -o bin/%{name} %install # Install the binary. install -D -m 0755 bin/%{name} %{buildroot}%{_bindir}/%{name} # create the bash completion file mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/ %{buildroot}%{_bindir}/%{name} completions bash > %{buildroot}%{_datarootdir}/bash-completion/completions/%{name} # create the fish completion file mkdir -p %{buildroot}%{_datarootdir}/fish/vendor_completions.d/ %{buildroot}%{_bindir}/%{name} completions fish > %{buildroot}%{_datarootdir}/fish/vendor_completions.d/%{name}.fish # create the zsh completion file mkdir -p %{buildroot}%{_datarootdir}/zsh/site-functions/ %{buildroot}%{_bindir}/%{name} completions zsh > %{buildroot}%{_datarootdir}/zsh/site-functions/_%{name} %check %{buildroot}%{_bindir}/%{name} --version | grep %{version} %files %doc README.md %license LICENSE %{_bindir}/%{name} %files -n %{name}-bash-completion %{_datarootdir}/bash-completion/completions/%{name} %files -n %{name}-fish-completion %{_datarootdir}/fish/vendor_completions.d/%{name}.fish %files -n %{name}-zsh-completion %{_datarootdir}/zsh/site-functions/_%{name} %changelog