Evan Harris <[EMAIL PROTECTED]> writes: > I am having the same problem, although the --postcleanup option doesn't > appear to workaround it. Luckily the --ignore-small-errors is working. > > I mirror from a lower level source mirror, and I don't think I've _ever_ > seen a mirror here (which is run once a week) complete without complaining > about at least one missing file. Consequently, my Packages files were > several _months_ out of date, and though I appeared to have all the > "current" packages when I searched for them in the filesystem, I would > always get that the packages were up to date, even though I could see that > they weren't. > > Seeing that it appeared to be a problem with the files under the dist/ tree, > I completely removed my dists tree in the hopes of forcing them to be > refreshed. But after running debmirror again, it created the dists > directories, but left them completely empty. And that was defintely NOT the > expected behavior, as it completely breaks, and intentionally leaves > broken, any computer trying to use that repository. > >>From my point of view, several things need to be fixed: > > 1. If the dists files do not exist at all, the current version needs to be > placed there no matter the outcome of the rest of the mirror processing. A > "possibly wrong" Packages file is better than none at all.
I don't realy see a point for this. When you create a mirror, and unless you mess with it that is the only time without Packages files, you should check your options and start with a consistent mirror. When you get it all figured out and working right, including a working source to mirror from, the Packages file will be there. > 2. If the Packages files in dists/ are older than a certain timeframe (say a > few days), they should also be updated "no matter what". The possibility of > an upstream mirror problem shouldn't affect whether I can even tell if there > are new packages available, and without updated Packages files, you can't. > > 3. There needs to be a warning printed out if the Packages files were not > updated so users can figure out what is going on. A hint to add > --ignore-small-errors would also be nice. Whenever debmirror exits with an error the Packages files will not be updated. Also the output ends with the error messages repeated. If all is well there is a different message telling that it moved the meta files and all is well. For a cron job you can use something like (from memory): #!/bin/sh exec >log 2>&1 debmirror .... res=$? if [ ! $res = 0 ]; then cat log fi That should send you a mail whenever there is an error mirroring and always make the logfile. > Mirroring from the original source distribution no doubt normally completes > without errors. But when trying to be nice and mirroring from a lower level > leaf mirror, errors from missing files are much more common, to the point of > being a normal occurance, and this case needs to be handled better. > > Evan All mirrors should be using 2 phase mirroring and if you find missing files are a common occurance you should ask the mirror admin to update the mirror script to 2 phase mirroring. Since that might not happen or takes a long time to get them to change there is a simple thing you can do meanwhile: debmirror ... -h local.mirror.with.missing.files \ || debmirror ... -h mid.level.mirror.that.usualy.works \ || debmirror ... -h ftp.debian.org This gets whatever it can locally. If any errors show up it goes up one level and if there are still errors it goes to the source. MfG Goswin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]