Two-stage frozen mirror

If you want to test the frozen mirror before making it 'production', then you want a two-stage frozen mirror:

  1. Enable the 1st stage in rsyncd.conf

    Edit /etc/rsyncd.conf:

    <snip>
    [Ubuntu-frozen-testing]
    path = /srv/mirror/ubuntu-frozen-testing
    comment = Ubuntu mirror
    transfer logging = true
    read only = true
    timeout = 120
    dont compress = *
    	  

  2. Create another frozen mirror

    Put this in /etc/scaramanga/dists.d/ubuntu-frozen-production:

    SCRIPT=ubuntu-frozen-production
    	  

    ... and this in /etc/scaramanga/scripts.d/ubuntu-frozen-production:

    #! /bin/bash
    
    CONFFILE=/etc/scaramanga/scaramanga.conf
    [ -f ${CONFFILE} ] && . ${CONFFILE}
    
    DST=ubuntu-frozen-production
    
    BASEDIR=${DESTPARENT}/${DST}
    
    export GNUPGHOME=/var/lib/scaramanga/frozenmirror-keys/.gnupg
    
    # From the debmirror docs:
    #default rsync options are "-aIL --partial"
    
    debmirror --verbose --source --host=localhost --method=rsync --root=:Ubuntu-frozen-testing --dist=lucid,lucid-updates,lucid-backports --section=main,restricted,universe,multiverse  --arch=amd64 --diff=use --rsync-options="-aIL --partial --no-motd" ${BASEDIR}
    	  

    (As you can see, this mirror updates from rsync://localhost:/Ubuntu-frozen-testing.)

  3. Updating/upgrading the mirror

    Now when you are satisfied about your ubuntu-frozen-testing, you copy its contents to ubuntu-frozen-production with: