-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Hello guy.

First of all, thank you for adding this Rob, but there are a few concerns I have.

537 # If there's no TIMESTAMP file, then we haven't synced from rsync
538 # before, so there's no checking we can do. Blaze on past.
539 if ( -f "$descdir/TIMESTAMP" ) {
540 open TS, "$descdir/TIMESTAMP";
541 $oldts = <TS>;
542 close TS;
543 chomp $oldts;


While this makes sense it introduces a logical problem. Because ideally the code would simply reject the mirror if there is no timestamp present. why? Well our policy states that the mirror may only sync the timestampt AFTER all of the info files were synced successfully. So if there is no TIMESTAMP, something has gone wrong on the mirror and we should not poll any data from it.

I do not know how well this works when somone does the selfupdate-rsync switching between CVS and Rsync, maybe we could introduce a "state" file that indicates if this is the first switch or not.

Furthermore on:

609 $cmd = "rsync -az --delete-after $verbosity $nohfs $rinclist - --include='VERSION' --exclude='**' '$rsynchost' '$basepath/fink/'";

and on

533 $timecmd = "rsync -az $verbosity $nohfs $rsynchost/TIMESTAMP $desc dir/TIMESTAMP.tmp";

While I do notice that the files are written into different locations, would it not be better to simply do:

"rsync -az --delete-after $verbosity $nohfs $rinclist - --include='VERSION' --INCLUDE='TIMESTAMP' --exclude='**' '$rsynchost' '$basepath/fink/'";

While that might not be the actual command or line it is at, my point is. Even if we do not decide to use the mirror we pulled the TIMESTAMP and VERSION file from, we do safe us a system() call and a rsync connect. To unlink the VERSION should be drop that mirror because of TIMESTAMP issues should not be time consuming.

And just a question:

561 # error out complaining that we're trying to updat e
562 # from something older than what we already have.
563 unlink("$descdir/TIMESTAMP.tmp");
564 print "The timestamp of the server is older than w hat you already have.\n";
565 exit 1;
566 }
567
568 }


once that is executed, does it throw the user back into the "choose another mirror" routine or does the user have to type fink selfupdate again ?

My idea is, that there is some function like &get_next_mirror_from_group();

That way the logical flow is as follows:

Look up in fink.conf what is set e,g, eur-DE

look what is in eur-DE pick the first mirror.
check if the mirror fails
if so, pick next until the end of the mirror list is reached or success.
once the end of eur-DE is reached without success

dump the user into
"Which mirror would oyu like to use all your countries mirrors failed"

Does that make sense?

Thank you and please do not think I am complianing, just spilling my ideas

- -d



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)

iD8DBQE/smJjiW/Ta/pxHPQRA23EAJ9/4jTW4y/H3VaeeELv4IbHxrKEpwCg2oDo
wtBn6GrOcToJ5Pg4LWA6SkU=
=prOa
-----END PGP SIGNATURE-----



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to