On 2025-10-23 08:25, onefang wrote:
> On 2025-10-23 05:59:51, Shengqi Chen wrote:
>> Hi,
>>
>> > -----Original Message-----
>> > From: devuan-mirrors <devuan-mirrors-bounces@???> On Behalf Of
>> > onefang
>> > Sent: Thursday, October 23, 2025 1:11 PM
>> >
>> > G'day, Devuan's package mirror herder here.
>> >
>> > I've been working on a new update script for Devuan package mirrors.
>> >
>> > https://sledjhamr.org/cgit/devuan_package_mirror_sync/
>> >
>> > Which tries to update a Devuan package mirror with minimal issues. It
>> > should help prevent "this mirror is currently updating and might give
>> > errors", or at least shrink that window down to fractions of a second.
>>
>> It looks rather like Debian's two-stage rsync used in ftpsync.
>
> I've looked at ftpsync, it's much more complicated than what I think we
> need, but yes a two stage rsync.
Seconding that. Debian's convoluted mirrorscript (and their insistence
that everyone needs to use it) is one of the top reasons why I don't run
a Debian mirror alongside Devuan. As long as something boils down to one
(... two?) rsync calls, I don't buy that we need to migrate to a "real"
programming language. Let's not over-engineer :)
>> And we (with my TUNA mirror's admin hat on) have also implemented our
>> own version.
>
> Go isn't one of my 100 programming languages, and I still haven't
> decided
> what language 101 will be.
>
>> I suppose devuan does not have much deviation with Debian's folder
>> structure,
>> so we could still re-use those mechanisms safely?
>
> We could, but I'm trying to simplify and speed up things.
>
>> Thanks,
>> Shengqi Chen
As likely every other mirror operator, I have my own bespoke script for
the purpose - which did already include --delay-updates, and
--delete-after. Or is the new script different in some other way?
As an aside: I don't like how we're calling rsync twice, and I don't
fully understand the intent (especially with --delete-delay only being
in one of those calls). Care to elaborate about the source of the
problem? Because to me, this sounds like core mirror doesn't get updated
atomically, and this is a workaround? I'm confused.
cheers,
~domi