From b9e21af44fb085c899d1c94401f8b5ef0471199a Mon Sep 17 00:00:00 2001
From: Chris Evich <cevich@redhat.com>
Date: Fri, 13 Sep 2019 14:40:39 -0400
Subject: [PATCH 1/3] cirrus: Add bash-completion support

This is fairly standard thing to have on a user's workstation, supported
by podman.  When installed in a VM image, then it's useful for debugging
with `hack/get_ci_vm.sh` at the cost of a minor increase in disk-space.

Signed-off-by: Chris Evich <cevich@redhat.com>
---
 .cirrus.yml                           | 6 ++----
 contrib/cirrus/packer/fedora_setup.sh | 1 +
 contrib/cirrus/packer/ubuntu_setup.sh | 1 +
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index d128337c32..02eba4d1fd 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -30,7 +30,7 @@ env:
     ####
     #### Cache-image names to test with (double-quotes around names are critical)
     ###
-    _BUILT_IMAGE_SUFFIX: "libpod-5664838702858240"
+    _BUILT_IMAGE_SUFFIX: # FIXME
     FEDORA_CACHE_IMAGE_NAME: "fedora-30-${_BUILT_IMAGE_SUFFIX}"
     PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-29-${_BUILT_IMAGE_SUFFIX}"
     SPECIAL_FEDORA_CACHE_IMAGE_NAME: "xfedora-30-${_BUILT_IMAGE_SUFFIX}"
@@ -622,9 +622,7 @@ verify_test_built_images_task:
     integration_test_script: >-
         [[ "$PACKER_BUILDER_NAME" == "xfedora-30" ]] || \
             $SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}
-    build_release_script: >-
-        [[ "$PACKER_BUILDER_NAME" == "xfedora-30" ]] || \
-            $SCRIPT_BASE/build_release.sh |& ${TIMESTAMP}
+    build_release_script: '$SCRIPT_BASE/build_release.sh |& ${TIMESTAMP}'
     system_test_script: >-
         [[ "$PACKER_BUILDER_NAME" == "xfedora-30" ]] || \
             $SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}
diff --git a/contrib/cirrus/packer/fedora_setup.sh b/contrib/cirrus/packer/fedora_setup.sh
index 6709eecaf3..f66b39c164 100644
--- a/contrib/cirrus/packer/fedora_setup.sh
+++ b/contrib/cirrus/packer/fedora_setup.sh
@@ -26,6 +26,7 @@ ooe.sh sudo dnf install -y \
     atomic-registries \
     autoconf \
     automake \
+    bash-completion \
     bats \
     bridge-utils \
     btrfs-progs-devel \
diff --git a/contrib/cirrus/packer/ubuntu_setup.sh b/contrib/cirrus/packer/ubuntu_setup.sh
index da7d457a50..4ae8ea6e94 100644
--- a/contrib/cirrus/packer/ubuntu_setup.sh
+++ b/contrib/cirrus/packer/ubuntu_setup.sh
@@ -41,6 +41,7 @@ $BIGTO $SUDOAPTGET install \
     aufs-tools \
     autoconf \
     automake \
+    bash-completion \
     bats \
     bison \
     btrfs-tools \

From 8368a894ba23f4c1eb5bba398612c3b3dc45387e Mon Sep 17 00:00:00 2001
From: Chris Evich <cevich@redhat.com>
Date: Tue, 24 Sep 2019 13:22:13 -0400
Subject: [PATCH 2/3] Cirrus: Disable boottime Ubuntu package update

Signed-off-by: Chris Evich <cevich@redhat.com>
---
 contrib/cirrus/check_image.sh         |  5 +++++
 contrib/cirrus/lib.sh                 |  2 ++
 contrib/cirrus/packer/ubuntu_setup.sh | 10 +++++++++-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/contrib/cirrus/check_image.sh b/contrib/cirrus/check_image.sh
