Blame SPECS/libcgroup.spec

308897
%global soversion_major 1
308897
%global soversion 1.0.41
308897
%global _hardened_build 1
308897
308897
Summary: Library to control and monitor control groups
308897
Name: libcgroup
308897
Version: 0.41
340c38
Release: 20%{?dist}
308897
License: LGPLv2+
308897
Group: Development/Libraries
308897
URL: http://libcg.sourceforge.net/
308897
Source0: http://downloads.sourceforge.net/libcg/%{name}-%{version}.tar.bz2
308897
Source1: cgconfig.service
308897
Source2: cgred.service
308897
Source3: cgred.sysconfig
308897
308897
Patch0: fedora-config.patch
308897
Patch1: libcgroup-0.37-chmod.patch
308897
Patch2: libcgroup-0.40.rc1-coverity.patch
308897
Patch3: libcgroup-0.40.rc1-fread.patch
308897
Patch4: libcgroup-0.40.rc1-templates-fix.patch
308897
Patch5: libcgroup-0.41-runlibcgrouptest-systemd-fix.patch 
308897
Patch6: libcgroup-0.40.rc1-retry-to-set-control-file.patch
308897
Patch7: libcgroup-0.41-config.c-xfs-file-system-sets-item-d_type-to-zero-st.patch
308897
Patch8: libcgroup-0.41-loading-configuration-files-from-etc-cgconfig.d-dire.patch
308897
Patch9: libcgroup-0.41-use-character-as-a-meta-character-for-all-mounted-co.patch
308897
Patch10: libcgroup-0.41-add-examples-to-man-pages.patch
308897
Patch11: libcgroup-0.41-extending-cgroup-names-with-default.patch
308897
Patch12: libcgroup-0.41-api.c-support-for-setting-multiline-values-in-contro.patch
308897
308897
# resolves #1348864
308897
Patch13: libcgroup-0.41-api.c-fix-order-of-memory-subsystem-parameters.patch
308897
# resolves #1347765
308897
Patch14: libcgroup-0.41-api.c-fix-potential-buffer-overflow.patch
308897
# resolves #1406927
308897
Patch15: libcgroup-0.41-api.c-fix-log-level.patch
308897
# resolves #1384390
308897
Patch16: libcgroup-0.41-api.c-preserve-dirty-flag.patch
308897
# resolves #1505443
308897
Patch17: libcgroup-0.41-infinite-loop.patch
340c38
# resolves #1549175
340c38
Patch18: libcgroup-0.41-increase-size-of-controller-values.patch
340c38
# resolves #1561736
340c38
Patch19: libcgroup-0.41-api.c-tasks-file-warning.patch
340c38
Patch20: libcgroup-0.41-cgrules.conf.5-extend-controllers-description.patch
340c38
# resolves #1568354
340c38
Patch21: libcgroup-0.41-change-cgroup-of-every-thread.patch
308897
308897
BuildRequires: byacc, coreutils, flex, pam-devel, systemd
308897
Requires(pre): shadow-utils
308897
Requires(post): systemd
308897
Requires(preun): systemd
308897
Requires(postun): systemd
308897
308897
%description
308897
Control groups infrastructure. The library helps manipulate, control,
308897
administrate and monitor control groups and the associated controllers.
308897
308897
%package tools
308897
Summary: Command-line utility programs, services and daemons for libcgroup
308897
Group: System Environment/Base
308897
Requires: %{name}%{?_isa} = %{version}-%{release}
308897
# needed for Delegate property in cgconfig.service
308897
Requires: systemd >= 217-0.2
308897
308897
%description tools
308897
This package contains command-line programs, services and a daemon for
308897
manipulating control groups using the libcgroup library.
308897
308897
%package pam
308897
Summary: A Pluggable Authentication Module for libcgroup
308897
Group: System Environment/Base
308897
Requires: %{name}%{?_isa} = %{version}-%{release}
308897
308897
%description pam
308897
Linux-PAM module, which allows administrators to classify the user's login
308897
processes to pre-configured control group.
308897
308897
%package devel
308897
Summary: Development libraries to develop applications that utilize control groups
308897
Group: Development/Libraries
308897
Requires: %{name}%{?_isa} = %{version}-%{release}
308897
308897
%description devel
308897
It provides API to create/delete and modify cgroup nodes. It will also in the
308897
future allow creation of persistent configuration for control groups and
308897
provide scripts to manage that configuration.
308897
308897
%prep
308897
%setup  -q  -n %{name}-%{version}
308897
%patch0 -p1 -b .config-patch
308897
%patch1 -p1 -b .chmod
308897
%patch2 -p1 -b .coverity
308897
%patch3 -p1 -b .fread
308897
%patch4 -p1 -b .templates-fix
308897
%patch5 -p1 -b .runlibcgrouptest-systemd-fix
308897
%patch6 -p1
308897
%patch7 -p1
308897
%patch8 -p1
308897
%patch9 -p1
308897
%patch10 -p1
308897
%patch11 -p1
308897
%patch12 -p1
308897
%patch13 -p1
308897
%patch14 -p1
308897
%patch15 -p1
308897
%patch16 -p1
308897
%patch17 -p1
340c38
%patch18 -p1
340c38
%patch19 -p1
340c38
%patch20 -p1
340c38
%patch21 -p1
308897
308897
%build
308897
%configure --enable-pam-module-dir=%{_libdir}/security \
308897
           --enable-opaque-hierarchy="name=systemd"
