summaryrefslogtreecommitdiff
path: root/irqbalance.spec
blob: 72199297fcef1f48d4d6295b9bf79af8eafe2b76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#
# Conditional build:
%bcond_without	numa	# disable NUMA support
%bcond_with	systemd	# systemd journal support
#
Summary:	Balancing of IRQs between multiple CPUs
Summary(pl.UTF-8):	Rozdzielanie IRQ pomiędzy wiele procesorów
Name:		irqbalance
Version:	1.9.2
Release:	1
License:	GPL v2
Group:		Daemons
#Source0Download: https://github.com/Irqbalance/irqbalance/releases
Source0:	https://github.com/Irqbalance/irqbalance/archive/v%{version}/%{name}-%{version}.tar.gz
# Source0-md5:	55249fa2dad53b1a9cadaf0d1679366c
Source1:	%{name}.init
Source2:	%{name}.sysconfig
Source3:	%{name}.service
URL:		https://irqbalance.github.io/irqbalance/
BuildRequires:	autoconf >= 2.50
BuildRequires:	automake
BuildRequires:	glib2-devel >= 1:2.28
BuildRequires:	libtool
# due to -fpie
BuildRequires:	gcc >= 5:3.4
BuildRequires:	libcap-ng-devel
BuildRequires:	ncurses-devel >= 5
%{?with_numa:BuildRequires:	numactl-devel}
BuildRequires:	pkgconfig
BuildRequires:	rpmbuild(macros) >= 1.647
%{?with_systemd:BuildRequires:	systemd-devel}
Requires(post,preun):	/sbin/chkconfig
Requires(post,preun,postun):	systemd-units >= 38
Requires:	glib2 >= 1:2.28
Requires:	rc-scripts
Requires:	systemd-units >= 38
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
irqbalance is a daemon that evenly distributes IRQ load across
multiple CPUs for enhanced performance.

%description -l pl.UTF-8
Narzędzie do rozdzielania przerwań IRQ pomiędzy wiele procesorów w
celu zwiększenia wydajności systemu.

%prep
%setup -q

%build
%{__libtoolize}
%{__aclocal}
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
	%{!?with_numa:--disable-numa} \
	--with-libcap-ng \
	%{?with_systemd:--with-systemd}

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{systemdunitdir} \
	$RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}

%{__make} install \
	DESTDIR=$RPM_BUILD_ROOT

cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/chkconfig --add irqbalance
%service irqbalance restart "irqbalance daemon"
%systemd_post irqbalance.service

%preun
if [ "$1" = "0" ]; then
	%service irqbalance stop
	/sbin/chkconfig --del irqbalance
fi
%systemd_preun irqbalance.service

%postun
%systemd_reload

%triggerpostun -- irqbalance < 0.55-4
%systemd_trigger irqbalance.service

%files
%defattr(644,root,root,755)
%doc AUTHORS
%attr(755,root,root) %{_sbindir}/irqbalance
%attr(755,root,root) %{_sbindir}/irqbalance-ui
%attr(754,root,root) /etc/rc.d/init.d/irqbalance
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
%{systemdunitdir}/irqbalance.service
%{_mandir}/man1/irqbalance.1*
%{_mandir}/man1/irqbalance-ui.1*