X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=libcgroup.spec;h=ccf881129915e441624a225c8cb064aede9ce119;hb=9166bcc3b4842e8f166a3ec6bc0c89d40981e451;hp=b8787a1296c7330890438fa935f361fd64ea60bf;hpb=23fdf35f8c107e7e76ce83481b9cdd7187fe1083;p=packages%2Flibcgroup.git diff --git a/libcgroup.spec b/libcgroup.spec index b8787a1..ccf8811 100644 --- a/libcgroup.spec +++ b/libcgroup.spec @@ -1,132 +1,219 @@ -%define soversion 1.0.34 - -Name: libcgroup -Summary: Tools and libraries to control and monitor control groups -Group: Development/Libraries -Version: 0.34 -Release: 1 -License: LGPLv2+ -URL: http://libcg.sourceforge.net/ -Source0: http://downloads.sourceforge.net/libcg/%{name}-%{version}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: pam-devel -BuildRequires: byacc -BuildRequires: flex -BuildRequires: coreutils -Requires(post): chkconfig, /sbin/service -Requires(preun): /sbin/chkconfig +%define _rc rc1 +Summary: Tools and library to control and monitor control groups +Summary(pl.UTF-8): Narzędzia i biblioteka do kontrolowania i monitorowania grup kontroli +Name: libcgroup +Version: 0.38 +Release: 0.%{_rc}.1 +License: LGPL v2+ +Group: Libraries +Source0: http://downloads.sourceforge.net/libcg/%{name}-%{version}.%{_rc}.tar.bz2 +# Source0-md5: 6c2100af9840f54f8bf97836887a4517 +Source1: cgconfig.init +Source2: cgred.init +Source3: cgconfig.service +Source4: cgred.service +Source5: cgred.sysconfig +Patch0: %{name}-pam.patch +Patch1: %{name}-conf.patch +URL: http://libcg.sourceforge.net/ +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bison +BuildRequires: flex +BuildRequires: libstdc++-devel +BuildRequires: libtool +BuildRequires: pam-devel +BuildRequires: rpmbuild(macros) >= 1.626 +Requires(post): /sbin/ldconfig +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires: procps +Requires: rc-scripts +Requires: systemd-units >= 37-0.10 +Provides: group(cgred) +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%define _exec_prefix %{nil} +%define _libdir %{_prefix}/%{_lib} %description -Control groups infrastructure. The tools and library help manipulate, control, -administrate and monitor control groups and the associated controllers. +Control groups infrastructure. The tools and library help manipulate, +control, administrate and monitor control groups and the associated +controllers. + +%description -l pl.UTF-8 +Ten pakiet stanowi infrastrukturę grup kontroli (cgroups). Narzędzia i +biblioteka pomagają modyfikować, sterować, administrować i modyfikować +grupy kontroli i powiązane z nimi kontrolery. %package devel -Summary: Development libraries to develop applications that utilize control groups -Group: Development/Libraries -Requires: libcgroup = %{version}-%{release} +Summary: Header files for cgroup library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki cgroup +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} %description devel -It provides API to create/delete and modify cgroup nodes. It will also in the -future allow creation of persistent configuration for control groups and -provide scripts to manage that configuration. +It provides API to create/delete and modify cgroup nodes. It will also +in the future allow creation of persistent configuration for control +groups and provide scripts to manage that configuration. -%prep -%setup -q +%description devel -l pl.UTF-8 +Ten pakiet udostępnia API do tworzenia, usuwania i modyfikowania +węzłów cgroup. W przyszłości pozwoli także na tworzenie trwałej +konfiguracji grup kontroli i udostępni skrypty do zarządzania taką +konfiguracją. -%build -%configure --bindir=/bin --sbindir=/sbin --libdir=/%{_lib} +%package -n pam-pam_cgroup +Summary: PAM module for libcgroup +Summary(pl.UTF-8): Moduł PAM dla libcgroup +Group: Libraries +Requires: %{name} = %{version}-%{release} +Obsoletes: libcgroup-pam + +%description -n pam-pam_cgroup +PAM module for libcgroup. + +%description -n pam-pam_cgroup -l pl.UTF-8 +Moduł PAM dla libcgroup. -make %{?_smp_mflags} +%prep +%setup -q -n %{name}-%{version}.%{_rc} +%patch0 -p1 +%patch1 -p1 +%build +%{__libtoolize} +%{__aclocal} +%{__autoconf} +%{__automake} +%configure \ + --disable-silent-rules \ + --enable-initscript-install \ + --enable-pam-module-dir=/%{_lib}/security \ + --enable-opaque-hierarchy="name=systemd" + +%{__make} %install rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install - -# install init scripts -mkdir -p $RPM_BUILD_ROOT/%{_initrddir} -cp scripts/init.d/cgconfig $RPM_BUILD_ROOT/%{_initrddir}/cgconfig -cp scripts/init.d/cgred $RPM_BUILD_ROOT/%{_initrddir}/cgred - -# install config files -mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig -cp samples/cgred.conf $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/cgred.conf -cp samples/cgconfig.conf $RPM_BUILD_ROOT/%{_sysconfdir}/cgconfig.conf -cp samples/cgrules.conf $RPM_BUILD_ROOT/%{_sysconfdir}/cgrules.conf - -# sanitize pam module, we need only pam_cgroup.so in the right directory -mkdir -p $RPM_BUILD_ROOT/%{_lib}/security -mv -f $RPM_BUILD_ROOT/%{_lib}/pam_cgroup.so.*.*.* $RPM_BUILD_ROOT/%{_lib}/security/pam_cgroup.so -rm -f $RPM_BUILD_ROOT/%{_lib}/pam_cgroup* - -# move the devel stuff to /usr -mkdir -p $RPM_BUILD_ROOT/%{_libdir} -mv -f $RPM_BUILD_ROOT/%{_lib}/libcgroup.la $RPM_BUILD_ROOT/%{_libdir} -rm -f $RPM_BUILD_ROOT/%{_lib}/libcgroup.so -ln -sf ../../%{_lib}/libcgroup.so.%{soversion} $RPM_BUILD_ROOT/%{_libdir}/libcgroup.so +install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}} + +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgconfig +install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgred + +install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/cgconfig.service +install %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/cgred.service + +install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/cgred +cp -a samples/cg{config,rules,snapshot_blacklist}.conf $RPM_BUILD_ROOT%{_sysconfdir} + +mv $RPM_BUILD_ROOT%{_libdir}/libcgroup.so.* $RPM_BUILD_ROOT/%{_lib} +ln -snf ../../%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcgroup.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libcgroup.so + +%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_cgroup.la +%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la %clean rm -rf $RPM_BUILD_ROOT -%post +%pre +%groupadd -g 261 -r -f cgred + +%post /sbin/ldconfig /sbin/chkconfig --add cgred /sbin/chkconfig --add cgconfig +if [ ! -f /var/lock/subsys/cgconfig ]; then + echo 'Run "/sbin/service cgconfig start" to setup cgroup rules.' +fi +if [ ! -f /var/lock/subsys/cgred ]; then + echo 'Run "/sbin/service cgred start" to start control group rules daemon.' +fi +NORESTART=1 +%systemd_post cgconfig.service +%systemd_post cgred.service %preun if [ $1 = 0 ]; then - /sbin/service cgred stop > /dev/null 2>&1 || : - /sbin/service cgconfig stop > /dev/null 2>&1 || : - /sbin/chkconfig --del cgconfig - /sbin/chkconfig --del cgred + %service cgred stop + %service cgconfig stop + /sbin/chkconfig --del cgconfig + /sbin/chkconfig --del cgred fi +%systemd_preun cgconfig.service +%systemd_preun cgred.service -%postun -p /sbin/ldconfig - -%files -%defattr(-,root,root,-) -%config(noreplace) %{_sysconfdir}/sysconfig/cgred.conf -%config(noreplace) %{_sysconfdir}/cgconfig.conf -%config(noreplace) %{_sysconfdir}/cgrules.conf -/%{_lib}/libcgroup.so.* -/bin/cgexec -/bin/cgclassify -/sbin/cgconfigparser -/sbin/cgrulesengd -%attr(0644, root, root) %{_mandir}/man1/* -%attr(0644, root, root) %{_mandir}/man5/* -%attr(0644, root, root) %{_mandir}/man8/* -%attr(0755,root,root) %{_initrddir}/cgconfig -%attr(0755,root,root) %{_initrddir}/cgred -%attr(0755,root,root) /%{_lib}/security/pam_cgroup.so - -%doc COPYING INSTALL README_daemon +%postun +/sbin/ldconfig +if [ "$1" = "0" ]; then + %groupremove cgred +fi +%systemd_reload + +%triggerpostun -- %{name} < 0.38-0.rc1.1 +if [ -f /etc/sysconfig/cgred.conf.rpmsave ]; then + . /etc/sysconfig/cgred.conf.rpmsave + OPTIONS= + [ -n "$NODAEMON" ] && OPTIONS="$OPTIONS $NODAEMON" + [ -n "$LOG" ] && OPTIONS="$OPTIONS $LOG" + if [ -n "$LOG_FILE" ]; then + OPTIONS="$OPTIONS -f $LOG_FILE" + else + OPTIONS="$OPTIONS -s" + fi + [ -n "$SOCKET_USER" ] && OPTIONS="$OPTIONS -u $SOCKET_USER" + if [ -n "$SOCKET_GROUP" ]; then + OPTIONS="$OPTIONS -g $SOCKET_GROUP" + else + OPTIONS="$OPTIONS -g cgred" + fi + echo >>/etc/sysconfig/cgred + echo "# Added by rpm trigger" >>/etc/sysconfig/cgred + echo "OPTIONS=\"$OPTIONS\"" >>/etc/sysconfig/cgred +fi +%systemd_trigger cgconfig.service +%systemd_trigger cgred.service + +%files +%defattr(644,root,root,755) +%doc README README_daemon +%attr(754,root,root) /etc/rc.d/init.d/cgconfig +%attr(754,root,root) /etc/rc.d/init.d/cgred +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cgred +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cg*.conf +%{systemdunitdir}/cgconfig.service +%{systemdunitdir}/cgred.service +%attr(755,root,root) /%{_lib}/libcgroup.so.*.*.* +%attr(755,root,root) %ghost /%{_lib}/libcgroup.so.1 +%attr(755,root,root) /bin/cgclassify +%attr(755,root,root) /bin/cgcreate +%attr(755,root,root) /bin/cgdelete +%attr(755,root,root) /bin/cgexec +%attr(755,root,root) /bin/cgget +%attr(755,root,root) /bin/cgset +%attr(755,root,root) /bin/cgsnapshot +%attr(755,root,root) /bin/lscgroup +%attr(755,root,root) /bin/lssubsys +%attr(755,root,root) /sbin/cgclear +%attr(755,root,root) /sbin/cgconfigparser +%attr(755,root,root) /sbin/cgrulesengd +%{_mandir}/man1/ls*.1* +%{_mandir}/man1/cg*.1* +%{_mandir}/man5/cg*.5* +%{_mandir}/man8/cg*.8* + +%files -n pam-pam_cgroup +%defattr(644,root,root,755) +%attr(755,root,root) /%{_lib}/security/pam_cgroup.so %files devel -%defattr(-,root,root,-) +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libcgroup.so +%{_includedir}/libcgroup %{_includedir}/libcgroup.h -%{_libdir}/libcgroup.* -%doc COPYING INSTALL - - -%changelog -* Tue Feb 24 2009 Balbir Singh 0.33-1 -- Update to 0.33, spec file changes to add Makefiles and pam_cgroup module -* Fri Oct 10 2008 Dhaval Giani 0.32-1 -- Update to latest upstream -* Thu Sep 11 2008 Dhaval Giani 0.31-1 -- Update to latest upstream -* Sat Aug 2 2008 Dhaval Giani 0.1c-3 -- Change release to fix broken upgrade path -* Wed Jun 11 2008 Dhaval Giani 0.1c-1 -- Update to latest upstream version -* Tue Jun 3 2008 Balbir Singh 0.1b-3 -- Add post and postun. Also fix Requires for devel to depend on base n-v-r -* Sat May 31 2008 Balbir Singh 0.1b-2 -- Fix makeinstall, Source0 and URL (review comments from Tom) -* Mon May 26 2008 Balbir Singh 0.1b-1 -- Add a generatable spec file -* Tue May 20 2008 Balbir Singh 0.1-1 -- Get the spec file to work -* Tue May 20 2008 Dhaval Giani 0.01-1 -- The first version of libcg +%{_pkgconfigdir}/libcgroup.pc