Skip to content

Instantly share code, notes, and snippets.

@zhaofengli
Created November 10, 2018 18:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zhaofengli/a4fc39ffce13fa355a3bebc8ca598427 to your computer and use it in GitHub Desktop.
Save zhaofengli/a4fc39ffce13fa355a3bebc8ca598427 to your computer and use it in GitHub Desktop.
Add aarch64 support to kubectl-bin
diff --git a/.SRCINFO b/.SRCINFO
index 1b5e0b6..805b456 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -5,6 +5,7 @@ pkgbase = kubectl-bin
url = http://kubernetes.io
arch = i686
arch = x86_64
+ arch = aarch64
license = apache
provides = kubectl=$pkgver
conflicts = kubectl
@@ -13,6 +14,8 @@ pkgbase = kubectl-bin
sha256sums_i686 = 3da0acd9ffc19c3a7ae12d26599d61e49d5b4a5049db18f8e0c73d66c8e1e316
source_x86_64 = kubectl-1.12.2::https://storage.googleapis.com/kubernetes-release/release/v1.12.2/bin/linux/amd64/kubectl
sha256sums_x86_64 = 40807b5817e5a6a64a96eb219963a48f79ae96e1ee9a7f20ae9fbab2fc048ac7
+ source_aarch64 = kubectl-1.12.2::https://storage.googleapis.com/kubernetes-release/release/v1.12.2/bin/linux/arm64/kubectl
+ sha256sums_aarch64 = 40d218cee04db06af7976a7e6c81416bca4b814a55652f0b317c8feaddf6837f
pkgname = kubectl-bin
diff --git a/Makefile b/Makefile
index 5074210..6499d62 100644
--- a/Makefile
+++ b/Makefile
@@ -19,15 +19,18 @@ endif
prepare: check
@mkdir -p tmp
curl -s ${BASEURL}/v${VERSION}/bin/linux/amd64/kubectl > tmp/kubectl_amd64
+ curl -s ${BASEURL}/v${VERSION}/bin/linux/arm64/kubectl > tmp/kubectl_arm64
curl -s ${BASEURL}/v${VERSION}/bin/linux/386/kubectl > tmp/kubectl_386
release: prepare
set -e; \
SHA256_AMD64=`sha256sum tmp/kubectl_amd64 | awk '{print $$1}'`; \
+ SHA256_ARM64=`sha256sum tmp/kubectl_arm64 | awk '{print $$1}'`; \
SHA256_386=`sha256sum tmp/kubectl_386 | awk '{print $$1}'`; \
sed -i.bak -r -e "s/pkgver=.*/pkgver=$${VERSION}/g" \
-e "s/sha256sums_i686=.*/sha256sums_i686=('$${SHA256_386}')/g" \
- -e "s/sha256sums_x86_64=.*/sha256sums_x86_64=('$${SHA256_AMD64}')/g" PKGBUILD; \
+ -e "s/sha256sums_x86_64=.*/sha256sums_x86_64=('$${SHA256_AMD64}')/g" \
+ -e "s/sha256sums_aarch64=.*/sha256sums_aarch64=('$${SHA256_ARM64}')/g" PKGBUILD; \
makepkg --printsrcinfo > .SRCINFO; \
makepkg; \
sudo pacman -U kubectl-bin*; \
diff --git a/PKGBUILD b/PKGBUILD
index dc9dc9e..bc2655a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,8 +5,8 @@
pkgname=kubectl-bin
pkgdesc="Kubernetes.io client binary"
pkgver=1.12.2
-pkgrel=1
-arch=('i686' 'x86_64')
+pkgrel=2
+arch=('i686' 'x86_64' 'aarch64')
url="http://kubernetes.io"
license=('apache')
conflicts=('kubectl' 'kubernetes>=1.4.6')
@@ -14,8 +14,10 @@ provides=('kubectl=$pkgver')
_kubectl_file=kubectl-$pkgver
source_i686=($_kubectl_file::https://storage.googleapis.com/kubernetes-release/release/v$pkgver/bin/linux/386/kubectl)
source_x86_64=($_kubectl_file::https://storage.googleapis.com/kubernetes-release/release/v$pkgver/bin/linux/amd64/kubectl)
+source_aarch64=($_kubectl_file::https://storage.googleapis.com/kubernetes-release/release/v$pkgver/bin/linux/arm64/kubectl)
sha256sums_i686=('3da0acd9ffc19c3a7ae12d26599d61e49d5b4a5049db18f8e0c73d66c8e1e316')
sha256sums_x86_64=('40807b5817e5a6a64a96eb219963a48f79ae96e1ee9a7f20ae9fbab2fc048ac7')
+sha256sums_aarch64=('40d218cee04db06af7976a7e6c81416bca4b814a55652f0b317c8feaddf6837f')
package() {
install -Dm 755 "$srcdir/$_kubectl_file" "$pkgdir/usr/bin/kubectl"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment