#!/bin/sh # update a partial Debian mirror with apt-move # 2004-02, W. Borgert # Released under the terms of the GNU General Public License # the root directory of the mirror system CHROOT=/var/local/chroot # the mirror directory inside of the chroot MIRRORDIR=/var/local/mirrors/debian # master packages file inside of the chroot MASTER=/root/packages #### MODE=$1; shift case "$MODE" in clean) chroot $CHROOT apt-move --force delete exit 0 ;; install) PACKAGES="$*" if [ -f $CHROOT/$MASTER ]; then OLDPACKAGES=`cat $CHROOT/$MASTER` else OLDPACKAGES= fi for p in $OLDPACKAGES $PACKAGES; do echo $p; done | \ sort -u > $CHROOT/$MASTER ;; upgrade) if [ -f $CHROOT/$MASTER ]; then PACKAGES=`cat $CHROOT/$MASTER` else exit 0 fi ;; *) echo "Usage:" echo "$0 clean" echo "$0 install " echo "$0 upgrade" exit -1 ;; esac chroot $CHROOT apt-get update chroot $CHROOT apt-get install \ --option 'DPkg::Options::=--dry-run' --yes $PACKAGES chroot $CHROOT apt-move get chroot $CHROOT apt-move move chroot $CHROOT apt-move packages chroot $CHROOT /root/make-release -a $MIRRORDIR chroot $CHROOT apt-get autoclean