e7fc48b
# Shared object version of libkcapi.
e7fc48b
%global vmajor            1
955e81c
%global vminor            1
955e81c
%global vpatch            0
e7fc48b
7bd35c5
# Do we build the replacements packages?
7bd35c5
%bcond_with replace_coreutils
7bd35c5
%bcond_with replace_fipscheck
7bd35c5
%bcond_with replace_hmaccalc
7bd35c5
4c1c3c5
# This package needs at least Linux Kernel v4.10.0.
4c1c3c5
%global min_kernel_ver    4.10.0
4c1c3c5
4c1c3c5
# Do we need to tweak sysctl.d? In newer versions of the Linux
4c1c3c5
# Kernel the default ancillary buffer size is set high enough.
4c1c3c5
# TODO: Adapt this when the patch for net/core/sock.c is merged.
4c1c3c5
%if %{lua:print(rpm.vercmp('99.0.0', posix.uname('%r')));} >= 0
4c1c3c5
%global with_sysctl_tweak 1
4c1c3c5
%else
4c1c3c5
%global with_sysctl_tweak 0
4c1c3c5
%endif
4c1c3c5
4c1c3c5
%if %{with_sysctl_tweak}
e7fc48b
# Priority for the sysctl.d preset.
e7fc48b
%global sysctl_prio       50
e7fc48b
e7fc48b
# Value used for the sysctl.d preset.
a446d71
%global sysctl_optmem_max 81920
4c1c3c5
4c1c3c5
# Extension for the README.distro file.
4c1c3c5
%global distroname_ext    %{?fedora:fedora}%{?rhel:redhat}
4c1c3c5
%endif
e7fc48b
e7fc48b
# Lowest limit to run the testsuite.  If we cannot obtain this
e7fc48b
# value, we asume the testsuite cannot be run.
e7fc48b
%global test_optmem_max   %(%{__cat} /proc/sys/net/core/optmem_max || echo 0)
e7fc48b
e7fc48b
# For picking patches from upstream commits or pull requests.
e7fc48b
%global giturl            https://github.com/smuellerDD/%{name}
e7fc48b
e7fc48b
# Do we replace some coreutils?
e7fc48b
%if %{with replace_coreutils}
e7fc48b
# TODO: Adapt this when replacing some coreutils initially.
7bd35c5
%global coreutils_evr     8.29-1%{?dist}
e7fc48b
%endif
e7fc48b
e7fc48b
# Do we replace fipscheck?
e7fc48b
%if %{with replace_fipscheck}
e7fc48b
# TODO: Adapt this when replacing fipscheck initially.
7bd35c5
%global fipscheck_evr     1.5.0-3%{?dist}
e7fc48b
%endif
e7fc48b
e7fc48b
# Do we replace hmaccalc?
e7fc48b
%if %{with replace_hmaccalc}
e7fc48b
# TODO: Adapt this when replacing hmaccalc initially.
7bd35c5
%global hmaccalc_evr      0.9.14-10%{?dist}
e7fc48b
%endif
e7fc48b
955e81c
%global apps_hmaccalc sha1hmac sha224hmac sha256hmac sha384hmac sha512hmac
955e81c
%global apps_fipscheck sha1sum sha224sum sha256sum sha384sum sha512sum md5sum fipscheck fipshmac
955e81c
e7fc48b
# Add generation of HMAC checksums of the final stripped
e7fc48b
# binaries.  %%define with lazy globbing is used here
e7fc48b
# intentionally, because using %%global does not work.
e7fc48b
%define __spec_install_post                                     \
e7fc48b
%{?__debug_package:%{__debug_install_post}}                     \
e7fc48b
%{__arch_install_post}                                          \
e7fc48b
%{__os_install_post}                                            \
955e81c
bin_path=%{buildroot}%{_bindir}                                 \
955e81c
lib_path=%{buildroot}/%{_lib}                                   \
955e81c
for app in %{apps_hmaccalc}; do                                 \
955e81c
  test -e "$bin_path"/$app || continue                          \
955e81c
  { %{_bindir}/sha512hmac "$bin_path"/$app || exit 1; }         \\\
955e81c
    | cut -f 1 -d ' ' >"$bin_path"/.$app.hmac                   \
