project-lakitu: Delete compute-image-packages code

compute-image-packages has now been superceded by the go based
google-guest-agent, so we can now delete the code here.

BUG=b/153704310
TEST=presubmit
RELEASE_NOTE=None

Change-Id: I2f2e321d42592c97c62e0e9e0da6109507b1be51
Reviewed-on: https://cos-review.googlesource.com/c/cos/overlays/board-overlays/+/11230
Reviewed-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
diff --git a/project-lakitu/app-admin/compute-image-packages/Manifest b/project-lakitu/app-admin/compute-image-packages/Manifest
deleted file mode 100644
index 7a3226d..0000000
--- a/project-lakitu/app-admin/compute-image-packages/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST compute-image-packages-20191210.tar.gz 104822 BLAKE2B 201cf4c00f6e29042e90ed698d41fecf608cff27ddbb6119171d79d961aee1b33856971ecf96d49ac8ba62c7fc573533c4516898ef0d078452850653754939d7 SHA512 107f4076cecf1d6501dd37d752fdae5836f8b843351ffdf1832e445f9b35a1cc653fceffcb21fb33788629a3c53ae280939dbc559bbee0d5987270ee19ac5fd4
diff --git a/project-lakitu/app-admin/compute-image-packages/compute-image-packages-20191210-r1.ebuild b/project-lakitu/app-admin/compute-image-packages/compute-image-packages-20191210-r1.ebuild
deleted file mode 120000
index 7417c73..0000000
--- a/project-lakitu/app-admin/compute-image-packages/compute-image-packages-20191210-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-compute-image-packages-20191210.ebuild
\ No newline at end of file
diff --git a/project-lakitu/app-admin/compute-image-packages/compute-image-packages-20191210.ebuild b/project-lakitu/app-admin/compute-image-packages/compute-image-packages-20191210.ebuild
deleted file mode 100644
index bd02679..0000000
--- a/project-lakitu/app-admin/compute-image-packages/compute-image-packages-20191210.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1 eutils systemd
-
-SRC_URI="https://github.com/GoogleCloudPlatform/compute-image-packages/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-S="${WORKDIR}/${P}/packages/python-google-compute-engine"
-
-DESCRIPTION="Linux Guest Environment for Google Compute Engine"
-HOMEPAGE="https://github.com/GoogleCloudPlatform/compute-image-packages"
-LICENSE="Apache-2.0"
-
-KEYWORDS="*"
-
-SLOT="0"
-IUSE=""
-
-DEPEND="
-	dev-python/setuptools[${PYTHON_USEDEP}]
-"
-RDEPEND="
-	sys-apps/iproute2
-	!app-admin/google-daemon
-	!app-admin/google-startup-scripts
-	app-admin/oslogin
-"
-
-python_prepare_all() {
-	# ${S} is set to '${WORKDIR}/${P}/packages/python-google-compute-engine'
-	# i.e where setup.py is located as distutils-r1 expect setup.py to be
-	# at ${S}. As we have patches which are outside
-	# packages/python-google-compute-engine, we cd two level up.
-	pushd "${S}"/../../
-	epatch "${FILESDIR}/20190304-homedir-uid-fix.patch"
-	epatch "${FILESDIR}/20190801-no-boto.patch"
-	epatch "${FILESDIR}/20191210-fix-systemd-units-dependencies.patch"
-	epatch "${FILESDIR}/20190801-publish-hostkeys-from-stateful-partition.patch"
-	popd || die
-	distutils-r1_python_prepare_all
-}
-
-python_install() {
-	distutils-r1_python_install \
-		--install-scripts=/usr/bin \
-		--install-data=/usr/share/doc/google-compute-engine
-}
-
-python_install_all() {
-	distutils-r1_python_install_all
-
-	local init_path="${S}/../google-compute-engine/src/lib/systemd/system"
-	local service
-	for service in "${init_path}"/*.service; do
-		systemd_dounit "${service}"
-		systemd_enable_service multi-user.target "${service##*/}"
-	done
-
-	# Backports the get-metadata-value script from older version of this
-	# package (1.3.3).
-	exeinto /usr/share/google/
-	newexe ${FILESDIR}/1.3.3-get_metadata_value get_metadata_value
-
-	# Install distro specific default configuration.
-	insinto /etc/default/
-	newins "${FILESDIR}/20190304-instance_configs.cfg.distro" instance_configs.cfg.distro
-}
diff --git a/project-lakitu/app-admin/compute-image-packages/files/1.3.3-get_metadata_value b/project-lakitu/app-admin/compute-image-packages/files/1.3.3-get_metadata_value
deleted file mode 100644
index c4e0eb6..0000000
--- a/project-lakitu/app-admin/compute-image-packages/files/1.3.3-get_metadata_value
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /bin/bash
-# Copyright 2013 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Get a metadata value from the metadata server.
-declare -r VARNAME=$1
-declare -r MDS_PREFIX=http://metadata.google.internal/computeMetadata/v1
-declare -r MDS_TRIES=${MDS_TRIES:-100}
-
-function print_metadata_value() {
-  local readonly tmpfile=$(mktemp)
-  http_code=$(curl -f "${1}" -H "Metadata-Flavor: Google" -w "%{http_code}" \
-    -s -o ${tmpfile} 2>/dev/null)
-  local readonly return_code=$?
-  # If the command completed successfully, print the metadata value to stdout.
-  if [[ ${return_code} == 0 && ${http_code} == 200 ]]; then
-    cat ${tmpfile}
-  fi
-  rm -f ${tmpfile}
-  return ${return_code}
-}
-
-function print_metadata_value_if_exists() {
-  local return_code=1
-  local readonly url=$1
-  print_metadata_value ${url}
-  return_code=$?
-  return ${return_code}
-}
-
-function get_metadata_value() {
-  local readonly varname=$1
-  # Print the instance metadata value.
-  print_metadata_value_if_exists ${MDS_PREFIX}/instance/${varname}
-  return_code=$?
-  # If the instance doesn't have the value, try the project.
-  if [[ ${return_code} != 0 ]]; then
-    print_metadata_value_if_exists ${MDS_PREFIX}/project/${varname}
-    return_code=$?
-  fi
-  return ${return_code}
-}
-
-function get_metadata_value_with_retries() {
-  local return_code=1  # General error code.
-  for ((count=0; count <= ${MDS_TRIES}; count++)); do
-    get_metadata_value $VARNAME
-    return_code=$?
-    case $return_code in
-      # No error.  We're done.
-      0) exit ${return_code};;
-      # Failed to resolve host or connect to host.  Retry.
-      6|7) sleep 0.3; continue;;
-      # A genuine error.  Exit.
-      *) exit ${return_code};
-    esac
-  done
-  # Exit with the last return code we got.
-  exit ${return_code}
-}
-
-get_metadata_value_with_retries
diff --git a/project-lakitu/app-admin/compute-image-packages/files/20190304-homedir-uid-fix.patch b/project-lakitu/app-admin/compute-image-packages/files/20190304-homedir-uid-fix.patch
deleted file mode 100644
index b047f2a..0000000
--- a/project-lakitu/app-admin/compute-image-packages/files/20190304-homedir-uid-fix.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 00243896aa249f8db2a965f61b66d452effcaab5 Mon Sep 17 00:00:00 2001
-From: vaibhavrustagi <vaibhavrustagi@google.com>
-Date: Thu, 20 Jun 2019 12:26:56 -0800
-Subject: [PATCH] When creating users try to derive the UID/GID from the
- homedir
-
-It's possible that when a new user is being created that the home
-directory for that user already exists. When this happens account
-manager will now try to find the UID and GID of the user from that
-directory and reuse it.
-
-This fixes potential problems if for some reason the new accounts that
-were previously added into passwd/group were not preserved after reboot,
-but the correspondinghome directory was.
----
- .../accounts/accounts_utils.py                | 70 +++++++++++++++++--
- 1 file changed, 65 insertions(+), 5 deletions(-)
-
-diff --git a/packages/python-google-compute-engine/google_compute_engine/accounts/accounts_utils.py b/packages/python-google-compute-engine/google_compute_engine/accounts/accounts_utils.py
-index 56732c5..60ad005 100644
---- a/packages/python-google-compute-engine/google_compute_engine/accounts/accounts_utils.py
-+++ b/packages/python-google-compute-engine/google_compute_engine/accounts/accounts_utils.py
-@@ -30,7 +30,8 @@ USER_REGEX = re.compile(r'\A[A-Za-z0-9._][A-Za-z0-9._-]{0,31}\Z')
- DEFAULT_GPASSWD_ADD_CMD = 'gpasswd -a {user} {group}'
- DEFAULT_GPASSWD_REMOVE_CMD = 'gpasswd -d {user} {group}'
- DEFAULT_GROUPADD_CMD = 'groupadd {group}'
--DEFAULT_USERADD_CMD = 'useradd -m -s /bin/bash -p * {user}'
-+DEFAULT_GROUPADD_WITH_GID_CMD = 'groupadd -g {gid} {group}'
-+DEFAULT_USERADD_CMD = 'useradd -s /bin/bash -p * {user}'
- DEFAULT_USERDEL_CMD = 'userdel -r {user}'
- DEFAULT_USERMOD_CMD = 'usermod -G {groups} {user}'
- 
-@@ -60,6 +61,7 @@ class AccountsUtils(object):
-     self.gpasswd_add_cmd = gpasswd_add_cmd or DEFAULT_GPASSWD_ADD_CMD
-     self.gpasswd_remove_cmd = gpasswd_remove_cmd or DEFAULT_GPASSWD_REMOVE_CMD
-     self.groupadd_cmd = groupadd_cmd or DEFAULT_GROUPADD_CMD
-+    self.groupadd_with_gid_cmd = DEFAULT_GROUPADD_WITH_GID_CMD
-     self.useradd_cmd = useradd_cmd or DEFAULT_USERADD_CMD
-     self.userdel_cmd = userdel_cmd or DEFAULT_USERDEL_CMD
-     self.usermod_cmd = usermod_cmd or DEFAULT_USERMOD_CMD
-@@ -113,6 +115,29 @@ class AccountsUtils(object):
-     file_utils.SetPermissions(
-         self.google_sudoers_file, mode=0o440, uid=0, gid=0)
- 
-+  def _CreateGroupWithGID(self, group, gid):
-+    """Create a Linux group with specific gid.
-+
-+    Args:
-+      group: string, the name of the Linux group to create.
-+      gid: string, derived from user's home directory.
-+
-+    Returns:
-+      bool, True if group created with gid succeeded.
-+    """
-+    self.logger.info('Creating a group for %s with gid %s.', group, gid)
-+
-+    command = self.groupadd_with_gid_cmd.format(gid=gid, group=group)
-+    try:
-+      subprocess.check_call(command.split(' '))
-+    except subprocess.CalledProcessError as e:
-+      self.logger.warning('Could not create group %s with gid %s . %s.',
-+                          group, gid, str(e))
-+      return False
-+    else:
-+      self.logger.info('Created group %s with gid %s.', group, gid)
-+      return True
-+
-   def _GetUser(self, user):
-     """Retrieve a Linux user account.
- 
-@@ -127,18 +152,31 @@ class AccountsUtils(object):
-     except KeyError:
-       return None
- 
--  def _AddUser(self, user):
-+  def _AddUser(self, user, uid=None, gid=None, homedir=None):
-     """Configure a Linux user account.
- 
-     Args:
-       user: string, the name of the Linux user account to create.
-+      uid: string, derived from 'new' user's home directory.
-+      gid: string, derived from 'new' user's home directory.
-+      homedir: string, home directory for 'new' user.
- 
-     Returns:
-       bool, True if user creation succeeded.
-     """
-     self.logger.info('Creating a new user account for %s.', user)
- 
--    command = self.useradd_cmd.format(user=user)
-+    extra_flags = ''
-+    if homedir:
-+      extra_flags += ' -d %s' % homedir
-+    else:
-+      extra_flags += ' -m'
-+    if uid:
-+      extra_flags += ' -u %s' % str(uid)
-+    if gid:
-+      extra_flags += ' -g %s' % str(gid)
-+
-+    command = self.useradd_cmd.format(user=user) + extra_flags
-     try:
-       subprocess.check_call(command.split(' '))
-     except subprocess.CalledProcessError as e:
-@@ -342,9 +380,31 @@ class AccountsUtils(object):
-     if not self._GetUser(user):
-       # User does not exist. Attempt to create the user and add them to the
-       # appropriate user groups.
--      if not (self._AddUser(user)
--              and self._UpdateUserGroups(user, self.groups)):
-+      user_created = False
-+
-+      # Check if the homedir already exists and if yes try to derive UID
-+      # and GID from that directory.
-+      homedir = '/home/%s' % user
-+      if os.path.isdir(homedir):
-+        stats = os.stat(homedir)
-+        if stats.st_uid > 1000:
-+          self.logger.info('Using UID %d, GID %d and homedir %s for account %s',
-+                       stats.st_uid, stats.st_gid, homedir, user)
-+
-+          if not self._CreateGroupWithGID(user, stats.st_gid):
-+            return False
-+
-+          if not self._AddUser(user, uid=stats.st_uid,
-+                               gid=stats.st_gid, homedir=homedir):
-+            return False
-+          user_created = True
-+
-+      if not user_created and not self._AddUser(user):
-+        return False
-+
-+      if not self._UpdateUserGroups(user, self.groups):
-         return False
-+
-     # Add the user to the google sudoers group.
-     if not self._UpdateSudoer(user, sudoer=True):
-       return False
--- 
-2.22.0.410.gd8fdbe21b5-goog
-
diff --git a/project-lakitu/app-admin/compute-image-packages/files/20190304-instance_configs.cfg.distro b/project-lakitu/app-admin/compute-image-packages/files/20190304-instance_configs.cfg.distro
deleted file mode 100644
index 6c030cb..0000000
--- a/project-lakitu/app-admin/compute-image-packages/files/20190304-instance_configs.cfg.distro
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Distro specific settings for Linux Guest Environment for
-# Google Compute Engine.
-
-[InstanceSetup]
-set_boto_config = false
-
-[MetadataScripts]
-run_dir = /var/lib/google/
-
-[NetworkInterfaces]
-setup = false
-
-[IpForwarding]
-ip_aliases = false
diff --git a/project-lakitu/app-admin/compute-image-packages/files/20190801-no-boto.patch b/project-lakitu/app-admin/compute-image-packages/files/20190801-no-boto.patch
deleted file mode 100644
index 6faaa60..0000000
--- a/project-lakitu/app-admin/compute-image-packages/files/20190801-no-boto.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fa6634afb5b3c9ec045b0043d03a9fe41094e76e Mon Sep 17 00:00:00 2001
-From: Daniel Wang <wonderfly@google.com>
-Date: Wed, 28 Aug 2019 10:50:48 -0700
-Subject: [PATCH] setup.py: remove boto dependency
-
----
- packages/python-google-compute-engine/setup.py | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/packages/python-google-compute-engine/setup.py b/packages/python-google-compute-engine/setup.py
-index c51b5ff..538fbcd 100755
---- a/packages/python-google-compute-engine/setup.py
-+++ b/packages/python-google-compute-engine/setup.py
-@@ -21,8 +21,6 @@ import sys
- import setuptools
- 
- install_requires = ['setuptools']
--if sys.version_info < (3, 0):
--  install_requires += ['boto']
- if sys.version_info >= (3, 7):
-   install_requires += ['distro']
- 
--- 
-2.23.0.187.g17f5b7556c-goog
-
diff --git a/project-lakitu/app-admin/compute-image-packages/files/20190801-publish-hostkeys-from-stateful-partition.patch b/project-lakitu/app-admin/compute-image-packages/files/20190801-publish-hostkeys-from-stateful-partition.patch
deleted file mode 100644
index 07dd5a1..0000000
--- a/project-lakitu/app-admin/compute-image-packages/files/20190801-publish-hostkeys-from-stateful-partition.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 54248185371a5017913e15451858959a78c9621d Mon Sep 17 00:00:00 2001
-From: Dexter Rivera <riverade@google.com>
-Date: Wed, 4 Mar 2020 16:00:12 -0800
-Subject: [PATCH] publish hostkeys from stateful partition
-
----
- .../instance_setup/instance_setup.py          | 38 ++++++++++++++-----
- 1 file changed, 28 insertions(+), 10 deletions(-)
-
-diff --git a/packages/python-google-compute-engine/google_compute_engine/instance_setup/instance_setup.py b/packages/python-google-compute-engine/google_compute_engine/instance_setup/instance_setup.py
-index cb1a2a6..531b7d4 100755
---- a/packages/python-google-compute-engine/google_compute_engine/instance_setup/instance_setup.py
-+++ b/packages/python-google-compute-engine/google_compute_engine/instance_setup/instance_setup.py
-@@ -207,23 +207,41 @@ class InstanceSetup(object):
-     """
-     section = 'Instance'
-     instance_id = self._GetInstanceId()
--    if instance_id != self.instance_config.GetOptionString(
--        section, 'instance_id'):
-+    prev_instance_id = None
-+
-+    instance_id_file = '/mnt/stateful_partition/.instance_id'
-+    if os.path.isfile(instance_id_file):
-+      with open(instance_id_file, 'rb') as f:
-+        prev_instance_id = f.read().strip()
-+
-+    if not prev_instance_id or prev_instance_id != instance_id:
-       self.logger.info('Generating SSH host keys for instance %s.', instance_id)
-       file_regex = re.compile(r'ssh_host_(?P<type>[a-z0-9]*)_key\Z')
--      key_dir = '/etc/ssh'
-+      key_dir = '/mnt/stateful_partition/etc/ssh'
-       key_files = [f for f in os.listdir(key_dir) if file_regex.match(f)]
--      key_types = host_key_types.split(',') if host_key_types else []
--      key_types_files = ['ssh_host_%s_key' % key_type for key_type in key_types]
--      for key_file in set(key_files) | set(key_types_files):
-+      for key_file in set(key_files):
-         key_type = file_regex.match(key_file).group('type')
-         key_dest = os.path.join(key_dir, key_file)
--        key_data = self._GenerateSshKey(key_type, key_dest)
--        if key_data:
--          self._WriteHostKeyToGuestAttributes(key_data[0], key_data[1])
--      self._StartSshd()
-+        if not prev_instance_id:
-+          # On first boot, the hostkeys will be generated by a script
-+          # that runs before sshd is started, so publish those keys
-+          with open('%s.pub' % key_dest, 'rb') as pk:
-+            key_data = pk.read().split()
-+            if len(key_data) < 2:
-+              self.logger.warning(
-+                  'Could not read host key from %s.pub. Unable to publish '
-+                  '%s key to instance guest attributes', key_dest, key_type)
-+              continue
-+        else:
-+          # If the instance id changes, need to regenerate the hostkeys
-+          key_data = self._GenerateSshKey(key_type, key_dest)
-+        self._WriteHostKeyToGuestAttributes(key_data[0], key_data[1])
-       self.instance_config.SetOption(section, 'instance_id', str(instance_id))
- 
-+      # Write the instance_id to the stateful partition
-+      with open(instance_id_file, 'wb') as f:
-+        f.write(instance_id)
-+
-   def _GetNumericProjectId(self):
-     """Get the numeric project ID.
- 
--- 
-2.25.0.265.gbab2e86ba0-goog
-
diff --git a/project-lakitu/app-admin/compute-image-packages/files/20191210-fix-systemd-units-dependencies.patch b/project-lakitu/app-admin/compute-image-packages/files/20191210-fix-systemd-units-dependencies.patch
deleted file mode 100644
index 26ffb10..0000000
--- a/project-lakitu/app-admin/compute-image-packages/files/20191210-fix-systemd-units-dependencies.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 526c8e39062b7f4ecd1949efa29663b2fddb36c8 Mon Sep 17 00:00:00 2001
-From: Dexter Rivera <dexter_180@live.com>
-Date: Tue, 23 Jun 2020 08:42:42 -0700
-Subject: [PATCH 1/1] patch
-
----
- .../src/lib/systemd/system/google-instance-setup.service      | 4 ++--
- .../src/lib/systemd/system/google-network-daemon.service      | 3 ++-
- .../src/lib/systemd/system/google-shutdown-scripts.service    | 3 ++-
- .../src/lib/systemd/system/google-startup-scripts.service     | 3 ++-
- 4 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/packages/google-compute-engine/src/lib/systemd/system/google-instance-setup.service b/packages/google-compute-engine/src/lib/systemd/system/google-instance-setup.service
-index ee987b2..488701b 100644
---- a/packages/google-compute-engine/src/lib/systemd/system/google-instance-setup.service
-+++ b/packages/google-compute-engine/src/lib/systemd/system/google-instance-setup.service
-@@ -1,7 +1,7 @@
- [Unit]
- Description=Google Compute Engine Instance Setup
--After=network-online.target network.target rsyslog.service
--Before=sshd.service
-+After=network-online.target sshd.service
-+Wants=network-online.target sshd.service
- 
- [Service]
- Type=oneshot
-diff --git a/packages/google-compute-engine/src/lib/systemd/system/google-network-daemon.service b/packages/google-compute-engine/src/lib/systemd/system/google-network-daemon.service
-index 71745d4..b4dd4bc 100644
---- a/packages/google-compute-engine/src/lib/systemd/system/google-network-daemon.service
-+++ b/packages/google-compute-engine/src/lib/systemd/system/google-network-daemon.service
-@@ -1,7 +1,8 @@
- [Unit]
- Description=Google Compute Engine Network Daemon
--After=network-online.target network.target
-+After=network-online.target
- After=google-instance-setup.service
-+Wants=network-online.target
- PartOf=network.service
- 
- [Service]
-diff --git a/packages/google-compute-engine/src/lib/systemd/system/google-shutdown-scripts.service b/packages/google-compute-engine/src/lib/systemd/system/google-shutdown-scripts.service
-index ae23d76..c498de3 100644
---- a/packages/google-compute-engine/src/lib/systemd/system/google-shutdown-scripts.service
-+++ b/packages/google-compute-engine/src/lib/systemd/system/google-shutdown-scripts.service
-@@ -1,7 +1,8 @@
- [Unit]
- Description=Google Compute Engine Shutdown Scripts
--After=network-online.target network.target rsyslog.service
-+After=network-online.target systemd-resolved.service
- After=google-instance-setup.service google-network-daemon.service
-+Wants=network-online.target
- 
- [Service]
- ExecStart=/bin/true
-diff --git a/packages/google-compute-engine/src/lib/systemd/system/google-startup-scripts.service b/packages/google-compute-engine/src/lib/systemd/system/google-startup-scripts.service
-index c150693..23c8aee 100644
---- a/packages/google-compute-engine/src/lib/systemd/system/google-startup-scripts.service
-+++ b/packages/google-compute-engine/src/lib/systemd/system/google-startup-scripts.service
-@@ -1,7 +1,8 @@
- [Unit]
- Description=Google Compute Engine Startup Scripts
--After=network-online.target network.target rsyslog.service
-+After=network-online.target
- After=google-instance-setup.service google-network-daemon.service
-+Wants=network-online.target
- Before=apt-daily.service
- 
- [Service]
--- 
-2.27.0.111.gc72c7da667-goog
-