]> git.pld-linux.org Git - SPECS.git/blob - libcgroup.spec
SPECS updated Sun 1 Aug 11:02:02 CEST 2021
[SPECS.git] / libcgroup.spec
1 Summary:        Tools and library to control and monitor control groups
2 Summary(pl.UTF-8):      Narzędzia i biblioteka do kontrolowania i monitorowania grup kontroli
3 Name:           libcgroup
4 Version:        0.41
5 Release:        5
6 License:        LGPL v2+
7 Group:          Applications/System
8 Source0:        http://downloads.sourceforge.net/libcg/%{name}-%{version}.tar.bz2
9 # Source0-md5:  3dea9d50b8a5b73ff0bf1cdcb210f63f
10 Source1:        cgconfig.init
11 Source2:        cgred.init
12 Source3:        cgconfig.service
13 Source4:        cgred.service
14 Source5:        cgred.sysconfig
15 Patch0:         %{name}-pam.patch
16 Patch1:         %{name}-conf.patch
17 Patch2:         %{name}-missing.patch
18 Patch3:         %{name}-0.37-chmod.patch
19 Patch4:         %{name}-0.40.rc1-coverity.patch
20 Patch5:         %{name}-0.40.rc1-fread.patch
21 Patch6:         %{name}-0.40.rc1-templates-fix.patch
22 Patch7:         %{name}-0.41-api.c-fix-order-of-memory-subsystem-parameters.patch
23 Patch8:         %{name}-0.41-api.c-preserve-dirty-flag.patch
24 Patch9:         %{name}-0.41-api.c-support-for-setting-multiline-values-in-contro.patch
25 Patch10:        %{name}-0.41-change-cgroup-of-threads.patch
26 Patch11:        %{name}-0.41-CVE-2018-14348.patch
27 Patch12:        %{name}-0.41-fix-infinite-loop.patch
28 Patch13:        %{name}-0.41-fix-log-level.patch
29 Patch14:        %{name}-0.41-lex.patch
30 Patch15:        %{name}-0.41-prevent-buffer-overflow.patch
31 Patch16:        %{name}-0.41-size-of-controller-values.patch
32 Patch17:        %{name}-0.41-tasks-file-warning.patch
33 URL:            http://libcg.sourceforge.net/
34 BuildRequires:  autoconf >= 2.61
35 BuildRequires:  automake
36 BuildRequires:  bison
37 BuildRequires:  flex
38 BuildRequires:  libstdc++-devel
39 BuildRequires:  libtool
40 BuildRequires:  pam-devel
41 BuildRequires:  python-devel >= 2
42 BuildRequires:  rpmbuild(macros) >= 1.626
43 BuildRequires:  swig-python
44 Requires(post,preun):   /sbin/chkconfig
45 Requires(postun):       /usr/sbin/groupdel
46 Requires(pre):  /usr/bin/getgid
47 Requires(pre):  /usr/sbin/groupadd
48 Requires(post,preun,postun):    systemd-units >= 38
49 Requires:       %{name}-libs = %{version}-%{release}
50 Requires:       procps
51 Requires:       rc-scripts
52 Requires:       systemd-units >= 38
53 Provides:       group(cgred)
54 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56 %define         _exec_prefix    %{nil}
57 %define         _libdir         %{_prefix}/%{_lib}
58
59 %description
60 Control groups infrastructure. The tools and library help manipulate,
61 control, administrate and monitor control groups and the associated
62 controllers.
63
64 %description -l pl.UTF-8
65 Ten pakiet stanowi infrastrukturę grup kontroli (cgroups). Narzędzia i
66 biblioteka pomagają modyfikować, sterować, administrować i modyfikować
67 grupy kontroli i powiązane z nimi kontrolery.
68
69 %package -n pam-pam_cgroup
70 Summary:        PAM module for libcgroup
71 Summary(pl.UTF-8):      Moduł PAM dla libcgroup
72 Group:          Libraries
73 Requires:       %{name} = %{version}-%{release}
74 Obsoletes:      libcgroup-pam
75
76 %description -n pam-pam_cgroup
77 PAM module for libcgroup.
78
79 %description -n pam-pam_cgroup -l pl.UTF-8
80 Moduł PAM dla libcgroup.
81
82 %package libs
83 Summary:        Shared cgroup library
84 Summary(pl.UTF-8):      Biblioteka współdzielona cgroup
85 Group:          Libraries
86 Conflicts:      libcgroup < 0.41
87
88 %description libs
89 Shared cgroup library.
90
91 %description libs -l pl.UTF-8
92 Biblioteka współdzielona cgroup.
93
94 %package devel
95 Summary:        Header files for cgroup library
96 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki cgroup
97 Group:          Development/Libraries
98 Requires:       %{name}-libs = %{version}-%{release}
99
100 %description devel
101 It provides API to create/delete and modify cgroup nodes. It will also
102 in the future allow creation of persistent configuration for control
103 groups and provide scripts to manage that configuration.
104
105 %description devel -l pl.UTF-8
106 Ten pakiet udostępnia API do tworzenia, usuwania i modyfikowania
107 węzłów cgroup. W przyszłości pozwoli także na tworzenie trwałej
108 konfiguracji grup kontroli i udostępni skrypty do zarządzania taką
109 konfiguracją.
110
111 %package -n python-libcgroup
112 Summary:        Python binding for libcgroup
113 Summary(pl.UTF-8):      Wiązania Pythona do biblioteki libcgroup
114 Group:          Libraries/Python
115 Requires:       %{name}-libs = %{version}-%{release}
116
117 %description -n python-libcgroup
118 Python binding for libcgroup.
119
120 %description -n python-libcgroup -l pl.UTF-8
121 Wiązania Pythona do biblioteki libcgroup.
122
123 %prep
124 %setup -q
125 %patch0 -p1
126 %patch1 -p1
127 %patch2 -p1
128 %patch3 -p1
129 %patch4 -p1
130 %patch5 -p1
131 %patch6 -p1
132 %patch7 -p1
133 %patch8 -p1
134 %patch9 -p1
135 %patch10 -p1
136 %patch11 -p1
137 %patch12 -p1
138 %patch13 -p1
139 %patch14 -p2
140 %patch15 -p1
141 %patch16 -p1
142 %patch17 -p1
143
144 %build
145 %{__libtoolize}
146 %{__aclocal}
147 %{__autoconf}
148 %{__autoheader}
149 %{__automake}
150 %configure \
151         --disable-silent-rules \
152         --enable-bindings \
153         --enable-initscript-install \
154         --enable-opaque-hierarchy="name=systemd" \
155         --enable-pam-module-dir=/%{_lib}/security
156
157 %{__make}
158
159 %install
160 rm -rf $RPM_BUILD_ROOT
161 install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}}
162
163 %{__make} install \
164         DESTDIR=$RPM_BUILD_ROOT
165
166 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgconfig
167 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgred
168
169 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/cgconfig.service
170 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/cgred.service
171
172 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/cgred
173 cp -a samples/cg{config,rules,snapshot_blacklist}.conf $RPM_BUILD_ROOT%{_sysconfdir}
174
175 mv $RPM_BUILD_ROOT%{_libdir}/libcgroup.so.* $RPM_BUILD_ROOT/%{_lib}
176 ln -snf ../../%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcgroup.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libcgroup.so
177
178 install -d $RPM_BUILD_ROOT%{py_sitedir}
179 %{__mv} $RPM_BUILD_ROOT%{_libdir}/_libcgroup.so $RPM_BUILD_ROOT%{py_sitedir}
180 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_cgroup.la
181 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
182
183 %clean
184 rm -rf $RPM_BUILD_ROOT
185
186 %pre
187 %groupadd -g 261 -r -f cgred
188
189 %post
190 /sbin/chkconfig --add cgred
191 /sbin/chkconfig --add cgconfig
192 if [ ! -f /var/lock/subsys/cgconfig ]; then
193         echo 'Run "/sbin/service cgconfig start" to setup cgroup rules.'
194 fi
195 if [ ! -f /var/lock/subsys/cgred ]; then
196         echo 'Run "/sbin/service cgred start" to start control group rules daemon.'
197 fi
198 NORESTART=1
199 %systemd_post cgconfig.service
200 %systemd_post cgred.service
201
202 %preun
203 if [ $1 = 0 ]; then
204         %service cgred stop
205         %service cgconfig stop
206         /sbin/chkconfig --del cgconfig
207         /sbin/chkconfig --del cgred
208 fi
209 %systemd_preun cgconfig.service
210 %systemd_preun cgred.service
211
212 %postun
213 if [ "$1" = "0" ]; then
214         %groupremove cgred
215 fi
216 %systemd_reload
217
218 %triggerpostun -- %{name} < 0.38-0.rc1.1
219 if [ -f /etc/sysconfig/cgred.conf.rpmsave ]; then
220         . /etc/sysconfig/cgred.conf.rpmsave
221         OPTIONS=
222         [ -n "$NODAEMON" ] && OPTIONS="$OPTIONS $NODAEMON"
223         [ -n "$LOG" ] && OPTIONS="$OPTIONS $LOG"
224         if [ -n "$LOG_FILE" ]; then
225                 OPTIONS="$OPTIONS -f $LOG_FILE"
226         else
227                 OPTIONS="$OPTIONS -s"
228         fi
229         [ -n "$SOCKET_USER" ] && OPTIONS="$OPTIONS -u $SOCKET_USER"
230         if [ -n "$SOCKET_GROUP" ]; then
231                 OPTIONS="$OPTIONS -g $SOCKET_GROUP"
232         else
233                 OPTIONS="$OPTIONS -g cgred"
234         fi
235         echo >>/etc/sysconfig/cgred
236         echo "# Added by rpm trigger" >>/etc/sysconfig/cgred
237         echo "OPTIONS=\"$OPTIONS\"" >>/etc/sysconfig/cgred
238 fi
239 %systemd_trigger cgconfig.service
240 %systemd_trigger cgred.service
241
242 %post   libs -p /sbin/ldconfig
243 %postun libs -p /sbin/ldconfig
244
245 %files
246 %defattr(644,root,root,755)
247 %doc README README_daemon
248 %attr(754,root,root) /etc/rc.d/init.d/cgconfig
249 %attr(754,root,root) /etc/rc.d/init.d/cgred
250 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cgred
251 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cg*.conf
252 %{systemdunitdir}/cgconfig.service
253 %{systemdunitdir}/cgred.service
254 %attr(755,root,root) /bin/cgclassify
255 %attr(755,root,root) /bin/cgcreate
256 %attr(755,root,root) /bin/cgdelete
257 %attr(755,root,root) /bin/cgexec
258 %attr(755,root,root) /bin/cgget
259 %attr(755,root,root) /bin/cgset
260 %attr(755,root,root) /bin/cgsnapshot
261 %attr(755,root,root) /bin/lscgroup
262 %attr(755,root,root) /bin/lssubsys
263 %attr(755,root,root) /sbin/cgclear
264 %attr(755,root,root) /sbin/cgconfigparser
265 %attr(755,root,root) /sbin/cgrulesengd
266 %{_mandir}/man1/ls*.1*
267 %{_mandir}/man1/cg*.1*
268 %{_mandir}/man5/cg*.5*
269 %{_mandir}/man8/cg*.8*
270
271 %files -n pam-pam_cgroup
272 %defattr(644,root,root,755)
273 %attr(755,root,root) /%{_lib}/security/pam_cgroup.so
274
275 %files libs
276 %defattr(644,root,root,755)
277 %attr(755,root,root) /%{_lib}/libcgroup.so.*.*.*
278 %attr(755,root,root) %ghost /%{_lib}/libcgroup.so.1
279
280 %files devel
281 %defattr(644,root,root,755)
282 %attr(755,root,root) %{_libdir}/libcgroup.so
283 %{_includedir}/libcgroup
284 %{_includedir}/libcgroup.h
285 %{_pkgconfigdir}/libcgroup.pc
286
287 %files -n python-libcgroup
288 %defattr(644,root,root,755)
289 %attr(755,root,root) %{py_sitedir}/_libcgroup.so
This page took 0.357311 seconds and 3 git commands to generate.