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]

Reply via email to