308897
#           --disable-daemon
308897
make %{?_smp_mflags}
308897
308897
%install
308897
make DESTDIR=$RPM_BUILD_ROOT install
308897
308897
# install config files
308897
install -d ${RPM_BUILD_ROOT}%{_sysconfdir}
308897
install -m 644 samples/cgconfig.conf $RPM_BUILD_ROOT/%{_sysconfdir}/cgconfig.conf
308897
install -d $RPM_BUILD_ROOT/%{_sysconfdir}/cgconfig.d
308897
install -m 644 samples/cgrules.conf $RPM_BUILD_ROOT/%{_sysconfdir}/cgrules.conf
308897
install -m 644 samples/cgsnapshot_blacklist.conf $RPM_BUILD_ROOT/%{_sysconfdir}/cgsnapshot_blacklist.conf
308897
308897
# sanitize pam module, we need only pam_cgroup.so
308897
mv -f $RPM_BUILD_ROOT%{_libdir}/security/pam_cgroup.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/security/pam_cgroup.so
308897
rm -f $RPM_BUILD_ROOT%{_libdir}/security/pam_cgroup.la $RPM_BUILD_ROOT/%{_libdir}/security/pam_cgroup.so.*
308897
308897
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
308897
308897
# install unit and sysconfig files
308897
install -d ${RPM_BUILD_ROOT}%{_unitdir}
308897
install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_unitdir}/
308897
install -m 644 %SOURCE2 ${RPM_BUILD_ROOT}%{_unitdir}/
308897
install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
308897
install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/cgred
308897
308897
%pre
308897
getent group cgred >/dev/null || groupadd -r cgred
308897
308897
%post -p /sbin/ldconfig
308897
308897
%postun -p /sbin/ldconfig
308897
308897
%pre tools
308897
getent group cgred >/dev/null || groupadd -r cgred
308897
308897
%post tools
308897
if [ $1 -eq 1 ] ; then 
308897
    # Initial installation 
308897
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
308897
fi
308897
%systemd_post cgconfig.service cgred.service
308897
308897
%preun tools
308897
if [ $1 -eq 0 ] ; then
308897
    # Package removal, not upgrade
308897
    /bin/systemctl --no-reload disable cgconfig.service > /dev/null 2>&1 || :
308897
    /bin/systemctl stop cgconfig.service > /dev/null 2>&1 || :
308897
    /bin/systemctl --no-reload disable cgred.service > /dev/null 2>&1 || :
308897
    /bin/systemctl stop cgred.service > /dev/null 2>&1 || :
308897
fi
308897
%systemd_preun cgconfig.service cgred.service
308897
308897
%postun tools
308897
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
308897
if [ $1 -ge 1 ] ; then
308897
    # Package upgrade, not uninstall
308897
    /bin/systemctl try-restart cgconfig.service >/dev/null 2>&1 || :
308897
    /bin/systemctl try-restart cgred.service >/dev/null 2>&1 || :
