The process of passing host options from runmirrors to SSH triggers
protects multi-word options by converting spaces to hashes, and then
back again. However, it only performs a single replacement in each
case, meaning that "-p 1234" works, but "-p 1234 -4" is treated as
equivalent to "-p 1234" (and "-4 -p 1234" to "-4 -p")
With this change and without the fix, we get failures:
$ bats scripts/default/ftpsync.bats
✗ run ftpsync
(in test file scripts/default/ftpsync.bats, line 7)
`[[ $status -eq 0 ]]' failed
✗ run ftpsync, ssh command
(in test file scripts/default/ftpsync.bats, line 21)
`[[ $status -eq 0 ]]' failed
✓ run ftpsync with non-existant archive
✓ run ftpsync with non-existant archive, ssh comman
✗ run ftpsync with non-default trigger
(in test file scripts/default/ftpsync.bats, line 45)
`[[ $status -eq 0 ]]' failed
With the fix, it works as expected:
$ bats scripts/default/ftpsync.bats
✓ run ftpsync
✓ run ftpsync, ssh command
✓ run ftpsync with non-existant archive
✓ run ftpsync with non-existant archive, ssh comman
✓ run ftpsync with non-default trigger
5 tests, 0 failures
Fix quoting boundary in MIME header so mail sent is compliant instead of
displayed as malformed by strict mail readers.
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
There are scripts fetching the current installer images through
the dists/$release/main/installer-$arch/current/images/ path
and they are validating the MD5SUMS and SHA256SUMS in this
directory against the Release file. So let's update the symlink
in stage 2 as well so that we ensure that everything is in sync
at this point.
They are listed in the Release/InRelease files and must be updated in
sync with those files.
We also change --include=i18n/by-hash into an earlier --include=by-hash/
to cover all by-hash directories no matter where they are located
because dep11/by-hash/ is a thing too.
Closes: #991166
- for main archive, we go locally and get us a random secret from the
rsyncd config
- for security archive, there is a mirror config rolled out (which
never gets pushed), use that data
We increasingly see TCP connections with insanely low timeouts.
Especially in NAT or proxy environments, these timeouts can be as low as
two or four minutes. This makes them even too low for the default
interval of the TCP keepalives enabled with SO_KEEPALIVE.
The IO timeout setting in rsync also enables sending protocol level
keepalives every half timeout. Apart from a higher rate of keepalives,
this change should not incur any cost.
Closes: #882381
To generate the tar file reproducible we ask tar to sort the name, set
the mtime to the build date and set root as owner and group for all
files.
Closes: #856860
Incremental recursive mode causes rsync to receive file entries one by
one, causing long run times just to retrieve the file list. Without it,
rsync just retrieves the file list in one transfer.
If one lock wait timeouts, it delets it's own lock file. This makes it
impossible for the siblings to ever find all files existing at the same
time. Make sure they break out the wait loop in this case by always
creating the all done marker.