Blame SPECS/libxcrypt.spec

5df0d6
# Shared object version of libcrypt.
5df0d6
%global soc 1
5df0d6
%global sol 1
5df0d6
%global sof 0
5df0d6
%global sov %{soc}.%{sol}.%{sof}
5df0d6
5df0d6
# Add generation of HMAC checksums of the final stripped
5df0d6
# binaries.  %%define with lazy globbing is used here
5df0d6
# intentionally, because using %%global does not work.
5df0d6
%define __spec_install_post                                 \
5df0d6
%{?__debug_package:%{__debug_install_post}}                 \
5df0d6
%{__arch_install_post}                                      \
5df0d6
%{__os_install_post}                                        \
5df0d6
%{_bindir}/fipshmac %{buildroot}/%{_lib}/libcrypt.so.%{sov} \
5df0d6
%{__ln_s} .libcrypt.so.%{sov}.hmac                          \\\
5df0d6
  %{buildroot}/%{_lib}/.libcrypt.so.%{soc}.hmac             \
5df0d6
%{nil}
5df0d6
5df0d6
5df0d6
Name:           libxcrypt
5df0d6
Version:        4.1.1
4607bd
Release:        6%{?dist}
5df0d6
Summary:        Extended crypt library for DES, MD5, Blowfish and others
5df0d6
5df0d6
# For explicit license breakdown, see the
5df0d6
# LICENSING file in the source tarball.
5df0d6
License:        LGPLv2+ and BSD and Public Domain
5df0d6
URL:            https://github.com/besser82/%{name}
5df0d6
Source0:        %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
5df0d6
Patch1: libxcrypt-rh1612157.patch
5df0d6
Patch2: libxcrypt-rh1613537.patch
5df0d6
# fix for salt interoperability issue: https://github.com/besser82/libxcrypt/pull/106
5df0d6
Patch3: libxcrypt-rh1899716.patch
5df0d6
5df0d6
BuildRequires:  fipscheck
5df0d6
BuildRequires:  libtool
5df0d6
5df0d6
Requires:       glibc%{_isa}          >= 2.26.9000-46
5df0d6
5df0d6
# We do not need to keep this forever.
5df0d6
%if 0%{?fedora} && 0%{?fedora} <= 31
5df0d6
# Inherited from former libcrypt package.
5df0d6
Obsoletes:      libcrypt-nss          <= 2.26.9000-33
5df0d6
5df0d6
# Obsolete former libcrypt properly.
5df0d6
Obsoletes:      libcrypt              <= 2.26.9000-46
5df0d6
5df0d6
# Provide virtual libcrypt as it has been done
5df0d6
# by former libcrypt{,-nss} packages from glibc.
5df0d6
Provides:       libcrypt              == 2.26.9000-46.1
5df0d6
Provides:       libcrypt%{?_isa}      == 2.26.9000-46.1
5df0d6
%endif
5df0d6
5df0d6
%description
5df0d6
libxcrypt is a modern library for one-way hashing of passwords.  It
5df0d6
supports DES, MD5, SHA-2-256, SHA-2-512, and bcrypt-based password
5df0d6
hashes, and provides the traditional Unix 'crypt' and 'crypt_r'
5df0d6
interfaces, as well as a set of extended interfaces pioneered by
5df0d6
Openwall Linux, 'crypt_rn', 'crypt_ra', 'crypt_gensalt',
5df0d6
'crypt_gensalt_rn', and 'crypt_gensalt_ra'.
5df0d6
5df0d6
libxcrypt is intended to be used by login(1), passwd(1), and other
5df0d6
similar programs; that is, to hash a small number of passwords during
5df0d6
an interactive authentication dialogue with a human.  It is not
5df0d6
suitable for use in bulk password-cracking applications, or in any
5df0d6
other situation where speed is more important than careful handling of
5df0d6
sensitive data.  However, it *is* intended to be fast and lightweight
5df0d6
enough for use in servers that must field thousands of login attempts
5df0d6
per minute.
5df0d6
5df0d6
On Linux-based systems, by default libxcrypt will be binary backward
5df0d6
compatible with the libcrypt.so.1 shipped as part of the GNU C Library.
5df0d6
This means that all existing binary executables linked against glibc's
5df0d6
libcrypt should work unmodified with this library's libcrypt.so.1.  We
5df0d6
have taken pains to provide exactly the same "symbol versions" as were
5df0d6
used by glibc on various CPU architectures, and to account for the
5df0d6
variety of ways in which the Openwall extensions were patched into
5df0d6
glibc's libcrypt by some Linux distributions.  (For instance,
5df0d6
compatibility symlinks for SuSE's "libowcrypt" are provided.)
5df0d6
5df0d6
However, the converse is not true: programs linked against libxcrypt
5df0d6
will not work with glibc's libcrypt.  Also, programs that use certain
5df0d6
legacy APIs supplied by glibc's libcrypt ('encrypt', 'encrypt_r',
5df0d6
'setkey', 'setkey_r', and 'fcrypt') cannot be compiled against libxcrypt.
5df0d6
5df0d6
5df0d6
%package        devel
5df0d6
Summary:        Development files for %{name}
5df0d6
5df0d6
Requires:       %{name}%{?_isa}       == %{version}-%{release}
5df0d6
Requires:       glibc-devel%{?_isa}   >= 2.26.9000-46
5df0d6
Requires:       glibc-headers%{?_isa} >= 2.26.9000-46
5df0d6
Conflicts:	man-pages < 4.15-3
5df0d6
5df0d6
%description    devel
5df0d6
The %{name}-devel package contains libraries and header files for
5df0d6
developing applications that use %{name}.
5df0d6
5df0d6
5df0d6
%package        static
5df0d6
Summary:        Static library for -static linking with %{name}
5df0d6
5df0d6
Requires:       %{name}-devel%{?_isa} == %{version}-%{release}
5df0d6
Requires:       glibc-static%{?_isa}  >= 2.26.9000-46
5df0d6
5df0d6
%description    static
5df0d6
This package contains the libxcrypt static libraries for -static
5df0d6
linking.  You don't need this, unless you link statically, which
5df0d6
is highly discouraged.
5df0d6
5df0d6
5df0d6
%prep
5df0d6
%autosetup -p 1
5df0d6
%{_bindir}/autoreconf -fiv
5df0d6
5df0d6
5df0d6
%build
5df0d6
%configure                     \
5df0d6
  --libdir=/%{_lib}            \
