5827764bb21d99f334d0d0ef883a2ebee9ee103e
[platform/core/security/libprivilege-control.git] / packaging / libprivilege-control.spec
1 %define udev_libdir /usr/lib/udev
2
3 Name:       libprivilege-control
4 Summary:    Library to control privilege of application
5 Version:    0.0.14
6 Release:    1
7 Group:      System/Security
8 License:    Apache 2.0
9 Source0:    %{name}-%{version}.tar.gz
10 Source1:    %{name}-conf.manifest
11 Source2:    smack-default-labeling.service
12 BuildRequires: cmake
13 BuildRequires: pkgconfig(libsmack)
14
15 %description
16 development package of library to control privilege of in-house application
17
18 %package devel
19 Summary:    Control privilege of application (devel)
20 Group:      Development/Libraries
21 Requires:   %{name} = %{version}-%{release}
22
23 %description devel
24 Library to control privilege of application (devel)
25
26 %package conf
27 Summary:    Control privilege of application files
28 Group:      Development/Libraries
29 Requires:   %{name} = %{version}-%{release}
30 Requires:   /usr/bin/chsmack
31
32 %description conf
33 Library to control privilege of application files
34
35
36 %prep
37 %setup -q
38
39 %build
40 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
41
42 make %{?jobs:-j%jobs}
43
44 %install
45 rm -rf %{buildroot}
46 mkdir -p %{buildroot}/usr/share/license
47 cp LICENSE %{buildroot}/usr/share/license/%{name}
48 %make_install
49
50 mkdir -p %{buildroot}/etc
51 mv %{buildroot}/opt/etc/passwd %{buildroot}/etc/passwd
52 mv %{buildroot}/opt/etc/group %{buildroot}/etc/group
53
54 cp -a %{SOURCE1} %{buildroot}%{_datadir}/
55 install -D -d %{buildroot}/etc/rc.d/rc3.d/
56 install -D -d %{buildroot}/etc/rc.d/rc4.d/
57 ln -sf ../init.d/smack_default_labeling %{buildroot}/etc/rc.d/rc3.d/S45smack_default_labeling
58 ln -sf ../init.d/smack_default_labeling %{buildroot}/etc/rc.d/rc4.d/S45smack_default_labeling
59
60 mkdir -p %{buildroot}%{_libdir}/systemd/system/basic.target.wants
61 install -m 644 %{SOURCE2} %{buildroot}%{_libdir}/systemd/system/
62 ln -s ../smack-default-labeling.service %{buildroot}%{_libdir}/systemd/system/basic.target.wants/
63
64 %post
65 if [ ! -e "/home/app" ]
66 then
67         mkdir -p /home/app
68 fi
69
70 if [ ! -e "/home/developer" ]
71 then
72         mkdir -p /home/developer
73 fi
74
75 chown 5000:5000 /home/app
76 chmod 755 /home/app
77 chown 5100:5100 /home/developer
78 chmod 755 /home/developer
79
80 if [ ! -e "/usr/share/privilege-control" ]
81 then
82         mkdir -p /usr/share/privilege-control/
83 fi
84
85 ln -s %{udev_libdir}/rules.d/95-permissions-slp.rules /lib/udev/rules.d/95-permissions-slp.rules
86
87 %files
88 %{_libdir}/*.so.*
89 %{_bindir}/slp-su
90 %{_datarootdir}/privilege-control/*
91 %{udev_libdir}/rules.d/*
92 %{_datadir}/license/%{name}
93
94 %files conf
95 /etc/group
96 /etc/passwd
97 /opt/etc/smack/*
98 %attr(755,root,root) /etc/rc.d/*
99 %{_libdir}/systemd/system/smack-default-labeling.service
100 %{_libdir}/systemd/system/basic.target.wants/smack-default-labeling.service
101 %manifest %{_datadir}/%{name}-conf.manifest
102
103 %files devel
104 %{_includedir}/*.h
105 %{_libdir}/*.so
106 %{_libdir}/pkgconfig/*.pc