Hello, I am mirroring the debian tree using rsync. I realised following bug. Version: 2.5.5-0.2 on Debian GNU/Linux. Rsync did not correct old symlinks. # ls -l debian-non-US/dists/ total 60 drwxr-xr-x 2 root root 4096 Apr 17 2001 Debian2.2r7/ drwxr-xr-x 2 root root 4096 Feb 28 2001 Debian3.0r0/ drwxr-xr-x 2 root root 4096 Nov 10 02:30 old-proposed-updates/ drwxr-xr-x 2 root root 4096 Apr 17 2001 oldstable/ drwxr-xr-x 3 root root 4096 Feb 28 2001 potato/ drwxr-xr-x 2 root root 4096 Oct 31 02:31 potato-proposed-updates/ lrwxrwxrwx 1 root root 23 Jun 26 02:00 proposed-updates -> potato-proposed-updates/ drwxr-xr-x 3 root root 4096 Jul 20 02:30 sarge/ drwxr-xr-x 3 root root 4096 Jul 20 02:30 sarge-proposed-updates/ drwxr-xr-x 3 root root 4096 Feb 28 2001 sid/ drwxr-xr-x 2 root root 4096 Nov 5 2000 slink/ drwxr-xr-x 2 root root 4096 Oct 23 2001 slink-proposed-updates/ lrwxrwxrwx 1 root root 6 Jun 26 02:00 stable -> potato/ drwxr-xr-x 2 root root 4096 Oct 31 02:31 stable-proposed-updates/ lrwxrwxrwx 1 root root 5 Jun 26 02:00 testing -> woody/ drwxr-xr-x 2 root root 4096 Jul 20 02:30 testing-proposed-updates/ lrwxrwxrwx 1 root root 3 Jun 26 02:00 unstable -> sid/ drwxr-xr-x 3 root root 4096 Feb 28 2001 woody/ drwxr-xr-x 3 root root 4096 Oct 31 02:31 woody-proposed-updates/ # rsync -vl ftp.linux.cz::pub/linux/debian-non-US/dists/ drwxr-xr-x 4096 2002/08/05 02:31:58 . lrwxr-xr-x 6 2002/07/13 02:31:40 Debian2.2r7 -> potato lrwxr-xr-x 5 2002/07/20 02:34:06 Debian3.0r0 -> woody lrwxr-xr-x 23 2002/07/20 02:34:06 old-proposed-updates -> potato-proposed-updates lrwxr-xr-x 6 2002/07/20 02:34:06 oldstable -> potato drwxr-xr-x 4096 2001/04/17 02:32:18 potato drwxr-xr-x 4096 2002/11/10 02:30:53 potato-proposed-updates lrwxr-xr-x 22 2002/07/20 02:34:06 proposed-updates -> woody-proposed-updates drwxr-xr-x 4096 2002/07/20 02:30:43 sarge drwxr-xr-x 4096 2002/07/20 02:30:44 sarge-proposed-updates drwxr-xr-x 4096 2001/02/28 02:33:39 sid drwxr-xr-x 4096 2000/11/05 13:35:43 slink drwxr-xr-x 4096 2001/10/23 02:36:31 slink-proposed-updates lrwxr-xr-x 5 2002/07/20 02:34:06 stable -> woody lrwxr-xr-x 22 2002/08/05 02:31:58 stable-proposed-updates -> woody-proposed-updates lrwxr-xr-x 5 2002/07/20 02:34:06 testing -> sarge lrwxr-xr-x 22 2002/07/20 02:34:06 testing-proposed-updates -> sarge-proposed-updates lrwxr-xr-x 3 2001/04/12 17:18:28 unstable -> sid drwxr-xr-x 4096 2001/02/28 02:33:39 woody drwxr-xr-x 4096 2002/10/31 02:31:44 woody-proposed-updates wrote 93 bytes read 658 bytes 136.55 bytes/sec total size is 119 speedup is 0.16 # rsync -vvv -rlHpt -P --exclude Packages --delete -L ftp.linux.cz::pub/linux/debian-non-US/ --include=/dists/ --include=/dists/* --exclude=* debian-non-US 2>&1 1>rs.log # ls -l debian-non-US/dists/ total 60 drwxr-xr-x 2 root root 4096 Apr 17 2001 Debian2.2r7/ drwxr-xr-x 2 root root 4096 Feb 28 2001 Debian3.0r0/ drwxr-xr-x 2 root root 4096 Nov 10 02:30 old-proposed-updates/ drwxr-xr-x 2 root root 4096 Apr 17 2001 oldstable/ drwxr-xr-x 3 root root 4096 Feb 28 2001 potato/ drwxr-xr-x 2 root root 4096 Oct 31 02:31 potato-proposed-updates/ lrwxrwxrwx 1 root root 23 Jun 26 02:00 proposed-updates -> potato-proposed-updates/ drwxr-xr-x 3 root root 4096 Jul 20 02:30 sarge/ drwxr-xr-x 3 root root 4096 Jul 20 02:30 sarge-proposed-updates/ drwxr-xr-x 3 root root 4096 Feb 28 2001 sid/ drwxr-xr-x 2 root root 4096 Nov 5 2000 slink/ drwxr-xr-x 2 root root 4096 Oct 23 2001 slink-proposed-updates/ lrwxrwxrwx 1 root root 6 Jun 26 02:00 stable -> potato/ drwxr-xr-x 2 root root 4096 Oct 31 02:31 stable-proposed-updates/ lrwxrwxrwx 1 root root 5 Jun 26 02:00 testing -> woody/ drwxr-xr-x 2 root root 4096 Jul 20 02:30 testing-proposed-updates/ lrwxrwxrwx 1 root root 3 Jun 26 02:00 unstable -> sid/ drwxr-xr-x 3 root root 4096 Feb 28 2001 woody/ drwxr-xr-x 3 root root 4096 Oct 31 02:31 woody-proposed-upda[18:46 root@geze:/mnt/mirror]tes/ Links stable is to potato, but should be to woody. Why does not rsync relink the link? I am including the log. Thanks and regards Hans Ginzel -- http://www.matfyz.cz/hans/Unix/Debian/mirror_debian.pl -------------- next part -------------- add_exclude(Packages,exclude) add_exclude(/dists/,include) add_exclude(/dists/*,include) add_exclude(*,exclude) opening tcp connection to ftp.linux.cz port 873 receiving file list ... recv_file_name(.) recv_file_name(dists) recv_file_name(dists/Debian2.2r7) recv_file_name(dists/potato) recv_file_name(dists/potato-proposed-updates) recv_file_name(dists/proposed-updates) recv_file_name(dists/sid) recv_file_name(dists/slink) recv_file_name(dists/slink-proposed-updates) recv_file_name(dists/stable) recv_file_name(dists/testing) recv_file_name(dists/unstable) recv_file_name(dists/woody) recv_file_name(dists/woody-proposed-updates) recv_file_name(dists/testing-proposed-updates) recv_file_name(dists/sarge) recv_file_name(dists/sarge-proposed-updates) recv_file_name(dists/Debian3.0r0) recv_file_name(dists/old-proposed-updates) recv_file_name(dists/oldstable) recv_file_name(dists/stable-proposed-updates) received 21 names 21 files to consider recv_file_list done get_local_name count=21 debian-non-US make_file(-1,.) 0 files... expand file_list to 4000 bytes, did move including directory dists because of pattern /dists/ make_file(-1,dists) including directory dists/Debian2.2r7 because of pattern /dists/* make_file(-1,dists/Debian2.2r7) including directory dists/potato because of pattern /dists/* make_file(-1,dists/potato) excluding directory dists/potato/non-US because of pattern * including directory dists/potato-proposed-updates because of pattern /dists/* make_file(-1,dists/potato-proposed-updates) including directory dists/proposed-updates because of pattern /dists/* make_file(-1,dists/proposed-updates) including directory dists/sid because of pattern /dists/* make_file(-1,dists/sid) excluding directory dists/sid/non-US because of pattern * including directory dists/slink because of pattern /dists/* make_file(-1,dists/slink) including directory dists/slink-proposed-updates because of pattern /dists/* make_file(-1,dists/slink-proposed-updates) including directory dists/stable because of pattern /dists/* make_file(-1,dists/stable) excluding directory dists/stable/non-US because of pattern * including directory dists/testing because of pattern /dists/* make_file(-1,dists/testing) excluding directory dists/testing/non-US because of pattern * including directory dists/unstable because of pattern /dists/* make_file(-1,dists/unstable) excluding directory dists/unstable/non-US because of pattern * including directory dists/woody because of pattern /dists/* make_file(-1,dists/woody) excluding directory dists/woody/non-US because of pattern * including directory dists/woody-proposed-updates because of pattern /dists/* make_file(-1,dists/woody-proposed-updates) excluding directory dists/woody-proposed-updates/non-US because of pattern * including directory dists/testing-proposed-updates because of pattern /dists/* make_file(-1,dists/testing-proposed-updates) including directory dists/Debian3.0r0 because of pattern /dists/* make_file(-1,dists/Debian3.0r0) including directory dists/old-proposed-updates because of pattern /dists/* make_file(-1,dists/old-proposed-updates) including directory dists/oldstable because of pattern /dists/* make_file(-1,dists/oldstable) including directory dists/sarge because of pattern /dists/* make_file(-1,dists/sarge) excluding directory dists/sarge/non-US because of pattern * including directory dists/sarge-proposed-updates because of pattern /dists/* make_file(-1,dists/sarge-proposed-updates) excluding directory dists/sarge-proposed-updates/non-US because of pattern * including directory dists/stable-proposed-updates because of pattern /dists/* make_file(-1,dists/stable-proposed-updates) excluding directory pool because of pattern * excluding file Packages.gz because of pattern * send_file_list done deleting in . generator starting pid=1289 count=21 recv_generator(.,0) recv_generator(dists,1) recv_generator(dists/Debian2.2r7,2) recv_generator(dists/Debian3.0r0,3) recv_generator(dists/old-proposed-updates,4) recv_generator(dists/oldstable,5) recv_generator(dists/potato,6) set modtime of dists/potato to (987467538) Tue Apr 17 02:32:18 2001 dists/potato/ recv_generator(dists/potato-proposed-updates,7) set modtime of dists/potato-proposed-updates to (1036891853) Sun Nov 10 02:30:53 2002 dists/potato-proposed-updates/ recv_generator(dists/proposed-updates,8) set modtime of dists/proposed-updates to (1036027904) Thu Oct 31 02:31:44 2002 dists/proposed-updates/ recv_generator(dists/sarge,9) recv_generator(dists/sarge-proposed-updates,10) recv_generator(dists/sid,11) recv_generator(dists/slink,12) recv_generator(dists/slink-proposed-updates,13) recv_generator(dists/stable,14) set modtime of dists/stable to (983324019) Wed Feb 28 02:33:39 2001 dists/stable/ recv_generator(dists/stable-proposed-updates,15) recv_generator(dists/testing,16) set modtime of dists/testing to (1027125043) Sat Jul 20 02:30:43 2002 dists/testing/ recv_generator(dists/testing-proposed-updates,17) recv_generator(dists/unstable,18) recv_generator(dists/woody,19) set modtime of dists/woody to (983324019) Wed Feb 28 02:33:39 2001 dists/woody/ recv_generator(dists/woody-proposed-updates,20) generate_files phase=1 recv_files(21) starting recv_files phase=1 generate_files phase=2 recv_generator(.,0) recv_generator(dists,1) recv_generator(dists/Debian2.2r7,2) recv_generator(dists/Debian3.0r0,3) recv_generator(dists/old-proposed-updates,4) recv_generator(dists/oldstable,5) recv_generator(dists/potato,6) set modtime of dists/potato to (987467538) Tue Apr 17 02:32:18 2001 recv_generator(dists/potato-proposed-updates,7) set modtime of dists/potato-proposed-updates to (1036891853) Sun Nov 10 02:30:53 2002 recv_generator(dists/proposed-updates,8) set modtime of dists/proposed-updates to (1036027904) Thu Oct 31 02:31:44 2002 recv_generator(dists/sarge,9) recv_generator(dists/sarge-proposed-updates,10) recv_generator(dists/sid,11) recv_generator(dists/slink,12) recv_generator(dists/slink-proposed-updates,13) recv_generator(dists/stable,14) set modtime of dists/stable to (983324019) Wed Feb 28 02:33:39 2001 recv_generator(dists/stable-proposed-updates,15) recv_generator(dists/testing,16) set modtime of dists/testing to (1027125043) Sat Jul 20 02:30:43 2002 recv_generator(dists/testing-proposed-updates,17) recv_generator(dists/unstable,18) recv_generator(dists/woody,19) set modtime of dists/woody to (983324019) Wed Feb 28 02:33:39 2001 recv_generator(dists/woody-proposed-updates,20) recv_files finished wrote 148 bytes read 494 bytes 256.80 bytes/sec total size is 0 speedup is 0.00 _exit_cleanup(code=0, file=main.c, line=925): about to call exit(0)