]> git.pld-linux.org Git - packages/libcgroup.git/blobdiff - libcgroup.spec
- rel 2; mount tmpfs for /sys/fs/cgroup if not already mounted
[packages/libcgroup.git] / libcgroup.spec
index fa9e3ff9bba3cbdaac888b1fa3efbd7b560e26a9..3ec2f7e168e78355829557fbfd3889be37591b97 100644 (file)
@@ -1,22 +1,38 @@
-Summary:       Tools and libraries to control and monitor control groups
+%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
 Name:          libcgroup
-Version:       0.37
-Release:       2
+Version:       0.38
+Release:       0.%{_rc}.2
 License:       LGPL v2+
 Group:         Libraries
 License:       LGPL v2+
 Group:         Libraries
-Source0:       http://downloads.sourceforge.net/libcg/%{name}-%{version}.tar.bz2
-# Source0-md5: beecca8770155afa62981076e96d4c9c
+Source0:       http://downloads.sourceforge.net/libcg/%{name}-%{version}.%{_rc}.tar.bz2
+# Source0-md5: 6c2100af9840f54f8bf97836887a4517
 Source1:       cgconfig.init
 Source2:       cgred.init
 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/
 URL:           http://libcg.sourceforge.net/
+BuildRequires: autoconf
+BuildRequires: automake
 BuildRequires: bison
 BuildRequires: flex
 BuildRequires: libstdc++-devel
 BuildRequires: bison
 BuildRequires: flex
 BuildRequires: libstdc++-devel
+BuildRequires: libtool
 BuildRequires: pam-devel
 BuildRequires: pam-devel
+BuildRequires: rpmbuild(macros) >= 1.626
 Requires(post):        /sbin/ldconfig
 Requires(post,preun):  /sbin/chkconfig
 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:      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}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _exec_prefix    %{nil}
@@ -27,8 +43,14 @@ Control groups infrastructure. The tools and library help manipulate,
 control, administrate and monitor control groups and the associated
 controllers.
 
 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
 %package devel
-Summary:       Development libraries for %{name}
+Summary:       Header files for cgroup library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki cgroup
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
@@ -37,8 +59,15 @@ 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.
 
 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
 %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
 Group:         Libraries
 Requires:      %{name} = %{version}-%{release}
 Obsoletes:     libcgroup-pam
@@ -46,20 +75,30 @@ Obsoletes:  libcgroup-pam
 %description -n pam-pam_cgroup
 PAM module for libcgroup.
 
 %description -n pam-pam_cgroup
 PAM module for libcgroup.
 
+%description -n pam-pam_cgroup -l pl.UTF-8
+Moduł PAM dla libcgroup.
+
 %prep
 %prep
-%setup -q
+%setup -q -n %{name}-%{version}.%{_rc}
+%patch0 -p1
+%patch1 -p1
 
 %build
 
 %build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
 %configure \
        --disable-silent-rules \
        --enable-initscript-install \
 %configure \
        --disable-silent-rules \
        --enable-initscript-install \
-       --enable-pam-module-dir=/%{_lib}/security
+       --enable-pam-module-dir=/%{_lib}/security \
+       --enable-opaque-hierarchy="name=systemd"
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/sysconfig
+install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{systemdunitdir}}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
@@ -67,27 +106,37 @@ install -d $RPM_BUILD_ROOT/etc/sysconfig
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/cgconfig
 install %{SOURCE2} $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
 
-cp -a samples/cgred.conf $RPM_BUILD_ROOT/etc/sysconfig/cgred.conf
-cp -a samples/cgconfig.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/cgconfig
+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}
 
 cp -a samples/cg{config,rules,snapshot_blacklist}.conf $RPM_BUILD_ROOT%{_sysconfdir}
 
-mv -f $RPM_BUILD_ROOT/%{_lib}/security/pam_cgroup.so{.*.*.*,}
 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
 
 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.so.*
-%{__rm} $RPM_BUILD_ROOT{/%{_lib}/security,%{_libdir}}/*.la
+%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_cgroup.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-#%%pre
-#getent group cgred >/dev/null || groupadd cgred
+%pre
+%groupadd -g 261 -r -f cgred
 
 %post
 /sbin/ldconfig
 /sbin/chkconfig --add cgred
 /sbin/chkconfig --add cgconfig
 
 %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
 
 %preun
 if [ $1 = 0 ]; then
@@ -96,24 +145,63 @@ if [ $1 = 0 ]; then
        /sbin/chkconfig --del cgconfig
        /sbin/chkconfig --del cgred
 fi
        /sbin/chkconfig --del cgconfig
        /sbin/chkconfig --del cgred
 fi
+%systemd_preun cgconfig.service
+%systemd_preun cgred.service
 
 
-%postun -p /sbin/ldconfig
+%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
 
 %files
 %defattr(644,root,root,755)
 %doc README README_daemon
-%attr(754,root,root) /etc/rc.d/init.d/cg*
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/cg*
+%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
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cg*.conf
-
-%attr(755,root,root) /bin/cg*
-%attr(755,root,root) /bin/lscgroup
-%attr(755,root,root) /bin/lssubsys
-%attr(755,root,root) /sbin/cg*
-
+%{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) /%{_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}/man1/ls*.1*
 %{_mandir}/man1/cg*.1*
 %{_mandir}/man5/cg*.5*
This page took 0.109007 seconds and 4 git commands to generate.