[Release] libprivilege-control_0.0.27.TIZEN
[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.27.TIZEN
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 BuildRequires: pkgconfig(dlog)
15
16 %description
17 development package of library to control privilege of in-house application
18
19 %package devel
20 Summary:    Control privilege of application (devel)
21 Group:      Development/Libraries
22 Requires:   %{name} = %{version}-%{release}
23
24 %description devel
25 Library to control privilege of application (devel)
26
27 %package conf
28 Summary:    Control privilege of application files
29 Group:      Development/Libraries
30 Requires:   %{name} = %{version}-%{release}
31 Requires:   /usr/bin/chsmack
32
33 %description conf
34 Library to control privilege of application files
35
36
37 %prep
38 %setup -q
39
40 %build
41 export CFLAGS="${CFLAGS} -Wno-implicit-function-declaration"
42 %cmake . -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}
43
44 make %{?jobs:-j%jobs}
45
46 %install
47 rm -rf %{buildroot}
48 mkdir -p %{buildroot}/usr/share/license
49 cp LICENSE %{buildroot}/usr/share/license/%{name}
50 %make_install
51
52 mkdir -p %{buildroot}/etc
53 mv %{buildroot}/opt/etc/passwd %{buildroot}/etc/passwd
54 mv %{buildroot}/opt/etc/group %{buildroot}/etc/group
55
56 cp -a %{SOURCE1} %{buildroot}%{_datadir}/
57 install -D -d %{buildroot}/etc/rc.d/rc3.d/
58 install -D -d %{buildroot}/etc/rc.d/rc4.d/
59 ln -sf ../init.d/smack_default_labeling %{buildroot}/etc/rc.d/rc3.d/S45smack_default_labeling
60 ln -sf ../init.d/smack_default_labeling %{buildroot}/etc/rc.d/rc4.d/S45smack_default_labeling
61 ln -sf ../init.d/smack_rules %{buildroot}/etc/rc.d/rc3.d/S02smack_rules
62 ln -sf ../init.d/smack_rules %{buildroot}/etc/rc.d/rc4.d/S02smack_rules
63
64 mkdir -p %{buildroot}/usr/lib/systemd/system/basic.target.wants
65 install -m 644 %{SOURCE2} %{buildroot}/usr/lib/systemd/system/
66 ln -s ../smack-default-labeling.service %{buildroot}/usr/lib/systemd/system/basic.target.wants/
67
68 %post
69 if [ ! -e "/home/app" ]
70 then
71         mkdir -p /home/app
72 fi
73
74 if [ ! -e "/home/developer" ]
75 then
76         mkdir -p /home/developer
77 fi
78
79 chown 5000:5000 /home/app
80 chmod 755 /home/app
81 chown 5100:5100 /home/developer
82 chmod 755 /home/developer
83
84 if [ ! -e "/usr/share/privilege-control" ]
85 then
86         mkdir -p /usr/share/privilege-control/
87 fi
88
89
90 %files
91 %{_libdir}/*.so.*
92 %{_bindir}/slp-su
93 %{_datarootdir}/privilege-control/*
94 #%{udev_libdir}/rules.d/*
95 #%attr(755,root,root) %{udev_libdir}/uname_env
96 %{_datadir}/license/%{name}
97
98 %files conf
99 /etc/group
100 /etc/passwd
101 /opt/etc/smack/*
102 %attr(755,root,root) /etc/rc.d/*
103 /usr/lib/systemd/system/smack-default-labeling.service
104 /usr/lib/systemd/system/basic.target.wants/smack-default-labeling.service
105 %manifest %{_datadir}/%{name}-conf.manifest
106 /opt/dbspace/.privilege_control*.db
107
108 %files devel
109 %{_includedir}/*.h
110 %{_libdir}/*.so
111 %{_libdir}/pkgconfig/*.pc