Hi Samuel.

On Sat, Sep 25, 2021 at 09:29:42PM +0100, Samuel Henrique wrote:
> >  for lchown() is definitely a new feature, so the right way, IMHO,
> >  is to correct dependences for rsync package: "libc6 (>= 2.31)".
> 
> I don't think it's as simple as that, I understand your issue now, but
> I wouldn't just bump the dependency requirement without understanding
> it better.
> As it stands now, the version requirement is automatically set by
> debhelper, based on the symbols rsync uses.

 Are you sure about version? I doubt. The list of libraries is built
 by debhelper, I agree. But the *version* dependency, IMHO, can't be built
 on the list of referenced symbols.

 To build version dependency automatically script should have access
 to the whole history of all versions of libc6, with list of symbols
 and markers when each symbol become usable. Note that presense of
 symbol is not mean usability: for libc6-2.30 entry "lchown()" is
 definitely present (ltrace confirms it), but attemptp to call it
 return an error "not implemented", i.e. this version contains only
 stub code (symbol is reserved for future use).

 I belive the version dependency have to be filled manually. Moreover,
 with manual assignment buggy versions of library can be excluded,
 which is very unlikely to be done automatically.

> The bug we are facing comes from libc6, as we can see in the upstream
> bug report, and rsync is trying to workaround that issue (the patch I
> introduced on 3.2.3-7).

 I did not look through the code, but probably it detects presence of
 lchown() but don't cover the situation when this entry is not functional.

> Having outdated packages is not a problem, but having only a subset of
> them is an indicator of something wrong. Rsync 3.2.3-7 migrated to
> testing after libc6 2.32, so this issue will not happen unless the
> person purposely holds libc back. I thought your system was running
> like that by accident.
> I'm not judging here, I just meant to explain that the trigger to the
> issue will not affect every Debian user.

 Yes, this issue may occure when libc6 vesion is outdated in normal
 upgrade process.

> Being able to keep the current version requirement will be important
> in the long term as I want to be able to upload new releases to
> backports. I also think that there's a chance rsync's upstream solves
> the new regression soon (if confirmed), which would deem the version
> bump unneeded.
> 
> What do you think?

 OK, I expressed my thoughts, technical problem is clear, so
 it's left for you and upstream to find the best and right solution.
 Thank you for support, Samuel.
-- 
 Eugene Berdnikov

Reply via email to