5df0d6
  --disable-silent-rules       \
5df0d6
  --enable-shared              \
5df0d6
  --enable-static              \
5df0d6
  --disable-failure-tokens     \
5df0d6
  --enable-hashes=all          \
5df0d6
  --enable-obsolete-api=glibc  \
5df0d6
  --with-pkgconfigdir=%{_libdir}/pkgconfig
5df0d6
%make_build
5df0d6
5df0d6
5df0d6
%install
5df0d6
%make_install
5df0d6
5df0d6
# Get rid of libtool crap.
5df0d6
%{_bindir}/find %{buildroot} -name '*.la' -print -delete
5df0d6
5df0d6
# Install documentation to shared %%_pkgdocdir.
5df0d6
%{__install} -Dpm 0644 -t %{buildroot}%{_pkgdocdir} \
5df0d6
  ChangeLog NEWS README THANKS TODO
5df0d6
5df0d6
5df0d6
%check
5df0d6
%make_build check || \
5df0d6
  {
5df0d6
    rc=$?;
5df0d6
    echo "-----BEGIN TESTLOG-----";
5df0d6
    %{__cat} test-suite.log;
5df0d6
    echo "-----END TESTLOG-----";
5df0d6
    exit $rc;
5df0d6
  }
5df0d6
5df0d6
5df0d6
%ldconfig_scriptlets
5df0d6
5df0d6
5df0d6
%files
5df0d6
%license AUTHORS COPYING.LIB LICENSING
5df0d6
%doc %dir %{_pkgdocdir}
5df0d6
%doc %{_pkgdocdir}/NEWS
5df0d6
%doc %{_pkgdocdir}/README
5df0d6
%doc %{_pkgdocdir}/THANKS
5df0d6
/%{_lib}/.libcrypt.so.%{soc}.hmac
5df0d6
/%{_lib}/.libcrypt.so.%{sov}.hmac
5df0d6
/%{_lib}/libcrypt.so.%{soc}
5df0d6
/%{_lib}/libcrypt.so.%{sov}
5df0d6
%{_mandir}/man5/crypt.5.*
5df0d6
5df0d6
5df0d6
%files          devel
5df0d6
%doc %{_pkgdocdir}/ChangeLog
5df0d6
%doc %{_pkgdocdir}/TODO
5df0d6
/%{_lib}/libcrypt.so
5df0d6
%{_includedir}/crypt.h
5df0d6
%{_libdir}/pkgconfig/libcrypt.pc
5df0d6
%{_libdir}/pkgconfig/%{name}.pc
5df0d6
%{_mandir}/man3/crypt.3.*
5df0d6
%{_mandir}/man3/crypt_r.3.*
5df0d6
%{_mandir}/man3/crypt_ra.3.*
5df0d6
%{_mandir}/man3/crypt_rn.3.*
5df0d6
%{_mandir}/man3/crypt_gensalt.3.*
5df0d6
5df0d6
%files          static
5df0d6
/%{_lib}/libcrypt.a
5df0d6
5df0d6
5df0d6
%changelog
4607bd
* Thu Apr 29 2021 Stanislav Zidek <szidek@redhat.com> - 4.1.1-6
4607bd
+ libxcrypt-4.1.1-6
4607bd
- Rebuilt with fixed binutils (#1954438)
4607bd
5df0d6
* Wed Apr  7 2021 Stanislav Zidek <szidek@redhat.com> - 4.1.1-5
5df0d6
- Fixed salt interoperability issue (#1899716)
5df0d6
5df0d6
* Wed Aug  8 2018 Florian Weimer <fweimer@redhat.com> - 4.1.1-4
5df0d6
- Move development panpages to libxcrypt-devel (#1613824)
5df0d6
5df0d6
* Wed Aug  8 2018 Florian Weimer <fweimer@redhat.com> - 4.1.1-3
5df0d6
- Change crypt, crypt_r to return NULL on failure (#1613537)
5df0d6
5df0d6
* Wed Aug  8 2018 Florian Weimer <fweimer@redhat.com> - 4.1.1-2
5df0d6
- Add manpages aliases for crypt, crypt_r, crypt_ra (#1612157)
5df0d6
5df0d6
* Wed Aug 01 2018 Björn Esser <besser82@fedoraproject.org> - 4.1.1-1
5df0d6
- New upstream release
5df0d6
5df0d6
* Fri Jul 13 2018 Björn Esser <besser82@fedoraproject.org> - 4.1.0-1
5df0d6
- New upstream release
5df0d6
5df0d6
* Fri Jul 13 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.1-6
5df0d6
- Make testsuite fail on error again
5df0d6
- Update patch0 with more upstream fixes
5df0d6
5df0d6
* Fri Jul 13 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.1-5
5df0d6
- Add patch to update to recent development branch
5df0d6
- Re-enable SUNMD5 support as it is BSD licensed now
5df0d6
- Build compatibility symbols for glibc only
5df0d6
- Skip failing testsuite once
5df0d6
5df0d6
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-4
5df0d6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
5df0d6
5df0d6
* Fri Jun 29 2018 Florian Weimer <fweimer@redhat.com> - 4.0.1-3
5df0d6
- Remove CDDL from license list (#1592445)
5df0d6
5df0d6
* Fri Jun 29 2018 Florian Weimer <fweimer@redhat.com> - 4.0.1-2
5df0d6
- Remove SUNMD5 support (#1592445)
5df0d6
5df0d6
* Wed May 16 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.1-1
5df0d6
- New upstream release
5df0d6
5df0d6
* Sat Feb 17 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-5
5df0d6
- Switch to %%ldconfig_scriptlets
5df0d6
5df0d6
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-4
5df0d6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
5df0d6
5df0d6
* Thu Feb 01 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-3
5df0d6
- Add patch to fix unintialize value in badsalt test
5df0d6
5df0d6
* Wed Jan 31 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-2
5df0d6
- Add patch to fix bcrypt test with GCC8
5df0d6
5df0d6
* Sat Jan 27 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-1
5df0d6
- New upstream release
5df0d6
5df0d6
* Mon Jan 22 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.0.0-0.204.20180120git3436e7b
5df0d6
- Fix Obsoletes
5df0d6
5df0d6
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-0.203.20180120git3436e7b
5df0d6
- Update to new snapshot fixing cast-align
5df0d6
5df0d6
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-0.202.20180120gitde99d27
5df0d6
- Update to new snapshot (rhbz#1536752)
5df0d6
5df0d6
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-0.201.20171109git15447aa
5df0d6
- Use archful Obsoletes for libcrypt
5df0d6
- Add versioned Requires on glibc packages not shipping libcrypt
5df0d6
- Add comments about the packaging logic for replacing former libcrypt
5df0d6
5df0d6
* Fri Jan 12 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-0.200.20171109git15447aa
5df0d6
- Initial import (rhbz#1532794)
5df0d6
- Add Obsoletes/Provides for libcrypt
5df0d6
5df0d6
* Wed Jan 10 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-0.101.20171109git15447aa
5df0d6
- Fix style of %%git_{rel,ver}
5df0d6
5df0d6
* Tue Jan 09 2018 Björn Esser <besser82@fedoraproject.org> - 4.0.0-0.100.git20171109.15447aa
5df0d6
- Initial rpm release (rhbz#1532794)
5df0d6
- Start revision at 0.100 to superseed builds from COPR