#1127690 processincoming: Leaves .changes files around under certain conditions

Package:
reprepro
Source:
reprepro
Description:
Debian package repository producer
Submitter:
Christian Kastner
Date:
2026-02-11 18:35:01 UTC
Severity:
normal
#1127690#5
Date:
2026-02-11 18:32:01 UTC
From:
To:
Dear maintainer,

With regards to the Cleanup option of conf/incoming files, reprepro(1)
states for the 'on_error' option:

    on_error
    If a .changes file causes errors while processing, delete it and the files it references.

I was surprised to see that this is not always the case. The simplest
case, for example, is uploading just a .changes file: reprepro will
abort processing (as expected) with

    In 'foopackage_0.1-1_amd64.changes': file 'foopackage_0.1-1.dsc' not found in the incoming dir!
    There have been errors!

However, the .changes file will remain.

So anything iterating over the .changes files, and (say) calling
`processincoming $file`, must account for this scenario, and manually
clean up on failure.

This also happens if some other file that is missing (like
.orig.tar.gz); then, other files referenced by .changes are also left in
the directory.

Best,
Christian