Le mar 12/08/2003 à 06:39, Bill Nottingham a écrit : > Paul Iadonisi (pri rhl1 iadonisi to) said: > > How about just moving the old revs into a rawhide-old directory? You > > could periodically prune the rawhide-old directory to only have two or > > three revs. > > This still implies *we* want to carry around that much space. :) > Seriously, rawhide is already 11GB+, and it will get bigger once > we actually start adding debuginfo packages. > Perhaps this issue could be answered in the client computer. I see that up2date provides rollback feature. Currently i use a little shell script to keep old packages (see attachment for those interesting in. I am not a good shell coder). I think this issue could be addressed in the rawhide FAQ (if any). > Bill > -- Féliciano Matias <feliciano matias free fr>
#!/bin/bash
cd `dirname $0`
# $1 source rsync url
# Take care about the trailing slash.
# $2 destination directory
function rotate ()
{
source=$1
desti=$2
if [ ! -d $desti ]; then mkdir $desti || return 1; fi
# remove rsync tmp files if any.
rm -f $desti/.??* || return 1
TEMPDIR=`mktemp -d tmp_XXXXXX` || return 1
# create a reference copy with hard links
cp -plr $desti/. $TEMPDIR || return 1
rsync -av --delete $source $desti
if [ $? -ne 0 ] ; then
# This work because rsync erase file (mv .toto.XXXXXX toto).
echo "Something go wrong, restore the tmp copy in $TEMPDIR"
rm -r -f $desti || return 1
mv $TEMPDIR $desti
return 1
fi
# find out files with only one link in the tmp copy
RETVAL=`find $TEMPDIR -links 1 -type f | wc -c`
if [ $RETVAL -eq 0 ] ; then
echo "Nothing to backup"
rm -r -f $TEMPDIR
return 0
fi
# archive
if [ ! -d backup ]; then mkdir backup || return 1; fi
# Uncomment this lines to store all retrieve packages.
if [ -d backup/${desti}_5 ]; then
if [ ! -d backup/${desti}_archive ]; then mkdir backup/${desti}_archive || return 1; fi
find backup/${desti}_5 -links 1 -print0 | xargs -0 -i mv -v -f {} backup/${desti}_archive || return 1
fi
rm -r -f backup/${desti}_5 || return 1
if [ -d backup/${desti}_4 ]; then mv backup/${desti}_4 backup/${desti}_5 || return 1; fi
if [ -d backup/${desti}_3 ]; then mv backup/${desti}_3 backup/${desti}_4 || return 1; fi
if [ -d backup/${desti}_2 ]; then mv backup/${desti}_2 backup/${desti}_3 || return 1; fi
if [ -d backup/${desti}_1 ]; then mv backup/${desti}_1 backup/${desti}_2 || return 1; fi
# backup files removed in rawhide.
if [ ! -d backup/${desti}_1 ]; then mkdir backup/${desti}_1 || return 1; fi
find $TEMPDIR -links 1 -print0 | xargs -0 -i mv -v {} backup/${desti}_1 || return 1
rm -r -f $TEMPDIR
# or backup all files. This one is little better (theoretically less rotate) but more confusing.
# mv $TEMPDIR backup/${desti}_1 || return 1
return 0
}
rotate ftp.rhnet.is::redhat/linux/rawhide/i386/RedHat/RPMS/ i386 || exit $?
rotate ftp.rhnet.is::redhat/linux/rawhide/SRPMS/SRPMS/ SRPMS || exit $?
Attachment:
signature.asc
Description: Ceci est une partie de message=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=