Hello Ian!, or anyone else affected,

Accepted rsync into jammy-proposed. The package will build now and be
available at https://launchpad.net/ubuntu/+source/rsync/3.2.3-8ubuntu3.1
in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, what testing has been
performed on the package and change the tag from verification-needed-
jammy to verification-done-jammy. If it does not fix the bug for you,
please add a comment stating that, and change the tag to verification-
failed-jammy. In either case, without details of your testing we will
not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Description changed:

  [Impact]
  
  This bug causes rsync 3.2.3 to wrongly report files with an exact same
  mtime as being "newer" implying they would need to be transfered/sync'ed
  where in fact they are "uptodate".
  
  This breaks users' scripts depending on "is newer" to signal that files
  need to be sync'ed when in fact, they don't need to be.
  
  [Test Plan]
  
  Steps to reproduce:
  
  1. Create a local file:
  $ touch foo
  
  2. Check if rsync would transfer it using the --update option:
  $ rsync -avv --update foo .
  
  If the regression is present, "foo is newer" would be reported:
  
  ```
  sending incremental file list
  delta-transmission disabled for local transfer or --whole-file
  foo is newer
  total: matches=0  hash_hits=0  false_alarms=0 data=0
  
  sent 61 bytes  received 96 bytes  314.00 bytes/sec
  total size is 0  speedup is 0.00
  ```
  
  If the updated package is installed (from -proposed), "foo is uptodate"
  should be reported:
  
  ```
  sending incremental file list
  delta-transmission disabled for local transfer or --whole-file
  foo is uptodate
  total: matches=0  hash_hits=0  false_alarms=0 data=0
  
  sent 60 bytes  received 106 bytes  332.00 bytes/sec
  total size is 0  speedup is 0.00
  ```
  
  [Regression potential]
  
  The patch changes the behavior of --update so if something goes wrong,
- it could break backup/sync jobs. To mitiate that, manual testing of
+ it could break backup/sync jobs. To mitigate that, manual testing of
  rsync with and without the --update option was done in addition to the
  quick [Test Plan] outlined above.
  
  Please note the patch restores the behavior from before version 3.2.3
  and has been integrated by upstream in September 2021. It also is in
  Kinetic where no visible regression was observed.
  
  [Original description]
  
  rsync 3.2.3 has a broken "--update" option.    See the examples below.
  The "--update" option incorrectly makes rsync say a file is newer than itself.
  Remove the "--update" option, and rsync correctly says the file is "uptodate".
  The right output should of course be "is uptodate" in all cases.
  This bug also shows up between machines if the source rsync is 3.1.3 and the 
destination is 3.2.3.
  The bug does not show up if the source rsync is 3.2.3 and the destination is 
3.1.3.
  The bug was fixed upstream in June 2020:  
https://github.com/WayneD/rsync/issues/98
  
  $ touch foo
  $ rsync --update --info=skip foo foo
  foo is newer                <=== THIS IS NOT CORRECT - A file can't be newer 
than itself.
  
  Obviously a file should not be listed as newer than itself.  Another
  way:
  
  $ touch foo
  $ rsync -avv --update foo .
  delta-transmission disabled for local transfer or --whole-file
  foo is newer                 <=== THIS IS NOT CORRECT - A file can't be newer 
than itself.
  total: matches=0  hash_hits=0  false_alarms=0 data=0
  sent 38 bytes  received 96 bytes  268.00 bytes/sec
  total size is 0  speedup is 0.00
  
  $ rsync -avv foo .
  delta-transmission disabled for local transfer or --whole-file
  foo is uptodate              <=== THIS IS CORRECT
  total: matches=0  hash_hits=0  false_alarms=0 data=0
  sent 41 bytes  received 106 bytes  294.00 bytes/sec
  total size is 0  speedup is 0.00
  
  ProblemType: Bug
  DistroRelease: Ubuntu 21.10
  Package: rsync 3.2.3-4ubuntu1
  ProcVersionSignature: Ubuntu 5.13.0-35.40-generic 5.13.19
  Uname: Linux 5.13.0-35-generic x86_64
  ApportVersion: 2.20.11-0ubuntu71
  Architecture: amd64
  CasperMD5CheckResult: pass
  CurrentDesktop: ubuntu:GNOME
  Date: Tue Mar 15 22:47:44 2022
  InstallationDate: Installed on 2022-03-16 (0 days ago)
  InstallationMedia: Ubuntu 21.10 "Impish Indri" - Release amd64 (20211012)
  SourcePackage: rsync
  UpgradeStatus: No upgrade log present (probably fresh install)

