[SCM] The rsync repository. - branch master updated

2020-06-09 Thread Rsync CVS commit messages
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

2020-06-09 Thread Rsync CVS commit messages
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

2020-06-09 Thread Rsync CVS commit messages
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

2020-06-09 Thread Rsync CVS commit messages
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

2020-06-09 Thread Rsync CVS commit messages
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

2020-06-09 Thread Kevin Korb via rsync
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

2020-06-09 Thread freebsd--- via rsync

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

2020-06-09 Thread just subscribed for rsync-qa from bugzilla via rsync
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