Imported Upstream version 2.6.1
[platform/upstream/cryptsetup.git] / misc / fedora / cryptsetup.spec
1 # Simplified version of RPM spec for Fedora
2
3 Summary: Utility for setting up encrypted disks
4 Name: cryptsetup
5 Version: 2.5.0
6 Release: 1%{?dist}
7 License: GPLv2+ and LGPLv2+
8 URL: https://gitlab.com/cryptsetup/cryptsetup
9 BuildRequires: autoconf, automake, libtool, gettext-devel,
10 BuildRequires: openssl-devel, popt-devel, device-mapper-devel
11 BuildRequires: libuuid-devel, gcc, json-c-devel, libargon2-devel
12 BuildRequires: libpwquality-devel, libblkid-devel
13 BuildRequires: make libssh-devel
14 BuildRequires: asciidoctor
15 Requires: cryptsetup-libs = %{version}-%{release}
16 Requires: libpwquality >= 1.2.0
17 Obsoletes: %{name}-reencrypt <= %{version}
18 Provides: %{name}-reencrypt = %{version}
19
20 %global upstream_version %{version_no_tilde}
21 Source0: https://www.kernel.org/pub/linux/utils/cryptsetup/v2.5/cryptsetup-%{upstream_version}.tar.xz
22
23 %description
24 The cryptsetup package contains a utility for setting up
25 disk encryption using dm-crypt kernel module.
26
27 %package devel
28 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
29 Requires: pkgconfig
30 Summary: Headers and libraries for using encrypted file systems
31
32 %description devel
33 The cryptsetup-devel package contains libraries and header files
34 used for writing code that makes use of disk encryption.
35
36 %package libs
37 Summary: Cryptsetup shared library
38
39 %description libs
40 This package contains the cryptsetup shared library, libcryptsetup.
41
42 %package ssh-token
43 Summary: Cryptsetup LUKS2 SSH token
44 Requires: cryptsetup-libs = %{version}-%{release}
45
46 %description ssh-token
47 This package contains the LUKS2 SSH token.
48
49 %package -n veritysetup
50 Summary: A utility for setting up dm-verity volumes
51 Requires: cryptsetup-libs = %{version}-%{release}
52
53 %description -n veritysetup
54 The veritysetup package contains a utility for setting up
55 disk verification using dm-verity kernel module.
56
57 %package -n integritysetup
58 Summary: A utility for setting up dm-integrity volumes
59 Requires: cryptsetup-libs = %{version}-%{release}
60
61 %description -n integritysetup
62 The integritysetup package contains a utility for setting up
63 disk integrity protection using dm-integrity kernel module.
64
65 %prep
66 %autosetup -n cryptsetup-%{upstream_version} -p 1
67
68 %build
69 # force regeneration of manual pages from AsciiDoc
70 rm -f man/*.8
71
72 ./autogen.sh
73 %configure --enable-fips --enable-pwquality --enable-libargon2 --enable-asciidoc
74 %make_build
75
76 %install
77 %make_install
78 rm -rf %{buildroot}%{_libdir}/*.la
79 rm -rf %{buildroot}%{_libdir}/%{name}/*.la
80
81 %find_lang cryptsetup
82
83 %ldconfig_scriptlets -n cryptsetup-libs
84
85 %files
86 %license COPYING
87 %doc AUTHORS FAQ.md docs/*ReleaseNotes
88 %{_mandir}/man8/cryptsetup.8.gz
89 %{_mandir}/man8/cryptsetup-*.8.gz
90 %{_sbindir}/cryptsetup
91
92 %files -n veritysetup
93 %license COPYING
94 %{_mandir}/man8/veritysetup.8.gz
95 %{_sbindir}/veritysetup
96
97 %files -n integritysetup
98 %license COPYING
99 %{_mandir}/man8/integritysetup.8.gz
100 %{_sbindir}/integritysetup
101
102 %files devel
103 %doc docs/examples/*
104 %{_includedir}/libcryptsetup.h
105 %{_libdir}/libcryptsetup.so
106 %{_libdir}/pkgconfig/libcryptsetup.pc
107
108 %files libs -f cryptsetup.lang
109 %license COPYING COPYING.LGPL
110 %{_libdir}/libcryptsetup.so.*
111 %dir %{_libdir}/%{name}/
112 %{_tmpfilesdir}/cryptsetup.conf
113 %ghost %attr(700, -, -) %dir /run/cryptsetup
114
115 %files ssh-token
116 %license COPYING COPYING.LGPL
117 %{_libdir}/%{name}/libcryptsetup-token-ssh.so
118 %{_mandir}/man8/cryptsetup-ssh.8.gz
119 %{_sbindir}/cryptsetup-ssh
120
121 %changelog