forked from ungleich-public/cdist
POC: add smart index updating
This commit is contained in:
parent
560374a686
commit
f74a06a257
2 changed files with 12 additions and 9 deletions
9
cdist/conf/type/__package_apt/explorer/index
Normal file
9
cdist/conf/type/__package_apt/explorer/index
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
if [ ! -d /var/lib/apt/lists ] \
|
||||||
|
|| [ -n "$( find /etc/apt -mindepth 1 -cnewer /var/lib/apt/lists )" ] \
|
||||||
|
|| [ ! -f /var/cache/apt/pkgcache.bin ] \
|
||||||
|
|| [ "$( stat --format %Y /var/cache/apt/pkgcache.bin )" -lt "$( date +%s -d '-1 day' )" ]
|
||||||
|
then
|
||||||
|
echo 'update'
|
||||||
|
fi
|
|
@ -92,15 +92,9 @@ case "$state_should" in
|
||||||
# See more: ticket #861
|
# See more: ticket #861
|
||||||
# https://code.ungleich.ch/ungleich-public/cdist/-/issues/861
|
# https://code.ungleich.ch/ungleich-public/cdist/-/issues/861
|
||||||
apt_opts="-o Acquire::AllowReleaseInfoChange::Suite=true -o Acquire::AllowReleaseInfoChange::Version=true"
|
apt_opts="-o Acquire::AllowReleaseInfoChange::Suite=true -o Acquire::AllowReleaseInfoChange::Version=true"
|
||||||
|
if [ "$(cat "$__object/explorer/index")" = 'update' ]; then
|
||||||
# following is bit ugly, but important hack.
|
echo "apt-get $apt_opts update || true"
|
||||||
# due to how cdist config run works, there isn't
|
|
||||||
# currently better way to do it :(
|
|
||||||
cat << EOF
|
|
||||||
if [ ! -f /var/cache/apt/pkgcache.bin ] || [ "\$( stat --format %Y /var/cache/apt/pkgcache.bin )" -lt "\$( date +%s -d '-1 day' )" ]
|
|
||||||
then echo apt-get $apt_opts update > /dev/null 2>&1 || true
|
|
||||||
fi
|
fi
|
||||||
EOF
|
|
||||||
if [ -n "$version" ]; then
|
if [ -n "$version" ]; then
|
||||||
name="${name}=${version}"
|
name="${name}=${version}"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue