mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-05-19 12:25:42 -04:00
Convert NEWS & OLDNEWS into .md files.
This commit is contained in:
111
NEWS
111
NEWS
@@ -1,111 +0,0 @@
|
||||
NEWS for rsync 3.2.0 (UNRELEASED)
|
||||
Protocol: 31 (unchanged)
|
||||
Changes since 3.1.3:
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
- Avoid a potential out-of-bounds read in daemon mode if argc can be made
|
||||
to become 0.
|
||||
|
||||
- Fix the default list of skip-compress files for non-daemon transfers.
|
||||
|
||||
- Fix xattr filter rules losing an 'x' attribute in a non-local transfer.
|
||||
|
||||
- Avoid an error when a check for a potential fuzzy file happens to
|
||||
reference a directory.
|
||||
|
||||
- Make the atomic-rsync helper script have a more consistent error-exit.
|
||||
|
||||
- Make sure that a signal handler calls _exit() instead of exit().
|
||||
|
||||
- Various zlib fixes, including security fixes for CVE-2016-9843,
|
||||
CVE-2016-9842, CVE-2016-9841, and CVE-2016-9840.
|
||||
|
||||
- Fixed an issue with --remove-source-files not removing a source symlink
|
||||
when combined with --copy-links.
|
||||
|
||||
- Fixed a bug where the daemon would fail to write early fatal error
|
||||
messages to the client, such as refused or unknown command-line options.
|
||||
|
||||
- Fixed the block-size validation logic when dealing with older protocols.
|
||||
|
||||
- Some rrsync fixes and enhancements to handle the latest options.
|
||||
|
||||
- Fixed a crash in the --iconv code.
|
||||
|
||||
- Fixed a bug in the writing of the batch.sh file (w/--write-batch) when
|
||||
the source & destination args were not last on the command-line.
|
||||
|
||||
ENHANCEMENTS:
|
||||
|
||||
- Various checksum enhancements, including the optional use of openssl's
|
||||
MD4 & MD5 checksum algorithms, some x86_64 optimizations for the rolling
|
||||
checksum, some x86_64 optimizations for the (non-openssl) MD5 checksum,
|
||||
the addition of xxhash checksum support, and a negotiation heuristic that
|
||||
ensures that it is easier to add new checksum algorithms in the future.
|
||||
Currently the x86_64 optimizations require the use of the --enable-simd
|
||||
flag to configure, but they will probably be enabled by default in the
|
||||
near future. The environment variable RSYNC_CHECKSUM_LIST can be used
|
||||
to customize the preference order of the negotiation.
|
||||
|
||||
- Various compression enhancements, including a negotiation heuristic that
|
||||
tries to pick the best compression option supported by both sides. The
|
||||
environment variable RSYNC_COMPRESS_LIST can be used to customize the
|
||||
preference order of the heuristic (which will be more useful when new
|
||||
compression options are added).
|
||||
|
||||
- Added the --atimes option based on the long-standing patch (just with
|
||||
some fixes that the patch has been needing).
|
||||
|
||||
- Added --open-noatime option to open files using O_NOATIME.
|
||||
|
||||
- Added the --write-devices option based on the long-standing patch.
|
||||
|
||||
- Added openssl support to the rsync-ssl script via its renamed helper
|
||||
script, rsync-ssl-rsh. Both bash scripts are now installed by default
|
||||
(removing the install-ssl-client make target). Rsync was also enhanced
|
||||
to set the RSYNC_PORT environment variable when running a daemon-over-rsh
|
||||
script. Its value is the user-specified port number (set via --port or an
|
||||
rsync:// URL) or 0 if the user didn't override the port.
|
||||
|
||||
- Added negated matching to the daemon's "refuse options" setting by using
|
||||
match strings that start with a "!" (such as "!compress*").
|
||||
|
||||
- Added status output in response to a signal (via both SIGINFO & SIGVTALRM).
|
||||
|
||||
- Added a --copy-as=USER option to give some extra security to root-run
|
||||
rsync commands into/from untrusted directories (such as backups and
|
||||
restores).
|
||||
|
||||
- When resuming the transfer of a file in the --partial-dir, rsync will now
|
||||
update that partial file in-place instead of creating yet another tmp
|
||||
file copy. This requires both sender & receiver to be at least v3.2.0.
|
||||
|
||||
- Added support for RSYNC_SHELL & RSYNC_NO_XFER_EXEC environment variables
|
||||
that affect the pre-xfer exec and post-xfer exec rsync daemon options.
|
||||
|
||||
- Fixed a problem with the --link-dest|--copy-dest code when --xattrs was
|
||||
specified along with multiple alternate-destination directories (it could
|
||||
possibly choose a bad file match while trying to find a better xattr
|
||||
match).
|
||||
|
||||
- Various manpage improvements.
|
||||
|
||||
DEVELOPER RELATED:
|
||||
|
||||
- Silenced some annoying warnings about major()|minor() due to the autoconf
|
||||
include-file check not being smart enough.
|
||||
|
||||
- Improved some configure checks to work better with strict C99 compilers.
|
||||
|
||||
- The --debug=FOO options are no longer auto-forwarded to the server side,
|
||||
allowing more control over what is output & the ability to request debug
|
||||
data from divergent rsync versions.
|
||||
|
||||
- Some perl scripts were recoded into awk and python3.
|
||||
|
||||
- Some defines in byteorder.h were changed into static inline functions
|
||||
that will help to ensure that the args don't get evaluated multiple times
|
||||
on "careful alignment" hosts.
|
||||
|
||||
- Some code typos were fixed (as pointed out by a Fossies run).
|
||||
115
NEWS.md
Normal file
115
NEWS.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# NEWS for rsync 3.2.0 (UNRELEASED)
|
||||
|
||||
Protocol: 31 (unchanged)
|
||||
|
||||
## Changes since 3.1.3:
|
||||
|
||||
### BUG FIXES:
|
||||
|
||||
- Avoid a potential out-of-bounds read in daemon mode if argc can be made to
|
||||
become 0.
|
||||
|
||||
- Fix the default list of skip-compress files for non-daemon transfers.
|
||||
|
||||
- Fix xattr filter rules losing an 'x' attribute in a non-local transfer.
|
||||
|
||||
- Avoid an error when a check for a potential fuzzy file happens to reference
|
||||
a directory.
|
||||
|
||||
- Make the atomic-rsync helper script have a more consistent error-exit.
|
||||
|
||||
- Make sure that a signal handler calls `_exit()` instead of exit().
|
||||
|
||||
- Various zlib fixes, including security fixes for CVE-2016-9843,
|
||||
CVE-2016-9842, CVE-2016-9841, and CVE-2016-9840.
|
||||
|
||||
- Fixed an issue with `--remove-source-files` not removing a source symlink
|
||||
when combined with `--copy-links`.
|
||||
|
||||
- Fixed a bug where the daemon would fail to write early fatal error messages
|
||||
to the client, such as refused or unknown command-line options.
|
||||
|
||||
- Fixed the block-size validation logic when dealing with older protocols.
|
||||
|
||||
- Some rrsync fixes and enhancements to handle the latest options.
|
||||
|
||||
- Fixed a crash in the `--iconv` code.
|
||||
|
||||
- Fixed a bug in the writing of the batch.sh file (w/--write-batch) when the
|
||||
source & destination args were not last on the command-line.
|
||||
|
||||
### ENHANCEMENTS:
|
||||
|
||||
- Various checksum enhancements, including the optional use of openssl's MD4 &
|
||||
MD5 checksum algorithms, some x86-64 optimizations for the rolling checksum,
|
||||
some x86-64 optimizations for the (non-openssl) MD5 checksum, the addition
|
||||
of xxhash checksum support, and a negotiation heuristic that ensures that it
|
||||
is easier to add new checksum algorithms in the future. Currently the
|
||||
x86-64 optimizations require the use of the `--enable-simd` flag to
|
||||
configure, but they will probably be enabled by default in the near future.
|
||||
The environment variable `RSYNC_CHECKSUM_LIST` can be used to customize the
|
||||
preference order of the negotiation.
|
||||
|
||||
- Various compression enhancements, including a negotiation heuristic that
|
||||
tries to pick the best compression option supported by both sides. The
|
||||
environment variable `RSYNC_COMPRESS_LIST` can be used to customize the
|
||||
preference order of the heuristic (which will be more useful when new
|
||||
compression options are added).
|
||||
|
||||
- Added the `--atimes` option based on the long-standing patch (just with some
|
||||
fixes that the patch has been needing).
|
||||
|
||||
- Added `--open-noatime` option to open files using `O_NOATIME`.
|
||||
|
||||
- Added the `--write-devices` option based on the long-standing patch.
|
||||
|
||||
- Added openssl support to the rsync-ssl script via its renamed helper script,
|
||||
rsync-ssl-rsh. Both bash scripts are now installed by default (removing the
|
||||
install-ssl-client make target). Rsync was also enhanced to set the
|
||||
`RSYNC_PORT` environment variable when running a daemon-over-rsh script. Its
|
||||
value is the user-specified port number (set via `--port` or an rsync://
|
||||
URL) or 0 if the user didn't override the port.
|
||||
|
||||
- Added negated matching to the daemon's `refuse options` setting by using
|
||||
match strings that start with a `!` (such as `!compress*`).
|
||||
|
||||
- Added status output in response to a signal (via both SIGINFO & SIGVTALRM).
|
||||
|
||||
- Added a `--copy-as=USER` option to give some extra security to root-run
|
||||
rsync commands into/from untrusted directories (such as backups and
|
||||
restores).
|
||||
|
||||
- When resuming the transfer of a file in the `--partial-dir`, rsync will now
|
||||
update that partial file in-place instead of creating yet another tmp file
|
||||
copy. This requires both sender & receiver to be at least v3.2.0.
|
||||
|
||||
- Added support for `RSYNC_SHELL` & `RSYNC_NO_XFER_EXEC` environment variables
|
||||
that affect the pre-xfer exec and post-xfer exec rsync daemon options.
|
||||
|
||||
- Fixed a problem with the `--link-dest`|`--copy-dest` code when `--xattrs`
|
||||
was specified along with multiple alternate-destination directories (it
|
||||
could possibly choose a bad file match while trying to find a better xattr
|
||||
match).
|
||||
|
||||
- Various manpage improvements.
|
||||
|
||||
### DEVELOPER RELATED:
|
||||
|
||||
- Silenced some annoying warnings about major()|minor() due to the autoconf
|
||||
include-file check not being smart enough.
|
||||
|
||||
- Improved some configure checks to work better with strict C99 compilers.
|
||||
|
||||
- The `--debug=FOO` options are no longer auto-forwarded to the server side,
|
||||
allowing more control over what is output & the ability to request debug
|
||||
data from divergent rsync versions.
|
||||
|
||||
- Some perl scripts were recoded into awk and python3.
|
||||
|
||||
- Some defines in byteorder.h were changed into static inline functions that
|
||||
will help to ensure that the args don't get evaluated multiple times on
|
||||
`careful alignment` hosts.
|
||||
|
||||
- Some code typos were fixed (as pointed out by a Fossies run).
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3863
OLDNEWS.md
Normal file
3863
OLDNEWS.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -66,7 +66,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc COPYING NEWS OLDNEWS README.md support/ tech_report.tex
|
||||
%doc COPYING NEWS.md OLDNEWS.md README.md support/ tech_report.tex
|
||||
%config(noreplace) /etc/xinetd.d/rsync
|
||||
%{_prefix}/bin/rsync
|
||||
%{_prefix}/bin/rsync-ssl
|
||||
|
||||
@@ -201,11 +201,11 @@ def get_configure_version():
|
||||
|
||||
|
||||
def get_OLDNEWS_version_info():
|
||||
rel_re = re.compile(r'^\s+\S{2}\s\S{3}\s\d{4}\s+(?P<ver>\d+\.\d+\.\d+)\s+(?P<pdate>\d{2} \w{3} \d{4}\s+)?(?P<pver>\d+)$')
|
||||
rel_re = re.compile(r'^\| \d{2} \w{3} \d{4}\s+\|\s+(?P<ver>\d+\.\d+\.\d+)\s+\|\s+(?P<pdate>\d{2} \w{3} \d{4}\s+)?\|\s+(?P<pver>\d+)\s+\|')
|
||||
last_version = last_protocol_version = None
|
||||
pdate = { }
|
||||
|
||||
with open('OLDNEWS', 'r', encoding='utf-8') as fh:
|
||||
with open('OLDNEWS.md', 'r', encoding='utf-8') as fh:
|
||||
for line in fh:
|
||||
if not last_version:
|
||||
m = re.search(r'(\d+\.\d+\.\d+)', line)
|
||||
|
||||
@@ -157,7 +157,7 @@ release is "{release}"
|
||||
About to:
|
||||
- tweak SUBPROTOCOL_VERSION in rsync.h, if needed
|
||||
- tweak the version in configure.ac and the spec files
|
||||
- tweak NEWS and OLDNEWS to ensure header values are correct
|
||||
- tweak NEWS.md and OLDNEWS.md to ensure header values are correct
|
||||
- tweak the date in the *.yo files and generate the manpages
|
||||
- generate configure.sh, config.h.in, and proto.h
|
||||
- page through the differences
|
||||
@@ -172,7 +172,7 @@ About to:
|
||||
'%define srcdir': srcdir,
|
||||
}
|
||||
|
||||
tweak_files = 'configure.ac rsync.h NEWS OLDNEWS'.split()
|
||||
tweak_files = 'configure.ac rsync.h NEWS.md OLDNEWS.md'.split()
|
||||
tweak_files += glob.glob('packaging/*.spec')
|
||||
tweak_files += glob.glob('packaging/*/*.spec')
|
||||
tweak_files += glob.glob('*.yo')
|
||||
@@ -198,16 +198,16 @@ About to:
|
||||
x_re = re.compile('(#define\s+SUBPROTOCOL_VERSION)\s+(\d+)')
|
||||
repl = lambda m: m[1] + ' ' + '0' if not pre or proto_changed != 'changed' else 1 if m[2] == '0' else m[2]
|
||||
txt = replace_or_die(x_re, repl, txt, f"Unable to find SUBPROTOCOL_VERSION define in {fn}")
|
||||
elif fn == 'NEWS':
|
||||
elif fn == 'NEWS.md':
|
||||
x_re = re.compile(
|
||||
r'^(NEWS for rsync %s )(\(UNRELEASED\))\s*(\nProtocol: )(\d+) (\([^)]+\))\n' % re.escape(finalversion),
|
||||
r'^(# NEWS for rsync %s )(\(UNRELEASED\))\s*(\n\nProtocol: )(\d+) (\([^)]+\))\n' % re.escape(finalversion),
|
||||
re.I)
|
||||
repl = lambda m: m[1] + (m[2] if pre else f"({today})") + m[3] + f"{protocol_version} ({proto_changed})\n"
|
||||
msg = (f"The first 2 lines of {fn} are not in the right format. They must be:\n"
|
||||
+ f"NEWS for rsync {finalversion} (UNRELEASED)\n"
|
||||
msg = (f"The first 3 lines of {fn} are not in the right format. They must be:\n"
|
||||
+ f"# NEWS for rsync {finalversion} (UNRELEASED)\n\n"
|
||||
+ f"Protocol: {protocol_version} ({proto_changed})")
|
||||
txt = replace_or_die(x_re, repl, txt, msg)
|
||||
elif fn == 'OLDNEWS':
|
||||
elif fn == 'OLDNEWS.md':
|
||||
x_re = re.compile(r'^(\t\S\S\s\S\S\S\s\d\d\d\d)(\t%s\t).*' % re.escape(finalversion), re.M)
|
||||
repl = lambda m: (m[1] if pre else "\t" + ztoday) + m[2] + proto_change_date + protocol_version
|
||||
txt = replace_or_die(x_re, repl, txt, f'Unable to find "?? ??? {year}\t{finalversion}" line in {fn}')
|
||||
@@ -230,7 +230,7 @@ About to:
|
||||
srctar_file = f"{dest}/{srcdir}/{srctar_name}"
|
||||
pattar_file = f"{dest}/{srcdir}/{pattar_name}"
|
||||
diff_file = f"{dest}/{srcdiffdir}/{diff_name}"
|
||||
news_file = f"{dest}/{srcdir}/{rsync_ver}-NEWS"
|
||||
news_file = f"{dest}/{srcdir}/{rsync_ver}-NEWS.md"
|
||||
lasttar_file = f"{dest}/{lastsrcdir}/{rsync_lastver}.tar.gz"
|
||||
|
||||
print(f"""\
|
||||
@@ -276,7 +276,7 @@ About to:
|
||||
- create release tar, "{srctar_name}"
|
||||
- generate {rsync_ver}/patches/* files
|
||||
- create patches tar, "{pattar_name}"
|
||||
- update top-level README.md, *NEWS, TODO, and ChangeLog
|
||||
- update top-level README.md, *NEWS.md, TODO, and ChangeLog
|
||||
- update top-level rsync*.html manpages
|
||||
- gpg-sign the release files
|
||||
- update hard-linked top-level release files{skipping}
|
||||
@@ -347,10 +347,10 @@ About to:
|
||||
shutil.rmtree(rsync_ver)
|
||||
|
||||
print(f"Updating the other files in {dest} ...")
|
||||
cmd_chk('rsync -a README.md NEWS OLDNEWS TODO'.split() + [dest])
|
||||
cmd_chk('rsync -a README.md NEWS.md OLDNEWS.md TODO'.split() + [dest])
|
||||
if os.path.lexists(news_file):
|
||||
os.unlink(news_file)
|
||||
os.link(f"{dest}/NEWS", news_file)
|
||||
os.link(f"{dest}/NEWS.md", news_file)
|
||||
cmd_chk(f"git log --name-status | gzip -9 >{dest}/ChangeLog.gz")
|
||||
|
||||
for yo_fn in glob.glob('*.yo'):
|
||||
@@ -364,7 +364,7 @@ About to:
|
||||
cmd_chk(['gpg', '--batch', '--passphrase-fd=0', '-ba', fn], input=passphrase)
|
||||
|
||||
if not pre:
|
||||
for find in f'{dest}/rsync-*.gz {dest}/rsync-*.asc {dest}/rsync-*-NEWS {dest}/src-previews/rsync-*diffs.gz*'.split():
|
||||
for find in f'{dest}/rsync-*.gz {dest}/rsync-*.asc {dest}/rsync-*-NEWS.md {dest}/src-previews/rsync-*diffs.gz*'.split():
|
||||
for fn in glob.glob(find):
|
||||
os.unlink(fn)
|
||||
top_link = [
|
||||
|
||||
Reference in New Issue
Block a user