From d0cf62cee3220262b35811d18ae98cec52f73f6f Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sun, 21 Dec 2025 21:06:01 +0700 Subject: all: update to release 20251223.00 and some refactoring Changes, * Use [SPDX licenses] headers and name. In SPDX, the license name is "Apache-2.0" not "Apache. There are inconsistent copyright text "Google Inc." and "Google LLC", in some files, so we choose "Google LLC" instead. * Build without CGO (CGO_ENABLED=0). This require removal of "-ldflags=-linkmode=external" option in GOFLAGS. * Use explicit install command instead of "*". * Install and enable the new gce-workload-cert-refresh binary and systemd timer. * Remove unneeded systemd preset from package. * Add Makefile for common tasks [SPDX licenses]: https://rfc.archlinux.page/0016-spdx-license-identifiers/ --- .SRCINFO | 10 ++++---- Makefile | 11 +++++++++ PKGBUILD | 61 +++++++++++++++++++++++++++++++--------------- google-guest-agent.install | 10 +++++--- 4 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 Makefile diff --git a/.SRCINFO b/.SRCINFO index 5d762ad..b0e6da2 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,16 +1,16 @@ pkgbase = google-guest-agent pkgdesc = Guest Agent for Google Compute Engine - pkgver = 20220824.00 + pkgver = 20251223.00 pkgrel = 1 url = https://github.com/GoogleCloudPlatform/guest-agent install = google-guest-agent.install arch = x86_64 - license = Apache + license = Apache-2.0 makedepends = go backup = etc/default/instance_configs.cfg - source = google-guest-agent-20220824.00.tar.gz::https://github.com/GoogleCloudPlatform/guest-agent/archive/20220824.00.tar.gz + source = guest-agent-20251223.00.tar.gz::https://github.com/GoogleCloudPlatform/guest-agent/archive/20251223.00.tar.gz source = google-guest-agent.install - sha256sums = 4e53de5276b8ff60fe50f5bd91e6a88282d8eb1250a83124a31ff999d946b308 - sha256sums = bf8dd6ae04242160cd78e781015fd456c73c208ba09049fc56cc0f716038c5f2 + sha256sums = a6d4ed1398fc9d7de5d98df0da229888def14a75c1b74084df36d63881de4064 + sha256sums = 6aaf5ed980eda8695723d85e204569b50789b5200296714a8f674dc3f67ca532 pkgname = google-guest-agent diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5e33b7a --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +.PHONY: all +all: + makepkg --syncdeps + +.PHONY: release +release: check + makepkg --printsrcinfo > .SRCINFO + +.PHONY: check +check: + namcap PKGBUILD diff --git a/PKGBUILD b/PKGBUILD index 499b3f6..586fb21 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -14,45 +14,66 @@ # Maintainer: Lorenzo Castelli # Maintainer: Samuel Littley +# Maintainer: M. Shulhan pkgname='google-guest-agent' -pkgver=20220824.00 +_pkgname='guest-agent' +pkgver=20251223.00 pkgrel=1 pkgdesc='Guest Agent for Google Compute Engine' arch=('x86_64') url='https://github.com/GoogleCloudPlatform/guest-agent' -license=('Apache') +license=('Apache-2.0') makedepends=('go') -source=("$pkgname-$pkgver.tar.gz::https://github.com/GoogleCloudPlatform/guest-agent/archive/$pkgver.tar.gz" - 'google-guest-agent.install') -sha256sums=('4e53de5276b8ff60fe50f5bd91e6a88282d8eb1250a83124a31ff999d946b308' - 'bf8dd6ae04242160cd78e781015fd456c73c208ba09049fc56cc0f716038c5f2') +source=( + "$_pkgname-$pkgver.tar.gz::https://github.com/GoogleCloudPlatform/guest-agent/archive/$pkgver.tar.gz" + 'google-guest-agent.install' +) +sha256sums=( + 'a6d4ed1398fc9d7de5d98df0da229888def14a75c1b74084df36d63881de4064' + '6aaf5ed980eda8695723d85e204569b50789b5200296714a8f674dc3f67ca532' +) install='google-guest-agent.install' backup=('etc/default/instance_configs.cfg') export CGO_CPPFLAGS="$CPPFLAGS" export CGO_CFLAGS="$CFLAGS" export CGO_CXXFLAGS="$CXXFLAGS" +export CGO_ENABLED=0 export CGO_LDFLAGS="$LDFLAGS" -export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" +export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" build() { - cd "guest-agent-$pkgver" + cd "${_pkgname}-${pkgver}" + go build -o gce_workload_cert_refresh ./gce_workload_cert_refresh go build -o google_guest_agent ./google_guest_agent go build -o google_metadata_script_runner ./google_metadata_script_runner } -check() { - cd "guest-agent-$pkgver" - go test ./google_guest_agent ./google_metadata_script_runner -} - package() { - cd "guest-agent-$pkgver" - install -m755 -Dt "$pkgdir/usr/bin" google_guest_agent/google_guest_agent - install -m755 -Dt "$pkgdir/usr/bin" google_metadata_script_runner/google_metadata_script_runner - install -m644 -Dt "$pkgdir/usr/lib/systemd/system" *.service - install -m644 -Dt "$pkgdir/usr/lib/systemd/system-preset" *.preset - install -m644 -Dt "$pkgdir/usr/share/google-guest-agent" instance_configs.cfg - install -m644 -Dt "$pkgdir/etc/default" instance_configs.cfg + cd "${_pkgname}-${pkgver}" + + install -d $pkgdir/etc/default/ + install -p -m=0644 instance_configs.cfg $pkgdir/etc/default/ + + install -d $pkgdir/usr/bin/ + install -p -m=0755 google_guest_agent/google_guest_agent \ + $pkgdir/usr/bin/ + install -p -m=0755 google_metadata_script_runner/google_metadata_script_runner \ + $pkgdir/usr/bin/ + install -p -m=0755 google_metadata_script_runner_adapt \ + $pkgdir/usr/bin/ + install -p -m=0755 gce_workload_cert_refresh/gce_workload_cert_refresh \ + $pkgdir/usr/bin/ + + install -d $pkgdir/usr/lib/systemd/system/ + install -p -m=0644 gce-workload-cert-refresh.service $pkgdir/usr/lib/systemd/system/ + install -p -m=0644 gce-workload-cert-refresh.timer $pkgdir/usr/lib/systemd/system/ + install -p -m=0644 google-guest-agent.service $pkgdir/usr/lib/systemd/system/ + install -p -m=0644 google-shutdown-scripts.service $pkgdir/usr/lib/systemd/system/ + install -p -m=0644 google-startup-scripts.service $pkgdir/usr/lib/systemd/system/ + + install -d $pkgdir/usr/share/google-guest-agent/ + install -p -m=0644 instance_configs.cfg \ + $pkgdir/usr/share/google-guest-agent/ } diff --git a/google-guest-agent.install b/google-guest-agent.install index e640ca2..5282316 100644 --- a/google-guest-agent.install +++ b/google-guest-agent.install @@ -13,11 +13,15 @@ # limitations under the License. post_install() { - systemctl enable --now google-guest-agent.service - systemctl enable google-startup-scripts.service google-shutdown-scripts.service + systemctl enable google-guest-agent.service + systemctl enable gce-workload-cert-refresh.timer + systemctl enable google-startup-scripts.service + systemctl enable google-shutdown-scripts.service } pre_remove() { + systemctl disable google-shutdown-scripts.service + systemctl disable google-startup-scripts.service + systemctl disable gce-workload-cert-refresh.timer systemctl disable --now google-guest-agent.service - systemctl disable google-startup-scripts.service google-shutdown-scripts.service } -- cgit v1.3