1 |
dmorgan |
50028 |
%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 |
|
|
|