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 <wa...@opencoder.net> Date: Sat Jun 20 10:34:12 2020 -0700 Change SIMD test to use a compile check. commit 63508f1518f41ec101c3629990b81a3d64b09253 Author: Wayne Davison <wa...@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 <wa...@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. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs