1 |
%define libsepolver 2.1.7-1 |
2 |
%define libselinuxver 2.1.11-1 |
3 |
|
4 |
|
5 |
Summary: SELinux binary policy manipulation library |
6 |
Name: libsemanage |
7 |
Version: 2.1.8 |
8 |
Release: %mkrel 1 |
9 |
License: GPLv2+ |
10 |
Group: System/Libraries |
11 |
URL: http://www.selinuxproject.org |
12 |
Source0: http://www.nsa.gov/selinux/archives/libsemanage-%{version}.tgz |
13 |
Patch0: libsemanage-rhat.patch |
14 |
BuildRequires: bison |
15 |
BuildRequires: flex |
16 |
BuildRequires: selinux-devel >= %{libselinuxver} |
17 |
BuildRequires: sepol-devel >= %{libsepolver} |
18 |
BuildRequires: ustr-static-devel |
19 |
BuildRequires: bzip2-devel |
20 |
BuildRequires: swig |
21 |
|
22 |
|
23 |
%description |
24 |
Security-enhanced Linux is a feature of the Linux® kernel and a number |
25 |
of utilities with enhanced security functionality designed to add |
26 |
mandatory access controls to Linux. The Security-enhanced Linux |
27 |
kernel contains new architectural components originally developed to |
28 |
improve the security of the Flask operating system. These |
29 |
architectural components provide general support for the enforcement |
30 |
of many kinds of mandatory access control policies, including those |
31 |
based on the concepts of Type Enforcement®, Role-based Access |
32 |
Control, and Multi-level Security. |
33 |
|
34 |
libsemanage provides an API for the manipulation of SELinux binary policies. |
35 |
It is used by checkpolicy (the policy compiler) and similar tools, as well |
36 |
as by programs like load_policy that need to perform specific transformations |
37 |
on binary policies such as customizing policy boolean settings. |
38 |
|
39 |
%package -n %{mklibname semanage 1} |
40 |
Summary: SELinux binary policy manipulation library |
41 |
Group: System/Libraries |
42 |
Provides: semanage = %{version}-%{release} |
43 |
|
44 |
%description -n %{mklibname semanage 1} |
45 |
libsemanage provides an API for the manipulation of SELinux binary policies. |
46 |
It is used by checkpolicy (the policy compiler) and similar tools, as well |
47 |
as by programs like load_policy that need to perform specific transformations |
48 |
on binary policies such as customizing policy boolean settings. |
49 |
|
50 |
%package -n %{mklibname semanage -d} |
51 |
Summary: Header files and libraries used to build policy manipulation tools |
52 |
Group: Development/C |
53 |
Requires: %{mklibname semanage 1} = %{version}-%{release} |
54 |
Provides: semanage-devel = %{version}-%{release} |
55 |
Obsoletes: %{mklibname semanage 1 -d} |
56 |
|
57 |
%description -n %{mklibname semanage -d} |
58 |
The libsemanage-devel package contains the libraries and header files |
59 |
needed for developing applications that manipulate binary policies. |
60 |
|
61 |
%package -n %{mklibname semanage -d -s} |
62 |
Summary: Static libraries used to build policy manipulation tools |
63 |
Group: Development/C |
64 |
Requires: %{mklibname semanage -d} = %{version}-%{release} |
65 |
Provides: semanage-static-devel = %{version}-%{release} |
66 |
Obsoletes: %{mklibname semanage 1 -d -s} |
67 |
|
68 |
%description -n %{mklibname semanage -d -s} |
69 |
The libsemanage-devel package contains the static libraries |
70 |
needed for developing applications that manipulate binary policies. |
71 |
|
72 |
%package -n python-semanage |
73 |
Summary: Python bindings for %{name} |
74 |
Group: Development/Python |
75 |
%py_requires -d |
76 |
|
77 |
%description -n python-semanage |
78 |
This package contains python bindings for %{name}. |
79 |
|
80 |
%prep |
81 |
%setup -q |
82 |
%patch0 -p2 -b .rhat |
83 |
|
84 |
%build |
85 |
%{make} clean |
86 |
%{make} CFLAGS="-fPIC %{optflags}" CC=gcc |
87 |
|
88 |
%install |
89 |
rm -rf ${RPM_BUILD_ROOT} |
90 |
mkdir -p ${RPM_BUILD_ROOT}/%{_lib} |
91 |
mkdir -p ${RPM_BUILD_ROOT}/%{_libdir} |
92 |
mkdir -p ${RPM_BUILD_ROOT}%{_includedir} |
93 |
make DESTDIR="${RPM_BUILD_ROOT}" LIBDIR="${RPM_BUILD_ROOT}%{_libdir}" SHLIBDIR="${RPM_BUILD_ROOT}/%{_lib}" install install-pywrap |
94 |
|
95 |
%clean |
96 |
rm -rf %{buildroot} |
97 |
|
98 |
%files -n %{mklibname semanage 1} |
99 |
%defattr(-,root,root) |
100 |
%config(noreplace) /etc/selinux/semanage.conf |
101 |
/%{_lib}/libsemanage.so.1 |
102 |
|
103 |
%files -n %{mklibname semanage -d} |
104 |
%defattr(-,root,root) |
105 |
%{_libdir}/libsemanage.so |
106 |
%{_libdir}/pkgconfig/libsemanage.pc |
107 |
%dir %{_includedir}/semanage |
108 |
%{_includedir}/semanage/*.h |
109 |
%{_mandir}/man3/* |
110 |
%{_mandir}/man5/* |
111 |
|
112 |
%files -n %{mklibname semanage -d -s} |
113 |
%defattr(-,root,root) |
114 |
%{_libdir}/libsemanage.a |
115 |
|
116 |
%files -n python-semanage |
117 |
%defattr(-,root,root) |
118 |
%{_libdir}/python*/site-packages/* |
119 |
|
120 |
|