#!/bin/bash # Copyright (C) 2018 Mike Gabriel # # This script is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This script is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. LTSP_OPT="/srv/ltsp" ltsp_chroots=$(ls $LTSP_OPT | while read chroot_dir; do test ! -h $LTSP_OPT/$chroot_dir -a -x $LTSP_OPT/$chroot_dir/bin/bash && echo -n "$chroot_dir "; done) for chroot in ${ltsp_chroots}; do if [ -e $LTSP_OPT/$chroot/chroot-upgrade-in-process ]; then echo "Chroot $LTSP_OPT/$chroot is currently being upgraded. Skipping..." continue fi latest_upgrade=$(ls $LTSP_OPT/$chroot | grep -E 'chroot-updated_[0-9]{8}$' | sort | tail -n1) if [ -z "${latest_upgrade}" ]; then echo "chroot $LTSP_OPT/$chroot lacks the chroot-updated_ file. Can't proceeed. Skipping..." continue fi if [ -e "$LTSP_OPT/$chroot/${latest_upgrade}.squashfs-created" ]; then echo "chroot $LTSP_OPT/$chroot's squashfs image is up-to-date. Skipping..." else if ltsp-update-image $chroot; then rm -f $LTSP_OPT/$chroot/chroot-updated_*.squashfs-created touch $LTSP_OPT/$chroot/${latest_upgrade}.squashfs-created fi fi done