[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Sat Jun 20 18:17:32 UTC 2020


The branch, master has been updated
       via  f9aece89 Change SIMD test to use a compile check.
       via  63508f15 Handle hard-linking the top-level $VER-NEWS.html file on a final release.
       via  9ac22062 The nightly dir is gone now.
      from  73faaab2 Pass --noexecstack to assembler.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit f9aece899f99bf0dd0595c606d6dcadd2a8ea6ae
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sat Jun 20 10:34:12 2020 -0700

    Change SIMD test to use a compile check.

commit 63508f1518f41ec101c3629990b81a3d64b09253
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sat Jun 20 09:57:35 2020 -0700

    Handle hard-linking the top-level $VER-NEWS.html file on a final release.

commit 9ac22062af1b6170cb0c9d0b4644adfeadfef06a
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sat Jun 20 09:43:25 2020 -0700

    The nightly dir is gone now.

-----------------------------------------------------------------------

Summary of changes:
 configure.ac            |  39 ++++++------------
 packaging/nightly-rsync | 106 ------------------------------------------------
 packaging/release-rsync |   7 ++--
 3 files changed, 16 insertions(+), 136 deletions(-)
 delete mode 100755 packaging/nightly-rsync


Changeset truncated at 500 lines:

diff --git a/configure.ac b/configure.ac
index f6ca5e66..ea360e96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,7 +69,7 @@ if test x"$ac_cv_path_PYTHON3" = x; then
     AC_MSG_RESULT(no - python3 not found)
     md2man_works=no
 else
-    md2man_out=`"$srcdir/md2man" --test "$srcdir/rsync.1.md" 2>&1`
+    md2man_out=`"$srcdir/md2man" --test "$srcdir/rsync-ssl.1.md" 2>&1`
     if test $? = 0; then
 	AC_MSG_RESULT(yes)
 	md2man_works=yes
@@ -203,36 +203,21 @@ AC_ARG_ENABLE(simd,
 if test x"$enable_simd" != x"no"; then
     # For x86-64 SIMD, g++ >=5 or clang++ >=7 is required
     if test x"$build_cpu" = x"x86_64"; then
-	CXX_OK=
-	case "$CXX" in
-	g++|*-g++)
-	    CXX_VERSION=`$CXX -dumpversion | sed 's/\..*//'`
-	    if test "$CXX_VERSION" -ge "5"; then
-		CXX_OK=yes
-	    fi
-	    ;;
-	*clang*)
-	    # -dumpversion is broken on older clang versions, so we need a fallback.
-	    CXX_VERSION=`$CXX -dumpversion 2>/dev/null | sed 's/\..*//'`
-	    if test x"$CXX_VERSION" = x; then
-		CXX_VERSION=`$CXX --version | head -n 1 | sed 's/.*version //' | sed 's/\..*//'`
-	    fi
-	    if test "$CXX_VERSION" -ge "7"; then
-		CXX_OK=yes
-	    fi
-	    ;;
-	*)
-	    CXX='No c++'
-	    CXX_VERSION='Unknown'
-	    ;;
-	esac
+	AC_LANG(C++)
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
+#include <immintrin.h>
+__attribute__ ((target("default"))) static int testing(int x) { return x; }
+__attribute__ ((target("sse3"))) static int testing(int x) { return x; }
+__attribute__ ((target("sse2"))) static int testing(int x) { return x; }
+]], [[if (testing(42)) printf("HERE\n");]])],[CXX_OK=yes],[CXX_OK=no])
+	AC_LANG(C)
 	if test x"$CXX_OK" = x"yes"; then
 	    # AC_MSG_RESULT() is called below.
 	    SIMD="$SIMD x86_64"
-	else
+	elif test x"$enable_simd" = x"yes"; then
 	    AC_MSG_RESULT(error)
-	    AC_MSG_ERROR([Failed to find g++ >=5 or clang++ >=7 for SIMD optimizations.
-Specify --disable-simd to continue without it. ($CXX, $CXX_VERSION)])
+	    AC_MSG_ERROR(The SIMD compilation test failed.
+Omit --enable-simd to continue without it.)
 	fi
     elif test x"$enable_simd" = x"yes"; then
         AC_MSG_RESULT(unavailable)
