# # spec file for package libsemanage (Version 2.0.31) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define libsepol_ver 2.0.20 %define libselinux_ver 2.0.0 BuildRequires: bison flex libustr-devel python-devel swig BuildRequires: libselinux-devel >= %{libselinux_ver} BuildRequires: libsepol-devel >= %{libsepol_ver} Name: libsemanage Version: 2.0.31 Release: 1 Url: http://www.nsa.gov/selinux/ License: LGPL v2.1 only Group: System/Libraries Summary: SELinux binary policy manipulation library Source: %{name}-%{version}.tar.bz2 Patch0: %{name}-%{version}-rhat.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %define debug_package_requires libsemanage1 = %{version}-%{release} %description Security-enhanced Linux is a feature of the Linux(R) kernel and a number of utilities with enhanced security functionality designed to add mandatory access controls to Linux. The Security-enhanced Linux kernel contains new architectural components originally developed to improve the security of the Flask operating system. These architectural components provide general support for the enforcement of many kinds of mandatory access control policies, including those based on the concepts of Type Enforcement(R), Role-based Access Control, and Multi-level Security. libsemanage provides an API for the manipulation of SELinux binary policies. It is used by checkpolicy (the policy compiler) and similar tools, as well as by programs like load_policy that need to perform specific transformations on binary policies such as customizing policy boolean settings. %package -n libsemanage1 License: LGPL v2.1 only Group: System/Libraries Summary: SELinux binary policy manipulation library %description -n libsemanage1 Security-enhanced Linux is a feature of the Linux(R) kernel and a number of utilities with enhanced security functionality designed to add mandatory access controls to Linux. The Security-enhanced Linux kernel contains new architectural components originally developed to improve the security of the Flask operating system. These architectural components provide general support for the enforcement of many kinds of mandatory access control policies, including those based on the concepts of Type Enforcement(R), Role-based Access Control, and Multi-level Security. libsemanage provides an API for the manipulation of SELinux binary policies. It is used by checkpolicy (the policy compiler) and similar tools, as well as by programs like load_policy that need to perform specific transformations on binary policies such as customizing policy boolean settings. %package devel License: LGPL v2.1 only Summary: SELinux binary policy manipulation library Group: System/Libraries Requires: libsemanage1 = %{version} libustr-devel %description devel Security-enhanced Linux is a feature of the Linux(R) kernel and a number of utilities with enhanced security functionality designed to add mandatory access controls to Linux. The Security-enhanced Linux kernel contains new architectural components originally developed to improve the security of the Flask operating system. These architectural components provide general support for the enforcement of many kinds of mandatory access control policies, including those based on the concepts of Type Enforcement(R), Role-based Access Control, and Multi-level Security. libsemanage provides an API for the manipulation of SELinux binary policies. It is used by checkpolicy (the policy compiler) and similar tools, as well as by programs like load_policy that need to perform specific transformations on binary policies such as customizing policy boolean settings. %package -n python-semanage License: LGPL v2.1 only Summary: SELinux binary policy manipulation library Group: System/Libraries Requires: libsemanage1 = %{version} %description -n python-semanage Security-enhanced Linux is a feature of the Linux® kernel and a number of utilities with enhanced security functionality designed to add mandatory access controls to Linux. The Security-enhanced Linux kernel contains new architectural components originally developed to improve the security of the Flask operating system. These architectural components provide general support for the enforcement of many kinds of mandatory access control policies, including those based on the concepts of Type Enforcement®, Role-based Access Control, and Multi-level Security. libsemanage provides an API for the manipulation of SELinux binary policies. It is used by checkpolicy (the policy compiler) and similar tools, as well as by programs like load_policy that need to perform specific transformations on binary policies such as customizing policy boolean settings. %prep %setup -q %patch0 -p1 %build make %{?jobs:-j%jobs} CFLAGS="$RPM_OPT_FLAGS" swigify make %{?jobs:-j%jobs} CFLAGS="$RPM_OPT_FLAGS" LIBDIR="%{_libdir}" SHLIBDIR="%{_lib}" all pywrap %install mkdir -p $RPM_BUILD_ROOT/%{_lib} mkdir -p $RPM_BUILD_ROOT%{_libdir} mkdir -p $RPM_BUILD_ROOT%{_includedir} make DESTDIR="$RPM_BUILD_ROOT" LIBDIR="$RPM_BUILD_ROOT%{_libdir}" SHLIBDIR="$RPM_BUILD_ROOT/%{_lib}" install install-pywrap %clean rm -rf $RPM_BUILD_ROOT %post -n libsemanage1 -p /sbin/ldconfig %postun -n libsemanage1 -p /sbin/ldconfig %files -n libsemanage1 %defattr(-,root,root) %dir %{_sysconfdir}/selinux %config(noreplace) %{_sysconfdir}/selinux/semanage.conf /%{_lib}/libsemanage.so.* %files devel %defattr(-,root,root) %{_libdir}/libsemanage.a %{_libdir}/libsemanage.so %dir %{_includedir}/semanage %{_includedir}/semanage/*.h %{_mandir}/man3/* %files -n python-semanage %defattr(-,root,root) %{_libdir}/python*/site-packages/* %changelog * Wed Jan 14 2009 prusnak@suse.cz - updated to 2.0.31 * policy module compression (bzip) support from Dan Walsh * hard link files between tmp/active/previous from Dan Walsh * add semanage_mls_enabled() interface from Stephen Smalley * Mon Dec 01 2008 prusnak@suse.cz - updated to 2.0.29 * add USER to lines to homedir_template context file * add compression support * allow fcontext and seuser changes without rebuilding the policy * don't rebuild on fcontext or seuser modifications * modify genhomedircon to skip %%groupname entries * Wed Oct 22 2008 mrueckert@suse.de - fix debug_packages_requires define * Tue Sep 23 2008 prusnak@suse.cz - require only version, not release [bnc#429053] * Tue Sep 02 2008 prusnak@suse.cz - updated to 2.0.27 * Modify genhomedircon to skip %%groupname entries. Ultimately we need to expand them to the list of users to support per-role homedir labeling when using the %%groupname syntax. - updated to 2.0.26 * Fix bug in genhomedircon fcontext matches logic from Dan Walsh. Strip any trailing slash before appending /*$. * Fri Aug 01 2008 ro@suse.de - fix requires for debuginfo package * Tue Jul 15 2008 prusnak@suse.cz - initial version 2.0.25 * based on Fedora package by Dan Walsh