From 6fa30b9f2ece84858a4b170c13ef50237640c18240a663de419917dacce40e88 Mon Sep 17 00:00:00 2001 From: Johannes Kastl Date: Sat, 28 Sep 2024 16:18:39 +0000 Subject: [PATCH] new package glasskube-cli: CLI for the Glasskube next generation Package Manager for Kubernetes OBS-URL: https://build.opensuse.org/package/show/devel:kubic/glasskube-cli?expand=0&rev=1 --- .gitattributes | 23 +++++++ .gitignore | 1 + _service | 23 +++++++ _servicedata | 4 ++ glasskube-cli-0.21.0.obscpio | 3 + glasskube-cli.changes | 5 ++ glasskube-cli.obsinfo | 4 ++ glasskube-cli.spec | 125 +++++++++++++++++++++++++++++++++++ vendor.tar.gz | 3 + 9 files changed, 191 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _service create mode 100644 _servicedata create mode 100644 glasskube-cli-0.21.0.obscpio create mode 100644 glasskube-cli.changes create mode 100644 glasskube-cli.obsinfo create mode 100644 glasskube-cli.spec create mode 100644 vendor.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..a86602b --- /dev/null +++ b/_service @@ -0,0 +1,23 @@ + + + https://github.com/glasskube/glasskube + git + .git + v0.21.0 + @PARENT_TAG@ + enable + v(.*) + glasskube-cli + + + + + + + + + + *.tar + gz + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..d94a194 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/glasskube/glasskube + 8db61a6caa4770ee8065b3f2b9e46044b5d95a6a \ No newline at end of file diff --git a/glasskube-cli-0.21.0.obscpio b/glasskube-cli-0.21.0.obscpio new file mode 100644 index 0000000..e28b367 --- /dev/null +++ b/glasskube-cli-0.21.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5e573655da0193bcd23e02bfb12b11a14747248584a31e0a944557904ecf9b4 +size 3308556 diff --git a/glasskube-cli.changes b/glasskube-cli.changes new file mode 100644 index 0000000..de0e11a --- /dev/null +++ b/glasskube-cli.changes @@ -0,0 +1,5 @@ +------------------------------------------------------------------- +Mon Sep 23 11:53:17 UTC 2024 - Johannes Kastl + +- new package glasskube-cli: CLI for the Glasskube next generation + Package Manager for Kubernetes diff --git a/glasskube-cli.obsinfo b/glasskube-cli.obsinfo new file mode 100644 index 0000000..91af4ed --- /dev/null +++ b/glasskube-cli.obsinfo @@ -0,0 +1,4 @@ +name: glasskube-cli +version: 0.21.0 +mtime: 1726067792 +commit: 8db61a6caa4770ee8065b3f2b9e46044b5d95a6a diff --git a/glasskube-cli.spec b/glasskube-cli.spec new file mode 100644 index 0000000..fc88384 --- /dev/null +++ b/glasskube-cli.spec @@ -0,0 +1,125 @@ +# +# spec file for package glasskube-cli +# +# Copyright (c) 2024 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/ +# + + +%define __arch_install_post export NO_BRP_STRIP_DEBUG=true + +%define executable_name glasskube + +Name: glasskube-cli +Version: 0.21.0 +Release: 0 +Summary: The next generation Package Manager for Kubernetes +License: Apache-2.0 +URL: https://github.com/glasskube/glasskube +Source: %{name}-%{version}.tar.gz +Source1: vendor.tar.gz +BuildRequires: go >= 1.20 +Provides: glasskube = %{version} + +%description +Glasskube is an Open Source package manager for Kubernetes. It makes deploying, +updating, and configuring packages on Kubernetes 20 times faster than tools +like Helm or Kustomize. Inspired by the simplicity of Homebrew and npm. You can +decide if you want to use the Glasskube UI, CLI, or directly deploy packages +via GitOps. + +%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} +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} +Supplements: (%{name} and zsh) +BuildArch: noarch + +%description -n %{name}-zsh-completion +zsh command line completion support for %{name}. + +%prep +%autosetup -p 1 -a 1 + +%build +# hash will be shortened by COMMIT_HASH:0:8 later +COMMIT_HASH="$(sed -n 's/commit: \(.*\)/\1/p' %_sourcedir/%{name}.obsinfo)" + +DATE_FMT="+%%Y-%%m-%%dT%%H:%%M:%%SZ" +BUILD_DATE=$(date -u -d "@${SOURCE_DATE_EPOCH}" "${DATE_FMT}" 2>/dev/null || date -u -r "${SOURCE_DATE_EPOCH}" "${DATE_FMT}" 2>/dev/null || date -u "${DATE_FMT}") + +go build \ + -mod=vendor \ + -buildmode=pie \ + -ldflags=" \ + -X github.com/glasskube/glasskube/internal/config.Version=v%{version} \ + -X github.com/glasskube/glasskube/internal/config.Commit=${COMMIT_HASH:0:8} \ + -X github.com/glasskube/glasskube/internal/config.Date=${BUILD_DATE}" \ + -o bin/%{executable_name} ./cmd/glasskube + +%install +# Install the binary. +install -D -m 0755 bin/%{executable_name} %{buildroot}/%{_bindir}/%{executable_name} + +# create the bash completion file +mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/ +%{buildroot}/%{_bindir}/%{executable_name} completion bash > %{buildroot}%{_datarootdir}/bash-completion/completions/%{executable_name} + +# create the fish completion file +mkdir -p %{buildroot}%{_datarootdir}/fish/vendor_completions.d/ +%{buildroot}/%{_bindir}/%{executable_name} completion fish > %{buildroot}%{_datarootdir}/fish/vendor_completions.d/%{executable_name}.fish + +# create the zsh completion file +mkdir -p %{buildroot}%{_datarootdir}/zsh_completion.d/ +%{buildroot}/%{_bindir}/%{executable_name} completion zsh > %{buildroot}%{_datarootdir}/zsh_completion.d/_%{executable_name} + +%files +%doc README.md +%license LICENSE +%{_bindir}/%{executable_name} + +%files -n %{name}-bash-completion +%dir %{_datarootdir}/bash-completion/completions/ +%{_datarootdir}/bash-completion/completions/%{executable_name} + +%files -n %{name}-fish-completion +%dir %{_datarootdir}/fish +%dir %{_datarootdir}/fish/vendor_completions.d +%{_datarootdir}/fish/vendor_completions.d/%{executable_name}.fish + +%files -n %{name}-zsh-completion +%dir %{_datarootdir}/zsh_completion.d/ +%{_datarootdir}/zsh_completion.d/_%{executable_name} + +%changelog diff --git a/vendor.tar.gz b/vendor.tar.gz new file mode 100644 index 0000000..384fed7 --- /dev/null +++ b/vendor.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f5a4bc4328531257a35f4d1e9b696ed5c34ea7fa0fe87579911235fe3c6c1c1 +size 10172048