diff --git a/packaging/nightly-rsync b/packaging/nightly-rsync
deleted file mode 100755
index 020a6d56..00000000
--- a/packaging/nightly-rsync
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env -S python3 -B
-
-# This script expects the directory ~/samba-rsync-ftp to exist and to be a
-# copy of the /home/ftp/pub/rsync dir on samba.org.  It also requires a
-# git checkout of rsync (feel free to use your normal rsync build dir as
-# long as it doesn't have any uncommitted changes).
-#
-# If this is run with -tu, it will make an updated "nightly" tar file in
-# the nightly dir.  It will also remove any old tar files, regenerate the
-# HTML man pages in the nightly dir, and then rsync the changes to the
-# samba.org server.
-
-import os, sys, re, argparse, glob
-from datetime import datetime, timezone
-from getpass import getpass
-
-sys.path = ['packaging'] + sys.path
-
-from pkglib import *
-
-# Where the local copy of /home/ftp/pub/rsync/dev/nightly should be updated.
-dest = os.environ['HOME'] + '/samba-rsync-ftp/dev/nightly'
-samba_host = os.environ['SAMBA_HOST']
-nightly_symlink = f"{dest}/rsync-HEAD.tar.gz"
-
-def main():
-    now = datetime.now(timezone.utc)
-    name = now.strftime('rsync-HEAD-%Y%m%d-%H%MGMT')
-    ztoday = now.strftime('%d %b %Y')
-    today = ztoday.lstrip('0')
-    gen_target = 'gensend' if args.upload else 'gen'
-
-    if not os.path.isdir(dest):
-        die("$dest does not exist")
-    if not os.path.isdir('.git'):
-        die("There is no .git dir in the current directory.")
-    if not os.path.exists('rsyncd.conf.5.md'):
-        die("There is no rsync checkout in the current directory.")
-
-    mandate_gensend_hook()
-
-    if args.make_tar:
-        check_git_state('master')
-        cmd_chk(['touch', 'NEWS.md'])
-        cmd_chk(['make', gen_target])
-        cmd_chk(['rsync', '-a', *glob.glob('*.[1-9].html'), dest])
-
-        gen_files = get_gen_files()
-
-        confversion = get_configure_version()
-
-        # All version values are strings!
-        last_version, last_protocol_version = get_OLDNEWS_version_info()
-        protocol_version, subprotocol_version = get_protocol_versions()
-
-        if 'dev' in confversion or 'pre' in confversion:
-            if last_protocol_version != protocol_version:
-                if subprotocol_version == '0':
-                    die("SUBPROTOCOL_VERSION must not be 0 for a non-final release with a changed PROTOCOL_VERSION.")
-            elif subprotocol_version != '0':
-                die("SUBPROTOCOL_VERSION must be 0 when the PROTOCOL_VERSION hasn't changed from the last release.")
-        elif subprotocol_version != '0':
-            die("SUBPROTOCOL_VERSION must be 0 for a final release.")
-
-        name_slash = name + '/'
-        tar_name = f"{name}.tar.gz"
-
-        print('Creating', tar_name)
-
-        cmd_chk(['rsync', '-a', *gen_files, name_slash])
-        cmd_chk(f"git archive --format=tar --prefix={name}/ HEAD | tar xf -")
-        cmd_chk(['support/git-set-file-times', '--quiet', '--prefix', name_slash])
-        cmd_chk(['fakeroot', 'tar', 'czf', os.path.join(dest, tar_name), name])
-        cmd_chk(['rm', '-rf', name])
-
-        if os.path.lexists(nightly_symlink):
-            os.unlink(nightly_symlink)
-        os.symlink(tar_name, nightly_symlink)
-
-    os.chdir(dest)
-
-    tar_files = list(reversed(sorted(glob.glob('rsync-HEAD-*'))))
-    if len(tar_files) > 10:
-        for fn in tar_files[10:]:
-            print('Removing', fn)
-            os.unlink(fn)
-
-    cmd_run('ls -ltr'.split())
-
-    if args.upload:
-        cmd = 'rsync -aivHP --delete-after'.split()
-        partial_dir = os.environ.get('RSYNC_PARTIAL_DIR', None)
-        if partial_dir:
-            cmd.append('-fR ' + partial_dir)
-        cmd_chk([*cmd, '.', f"{samba_host}:/home/ftp/pub/rsync/dev/nightly"])
-
-
-if __name__ == '__main__':
-    parser = argparse.ArgumentParser(description='A helper script for "nightly" tar files.', add_help=False)
-    parser.add_argument('--make-tar', '-t', action='store_true', help=f"Create a new tar file in {dest}.")
-    parser.add_argument('--upload', '-u', action='store_true', help="Upload the revised nightly dir to {samba_host}.")
-    parser.add_argument("--help", "-h", action="help", help="Output this help message and exit.")
-    args = parser.parse_args()
-    main()
-
-# vim: sw=4 et
diff --git a/packaging/release-rsync b/packaging/release-rsync
index 1fd3bbe3..f0ee5516 100755
--- a/packaging/release-rsync
+++ b/packaging/release-rsync
@@ -221,6 +221,7 @@ About to:
     pattar_file = f"{dest}/{srcdir}/{pattar_name}"
     diff_file = f"{dest}/{srcdiffdir}/{diff_name}"
     news_file = f"{dest}/{srcdir}/{rsync_ver}-NEWS.md"
+    newshtml_file = f"{dest}/{srcdir}/{rsync_ver}-NEWS.html"
     lasttar_file = f"{dest}/{lastsrcdir}/{rsync_lastver}.tar.gz"
 
     print(f"""\
@@ -335,7 +336,7 @@ About to:
     cmd_chk(['rsync', '-a', *md_files, *html_files, dest])
     cmd_chk(["packaging/md2html"] + [ dest +'/'+ fn for fn in md_files ])
 
-    for topfn, verfn in (('NEWS.md', news_file), ('NEWS.html', news_file.replace('.md', '.html'))):
+    for topfn, verfn in (('NEWS.md', news_file), ('NEWS.html', newshtml_file)):
         topfn = dest + '/' + topfn
         if os.path.lexists(verfn):
             os.unlink(verfn)
@@ -352,14 +353,14 @@ About to:
             die("gpg signing failed")
 
     if not pre:
-        for find in f'{dest}/rsync-*.gz {dest}/rsync-*.asc {dest}/rsync-*-NEWS.md {dest}/src-previews/rsync-*diffs.gz*'.split():
+        for find in f'{dest}/rsync-*.gz {dest}/rsync-*.asc {dest}/rsync-*-NEWS.* {dest}/src-previews/rsync-*diffs.gz*'.split():
             for fn in glob.glob(find):
                 os.unlink(fn)
         top_link = [
                 srctar_file, f"{srctar_file}.asc",
                 pattar_file, f"{pattar_file}.asc",
                 diff_file, f"{diff_file}.asc",
-                news_file,
+                news_file, newshtml_file,
                 ]
         for fn in top_link:
             os.link(fn, re.sub(r'/src(-\w+)?/', '/', fn))


-- 
The rsync repository.



More information about the rsync-cvs mailing list