[SCM] The rsync repository. - branch master updated
The branch, master has been updated via 2ac7401b Mention the github rsync home. from 44af7922 The samba rsync server now requires ssl. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log - commit 2ac7401b44b63f01ecab9213da3b1bff76f38ff7 Author: Wayne Davison Date: Tue Jun 9 17:41:15 2020 -0700 Mention the github rsync home. --- Summary of changes: README.md | 24 ++-- md2man| 1 - 2 files changed, 14 insertions(+), 11 deletions(-) Changeset truncated at 500 lines: diff --git a/README.md b/README.md index bcce1b8d..6323d0aa 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ WEB SITE The main rsync web site is here: -http://rsync.samba.org/ +> http://rsync.samba.org/ You'll find a FAQ list, downloads, resources, HTML versions of the manpages, etc. @@ -80,7 +80,7 @@ list, and there is also an announcement-only mailing list for those that want official announcements. See the mailing-list page for full details: -http://rsync.samba.org/lists.html +> http://rsync.samba.org/lists.html BUG REPORTS @@ -88,34 +88,38 @@ BUG REPORTS To visit this web page for full the details on bug reporting: -http://rsync.samba.org/bugzilla.html +> http://rsync.samba.org/bugzilla.html That page contains links to the current bug list, and information on how to report a bug well. You might also like to try searching the Internet for the error message you've received, or looking in the mailing list archives at: -http://mail-archive.com/rsync@lists.samba.org/ +> http://mail-archive.com/rsync@lists.samba.org/ To send a bug report, follow the instructions on the bug-tracking page of the web site. -Alternately, email your bug report to rs...@lists.samba.org . +Alternately, email your bug report to . GIT REPOSITORY -- If you want to get the very latest version of rsync direct from the -source code repository then you can use git: +source code repository, then you will need to use git. The git repo +is hosted on github and on samba's site. Feel free to access it here: + +> https://github.com/WayneD/rsync + +or clone it from its samba repo: git clone git://git.samba.org/rsync.git See the download page for full details on all the ways to grab the -source, including nightly tar files, web-browsing of the git repository, -etc.: +source: -http://rsync.samba.org/download.html +> http://rsync.samba.org/download.html COPYRIGHT @@ -129,7 +133,7 @@ Rsync may be used, modified and redistributed only under the terms of the GNU General Public License, found in the file COPYING in this distribution, or at: -http://www.fsf.org/licenses/gpl.html +> http://www.fsf.org/licenses/gpl.html AVAILABILITY diff --git a/md2man b/md2man index 57840103..03ede269 100755 --- a/md2man +++ b/md2man @@ -28,7 +28,6 @@ HTML_START = """\ body { max-width: 50em; margin: auto; - font-size: 1.2em; } body, b, strong, u { font-family: 'Roboto', sans-serif; -- The rsync repository. ___ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs
[SCM] The rsync repository. - branch master updated
The branch, master has been updated via 44af7922 The samba rsync server now requires ssl. from 03fc62ad More man processing improvements https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log - commit 44af79223e30e1337a06361d1ccdb73ecdc8e46d Author: Wayne Davison Date: Tue Jun 9 17:21:51 2020 -0700 The samba rsync server now requires ssl. --- Summary of changes: README.md | 7 ++- prepare-source | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/README.md b/README.md index 9007a25b..bcce1b8d 100644 --- a/README.md +++ b/README.md @@ -136,5 +136,10 @@ AVAILABILITY The main web site for rsync is http://rsync.samba.org/ + The main ftp site is ftp://rsync.samba.org/pub/rsync/ -This is also available as rsync://rsync.samba.org/rsyncftp/ + +This is also available as rsync://download.samba.org/rsyncftp/ if you +connect via ssl. Use the `rsync-ssl` script if you have it, otherwise +connect to the rsync server via a normal rsync command and it will +output some instructions for how to connect. diff --git a/prepare-source b/prepare-source index b1e76282..3514a4c8 100755 --- a/prepare-source +++ b/prepare-source @@ -31,13 +31,13 @@ for action in "${@}"; do else files='[cap]*' fi - rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/"$files" . + rsync -ipe ./ssl-rsh rsync://download.samba.org/rsyncftp/generated-files/"$files" . ;; fetchgen) - rsync -pvz rsync://rsync.samba.org/rsyncftp/generated-files/'*' . + rsync -ipe ./ssl-rsh rsync://download.samba.org/rsyncftp/generated-files/'*' . ;; fetchSRC) - rsync -pvrz --exclude=/.git/ rsync://rsync.samba.org/ftp/pub/unpacked/rsync/ . + rsync -ipre ./ssl-rsh --exclude=/.git/ rsync://download.samba.org/ftp/pub/unpacked/rsync/ . ;; *) echo "Unknown action: $action" -- The rsync repository. ___ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs
[SCM] The rsync repository. - branch master updated
The branch, master has been updated via 03fc62ad More man processing improvements from 68c865c9 A few more man page script improvements. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log - commit 03fc62ad2fcc065bcbe67ad4968b331f52189e26 Author: Wayne Davison Date: Tue Jun 9 15:21:38 2020 -0700 More man processing improvements - Support the commonmark library in addition to cmarkgfm. - Remove github-flavor from the markup. - A few more html style improvements. --- Summary of changes: NEWS.md | 4 +++ md2man | 84 ++-- rsync-ssl.1.md | 6 ++-- rsync.1.md | 29 ++- rsyncd.conf.5.md | 8 +++--- 5 files changed, 82 insertions(+), 49 deletions(-) Changeset truncated at 500 lines: diff --git a/NEWS.md b/NEWS.md index 783064ab..837775ef 100644 --- a/NEWS.md +++ b/NEWS.md @@ -126,6 +126,10 @@ Protocol: 31 (unchanged) - Silenced some annoying warnings about major()|minor() due to the autoconf include-file check not being smart enough. + - Converted the man pages from yodl to markdown. They are now processed via a + simple python3 script using the cmarkgfm OR commonmark library. This should + make it easier for packaging rsync, since yodl has gotten obscure. + - Improved some configure checks to work better with strict C99 compilers. - The `--debug=FOO` options are no longer auto-forwarded to the server side, diff --git a/md2man b/md2man index 2c92fbe2..57840103 100755 --- a/md2man +++ b/md2man @@ -1,15 +1,15 @@ #!/usr/bin/python3 -# This script takes a manpage written in github-flavored markdown and turns it -# into a html web page and a nroff man page. The input file must have the name -# of the program and the section in the format: NAME.NUM.md. The output files -# are written into the current directory named NAME.NUM.html and NAME.NUM. The -# input format has one extra extension: if a numbered list starts at 0, it is -# turned into a description list. The dl's dt tag is taken from the contents of -# the first tag inside the li, which is usually a p tag or a code tag. The -# cmarkgfm lib is used to transforms the input file into html. The html.parser -# is used as a state machine that both tweaks the html and outputs the nroff -# data based on the html tags. +# This script takes a manpage written in markdown and turns it into an html web +# page and a nroff man page. The input file must have the name of the program +# and the section in this format: NAME.NUM.md. The output files are written +# into the current directory named NAME.NUM.html and NAME.NUM. The input +# format has one extra extension: if a numbered list starts at 0, it is turned +# into a description list. The dl's dt tag is taken from the contents of the +# first tag inside the li, which is usually a p, code, or strong tag. The +# cmarkgfm or commonmark lib is used to transforms the input file into html. +# The html.parser is used as a state machine that both tweaks the html and +# outputs the nroff data based on the html tags. # # Copyright (C) 2020 Wayne Davison # @@ -23,16 +23,26 @@ CONSUMES_TXT = set('h1 h2 p li pre'.split()) HTML_START = """\ %s -https://fonts.googleapis.com/css2?family=Roboto=swap; rel="stylesheet"> +https://fonts.googleapis.com/css2?family=Roboto=Roboto+Mono=swap; rel="stylesheet">
[SCM] The rsync repository. - branch master updated
The branch, master has been updated via 68c865c9 A few more man page script improvements. from 6dc94e39 Output the files at the end; fix a missing double-quote. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log - commit 68c865c9e6ddc8b7ab00787c4b0cf433b08b3dbc Author: Wayne Davison Date: Tue Jun 9 09:12:32 2020 -0700 A few more man page script improvements. --- Summary of changes: .gitignore | 1 + maybe-make-man | 7 ++-- md2man | 100 +++-- 3 files changed, 60 insertions(+), 48 deletions(-) Changeset truncated at 500 lines: diff --git a/.gitignore b/.gitignore index 8f289931..c4ab40ee 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ aclocal.m4 /rsync*.1 /rsync*.5 /rsync*.html +/.md2man-works /autom4te*.cache /confdefs.h /conftest* diff --git a/maybe-make-man b/maybe-make-man index 334c3934..b7f0a9f1 100755 --- a/maybe-make-man +++ b/maybe-make-man @@ -7,15 +7,18 @@ fi srcdir="$1" inname="$2" +flagfile="$srcdir/.md2man-works" if [ ! -d "$srcdir" ]; then echo "The specified SRC_DIR is not a directory: $srcdir" 1>&2 exit 1 fi -if [ ! x"$RSYNC_ALWAYS_BUILD" ]; then +if [ ! -f "$flagfile" ]; then # We test our smallest manpage just to see if the python setup works. -if ! "$srcdir/md2man" --test "$srcdir/rsync-ssl.1.md" >/dev/null 2>&1; then +if "$srcdir/md2man" --test "$srcdir/rsync-ssl.1.md" >/dev/null 2>&1; then + touch $flagfile +else outname=`echo "$inname" | sed 's/\.md$//'` if [ -f "$outname" ]; then exit 0 diff --git a/md2man b/md2man index c0ccc7a7..2c92fbe2 100755 --- a/md2man +++ b/md2man @@ -104,77 +104,71 @@ def main(): print("The test was successful.") return -fn = fi.name + '.html' -print("Outputing HTML page:", fn) -with open(fn, 'w', encoding='utf-8') as fh: -fh.write(fi.html_out) - -fn = fi.name -print("Outputing man page:", fn) -with open(fn, 'w', encoding='utf-8') as fh: -fh.write(fi.man_out) +for fn, txt in ((fi.name + '.html', fi.html_out), (fi.name, fi.man_out)): +print("Wrote:", fn) +with open(fn, 'w', encoding='utf-8') as fh: +fh.write(txt) class HtmlToManPage(HTMLParser): def __init__(self, fi): HTMLParser.__init__(self, convert_charrefs=True) -self.state = argparse.Namespace( +st = self.state = argparse.Namespace( list_state = [ ], p_macro = ".P\n", at_first_tag_in_li = False, at_first_tag_in_dd = False, dt_from = None, in_pre = False, +html_out = [ HTML_START % fi.title ], +man_out = [ MAN_START % (fi.prog, fi.sect, fi.date) ], txt = '', ) -self.html_out = [ HTML_START % fi.title ] -self.man_out = [ MAN_START % (fi.prog, fi.sect, fi.date) ] - self.feed(fi.html_in) fi.html_in = None -self.html_out.append(HTML_END % fi.date) -self.man_out.append(MAN_END) +st.html_out.append(HTML_END % fi.date) +st.man_out.append(MAN_END) -fi.html_out = ''.join(self.html_out) -self.html_out = None +fi.html_out = ''.join(st.html_out) +st.html_out = None -fi.man_out = ''.join(self.man_out) -self.man_out = None +fi.man_out = ''.join(st.man_out) +st.man_out = None def handle_starttag(self, tag, attrs_list): st = self.state if args.debug: -print('START', tag, attrs_list, st) +self.output_debug('START', (tag, attrs_list)) if st.at_first_tag_in_li: if st.list_state[-1] == 'dl': st.dt_from = tag if tag == 'p': tag = 'dt' else: -self.html_out.append('') +st.html_out.append('') st.at_first_tag_in_li = False if tag == 'p': if not st.at_first_tag_in_dd: -self.man_out.append(st.p_macro) +st.man_out.append(st.p_macro) elif tag == 'li': st.at_first_tag_in_li = True lstate = st.list_state[-1] if lstate == 'dl': return if lstate == 'o': -self.man_out.append(".IP o\n") +st.man_out.append(".IP o\n") else: -self.man_out.append(".IP " + str(lstate) + ".\n") +st.man_out.append(".IP " + str(lstate) + ".\n") st.list_state[-1] += 1 elif tag == 'blockquote': -self.man_out.append(".RS 4\n") +st.man_out.append(".RS 4\n")
[SCM] The rsync repository. - branch master updated
The branch, master has been updated via 6dc94e39 Output the files at the end; fix a missing double-quote. from 8146b04f Fix the html title. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log - commit 6dc94e39a766d8b667204b677cde2c7ca55f6f29 Author: Wayne Davison Date: Tue Jun 9 00:23:15 2020 -0700 Output the files at the end; fix a missing double-quote. --- Summary of changes: md2man | 157 - 1 file changed, 78 insertions(+), 79 deletions(-) Changeset truncated at 500 lines: diff --git a/md2man b/md2man index 02c154b8..c0ccc7a7 100755 --- a/md2man +++ b/md2man @@ -57,26 +57,28 @@ NORM_FONT = ('\1', r"\fP") BOLD_FONT = ('\2', r"\fB") ULIN_FONT = ('\3', r"\fI") -env_subs = { } - def main(): -mtime = None - fi = re.match(r'^(?P(?P.+/)?(?P(?P[^/]+)\.(?P\d+))\.md)$', args.mdfile) if not fi: die('Failed to parse NAME.NUM.md out of input file:', args.mdfile) fi = argparse.Namespace(**fi.groupdict()) + if not fi.srcdir: fi.srcdir = './' +fi.title = fi.prog + '(' + fi.sect + ') man page' +fi.date = None + chk_files = 'latest-year.h Makefile'.split() for fn in chk_files: try: st = os.lstat(fi.srcdir + fn) except: die('Failed to find', fi.srcdir + fn) -if not mtime: -mtime = st.st_mtime +if not fi.date: +fi.date = time.strftime('%d %b %Y', time.localtime(st.st_mtime)) + +env_subs = { } with open(fi.srcdir + 'Makefile', 'r', encoding='utf-8') as fh: for line in fh: @@ -90,91 +92,89 @@ def main(): if var == 'VERSION': break -MarkdownToManPage(fi, mtime) +with open(fi.fn, 'r', encoding='utf-8') as fh: +txt = re.sub(r'@VERSION@', env_subs['VERSION'], fh.read()) +txt = re.sub(r'@LIBDIR@', env_subs['libdir'], txt) +fi.html_in = cmarkgfm.github_flavored_markdown_to_html(txt) +txt = None + +HtmlToManPage(fi) + +if args.test: +print("The test was successful.") +return + +fn = fi.name + '.html' +print("Outputing HTML page:", fn) +with open(fn, 'w', encoding='utf-8') as fh: +fh.write(fi.html_out) +fn = fi.name +print("Outputing man page:", fn) +with open(fn, 'w', encoding='utf-8') as fh: +fh.write(fi.man_out) -class MarkdownToManPage(HTMLParser): -def __init__(self, fi, mtime): + +class HtmlToManPage(HTMLParser): +def __init__(self, fi): HTMLParser.__init__(self, convert_charrefs=True) -self.man_fh = self.html_fh = None self.state = argparse.Namespace( list_state = [ ], p_macro = ".P\n", -first_li_tag = False, -first_dd_tag = False, +at_first_tag_in_li = False, +at_first_tag_in_dd = False, dt_from = None, in_pre = False, txt = '', ) -self.date = time.strftime('%d %b %Y', time.localtime(mtime)) - -with open(fi.fn, 'r', encoding='utf-8') as fh: -txt = re.sub(r'@VERSION@', env_subs['VERSION'], fh.read()) -txt = re.sub(r'@LIBDIR@', env_subs['libdir'], txt) -html = cmarkgfm.github_flavored_markdown_to_html(txt) -txt = None +self.html_out = [ HTML_START % fi.title ] +self.man_out = [ MAN_START % (fi.prog, fi.sect, fi.date) ] -if args.test: -self.html_fh = open(os.devnull, 'w', encoding='utf-8') -self.man_fh = self.html_fh -else: -self.html_fn = fi.name + '.html' -self.html_fh = open(self.html_fn, 'w', encoding='utf-8') -self.html_fh.write(HTML_START % (fi.prog + '(' + fi.sect + ') man page')) +self.feed(fi.html_in) +fi.html_in = None -self.man_fn = fi.name -self.man_fh = open(self.man_fn, 'w', encoding='utf-8') -self.man_fh.write(MAN_START % (fi.prog, fi.sect, self.date)) +self.html_out.append(HTML_END % fi.date) +self.man_out.append(MAN_END) -self.feed(html) +fi.html_out = ''.join(self.html_out) +self.html_out = None -def __del__(self): -if args.test: -print("The test was successful.") -return +fi.man_out = ''.join(self.man_out) +self.man_out = None -if self.html_fh: -self.html_fh.write(HTML_END % self.date) -self.html_fh.close() -print("Output HTML page: ", self.html_fn) - -if self.man_fh: -self.man_fh.write(MAN_END) -self.man_fh.close() -print("Output man page: ", self.man_fn) def
Re: Rsync sometimes decides to delete all data
The only time I have seen something like that was when I was using rsync to backup a snapshot and something went wrong in the snapshot creation resulting in me rsyncing an empty dir instead of a mounted filesystem. Does the --stats output imply that rsync saw an empty dir? On 6/9/20 2:46 AM, freebsd--- via rsync wrote: > Hello, > > I run into some really strange case I haven't seen so far over the years. > I syncing a lot of different macines, raspberry pis to a backup server > nightly. > Lately one of them misbehaves. > > Server rsync: rsync version 3.1.2 protocol version 31 > Client rsync: rsync version 3.1.3 protocol version 31 > > Command used: > rsync --numeric-ids --delete --delete-excluded --delete-after -f "merge > ${BUFFER}" --stats -e "${SSH_CMD}" root@${BACKUP_HOST}:/ $BACKUPROOT/ > > Sometimes when I run this script from the server it just decides to > delete ALL files what it already have and sync is done. > > I run it again couple of minutes after it syncs everything. > > What can cause such a behavior? I can of course remove the delete > directives but then the local copy will become messy over time and this > perfectly works with all other machines. > > It is not even that it cannot connect with rsync timeout and then it > decides to delete the data. It can connect then decides to delete all > data and done. > > Rsync is run by root in any case so it's not a privilege problem. > > Any ideas? > -- ~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._., Kevin Korb Phone:(407) 252-6853 Systems Administrator Internet: FutureQuest, Inc. ke...@futurequest.net (work) Orlando, Floridak...@sanitarium.net (personal) Web page: https://sanitarium.net/ PGP public key available on web site. ~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._., signature.asc Description: OpenPGP digital signature -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Rsync sometimes decides to delete all data
Hello, I run into some really strange case I haven't seen so far over the years. I syncing a lot of different macines, raspberry pis to a backup server nightly. Lately one of them misbehaves. Server rsync: rsync version 3.1.2 protocol version 31 Client rsync: rsync version 3.1.3 protocol version 31 Command used: rsync --numeric-ids --delete --delete-excluded --delete-after -f "merge ${BUFFER}" --stats -e "${SSH_CMD}" root@${BACKUP_HOST}:/ $BACKUPROOT/ Sometimes when I run this script from the server it just decides to delete ALL files what it already have and sync is done. I run it again couple of minutes after it syncs everything. What can cause such a behavior? I can of course remove the delete directives but then the local copy will become messy over time and this perfectly works with all other machines. It is not even that it cannot connect with rsync timeout and then it decides to delete the data. It can connect then decides to delete all data and done. Rsync is run by root in any case so it's not a privilege problem. Any ideas? -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 11166] running with -vvv causes a hang
https://bugzilla.samba.org/show_bug.cgi?id=11166 --- Comment #8 from Michal Ruprich --- This is awesome thanks. No hang on a reproducer with circa 9k of files(6.6G of files). -- You are receiving this mail because: You are the QA Contact for the bug. -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html