308897
fi
308897
%systemd_postun_with_restart cgconfig.service cgred.service
308897
308897
%triggerun -- libcgroup < 0.38
308897
# Save the current service runlevel info
308897
# User must manually run systemd-sysv-convert --apply cgconfig/cgred
308897
# to migrate them to systemd targets
308897
/usr/bin/systemd-sysv-convert --save cgconfig >/dev/null 2>&1 ||:
308897
/usr/bin/systemd-sysv-convert --save cgred >/dev/null 2>&1 ||:
308897
308897
# Run these because the SysV package being removed won't do them
308897
/sbin/chkconfig --del cgconfig >/dev/null 2>&1 || :
308897
/bin/systemctl try-restart cgconfig.service >/dev/null 2>&1 || :
308897
/sbin/chkconfig --del cgred >/dev/null 2>&1 || :
308897
/bin/systemctl try-restart cgred.service >/dev/null 2>&1 || :
308897
308897
%files
308897
%doc COPYING README
308897
%{_libdir}/libcgroup.so.*
308897
308897
%files tools
308897
%doc COPYING README README_systemd
308897
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/cgconfig.conf
308897
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/cgconfig.d
308897
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/cgrules.conf
308897
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/cgsnapshot_blacklist.conf
308897
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/cgred
308897
/usr/bin/cgcreate
308897
/usr/bin/cgget
308897
/usr/bin/cgset
308897
/usr/bin/cgdelete
308897
/usr/bin/lscgroup
308897
/usr/bin/lssubsys
308897
/usr/sbin/cgconfigparser
308897
/usr/sbin/cgrulesengd
308897
/usr/sbin/cgclear
308897
/usr/bin/cgsnapshot
308897
%attr(2755, root, cgred) /usr/bin/cgexec
308897
%attr(2755, root, cgred) /usr/bin/cgclassify
308897
%attr(0644, root, root) %{_mandir}/man1/*
308897
%attr(0644, root, root) %{_mandir}/man5/*
308897
%attr(0644, root, root) %{_mandir}/man8/*
308897
%{_unitdir}/cgconfig.service
308897
%{_unitdir}/cgred.service
308897
308897
%files pam
308897
%doc COPYING README
308897
%attr(0755,root,root) %{_libdir}/security/pam_cgroup.so
308897
308897
%files devel
308897
%doc COPYING README
308897
%{_includedir}/libcgroup.h
308897
%{_includedir}/libcgroup/*.h
308897
%{_libdir}/libcgroup.so
308897
%{_libdir}/pkgconfig/libcgroup.pc
308897
308897
%changelog
340c38
* Wed Sep 05 2018 Nikola Forró <nforro@redhat.com> - 0.41-20
340c38
- always move all tasks of a process to a cgroup
340c38
  related: #1568354
340c38
340c38
* Fri May 25 2018 Nikola Forró <nforro@redhat.com> - 0.41-19
340c38
- change cgroup of every thread of a process
340c38
  resolves: #1568354
340c38
340c38
* Wed Apr 25 2018 Nikola Forró <nforro@redhat.com> - 0.41-18
340c38
- fix wrong format in fprintf call that causes compiler warning
340c38
  related: #1549175
340c38
340c38
* Wed Apr 25 2018 Nikola Forró <nforro@redhat.com> - 0.41-17
340c38
- show warning when "tasks" file can not be opened
340c38
- extend description of "controllers" section in cgrules.conf man page
340c38
  resolves: #1561736
340c38
340c38
* Tue Apr 17 2018 Nikola Forró <nforro@redhat.com> - 0.41-16
340c38
- increase maximal size of controller values
340c38
  resolves: #1549175
340c38
308897
* Tue Oct 24 2017 Nikola Forró <nforro@redhat.com> - 0.41-15
308897
- resolves: #1464015
308897
  do not verify size, mtime and checksum of config files
308897
308897
* Tue Oct 24 2017 Nikola Forró <nforro@redhat.com> - 0.41-14
308897
- resolves: #1505443
308897
  fix infinite loop
308897
308897
* Thu Mar 16 2017 Nikola Forró <nforro@redhat.com> - 0.41-13
308897
- resolves: #1384390
308897
  preserve dirty flag when copying controller values
308897
308897
* Tue Jan 24 2017 Nikola Forró <nforro@redhat.com> - 0.41-12
308897
- resolves: #1406927
308897
  start cgred service after nss-user-lookup target
308897
  show warnings about unsuccessful user/group lookups
308897
308897
* Thu Jun 23 2016 Nikola Forró <nforro@redhat.com> - 0.41-11
308897
- resolves: #1347765
308897
  fix potential buffer overflow
308897
308897
* Thu Jun 23 2016 Nikola Forró <nforro@redhat.com> - 0.41-10
308897
- resolves: #1348864
308897
  fix order of memory subsystem parameters generated by cgsnapshot
308897
308897
* Wed Apr 06 2016 Nikola Forró <nforro@redhat.com> - 0.41-9
308897
- resolves: #1322571
308897
  set Delegate property for cgconfig service
308897
308897
* Sat Sep 20 2014 jchaloup <jchaloup@redhat.com> - 0.41-8
308897
- resolves: #885174
308897
  loading configuration files from /etc/cgconfig.d/ directory
308897
- resolves: #885166
308897
  use * character as a meta character for all mounted
308897
- resolves: #886920
308897
  add examples to man pages
308897
- resolves: #1143851
308897
  extending cgroup names with default
308897
- resolves: #1142807
308897
  api.c: support for setting multiline values in control files
308897
  config.c: xfs file system sets item->d_type to zero, stat() and S_ISREG() test added (#885174)
308897
308897
* Thu Sep 11 2014 jchaloup <jchaloup@redhat.com> - 0.41-7
308897
- resolves: #963515
308897
  retry to set control file in cgroup_modify_cgroup
308897
308897
* Tue Mar 04 2014 jchaloup <jchaloup@redhat.com> - 0.41-6
308897
- related: #1016810
308897
  specfile corrected, make was not fired
308897
308897
* Tue Feb 25 2014 jchaloup <jchaloup@redhat.com> - 0.41-5
308897
- related: #1016810
308897
  missing man pages for cgrulesengd, cgred.conf, cgrule.conf added
308897
308897
* Mon Feb 24 2014 jchaloup <jchaloup@redhat.com> - 0.41-4
308897
- related: #1016810
308897
  cgrulesengd returned
308897
308897
* Fri Feb 14 2014 jchaloup <jchaloup@redhat.com> - 0.41-3
308897
- related: #1052471
308897
  runlibcgrouptest fix, ignore systemd mount
308897
308897
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 0.41-2
308897
- Mass rebuild 2014-01-24
308897
308897
* Tue Jan 14 2014 Peter Schiffer <pschiffe@redhat.com> 0.41-1
308897
- resolves: #1052471
308897
  updated to 0.41
308897
308897
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.40-1.rc1.3
308897
- Mass rebuild 2013-12-27
308897
308897
* Mon Nov  4 2013 Peter Schiffer <pschiffe@redhat.com> 0.40-0.rc1.3
308897
- related: #819568
308897
  fixed some coverity findings
308897
308897
* Fri Nov  1 2013 Peter Schiffer <pschiffe@redhat.com> 0.40-0.rc1.2
308897
- related: #1016810
308897
  returned creation of cgred group, which was removed in previous commit by mistage
308897
308897
* Fri Nov  1 2013 Peter Schiffer <pschiffe@redhat.com> 0.40-0.rc1.1
308897
- resolves: #819568, #740113
308897
  rebased to 0.40.rc1
308897
- resolves: #983264
308897
  rebuilt with full relro and PIE
308897
- resolves: #1016810
308897
  removed cgrulesengd daemon
308897
308897
* Fri Nov 23 2012 Peter Schiffer <pschiffe@redhat.com> - 0.38-3
308897
- resolves: #850183
308897
  scriptlets replaced with new systemd macros (thanks to vpavlin)
308897
- cleaned .spec file
308897
308897
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.38-2
308897
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
308897
308897
* Mon Feb 20 2012 Jan Safranek <jsafrane@redhat.com> 0.38-1
308897
- updated to 0.38
308897
308897
* Fri Feb  3 2012 Jan Safranek <jsafrane@redhat.com> 0.38-0.rc1
308897
- updated to 0.38.rc1
308897
308897
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.37.1-5
308897
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
308897
308897
* Mon May 30 2011 Jan Safranek <jsafrane@redhat.com> 0.37.1-4
308897
- fixed cgconfig service not to unmount stuff it did not mount
308897
- added better sample cgconfig.conf file to reflect systemd
308897
  mounting all controllers during boot (#702111)
308897
308897
* Wed May 25 2011 Ivana Hutarova Varekova <varekova@redhat.com> 0.37.1-3
308897
- split tools part from libcgroup package
308897
308897
* Fri Apr  8 2011 Jan Safranek <jsafrane@redhat.com> 0.37.1-2
308897
- Remove /cgroup directory, groups are created in /sys/fs/cgroup
308897
  (#694687)
308897
308897
* Thu Mar  3 2011 Jan Safranek <jsafrane@redhat.com> 0.37.1-1
308897
- Update to 0.37.1
308897
308897
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.37-3
308897
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
308897
308897
* Mon Jan 17 2011 Jan Safranek <jsafrane@redhat.com> 0.37-2
308897
- Create the 'cgred' group as system group, not as user
308897
- Fix cgclassify exit code
308897
308897
* Mon Dec 13 2010 Jan Safranek <jsafrane@redhat.com> 0.37-1
308897
- Update to 0.37
308897
- use /sys/fs/cgroup as default directory to mount control groups (and rely on
308897
  systemd mounting tmpfs there)
308897
308897
* Fri Nov 12 2010 Jan Safranek <jsafrane@redhat.com> 0.36.2-3
308897
- Ignore systemd hierarchy - it's now invisible to libcgroup (#627378)
308897
308897
* Mon Aug  2 2010 Jan Safranek <jsafrane@redhat.com> 0.36.2-2
308897
- Fix initscripts to report stopped cgconfig service as not running
308897
  (#619091)
308897
308897
* Tue Jun 22 2010 Jan Safranek <jsafrane@redhat.com> 0.36.2-1
308897
- Update to 0.36.2, fixing packaging the libraries (#605434)
308897
- Remove the dependency on redhat-lsb (#603578)
308897
308897
* Fri May 21 2010 Jan Safranek <jsafrane@redhat.com> 0.36-1
308897
- Update to 0.36.1
308897
308897
* Tue Mar  9 2010 Jan Safranek <jsafrane@redhat.com> 0.35-1
308897
- Update to 0.35.1
308897
- Separate pam module to its own subpackage
308897
308897
* Mon Jan 18 2010 Jan Safranek <jsafrane@redhat.com> 0.34-4
308897
- Added README.Fedora to describe initscript integration
308897
308897
* Mon Oct 19 2009 Jan Safranek <jsafrane@redhat.com> 0.34-3
308897
- Change the default configuration to mount everything to /cgroup
308897
308897
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.34-2
308897
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
308897
308897
* Tue Jul  7 2009 Jan Safranek <jsafrane@redhat.com> 0.34-1
308897
- Update to 0.34
308897
* Mon Mar 09 2009 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.33-3
308897
- Add a workaround for rt cgroup controller.
308897
* Mon Mar 09 2009 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.33-2
308897
- Change the cgconfig script to start earlier
308897
- Move the binaries to /bin and /sbin
308897
* Mon Mar 02 2009 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.33-1
308897
- Update to latest upstream
308897
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> 0.32.2-4
308897
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
308897
308897
* Mon Jan 05 2009 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.32.2-3
308897
- Fix redhat-lsb dependency
308897
* Mon Dec 29 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.32.2-2
308897
- Fix build dependencies
308897
* Mon Dec 29 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.32.2-1
308897
- Update to latest upstream
308897
* Thu Oct 23 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.32.1-1
308897
* Tue Feb 24 2009 Balbir Singh <balbir@linux.vnet.ibm.com> 0.33-1
308897
- Update to 0.33, spec file changes to add Makefiles and pam_cgroup module
308897
* Fri Oct 10 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.32-1
308897
- Update to latest upstream
308897
* Thu Sep 11 2008 Dhaval Giani <dhaval@linux-vnet.ibm.com> 0.31-1
308897
- Update to latest upstream
308897
* Sat Aug 2 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.1c-3
308897
- Change release to fix broken upgrade path
308897
* Wed Jun 11 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.1c-1
308897
- Update to latest upstream version
308897
* Tue Jun 3 2008 Balbir Singh <balbir@linux.vnet.ibm.com> 0.1b-3
308897
- Add post and postun. Also fix Requires for devel to depend on base n-v-r
308897
* Sat May 31 2008 Balbir Singh <balbir@linux.vnet.ibm.com> 0.1b-2
308897
- Fix makeinstall, Source0 and URL (review comments from Tom)
308897
* Mon May 26 2008 Balbir Singh <balbir@linux.vnet.ibm.com> 0.1b-1
308897
- Add a generatable spec file
308897
* Tue May 20 2008 Balbir Singh <balbir@linux.vnet.ibm.com> 0.1-1
308897
- Get the spec file to work
308897
* Tue May 20 2008 Dhaval Giani <dhaval@linux.vnet.ibm.com> 0.01-1
308897
- The first version of libcg