]> git.pld-linux.org Git - packages/libcgroup.git/blobdiff - libcgroup.spec
- rel 2
[packages/libcgroup.git] / libcgroup.spec
index e80ab6c57ad74002e238a0708947d00948ad97ad..7412ceca142f5a95857a5a32292a5e6cd7bba0c9 100644 (file)
@@ -1,38 +1,51 @@
-# TODO
-# - pldize initscripts
-# warning: Installed (but unpackaged) file(s) found:
-#   /bin/cgcreate
-#   /bin/cgset
-#   /sbin/cgclear
-#   /usr/share/man/man1/cgcreate.1.gz
-#   /usr/share/man/man1/cgset.1.gz
-Summary:       Tools and libraries to control and monitor control groups
+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.34
-Release:       1
+Version:       0.37.1
+Release:       2
 License:       LGPL v2+
-Group:         Development/Libraries
-Source0:       http://dl.sourceforge.net/libcg/%{name}-%{version}.tar.bz2
-# Source0-md5: 681c751d1a1ea78615094007d39db6cb
+Group:         Libraries
+Source0:       http://downloads.sourceforge.net/libcg/%{name}-%{version}.tar.bz2
+# Source0-md5: 24a41b18de112e8d085bb1f7d9e82af7
+Source1:       cgconfig.init
+Source2:       cgred.init
+Patch0:                %{name}-pam.patch
+Patch1:                %{name}-group-write.patch
+Patch2:                %{name}-conf.patch
 URL:           http://libcg.sourceforge.net/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: bison
 BuildRequires: flex
+BuildRequires: libstdc++-devel
+BuildRequires: libtool
 BuildRequires: pam-devel
-Requires(post):        /sbin/chkconfig
 Requires(post):        /sbin/ldconfig
-Requires(preun):       /sbin/chkconfig
+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
+Provides:      group(cgred)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _exec_prefix    /
-%define                _libdir                 %{_prefix}/%{_lib}
+%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.
 
+%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
+Summary:       Header files for cgroup library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki cgroup
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
@@ -41,46 +54,79 @@ 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.
 
+%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ą.
+
+%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.
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 %build
-%configure
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+%configure \
+       --disable-silent-rules \
+       --enable-initscript-install \
+       --enable-pam-module-dir=/%{_lib}/security
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/etc/sysconfig
+
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-# install init scripts
-install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
-cp scripts/init.d/cgconfig $RPM_BUILD_ROOT/etc/rc.d/init.d/cgconfig
-cp scripts/init.d/cgred $RPM_BUILD_ROOT/etc/rc.d/init.d/cgred
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgconfig
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgred
 
-# install config files
-install -d $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
+cp -a samples/cgred.conf $RPM_BUILD_ROOT/etc/sysconfig/cgred.conf
+cp -a samples/cgconfig.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/cgconfig
+cp -a samples/cg{config,rules,snapshot_blacklist}.conf $RPM_BUILD_ROOT%{_sysconfdir}
 
-# sanitize pam module, we need only pam_cgroup.so in the right directory
-install -d $RPM_BUILD_ROOT/%{_lib}/security
-mv -f $RPM_BUILD_ROOT%{_libdir}/pam_cgroup.so.*.*.* $RPM_BUILD_ROOT/%{_lib}/security/pam_cgroup.so
-rm -f $RPM_BUILD_ROOT%{_libdir}/pam_cgroup*
-
-# move library to /%{_lib}
-install -d $RPM_BUILD_ROOT/%{_lib}
 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
 
+%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
 
 %preun
 if [ $1 = 0 ]; then
@@ -90,34 +136,46 @@ if [ $1 = 0 ]; then
        /sbin/chkconfig --del cgred
 fi
 
-%postun -p /sbin/ldconfig
+%postun
+/sbin/ldconfig
+if [ "$1" = "0" ]; then
+       %groupremove cgred
+fi
 
 %files
 %defattr(644,root,root,755)
-%doc INSTALL README_daemon
-%config(noreplace) %{_sysconfdir}/cgconfig.conf
-%config(noreplace) %{_sysconfdir}/cgrules.conf
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cgred.conf
+%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/cgconfig
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cgred.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cg*.conf
 %attr(755,root,root) /%{_lib}/libcgroup.so.*.*.*
 %attr(755,root,root) %ghost /%{_lib}/libcgroup.so.1
-%attr(755,root,root) /%{_lib}/security/pam_cgroup.so
-%attr(755,root,root) /bin/cgexec
 %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/cgclassify.1*
-%{_mandir}/man1/cgexec.1*
-%{_mandir}/man5/cgconfig.conf.5*
-%{_mandir}/man5/cgred.conf.5*
-%{_mandir}/man5/cgrules.conf.5*
-%{_mandir}/man8/cgconfigparser.8*
-%{_mandir}/man8/cgrulesengd.8*
+%{_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(644,root,root,755)
-%doc INSTALL
+%attr(755,root,root) %{_libdir}/libcgroup.so
+%{_includedir}/libcgroup
 %{_includedir}/libcgroup.h
-%{_libdir}/libcgroup.la
-%{_libdir}/libcgroup.so
+%{_pkgconfigdir}/libcgroup.pc
This page took 0.079143 seconds and 4 git commands to generate.