index 39f49d0a14..5423f67d66 100755
--- a/contrib/cirrus/check_image.sh
+++ b/contrib/cirrus/check_image.sh
@@ -56,6 +56,11 @@ then
     item_test "On ubuntu /usr/bin/runc is /usr/lib/cri-o-runc/sbin/runc" "$SAMESAME" -eq "0" || let "NFAILS+=1"
 fi
 
+if [[ "$OS_RELEASE_ID" == "ubuntu" ]]
+then
+    item_test "On ubuntu, no periodic apt crap is enabled" -z "$(egrep $PERIODIC_APT_RE /etc/apt/apt.conf.d/*)"
+fi
+
 echo "Checking items specific to ${PACKER_BUILDER_NAME}${BUILT_IMAGE_SUFFIX}"
 case "$PACKER_BUILDER_NAME" in
     xfedora*)
diff --git a/contrib/cirrus/lib.sh b/contrib/cirrus/lib.sh
index f81a8d501f..fe4c25e730 100644
--- a/contrib/cirrus/lib.sh
+++ b/contrib/cirrus/lib.sh
@@ -73,6 +73,8 @@ UPLDREL_IMAGE="quay.io/libpod/upldrel:latest"
 export DEBIAN_FRONTEND="noninteractive"
 SUDOAPTGET="ooe.sh sudo -E apt-get -qq --yes"
 SUDOAPTADD="ooe.sh sudo -E add-apt-repository --yes"
+# Regex that finds enabled periodic apt configuration items
+PERIODIC_APT_RE='^(APT::Periodic::.+")1"\;'
 # Short-cuts for retrying/timeout calls
 LILTO="timeout_attempt_delay_command 24s 5 30s"
 BIGTO="timeout_attempt_delay_command 300s 5 30s"
diff --git a/contrib/cirrus/packer/ubuntu_setup.sh b/contrib/cirrus/packer/ubuntu_setup.sh
index 4ae8ea6e94..c94e74a088 100644
--- a/contrib/cirrus/packer/ubuntu_setup.sh
+++ b/contrib/cirrus/packer/ubuntu_setup.sh
@@ -18,8 +18,16 @@ trap "sudo rm -rf $GOPATH" EXIT
 # Ensure there are no disruptive periodic services enabled by default in image
 systemd_banish
 
+# Stop disruption upon boot ASAP after booting
+echo "Disabling all packaging activity on boot"
+# Don't let sed process sed's temporary files
+_FILEPATHS=$(sudo ls -1 /etc/apt/apt.conf.d)
+for filename in $_FILEPATHS; do \
+    echo "Checking/Patching $filename"
+    sudo sed -i -r -e "s/$PERIODIC_APT_RE/"'\10"\;/' "/etc/apt/apt.conf.d/$filename"; done
+
 echo "Updating/configuring package repositories."
-$LILTO $SUDOAPTGET update
+$BIGTO $SUDOAPTGET update
 
 echo "Upgrading all packages"
 $BIGTO $SUDOAPTGET upgrade

From e122c24c3600be1d37e252fe843568bf2a179ff1 Mon Sep 17 00:00:00 2001
From: Chris Evich <cevich@redhat.com>
Date: Thu, 26 Sep 2019 14:54:27 -0400
Subject: [PATCH 3/3] Cirrus: Implement newly built VM images

Signed-off-by: Chris Evich <cevich@redhat.com>
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 02eba4d1fd..9f100184ea 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -30,7 +30,7 @@ env:
     ####
     #### Cache-image names to test with (double-quotes around names are critical)
     ###
-    _BUILT_IMAGE_SUFFIX: # FIXME
+    _BUILT_IMAGE_SUFFIX: "libpod-5816955207942144"
     FEDORA_CACHE_IMAGE_NAME: "fedora-30-${_BUILT_IMAGE_SUFFIX}"
     PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-29-${_BUILT_IMAGE_SUFFIX}"
     SPECIAL_FEDORA_CACHE_IMAGE_NAME: "xfedora-30-${_BUILT_IMAGE_SUFFIX}"