1
0
forked from jengelh/xxhash
Dominique Leuenberger 2021-12-18 19:29:34 +00:00 committed by Git OBS Bridge
commit 8679a79278
6 changed files with 178 additions and 20 deletions

View File

@ -0,0 +1,126 @@
From 836f4e735cf368542f14005e41d2f84ec29dfd60 Mon Sep 17 00:00:00 2001
From: Yann Collet <yann.collet.73@gmail.com>
Date: Sat, 4 Dec 2021 10:29:49 -0800
Subject: [PATCH] fix man page installation
for variant redirectors (`xxh32sum`, `xxh64sum` and `xxh128sum`).
fix #647, reported by @jpalus.
Also : slightly updated man page text, for clarity and accuracy.
---
Makefile | 14 ++++++++------
cli/xxhsum.1 | 8 ++++----
cli/xxhsum.1.md | 8 +++++---
3 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile
index 2fbefbc6..63273e16 100644
--- a/Makefile
+++ b/Makefile
@@ -457,6 +457,7 @@ endif
INSTALL_PROGRAM ?= $(INSTALL)
INSTALL_DATA ?= $(INSTALL) -m 644
+INSTALL_DIR ?= $(INSTALL) -d -m 755
# Escape special symbols by putting each character into its separate class
@@ -496,7 +497,7 @@ libxxhash.pc: libxxhash.pc.in
.PHONY: install
install: lib libxxhash.pc xxhsum ## install libraries, CLI, links and man page
@echo Installing libxxhash
- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)
+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
$(Q)$(INSTALL_DATA) libxxhash.a $(DESTDIR)$(LIBDIR)
$(Q)$(INSTALL_PROGRAM) $(LIBXXH) $(DESTDIR)$(LIBDIR)
$(Q)ln -sf $(LIBXXH) $(DESTDIR)$(LIBDIR)/libxxhash.$(SHARED_EXT_MAJOR)
@@ -508,19 +509,20 @@ ifeq ($(DISPATCH),1)
$(Q)$(INSTALL_DATA) xxh_x86dispatch.h $(DESTDIR)$(INCLUDEDIR)
endif
@echo Installing pkgconfig
- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/
+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(PKGCONFIGDIR)/
$(Q)$(INSTALL_DATA) libxxhash.pc $(DESTDIR)$(PKGCONFIGDIR)/
@echo Installing xxhsum
- $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MANDIR)/
+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/
$(Q)$(INSTALL_PROGRAM) xxhsum $(DESTDIR)$(BINDIR)/xxhsum
$(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh32sum
$(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh64sum
$(Q)ln -sf xxhsum $(DESTDIR)$(BINDIR)/xxh128sum
@echo Installing man pages
+ $(Q)$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/
$(Q)$(INSTALL_DATA) $(MAN) $(DESTDIR)$(MANDIR)/xxhsum.1
- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh32sum.1
- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh64sum.1
- $(Q)ln -sf $(MAN) $(DESTDIR)$(MANDIR)/xxh128sum.1
+ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh32sum.1
+ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh64sum.1
+ $(Q)ln -sf xxhsum.1 $(DESTDIR)$(MANDIR)/xxh128sum.1
@echo xxhash installation completed
.PHONY: uninstall
diff --git a/cli/xxhsum.1 b/cli/xxhsum.1
index 27e6808e..715fc4be 100644
--- a/cli/xxhsum.1
+++ b/cli/xxhsum.1
@@ -1,14 +1,14 @@
-.TH "XXHSUM" "1" "November 2021" "xxhsum 0.8.1" "User Commands"
+.TH "XXHSUM" "1" "December 2021" "xxhsum 0.8.1" "User Commands"
.SH "NAME"
\fBxxhsum\fR \- print or check xxHash non\-cryptographic checksums
.SH "SYNOPSIS"
\fBxxhsum [<OPTION>] \|\.\|\.\|\. [<FILE>] \|\.\|\.\|\.\fR \fBxxhsum \-b [<OPTION>] \|\.\|\.\|\.\fR
.P
-\fBxxh32sum\fR is equivalent to \fBxxhsum \-H0\fR \fBxxh64sum\fR is equivalent to \fBxxhsum \-H1\fR \fBxxh128sum\fR is equivalent to \fBxxhsum \-H2\fR
+\fBxxh32sum\fR is equivalent to \fBxxhsum \-H0\fR, \fBxxh64sum\fR is equivalent to \fBxxhsum \-H1\fR, \fBxxh128sum\fR is equivalent to \fBxxhsum \-H2\fR
.SH "DESCRIPTION"
Print or check xxHash (32, 64 or 128 bits) checksums\. When no \fIFILE\fR, read standard input, except if it\'s the console\. When \fIFILE\fR is \fB\-\fR, read standard input even if it\'s the console\.
.P
-\fBxxhsum\fR supports a command line syntax similar but not identical to md5sum(1)\. Differences are: \fBxxhsum\fR doesn\'t have text/binary mode switch (\fB\-b\fR, \fB\-t\fR); \fBxxhsum\fR always treats files as binary file; \fBxxhsum\fR has a hash bit width switch (\fB\-H\fR);
+\fBxxhsum\fR supports a command line syntax similar but not identical to md5sum(1)\. Differences are: \fBxxhsum\fR doesn\'t have text/binary mode switch (\fB\-b\fR, \fB\-t\fR); \fBxxhsum\fR always treats files as binary file; \fBxxhsum\fR has a hash selection switch (\fB\-H\fR);
.P
As xxHash is a fast non\-cryptographic checksum algorithm, \fBxxhsum\fR should not be used for security related purposes\.
.P
@@ -19,7 +19,7 @@ As xxHash is a fast non\-cryptographic checksum algorithm, \fBxxhsum\fR should n
Displays xxhsum version and exits
.TP
\fB\-H\fR\fIHASHTYPE\fR
-Hash selection\. \fIHASHTYPE\fR means \fB0\fR=XXH32, \fB1\fR=XXH64, \fB2\fR=XXH128, \fB3\fR=XXH3\. Alternatively, \fIHASHTYPE\fR \fB32\fR=XXH32, \fB64\fR=XXH64, \fB128\fR=XXH128\. Default value is \fB1\fR (64bits)
+Hash selection\. \fIHASHTYPE\fR means \fB0\fR=XXH32, \fB1\fR=XXH64, \fB2\fR=XXH128, \fB3\fR=XXH3\. Note that \fB\-H3\fR triggers \fB\-\-tag\fR, which can\'t be skipped (this is to reduce risks of confusion with \fB\-H2\fR (\fBXXH64\fR))\. Alternatively, \fIHASHTYPE\fR \fB32\fR=XXH32, \fB64\fR=XXH64, \fB128\fR=XXH128\. Default value is \fB1\fR (64bits)
.TP
\fB\-\-tag\fR
Output in the BSD style\.
diff --git a/cli/xxhsum.1.md b/cli/xxhsum.1.md
index 777d1cae..df2cb914 100644
--- a/cli/xxhsum.1.md
+++ b/cli/xxhsum.1.md
@@ -7,8 +7,8 @@ SYNOPSIS
`xxhsum [<OPTION>] ... [<FILE>] ...`
`xxhsum -b [<OPTION>] ...`
-`xxh32sum` is equivalent to `xxhsum -H0`
-`xxh64sum` is equivalent to `xxhsum -H1`
+`xxh32sum` is equivalent to `xxhsum -H0`,
+`xxh64sum` is equivalent to `xxhsum -H1`,
`xxh128sum` is equivalent to `xxhsum -H2`
@@ -23,7 +23,7 @@ When <FILE> is `-`, read standard input even if it's the console.
Differences are:
`xxhsum` doesn't have text/binary mode switch (`-b`, `-t`);
`xxhsum` always treats files as binary file;
-`xxhsum` has a hash bit width switch (`-H`);
+`xxhsum` has a hash selection switch (`-H`);
As xxHash is a fast non-cryptographic checksum algorithm,
`xxhsum` should not be used for security related purposes.
@@ -38,6 +38,8 @@ OPTIONS
* `-H`<HASHTYPE>:
Hash selection. <HASHTYPE> means `0`=XXH32, `1`=XXH64, `2`=XXH128, `3`=XXH3.
+ Note that `-H3` triggers `--tag`, which can't be skipped
+ (this is to reduce risks of confusion with `-H2` (`XXH64`)).
Alternatively, <HASHTYPE> `32`=XXH32, `64`=XXH64, `128`=XXH128.
Default value is `1` (64bits)

BIN
xxHash-0.8.0.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
xxHash-0.8.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,11 +1,13 @@
--- xxHash-0.8.0/xxhash.h 2021/07/06 15:14:04 1.1 Index: xxHash-0.8.1/xxhash.h
+++ xxHash-0.8.0/xxhash.h 2021/07/06 15:14:36 ===================================================================
@@ -807,7 +807,7 @@ --- xxHash-0.8.1.orig/xxhash.h
*/ +++ xxHash-0.8.1/xxhash.h
#ifndef XXH_FORCE_MEMORY_ACCESS /* can be defined externally, on command line for example */ @@ -1408,7 +1408,7 @@ XXH3_128bits_reset_withSecretandSeed(XXH
# if !defined(__clang__) && defined(__GNUC__) && defined(__ARM_FEATURE_UNALIGNED) && defined(__ARM_ARCH) && (__ARM_ARCH == 6) (defined(__INTEL_COMPILER) && !defined(_WIN32)) || \
-# define XXH_FORCE_MEMORY_ACCESS 2 ( \
+# define XXH_FORCE_MEMORY_ACCESS 1 defined(__GNUC__) && ( \
# elif !defined(__clang__) && ((defined(__INTEL_COMPILER) && !defined(_WIN32)) || \ - (defined(__ARM_ARCH) && __ARM_ARCH >= 7) || \
(defined(__GNUC__) && (defined(__ARM_ARCH) && __ARM_ARCH >= 7))) + (defined(__ARM_ARCH) && __ARM_ARCH >= 6) || \
# define XXH_FORCE_MEMORY_ACCESS 1 ( \
defined(__mips__) && \
(__mips <= 5 || __mips_isa_rev < 6) && \

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Thu Dec 2 22:20:24 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 0.8.1:
* perf : much improved performance for XXH3 streaming variants, notably on
gcc and msvc
* perf : improved XXH64 speed and latency on small inputs
* perf : small XXH32 speed and latency improvement on small inputs of random
size
* perf : minor stack usage improvement for XXH32 and XXH64
* api : new experimental variants XXH3_*_withSecretandSeed()
* api : update XXH3_generateSecret(), can no generate secret of any size (>=
XXH3_SECRET_SIZE_MIN)
* cli : xxhsum can now generate and check XXH3 checksums, using command `-H3`
* build: can build xxhash without XXH3, with new build macro XXH_NO_XXH3
* build: fix xxh_x86dispatch build with MSVC, by @apankrat
* build: XXH_INLINE_ALL can always be used safely, even after XXH_NAMESPACE
or a previous XXH_INLINE_ALL
* build: improved PPC64LE vector support
* install: fix pkgconfig
* install: compatibility with Haiku
* doc : code comments made compatible with doxygen
* misc : XXH_ACCEPT_NULL_INPUT_POINTER is no longer necessary, all functions
can accept NULL input pointers, as long as size == 0
* misc : complete refactor of CI tests on Github Actions, offering much
larger coverage
* misc : xxhsum code base split into multiple specialized units, within
directory cli/
- add 836f4e735cf368542f14005e41d2f84ec29dfd60.patch (fix manpage installation)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 6 17:15:34 CEST 2021 - ro@suse.de Tue Jul 6 17:15:34 CEST 2021 - ro@suse.de

View File

@ -17,7 +17,7 @@
Name: xxhash Name: xxhash
Version: 0.8.0 Version: 0.8.1
Release: 0 Release: 0
Summary: Non-cryptographic hash algorithm Summary: Non-cryptographic hash algorithm
License: BSD-2-Clause AND GPL-2.0-only License: BSD-2-Clause AND GPL-2.0-only
@ -25,7 +25,8 @@ Group: Productivity/Security
URL: https://github.com/Cyan4973/xxHash URL: https://github.com/Cyan4973/xxHash
Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz Source0: https://github.com/Cyan4973/xxHash/archive/v%{version}.tar.gz#/xxHash-%{version}.tar.gz
Patch0: xxhash-avoid-armv6-unaligned-access.patch Patch0: xxhash-avoid-armv6-unaligned-access.patch
BuildRequires: c++_compiler Patch1: https://github.com/Cyan4973/xxHash/commit/836f4e735cf368542f14005e41d2f84ec29dfd60.patch
BuildRequires: gcc-c++
BuildRequires: pkgconfig BuildRequires: pkgconfig
%description %description
@ -56,18 +57,17 @@ suite which evaluates collision, dispersion and randomness qualities of hash
functions. Hashes are identical on all platforms. functions. Hashes are identical on all platforms.
%prep %prep
%setup -q -n xxHash-%{version} %autosetup -p1 -n xxHash-%{version}
%patch0 -p1
%build %build
make %{?_smp_mflags} prefix=%{_prefix} libdir=%{_libdir} %make_build prefix=%{_prefix} libdir=%{_libdir}
%install %install
%make_install prefix=%{_prefix} libdir=%{_libdir} %make_install prefix=%{_prefix} libdir=%{_libdir}
rm -rf %{buildroot}%{_libdir}/libxxhash.a rm -rf %{buildroot}%{_libdir}/libxxhash.a
%check %check
make test %make_build test
%post -n libxxhash0 -p /sbin/ldconfig %post -n libxxhash0 -p /sbin/ldconfig
%postun -n libxxhash0 -p /sbin/ldconfig %postun -n libxxhash0 -p /sbin/ldconfig