1 |
%define libsepolver 2.0.11-1 |
2 |
%define libselinuxver 2.0.0-1 |
3 |
|
4 |
Summary: SELinux binary policy manipulation library |
5 |
Name: libsemanage |
6 |
Version: 2.0.31 |
7 |
Release: %mkrel 3 |
8 |
License: GPLv2+ |
9 |
Group: System/Libraries |
10 |
URL: http://www.selinuxproject.org |
11 |
Source0: http://www.nsa.gov/selinux/archives/libsemanage-%{version}.tgz |
12 |
#Source1: http://www.nsa.gov/selinux/archives/libsemanage-%{version}.tgz.sign |
13 |
Patch0: libsemanage-rhat.patch |
14 |
#Provides: libsemanage.so |
15 |
BuildRequires: bison |
16 |
BuildRequires: flex |
17 |
BuildRequires: selinux-devel >= %{libselinuxver} |
18 |
BuildRequires: sepol-devel >= %{libsepolver} |
19 |
BuildRequires: ustr-static-devel |
20 |
BuildRequires: bzip2-devel |
21 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-builroot |
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 -p1 |
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 |
%if %mdkversion < 200900 |
99 |
%post -n %{mklibname semanage 1} -p /sbin/ldconfig |
100 |
%endif |
101 |
|
102 |
%if %mdkversion < 200900 |
103 |
%postun -n %{mklibname semanage 1} -p /sbin/ldconfig |
104 |
%endif |
105 |
|
106 |
%files -n %{mklibname semanage 1} |
107 |
%defattr(-,root,root) |
108 |
%config(noreplace) /etc/selinux/semanage.conf |
109 |
/%{_lib}/libsemanage.so.1 |
110 |
|
111 |
%files -n %{mklibname semanage -d} |
112 |
%defattr(-,root,root) |
113 |
%{_libdir}/libsemanage.so |
114 |
%dir %{_includedir}/semanage |
115 |
%{_includedir}/semanage/*.h |
116 |
%{_mandir}/man3/* |
117 |
|
118 |
%files -n %{mklibname semanage -d -s} |
119 |
%defattr(-,root,root) |
120 |
%{_libdir}/libsemanage.a |
121 |
|
122 |
%files -n python-semanage |
123 |
%defattr(-,root,root) |
124 |
%{_libdir}/python*/site-packages/* |
125 |
|
126 |
|