build/packaging/rpm/google-guest-agent.spec (85 lines of code) (raw):

# Copyright 2023 Google Inc. # <rpm_header> - pre processed rpm header, intended for automation use. %define debug_package %{nil} %if ! 0%{?prebuilt} Name: google-guest-agent Version: %{_version} Release: g1%{?dist} Source0: %{name}_%{version}.orig.tar.gz BuildArch: %{_arch} %endif Epoch: 2 Summary: Google Compute Engine guest agent. License: ASL 2.0 Url: https://cloud.google.com/compute/docs/images/guest-environment Vendor: Google, Inc. Requires: google-compute-engine-oslogin >= 1:20231003 Obsoletes: python-google-compute-engine, python3-google-compute-engine %description Contains the Google guest agent binary. %if ! 0%{?prebuilt} %prep %autosetup %build ./build/build.sh --version=%{_version} %install install -d %{buildroot}%{_bindir} install -p -m 0644 build/configs/etc/default/instance_configs.cfg %{buildroot}%/usr/share/google-guest-agent/instance_configs.cfg install -p -m 0644 build/configs/usr/lib/systemd/system/google-guest-agent.service %{buildroot}%/usr/lib/systemd/system/google-guest-agent.service install -p -m 0644 build/configs/usr/lib/systemd/system/google-guest-agent.service %{buildroot}%/usr/lib/systemd/system/google-startup-scripts.service install -p -m 0644 build/configs/usr/lib/systemd/system/google-guest-agent.service %{buildroot}%/usr/lib/systemd/system/google-shutdown-scripts.service install -p -m 0755 cmd/google_guest_agent/google_guest_agent %{buildroot}%{_bindir}/google_guest_agent install -p -m 0755 cmd/google_guest_agent/ggactl %{buildroot}%{_bindir}/ggactl install -p -m 0755 cmd/core_plugin/core_plugin %{buildroot}%{_libdir}/google/guest_agent/core_plugin %files /etc/default/instance_configs.cfg /usr/lib/systemd/system/google-guest-agent.service /usr/lib/systemd/system/google-startup-scripts.service /usr/lib/systemd/system/google-shutdown-scripts.service %{_bindir}/google_guest_agent %{_bindir}/ggactl %{_libdir}/google/guest_agent/core_plugin %endif %post # Initial installation if [ $1 -eq 1 ]; then # Install instance configs if not already present. if [ ! -f /etc/default/instance_configs.cfg ]; then cp -a /usr/share/google-guest-agent/instance_configs.cfg /etc/default/ fi # Use enable instead of preset because preset is not supported in # chroots. systemctl enable google-guest-agent.service >/dev/null 2>&1 || : systemctl enable google-startup-scripts.service >/dev/null 2>&1 || : systemctl enable google-shutdown-scripts.service >/dev/null 2>&1 || : if [ -d /run/systemd/system ]; then systemctl daemon-reload >/dev/null 2>&1 || : systemctl start google-guest-agent.service >/dev/null 2>&1 || : fi else # Package upgrade if [ -d /run/systemd/system ]; then systemctl try-restart google-guest-agent.service >/dev/null 2>&1 || : fi fi %preun if [ $1 -eq 0 ]; then # Package removal, not upgrade systemctl --no-reload disable google-guest-agent.service >/dev/null 2>&1 || : systemctl --no-reload disable google-startup-scripts.service >/dev/null 2>&1 || : systemctl --no-reload disable google-shutdown-scripts.service >/dev/null 2>&1 || : if [ -d /run/systemd/system ]; then systemctl stop google-guest-agent.service >/dev/null 2>&1 || : fi fi %postun if [ $1 -eq 0 ]; then # Package removal, not upgrade if [ -f /etc/default/instance_configs.cfg ]; then rm /etc/default/instance_configs.cfg fi if [ -d /run/systemd/system ]; then systemctl daemon-reload >/dev/null 2>&1 || : fi fi # <rpm_footer> - pre processed rpm footer, intended for automation use.