1 |
#global gitdate 20131018 |
2 |
|
3 |
Summary: Tools for Linux kernel block layer cache |
4 |
Group: System/Base |
5 |
Name: bcache-tools |
6 |
Version: 1.0.8 |
7 |
Release: %mkrel 3 |
8 |
License: GPLv2 |
9 |
URL: https://bcache.evilpiepirate.org/ |
10 |
VCS: https://github.com/g2p/bcache-tools.git |
11 |
# git clone https://github.com/g2p/bcache-tools.git |
12 |
# cd bcache-tools/ |
13 |
# git archive --format=tar --prefix=bcache-tools-1.0.8/ v1.0.8 | gzip > ../bcache-tools-1.0.8.tar.gz |
14 |
Source0: %{name}-%{version}.tar.gz |
15 |
# This part is a prerelease version obtained by https://gist.github.com/djwong/6343451: |
16 |
# git clone https://gist.github.com/6343451.git |
17 |
# cd 6343451/ |
18 |
# git archive --format=tar --prefix=bcache-status-20140220/ 6d278f9886ab5f64bd896080b1b543ba7ef6c7a6 | gzip > ../bcache-status-20140220.tar.gz |
19 |
# see also http://article.gmane.org/gmane.linux.kernel.bcache.devel/1951 |
20 |
Source1: bcache-status-20140220.tar.gz |
21 |
# bcache status not provided as a true package, so this is a self maintained |
22 |
# man page for it |
23 |
# http://article.gmane.org/gmane.linux.kernel.bcache.devel/1946 |
24 |
Patch0: %{name}-status-20160804-man.patch |
25 |
# Process commandline arguments |
26 |
Patch1: %{name}-1.0.8-cmdline.patch |
27 |
# configure is not "Fedora compliant", do a small step in the |
28 |
# right direction |
29 |
Patch2: %{name}-20131018-fedconf.patch |
30 |
# util-linux takes care of bcache superblock identification so we remove |
31 |
# the probe-cache call (which is Fedora specific): |
32 |
Patch3: %{name}-1.0.8-noprobe.2.patch |
33 |
# the following fix is pending upstream |
34 |
# gcc 5.1.1 apparently is more picky than Fedora 21 gcc |
35 |
Patch4: bcache-tools-1.0.8-crc64.patch |
36 |
# Fedora 23 uses python3 by default |
37 |
Patch5: bcache-status-python3.patch |
38 |
# Fix BZ#1360951 - this fix is python 3 only |
39 |
Patch6: bcache-status-rootgc.patch |
40 |
# GCC-10 fix as reported by law@redhat.com |
41 |
Patch7: bcache-tools-1.0.8-gcc10.patch |
42 |
|
43 |
# This is a kind of soft dependency: because we don't include probe-bcache |
44 |
# we have to make sure that libblkid is able to identify bcache. So this |
45 |
# is why it requires recent libblkid. |
46 |
Requires: %{mklibname blkid 1} >= 2.24 |
47 |
Conflicts: dracut < 034 |
48 |
BuildRequires: libuuid-devel libblkid-devel systemd gcc |
49 |
|
50 |
%description |
51 |
Bcache is a Linux kernel block layer cache. It allows one or more fast disk |
52 |
drives such as flash-based solid state drives (SSDs) to act as a cache for |
53 |
one or more slower hard disk drives. |
54 |
This package contains the utilities for manipulating bcache. |
55 |
|
56 |
%global _udevlibdir %{_prefix}/lib/udev |
57 |
%global dracutlibdir %{_prefix}/lib/dracut |
58 |
|
59 |
%prep |
60 |
%setup -q -n bcache-tools-%{version} |
61 |
tar xzf %{SOURCE1} --strip-components=1 |
62 |
%patch0 -p1 -b .man |
63 |
%patch1 -p1 -b .cmdline |
64 |
%patch2 -p1 -b .fedconfmake |
65 |
chmod +x configure |
66 |
%patch3 -p1 -b .noprobe |
67 |
%patch4 -p1 -b .crc64 |
68 |
|
69 |
%patch5 -p1 -b .python3 |
70 |
%patch6 -p1 -b .rootgc |
71 |
%patch7 -p1 -b .gcc10 |
72 |
|
73 |
%build |
74 |
%configure |
75 |
%make_build |
76 |
|
77 |
%install |
78 |
mkdir -p \ |
79 |
%{buildroot}%{_sbindir} \ |
80 |
%{buildroot}%{_mandir}/man8 \ |
81 |
%{buildroot}%{_udevlibdir} \ |
82 |
%{buildroot}%{_udevrulesdir} \ |
83 |
%{buildroot}%{dracutlibdir}/modules.d |
84 |
|
85 |
%make_install \ |
86 |
INSTALL="install -p" \ |
87 |
UDEVLIBDIR=%{_udevlibdir} \ |
88 |
DRACUTLIBDIR=%{dracutlibdir} \ |
89 |
MANDIR=%{_mandir} |
90 |
|
91 |
# prevent complaints when checking for unpackaged files |
92 |
rm %{buildroot}%{_udevlibdir}/probe-bcache |
93 |
rm %{buildroot}%{_mandir}/man8/probe-bcache.8 |
94 |
rm %{buildroot}%{_prefix}/lib/initcpio/install/bcache |
95 |
rm %{buildroot}%{_datarootdir}/initramfs-tools/hooks/bcache |
96 |
|
97 |
|
98 |
install -p -m 755 bcache-status %{buildroot}%{_sbindir}/bcache-status |
99 |
|
100 |
%files |
101 |
%doc README COPYING |
102 |
%{_udevrulesdir}/* |
103 |
%{_mandir}/man8/* |
104 |
%{_udevlibdir}/bcache-register |
105 |
%{_udevlibdir}/bcache-params |
106 |
%{_sbindir}/bcache-super-show |
107 |
%{_sbindir}/bcache-status |
108 |
%{_sbindir}/make-bcache |
109 |
%{dracutlibdir}/modules.d/90bcache |
110 |
|