955e81c
done                                                            \
955e81c
for app in %{apps_fipscheck}; do                                \
955e81c
  test -e "$bin_path"/$app || continue                          \
955e81c
  %{_bindir}/fipshmac "$bin_path"/$app || exit 1                \
955e81c
done                                                            \
e7fc48b
%{_sbindir}/hardlink -cfv %{buildroot}%{_bindir}                \
955e81c
%{_bindir}/fipshmac "$lib_path"/libkcapi.so.%{version}          \\\
955e81c
  || exit 1                                                     \
e7fc48b
%{__ln_s} .libkcapi.so.%{version}.hmac                          \\\
955e81c
  "$lib_path"/.libkcapi.so.%{vmajor}.hmac                       \
e7fc48b
%{nil}
e7fc48b
e7fc48b
e7fc48b
Name:           libkcapi
e7fc48b
Version:        %{vmajor}.%{vminor}.%{vpatch}
955e81c
Release:        1%{?dist}
e7fc48b
Summary:        User space interface to the Linux Kernel Crypto API
e7fc48b
e7fc48b
License:        BSD or GPLv2
e7fc48b
URL:            http://www.chronox.de/%{name}.html
e7fc48b
Source0:        http://www.chronox.de/%{name}/%{name}-%{version}.tar.xz
e7fc48b
Source1:        http://www.chronox.de/%{name}/%{name}-%{version}.tar.xz.asc
e7fc48b
955e81c
Patch0:         %{giturl}/pull/52.patch#/%{name}-1.1.0-kcapi-hasher_Fix_buffer_overrun_in_get_hmac_file.patch
955e81c
Patch1:         %{giturl}/pull/53.patch#/%{name}-1.1.0-kcapi-hasher_Fix_FIPS_self-check_always_failing.patch
955e81c
Patch2:         %{giturl}/pull/54.patch#/%{name}-1.1.0-kcapi-hasher_Fix_FIPS_self-check_of_the_libkcapi_library.patch
e7fc48b
e7fc48b
BuildRequires:  clang
e7fc48b
BuildRequires:  coreutils
e7fc48b
BuildRequires:  cppcheck
e7fc48b
BuildRequires:  docbook-utils-pdf
e7fc48b
BuildRequires:  fipscheck
e7fc48b
BuildRequires:  gcc
6d728f1
BuildRequires:  git
e7fc48b
BuildRequires:  hardlink
e7fc48b
BuildRequires:  hmaccalc
e7fc48b
BuildRequires:  libtool
e7fc48b
BuildRequires:  openssl
e7fc48b
BuildRequires:  systemd
e7fc48b
BuildRequires:  xmlto
e7fc48b
4c1c3c5
# To make sure this is not buildable nor installable if the
4c1c3c5
# available Linux Kernel does not support the Linux Kernel
4c1c3c5
# Crypto API User Space Interface.
4c1c3c5
BuildRequires:  kernel-headers >= %{min_kernel_ver}
4c1c3c5
Requires:       kernel         >= %{min_kernel_ver}
4c1c3c5
e7fc48b
# For ownership of %%{_sysctldir}.
e7fc48b
Requires:       systemd
e7fc48b
308424f
Obsoletes:      %{name}-replacements <= %{version}-%{release}
e7fc48b
e7fc48b
%description
e7fc48b
libkcapi allows user-space to access the Linux kernel crypto API.
e7fc48b
e7fc48b
This library uses the netlink interface and exports easy to use APIs
e7fc48b
so that a developer does not need to consider the low-level netlink
e7fc48b
interface handling.
e7fc48b
e7fc48b
The library does not implement any cipher algorithms.  All consumer
e7fc48b
requests are sent to the kernel for processing.  Results from the
e7fc48b
kernel crypto API are returned to the consumer via the library API.
e7fc48b
e7fc48b
The kernel interface and therefore this library can be used by
e7fc48b
unprivileged processes.
e7fc48b
e7fc48b
e7fc48b
%package        devel
e7fc48b
Summary:        Development files for the %{name} package
e7fc48b
Requires:       %{name}%{?_isa} == %{version}-%{release}
e7fc48b
e7fc48b
%description    devel
e7fc48b
Header files for applications that use %{name}.
e7fc48b
e7fc48b
e7fc48b
%package        doc
e7fc48b
Summary:        User documentation for the %{name} package
e7fc48b
BuildArch:      noarch
e7fc48b
e7fc48b
%description    doc
e7fc48b
User documentation for %{name}.
e7fc48b
e7fc48b
e7fc48b
%if %{with replace_coreutils}
7bd35c5
%package        checksum
7bd35c5
Summary:        Drop-in replacement for *sum utils provided by the %{name} package
955e81c
Requires:       %{name}%{?_isa}    == %{version}-%{release}
7bd35c5
7bd35c5
Requires:       coreutils%{?_isa}  >= %{coreutils_evr}
e7fc48b
e7fc48b
Conflicts:      coreutils          < %{coreutils_evr}
e7fc48b
Conflicts:      coreutils-single
7bd35c5
7bd35c5
%description    checksum
7bd35c5
Provides drop-in replacements for sha*sum tools (from package coreutils) using %{name}.
e7fc48b
%endif
7bd35c5
7bd35c5
e7fc48b
%if %{with replace_fipscheck}
7bd35c5
%package        fipscheck
7bd35c5
Summary:        Drop-in replacements for fipscheck/fipshmac provided by the %{name} package
955e81c
Requires:       %{name}%{?_isa}   == %{version}-%{release}
7bd35c5
e7fc48b
Obsoletes:      fipscheck         <= %{fipscheck_evr}
e7fc48b
e7fc48b
Provides:       fipscheck         == %{fipscheck_evr}.1
e7fc48b
Provides:       fipscheck%{?_isa} == %{fipscheck_evr}.1
7bd35c5
7bd35c5
%description    fipscheck
7bd35c5
Provides drop-in replacements for fipscheck and fipshmac tools (from package fipscheck)
7bd35c5
using %{name}.
e7fc48b
%endif
7bd35c5
7bd35c5
e7fc48b
%if %{with replace_hmaccalc}
7bd35c5
%package        hmaccalc
7bd35c5
Summary:        Drop-in replacements for hmaccalc provided by the %{name} package
955e81c
Requires:       %{name}%{?_isa}   == %{version}-%{release}
7bd35c5
e7fc48b
Obsoletes:      hmaccalc          <= %{hmaccalc_evr}
e7fc48b
e7fc48b
Provides:       hmaccalc          == %{hmaccalc_evr}.1
e7fc48b
Provides:       hmaccalc%{?_isa}  == %{hmaccalc_evr}.1
e7fc48b
7bd35c5
%description    hmaccalc
7bd35c5
Provides drop-in replacements for sha*hmac tools (from package hmaccalc) using %{name}.
e7fc48b
%endif
e7fc48b
e7fc48b
e7fc48b
%package        static
e7fc48b
Summary:        Static library for -static linking with %{name}
e7fc48b
Requires:       %{name}-devel%{?_isa} == %{version}-%{release}
e7fc48b
e7fc48b
%description    static
e7fc48b
This package contains the %{name} static libraries for -static
e7fc48b
linking.  You don't need this, unless you link statically, which
e7fc48b
is highly discouraged.
e7fc48b
e7fc48b
e7fc48b
%package        tools
e7fc48b
Summary:        Utility applications for the %{name} package
e7fc48b
Requires:       %{name}%{?_isa} == %{version}-%{release}
e7fc48b
e7fc48b
%description    tools
e7fc48b
Utility applications that are provided with %{name}.  This includes
e7fc48b
tools to use message digests, symmetric ciphers and random number
e7fc48b
generators implemented in the Linux kernel from command line.
e7fc48b
e7fc48b
e7fc48b
%prep
6d728f1
%autosetup -p 1 -S git
e7fc48b
4c1c3c5
%if %{with_sysctl_tweak}
4c1c3c5
%{__cat} << EOF > README.%{distroname_ext}
e7fc48b
This package increases the default limit of the ancillary buffer size
e7fc48b
per kernel socket defined in \`net.core.optmem_max\` to %{sysctl_optmem_max} bytes.
e7fc48b
e7fc48b
For this preset to become active it requires a reboot after the
e7fc48b
installation of this package.  You can also manually increase this
e7fc48b
limit by invocing \`sysctl net.core.optmem_max=%{sysctl_optmem_max}\` as the
e7fc48b
super-user, e.g. using \`su\` or \`sudo\` on the terminal.
e7fc48b
e7fc48b
This is done to provide consumers of the new Linux Kernel Crypto API
e7fc48b
User Space Interface a well sufficient and reasonable maximum limit
e7fc48b
by default, especially when using AIO with a larger amount of IOVECs.
e7fc48b
e7fc48b
For further information about the AF_ALG kernel socket and AIO, see
e7fc48b
the discussion at the kernel-crypto mailing-list:
e7fc48b
https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg30417.html
e7fc48b
e7fc48b
See the instructions given in '%{_sysctldir}/50-default.conf',
e7fc48b
if you need or want to override the preset made by this package.
e7fc48b
EOF
e7fc48b
e7fc48b
%{__cat} << EOF > %{sysctl_prio}-%{name}-optmem_max.conf
4c1c3c5
# See the 'README.%{distroname_ext}' file shipped in %%doc
e7fc48b
# with the %{name} package.
e7fc48b
#
e7fc48b
# See '%{_sysctldir}/50-default.conf',
e7fc48b
# if you need or want to override this preset.
e7fc48b
e7fc48b
# Increase the ancillary buffer size per socket.
e7fc48b
net.core.optmem_max = %{sysctl_optmem_max}
e7fc48b
EOF
4c1c3c5
%endif
e7fc48b
3440cb3
%ifarch %{power64}
3440cb3
%{__sed} -i -e 's!exit \$failures!#&!' test/kcapi-enc-test.sh
3440cb3
%endif
3440cb3
e7fc48b
%{_bindir}/autoreconf -fiv
e7fc48b
e7fc48b
e7fc48b
%build
e7fc48b
%configure               \
e7fc48b
  --libdir=/%{_lib}      \
e7fc48b
  --disable-silent-rules \
e7fc48b
  --enable-kcapi-encapp  \
e7fc48b
  --enable-kcapi-dgstapp \
e7fc48b
  --enable-kcapi-hasher  \
e7fc48b
  --enable-kcapi-rngapp  \
e7fc48b
  --enable-kcapi-speed   \
e7fc48b
  --enable-kcapi-test    \
e7fc48b
  --enable-shared        \
e7fc48b
  --enable-static        \
955e81c
  --enable-sum-prefix=.  \
e7fc48b
  --with-pkgconfigdir=%{_libdir}/pkgconfig
e7fc48b
%make_build all doc
e7fc48b
e7fc48b
e7fc48b
%install
e7fc48b
%make_install
e7fc48b
e7fc48b
# Install sysctl.d preset.
4c1c3c5
%{__mkdir_p} %{buildroot}%{_sysctldir}
e7fc48b
%{__install} -Dpm 0644 -t %{buildroot}%{_sysctldir} \
e7fc48b
  %{sysctl_prio}-%{name}-optmem_max.conf
e7fc48b
e7fc48b
# Install into proper location for inclusion by %%doc.
4c1c3c5
%{__mkdir_p} %{buildroot}%{_pkgdocdir}
e7fc48b
%{__install} -Dpm 0644 -t %{buildroot}%{_pkgdocdir} \
4c1c3c5
%if %{with_sysctl_tweak}
4c1c3c5
  README.%{distroname_ext}                          \
4c1c3c5
%endif
4c1c3c5
  README.md CHANGES TODO doc/%{name}.p{df,s}
e7fc48b
%{__cp} -pr lib/doc/html %{buildroot}%{_pkgdocdir}
e7fc48b
5d9e459
# Install replacement tools, if enabled.
7bd35c5
%if !%{with replace_coreutils}
e7fc48b
%{__rm} -f                            \
e7fc48b
  %{buildroot}%{_bindir}/md5sum       \
e7fc48b
  %{buildroot}%{_bindir}/sha*sum
e7fc48b
%endif
e7fc48b
7bd35c5
%if !%{with replace_fipscheck}
7bd35c5
%{__rm} -f %{buildroot}%{_bindir}/fips*
7bd35c5
%endif
7bd35c5
7bd35c5
%if !%{with replace_hmaccalc}
7bd35c5
%{__rm} -f %{buildroot}%{_bindir}/sha*hmac
7bd35c5
%endif
7bd35c5
e7fc48b
# We don't ship autocrap dumplings.
e7fc48b
%{_bindir}/find %{buildroot} -type f -name '*.la' -print -delete
e7fc48b
e7fc48b
# HMAC checksums are generated during __spec_install_post.
e7fc48b
%{_bindir}/find %{buildroot} -type f -name '*.hmac' -print -delete
e7fc48b
e7fc48b
# Remove 0-size files.
e7fc48b
%{_bindir}/find %{buildroot} -type f -size 0 -print -delete
e7fc48b
e7fc48b
# Make sure all docs have non-exec permissions, except for the dirs.
e7fc48b
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type f -print | \
e7fc48b
  %{_bindir}/xargs %{__chmod} -c 0644
e7fc48b
%{_bindir}/find %{buildroot}%{_pkgdocdir} -type d -print | \
e7fc48b
  %{_bindir}/xargs %{__chmod} -c 0755
e7fc48b
e7fc48b
# Possibly save some space by hardlinking.
e7fc48b
for d in %{_mandir} %{_pkgdocdir}; do
e7fc48b
  %{_sbindir}/hardlink -cfv %{buildroot}$d
e7fc48b
done
e7fc48b
e7fc48b
e7fc48b
%check
e7fc48b
# Some basic sanity checks.
e7fc48b
for t in cppcheck scan; do
e7fc48b
  %make_build $t
e7fc48b
done
e7fc48b
e7fc48b
# On some arches `/proc/sys/net/core/optmem_max` is lower than 20480,
e7fc48b
# which is the lowest limit needed to run the testsuite.  If that limit
e7fc48b
# is not met, we do not run it.
e7fc48b
%if %{test_optmem_max} >= 20480
e7fc48b
# Real testsuite.
e7fc48b
pushd test
e7fc48b
ENABLE_FUZZ_TEST=1 \
e7fc48b
NO_32BIT_TEST=1    \
e7fc48b
  ./test-invocation.sh
e7fc48b
popd
e7fc48b
%endif
e7fc48b
e7fc48b
da6cb73
%ldconfig_scriptlets
e7fc48b
e7fc48b
e7fc48b
%files
e7fc48b
%doc %dir %{_pkgdocdir}
e7fc48b
%doc %{_pkgdocdir}/README.md
e7fc48b
%license COPYING*
e7fc48b
/%{_lib}/%{name}.so.%{vmajor}
e7fc48b
/%{_lib}/%{name}.so.%{version}
e7fc48b
/%{_lib}/.%{name}.so.%{vmajor}.hmac
e7fc48b
/%{_lib}/.%{name}.so.%{version}.hmac
4c1c3c5
%if %{with_sysctl_tweak}
4c1c3c5
%doc %{_pkgdocdir}/README.%{distroname_ext}
e7fc48b
%{_sysctldir}/%{sysctl_prio}-%{name}-optmem_max.conf
4c1c3c5
%endif
e7fc48b
e7fc48b
e7fc48b
%files          devel
e7fc48b
%doc %{_pkgdocdir}/CHANGES
e7fc48b
%doc %{_pkgdocdir}/TODO
e7fc48b
%{_includedir}/kcapi.h
e7fc48b
%{_mandir}/man3/kcapi_*.3.*
e7fc48b
/%{_lib}/%{name}.so
e7fc48b
%{_libdir}/pkgconfig/%{name}.pc
e7fc48b
e7fc48b
e7fc48b
%files          doc
e7fc48b
%doc %{_pkgdocdir}
e7fc48b
%license %{_datadir}/licenses/%{name}*
e7fc48b
e7fc48b
e7fc48b
%if %{with replace_coreutils}
7bd35c5
%files          checksum
e7fc48b
%{_bindir}/md5sum
e7fc48b
%{_bindir}/.md5sum.hmac
e7fc48b
%{_bindir}/sha*sum
e7fc48b
%{_bindir}/.sha*sum.hmac
e7fc48b
%endif
7bd35c5
e7fc48b
%if %{with replace_fipscheck}
7bd35c5
%files          fipscheck
e7fc48b
%{_bindir}/fips*
e7fc48b
%{_bindir}/.fips*.hmac
e7fc48b
%endif
7bd35c5
e7fc48b
%if %{with replace_hmaccalc}
7bd35c5
%files          hmaccalc
e7fc48b
%{_bindir}/sha*hmac
e7fc48b
%{_bindir}/.sha*hmac.hmac
e7fc48b
%endif
e7fc48b
e7fc48b
e7fc48b
%files          static
e7fc48b
/%{_lib}/%{name}.a
e7fc48b
e7fc48b
e7fc48b
%files          tools
e7fc48b
%{_bindir}/kcapi*
e7fc48b
%{_mandir}/man1/kcapi*.1.*
e7fc48b
e7fc48b
e7fc48b
%changelog
955e81c
* Thu Apr 12 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.1.0-1
955e81c
- Update to upstream version 1.1.0
955e81c
6d728f1
* Sat Mar 31 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-10
6d728f1
- Replace single patches with a monolitic one from upstream
92ee9f5
- Obsolete replacements subpackage
3440cb3
- Ignore failing tests on %%{power64} temporarily
6d728f1
7bd35c5
* Thu Mar 08 2018 Ondrej Mosnáček <omosnace@redhat.com> - 1.0.3-9
7bd35c5
- Split up the replacements subpackage
7bd35c5
a446d71
* Mon Feb 26 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-8
a446d71
- Increase optmem_max preset to 81920
a446d71
308424f
* Mon Feb 26 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-7
308424f
- Obsoletes work by package name, not by provides (rhbz#1537225)
308424f
de7ac2e
* Sun Feb 25 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-6
de7ac2e
- Add patch to fix a copy-paste typo
de7ac2e
090bf23
* Sat Feb 17 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-5
090bf23
- Add patch to fix build with -Werror
090bf23
0dd8f39
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org>
0dd8f39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0dd8f39
da6cb73
* Sun Feb 04 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-3
fe5c308
- Switch to %%ldconfig_scriptlets
da6cb73
4c1c3c5
* Wed Jan 17 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-2
4c1c3c5
- Decrease optmem_max preset to 40960
4c1c3c5
- Let the build fail, if the minimum kernel version cannot be met
4c1c3c5
- Conditionalize the sysctl.d tweak on version of the kernel
4c1c3c5
- Conditionalize the name of README.distro on the distro
4c1c3c5
e7fc48b
* Tue Jan 16 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-1
e7fc48b
- Initial import (rhbz#1533929)
e7fc48b
e7fc48b
* Tue Jan 16 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.13
e7fc48b
- Increase optmem_max preset to 81920
e7fc48b
e7fc48b
* Tue Jan 16 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.12
e7fc48b
- Add sysctl.d preset and README.fedora
e7fc48b
e7fc48b
* Mon Jan 15 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.11
e7fc48b
- Make the contents of the -replacements package configurable
e7fc48b
e7fc48b
* Mon Jan 15 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.10
e7fc48b
- Fix Obsoletes of the -replacements package
e7fc48b
e7fc48b
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.9
e7fc48b
- Disable the -replacements package until we have a plan for it
e7fc48b
e7fc48b
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.8
e7fc48b
- Move the kcapi-hasher binary to -replacements package, since it is
e7fc48b
  not of much use without the linked invocation names and saves the
e7fc48b
  extra Requires on the -tools package
e7fc48b
e7fc48b
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.7
e7fc48b
- Fix internal Requires of sub-packages
e7fc48b
- Hardlink files in %%{_bindir}
e7fc48b
e7fc48b
* Sun Jan 14 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.6
e7fc48b
- Add patches from upstream
e7fc48b
e7fc48b
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.5
e7fc48b
- Add patches from upstream
e7fc48b
e7fc48b
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.4
e7fc48b
- Asume the testsuite cannot be run, if the value of optmem_max cannot
e7fc48b
  be obtained
e7fc48b
e7fc48b
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.3
e7fc48b
- Move libraries to /%%{_lib} instead of %%{_libdir}, which is useful
e7fc48b
  during boot when the library might be needed before a potentially
e7fc48b
  seperate /usr partition is mounted
e7fc48b
e7fc48b
* Sat Jan 13 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.2
e7fc48b
- Asume optmem_max is at least 20480, if the real value cannot be obtained
e7fc48b
e7fc48b
* Fri Jan 12 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.3-0.1
e7fc48b
- New upstream release
e7fc48b
e7fc48b
* Wed Jan 10 2018 Björn Esser <besser82@fedoraproject.org> - 1.0.2-0.1
e7fc48b
- Initial rpm release (rhbz#1533929)