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
|
||||
# https://code.ungleich.ch/ungleich-public/cdist/-/issues/861
|
||||
apt_opts="-o Acquire::AllowReleaseInfoChange::Suite=true -o Acquire::AllowReleaseInfoChange::Version=true"
|
||||
|
||||
# following is bit ugly, but important hack.
|
||||
# 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
|
||||
if [ "$(cat "$__object/explorer/index")" = 'update' ]; then
|
||||
echo "apt-get $apt_opts update || true"
|
||||
fi
|
||||
EOF
|
||||
if [ -n "$version" ]; then
|
||||
name="${name}=${version}"
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue