1 |
%define rpmrelease %{nil} |
2 |
%define debug_package %{nil} |
3 |
|
4 |
Name: rear |
5 |
Version: 2.6 |
6 |
Release: %mkrel 2 |
7 |
Summary: Relax and Recover (ReaR) is a Linux Disaster Recovery framework |
8 |
Group: Archiving/Backup |
9 |
License: GPLv3 |
10 |
URL: https://relax-and-recover.org/ |
11 |
Source0: https://github.com/rear/rear/archive/%{version}/%{name}-%{version}.tar.gz |
12 |
# rear contains only bash scripts plus documentation so that on first glance it could be "BuildArch: noarch" |
13 |
# but actually it is not "noarch" because it only works on those architectures that are explicitly supported. |
14 |
# Of course the rear bash scripts can be installed on any architecture just as any binaries can be installed on any architecture. |
15 |
# But the meaning of architecture dependent packages should be on what architectures they will work. |
16 |
# Therefore only those architectures that are actually supported are explicitly listed. |
17 |
# This avoids that rear can be "just installed" on architectures that are actually not supported (e.g. ARM or IBM z Systems): |
18 |
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64 |
19 |
# Furthermore for some architectures it requires architecture dependent packages (like syslinux for x86 and x86_64) |
20 |
# so that rear must be architecture dependent because ifarch conditions never match in case of "BuildArch: noarch" |
21 |
# see the GitHub issue https://github.com/rear/rear/issues/629 |
22 |
%ifarch %ix86 x86_64 |
23 |
Requires: syslinux |
24 |
%endif |
25 |
# In the end this should tell the user that rear is known to work only on ix86 x86_64 ppc ppc64 ppc64le ia64 |
26 |
# and on ix86 x86_64 syslinux is explicitly required to make the bootable ISO image |
27 |
# (in addition to the default installed bootloader grub2) while on ppc ppc64 the |
28 |
# default installed bootloader yaboot is also useed to make the bootable ISO image. |
29 |
|
30 |
### Dependencies on all distributions |
31 |
Requires: binutils |
32 |
Requires: ethtool |
33 |
Requires: cdrkit-genisoimage |
34 |
Requires: gawk |
35 |
Requires: gzip |
36 |
Requires: iproute2 |
37 |
Requires: iputils |
38 |
Requires: openssl |
39 |
Requires: parted |
40 |
Requires: rpcbind |
41 |
Requires: tar |
42 |
Requires: attr |
43 |
Requires: bc |
44 |
|
45 |
### We drop LSB requirements because it pulls in too many dependencies |
46 |
### The OS is hardcoded in /etc/rear/os.conf instead |
47 |
#Requires: lsb |
48 |
|
49 |
%description |
50 |
Relax and Recover (abbreviated rear) is a highly modular disaster recovery |
51 |
framework for GNU/Linux based systems, but can be easily extended to other |
52 |
UNIX alike systems. The disaster recovery information (and maybe the backups) |
53 |
can be stored via the network, local on hard disks or USB devices, DVD/CD-R, |
54 |
tape, etc. The result is also a boot-able image that is capable of booting via |
55 |
PXE, DVD/CD and USB media. |
56 |
|
57 |
Relax and Recover integrates with other backup software and provides integrated |
58 |
bare metal disaster recovery abilities to the compatible backup software. |
59 |
|
60 |
|
61 |
%prep |
62 |
%setup -q |
63 |
|
64 |
%build |
65 |
# no code to compile - all bash scripts |
66 |
|
67 |
%install |
68 |
# create directories |
69 |
mkdir -vp \ |
70 |
%{buildroot}%{_mandir}/man8 \ |
71 |
%{buildroot}%{_datadir} \ |
72 |
%{buildroot}%{_sysconfdir} \ |
73 |
%{buildroot}%{_sbindir} \ |
74 |
%{buildroot}%{_localstatedir}/lib/rear |
75 |
|
76 |
# copy rear components into directories |
77 |
cp -av usr/share/rear %{buildroot}%{_datadir}/ |
78 |
cp -av usr/sbin/rear %{buildroot}%{_sbindir}/ |
79 |
cp -av etc/rear %{buildroot}%{_sysconfdir}/ |
80 |
|
81 |
# patch rear main script with correct locations for rear components |
82 |
sed -i -e 's#^CONFIG_DIR=.*#CONFIG_DIR="%{_sysconfdir}/rear"#' \ |
83 |
-e 's#^SHARE_DIR=.*#SHARE_DIR="%{_datadir}/rear"#' \ |
84 |
-e 's#^VAR_DIR=.*#VAR_DIR="%{_localstatedir}/lib/rear"#' \ |
85 |
%{buildroot}%{_sbindir}/rear |
86 |
|
87 |
# update man page with correct locations |
88 |
sed -e 's#/etc#%{_sysconfdir}#' \ |
89 |
-e 's#/usr/sbin#%{_sbindir}#' \ |
90 |
-e 's#/usr/share#%{_datadir}#' \ |
91 |
-e 's#/usr/share/doc/packages#%{_docdir}#' \ |
92 |
doc/%{name}.8 >%{buildroot}%{_mandir}/man8/%{name}.8 |
93 |
|
94 |
# remove doc files under %%{buildroot}/usr/share/rear |
95 |
rm -f %{buildroot}%{_datadir}/rear/README |
96 |
rm -f %{buildroot}%{_datadir}/rear/COPYING |
97 |
rm -f %{buildroot}%{_datadir}/rear/AUTHORS |
98 |
rm -f %{buildroot}%{_datadir}/rear/TODO |
99 |
rm -rf %{buildroot}%{_datadir}/rear/doc/* |
100 |
|
101 |
%files |
102 |
%doc README* MAINTAINERS |
103 |
%{_sbindir}/rear |
104 |
%{_datadir}/rear |
105 |
%{_localstatedir}/lib/rear |
106 |
%{_mandir}/man8/* |
107 |
%config(noreplace) %{_sysconfdir}/rear |