** Changed in: rsync (Ubuntu Jammy)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-jammy

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to rsync in Ubuntu.
https://bugs.launchpad.net/bugs/1965076

Title:
  rsync --update incorrectly reports file "is newer" than itself

Status in rsync:
  Fix Released
Status in rsync package in Ubuntu:
  Fix Released
Status in rsync source package in Jammy:
  Fix Committed

Bug description:
  [Impact]

  This bug causes rsync 3.2.3 to wrongly report files with an exact same
  mtime as being "newer" implying they would need to be
  transfered/sync'ed where in fact they are "uptodate".

  This breaks users' scripts depending on "is newer" to signal that
  files need to be sync'ed when in fact, they don't need to be.

  [Test Plan]

  Steps to reproduce:

  1. Create a local file:
  $ touch foo

  2. Check if rsync would transfer it using the --update option:
  $ rsync -avv --update foo .

  If the regression is present, "foo is newer" would be reported:

  ```
  sending incremental file list
  delta-transmission disabled for local transfer or --whole-file
  foo is newer
  total: matches=0  hash_hits=0  false_alarms=0 data=0

  sent 61 bytes  received 96 bytes  314.00 bytes/sec
  total size is 0  speedup is 0.00
  ```

  If the updated package is installed (from -proposed), "foo is
  uptodate" should be reported:

  ```
  sending incremental file list
  delta-transmission disabled for local transfer or --whole-file
  foo is uptodate
  total: matches=0  hash_hits=0  false_alarms=0 data=0

  sent 60 bytes  received 106 bytes  332.00 bytes/sec
  total size is 0  speedup is 0.00
  ```

  [Regression potential]

  The patch changes the behavior of --update so if something goes wrong,
  it could break backup/sync jobs. To mitigate that, manual testing of
  rsync with and without the --update option was done in addition to the
  quick [Test Plan] outlined above.

  Please note the patch restores the behavior from before version 3.2.3
  and has been integrated by upstream in September 2021. It also is in
  Kinetic where no visible regression was observed.

  [Original description]

  rsync 3.2.3 has a broken "--update" option.    See the examples below.
  The "--update" option incorrectly makes rsync say a file is newer than itself.
  Remove the "--update" option, and rsync correctly says the file is "uptodate".
  The right output should of course be "is uptodate" in all cases.
  This bug also shows up between machines if the source rsync is 3.1.3 and the 
destination is 3.2.3.
  The bug does not show up if the source rsync is 3.2.3 and the destination is 
3.1.3.
  The bug was fixed upstream in June 2020:  
https://github.com/WayneD/rsync/issues/98

  $ touch foo
  $ rsync --update --info=skip foo foo
  foo is newer                <=== THIS IS NOT CORRECT - A file can't be newer 
than itself.

  Obviously a file should not be listed as newer than itself.  Another
  way:

  $ touch foo
  $ rsync -avv --update foo .
  delta-transmission disabled for local transfer or --whole-file
  foo is newer                 <=== THIS IS NOT CORRECT - A file can't be newer 
than itself.
  total: matches=0  hash_hits=0  false_alarms=0 data=0
  sent 38 bytes  received 96 bytes  268.00 bytes/sec
  total size is 0  speedup is 0.00

  $ rsync -avv foo .
  delta-transmission disabled for local transfer or --whole-file
  foo is uptodate              <=== THIS IS CORRECT
  total: matches=0  hash_hits=0  false_alarms=0 data=0
  sent 41 bytes  received 106 bytes  294.00 bytes/sec
  total size is 0  speedup is 0.00

  ProblemType: Bug
  DistroRelease: Ubuntu 21.10
  Package: rsync 3.2.3-4ubuntu1
  ProcVersionSignature: Ubuntu 5.13.0-35.40-generic 5.13.19
  Uname: Linux 5.13.0-35-generic x86_64
  ApportVersion: 2.20.11-0ubuntu71
  Architecture: amd64
  CasperMD5CheckResult: pass
  CurrentDesktop: ubuntu:GNOME
  Date: Tue Mar 15 22:47:44 2022
  InstallationDate: Installed on 2022-03-16 (0 days ago)
  InstallationMedia: Ubuntu 21.10 "Impish Indri" - Release amd64 (20211012)
  SourcePackage: rsync
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/rsync/+bug/1965076/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to