Remove logging to /var/run/tump and /var/run/wtmp
[platform/core/system/tlm.git] / packaging / tlm.spec
1 # enable debug features such as control environment variables
2 # WARNING! do not use for production builds as it will break security
3 %define debug_build 0
4 %define efl 0
5
6 %if %{debug_build} == 1
7 %define extra_config_options1 --enable-gtk-doc --enable-debug
8 %endif
9
10 %if %{efl} == 1
11 %define extra_config_options1 --enable-examples
12 %endif
13
14
15 Name:    tlm
16 Summary: Login manager for Tizen
17 Version: 1.0.3
18 Release: 1
19 Group:   System/Service
20 License: LGPL-2.1+
21 URL:     https://github.com/01org/tlm
22 Source:     %{name}-%{version}.tar.gz
23 Source1001: %{name}.manifest
24 Requires(post): /sbin/ldconfig
25 Requires(post): systemd
26 Requires(postun): /sbin/ldconfig
27 Requires(postun): systemd
28 Requires(post): tizen-platform-config
29 Requires: libsystemd
30 Requires: pam-modules-extra
31 BuildRequires: pkgconfig(glib-2.0) >= 2.38
32 BuildRequires: pkgconfig(gobject-2.0)
33 BuildRequires: pkgconfig(gio-2.0)
34 BuildRequires: pkgconfig(gio-unix-2.0)
35 BuildRequires: pkgconfig(gmodule-2.0)
36 BuildRequires: pkgconfig(libgum)
37 BuildRequires: pam-devel
38 BuildRequires:  pkgconfig(libtzplatform-config)
39 %if %{debug_build} == 1
40 BuildRequires: gtk-doc
41 %endif
42 %if %{efl} == 1
43 BuildRequires: pkgconfig(elementary)
44 %endif
45
46 %description
47 TLM is a daemon that handles user logins in a multi-user, multi-seat system by
48 authenticating the users through PAM, and setting up, launching, and tracking
49 user sessions.
50
51 %package devel
52 Summary:    Dev files for %{name}
53 Group:      Development/Libraries
54 Requires:   %{name} = %{version}-%{release}
55
56 %description devel
57 Development files for %{name}.
58
59
60 %package doc
61 Summary:    Doc files for %{name}
62 Group:      Development/Libraries
63 Requires:   %{name} = %{version}-%{release}
64
65 %description doc
66 Documentation files for %{name}.
67
68
69 %package config-common
70 Summary:    Common configuration files
71 Group:      System/Service
72 Requires:   %{name} = %{version}-%{release}
73 Provides:   %{name}-config
74
75 %description config-common
76 Tiny Login Manager common configuration files.
77
78 %package config-common-singleseat
79 Summary:    Common configuration files with single seat
80 Group:      System/Service
81 Requires:   %{name} = %{version}-%{release}
82 Provides:   %{name}-config
83
84 %description config-common-singleseat
85 Tiny Login Manager common configuration files with signle seat.
86
87 %prep
88 %setup -q -n %{name}-%{version}
89 cp %{SOURCE1001} .
90
91
92 %build
93 # for Address space layout randomization
94 export CFLAGS="$CFLAGS -fPIE"
95 export LDFLAGS="$LDFLAGS -pie"
96
97 %if %{debug_build} == 1
98 ./autogen.sh
99 %endif
100 %reconfigure --enable-gum \
101              %{?extra_config_options1:%extra_config_options1} \
102              %{?extra_config_options2:%extra_config_options2}
103 %__make %{?_smp_mflags}
104
105
106 %install
107 rm -rf %{buildroot}
108 %make_install
109 rm -f %{buildroot}%{_sysconfdir}/tlm.conf
110 install -m 755 -d %{buildroot}%{_unitdir}
111 install -m 644 data/tlm.service %{buildroot}%{_unitdir}
112 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
113 ln -s ../tlm.service %{buildroot}%{_unitdir}/multi-user.target.wants/tlm.service
114 install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d
115 install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
116 install -m 644 data/tlm-default-login %{buildroot}%{_sysconfdir}/pam.d/
117 install -m 644 data/tlm-system-login %{buildroot}%{_sysconfdir}/pam.d/
118 install -m 755 -d %{buildroot}%{_sysconfdir}/session.d
119 install -m 644 data/tizen-common/etc/tlm*.conf %{buildroot}%{_sysconfdir}
120 install -m 755 data/tizen-common/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/
121 chmod 700 %{buildroot}%{_bindir}/%{name}
122 chmod 700 %{buildroot}%{_bindir}/%{name}-sessiond
123 chmod 700 %{buildroot}%{_bindir}/%{name}-launcher
124
125 %post
126 /sbin/ldconfig
127
128 %postun -p /sbin/ldconfig
129
130
131 %post config-common
132 if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
133         ln -s -f /etc/tlm-default.conf /etc/tlm.conf
134 fi
135 systemctl enable tlm
136 systemctl daemon-reload
137
138 %preun config-common
139 if [ $1 == 0 ]; then
140         systemctl disable tlm
141         systemctl daemon-reload
142 fi
143
144 %postun config-common
145 if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
146         rm -f /etc/tlm.conf
147 fi
148
149
150 %post config-common-singleseat
151 if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
152         ln -s -f /etc/tlm-singleseat.conf /etc/tlm.conf
153 fi
154 #systemctl enable tlm
155 #systemctl daemon-reload
156
157 #%preun config-common-singleseat
158 #if [ $1 == 0 ]; then
159         #systemctl disable tlm
160         #systemctl daemon-reload
161 #fi
162
163 %postun config-common-singleseat
164 if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
165         rm -f /etc/tlm.conf
166 fi
167
168 %files
169 %defattr(-,root,root,-)
170 %manifest %{name}.manifest
171 %license COPYING
172 %doc AUTHORS NEWS README
173 %{_bindir}/%{name}
174 %{_bindir}/%{name}-sessiond
175 %{_bindir}/%{name}-client
176 %{_bindir}/%{name}-launcher
177 %{_libdir}/lib%{name}*.so.*
178 %{_libdir}/%{name}/plugins/*.so*
179 %{_unitdir}/tlm.service
180 %{_unitdir}/multi-user.target.wants/tlm.service
181 %config %{_sysconfdir}/pam.d/tlm-login
182 %config %{_sysconfdir}/pam.d/tlm-default-login
183 %config %{_sysconfdir}/pam.d/tlm-system-login
184
185
186 %files devel
187 %defattr(-,root,root,-)
188 %{_includedir}/%{name}/*.h
189 %{_libdir}/lib%{name}*.so
190 %{_libdir}/pkgconfig/%{name}.pc
191 %if %{efl} == 1
192 %{_bindir}/tlm-ui
193 %endif
194
195
196 %files doc
197 %defattr(-,root,root,-)
198 %{_datadir}/gtk-doc/html/tlm/*
199
200
201 %files config-common
202 %defattr(-,root,root,-)
203 %manifest %{name}.manifest
204 %license COPYING
205 %config(noreplace) %{_sysconfdir}/tlm-default.conf
206 %config(noreplace) %{_sysconfdir}/session.d/*
207
208 %files config-common-singleseat
209 %defattr(-,root,root,-)
210 %manifest %{name}.manifest
211 %license COPYING
212 %config(noreplace) %{_sysconfdir}/tlm-singleseat.conf