rework deprecated g_type_class_add_private()
[platform/core/system/tlm.git] / packaging / tlm.spec
old mode 100644 (file)
new mode 100755 (executable)
index 13138b1..3682d96
 %endif
 
 
-Name: tlm
+Name:    tlm
 Summary: Login manager for Tizen
-Version: 1.0.0
-Release: 0
-Group: System/Service
+Version: 1.0.3
+Release: 1
+Group:   System/Service
 License: LGPL-2.1+
-Source: %{name}-%{version}.tar.gz
-URL: https://github.com/01org/tlm
+URL:     https://github.com/01org/tlm
+Source:     %{name}-%{version}.tar.gz
 Source1001: %{name}.manifest
-Requires(post): /sbin/ldconfig, systemd
-Requires(postun): /sbin/ldconfig, systemd
-Requires: gumd
+Requires(post): /sbin/ldconfig
+Requires(post): systemd
+Requires(postun): /sbin/ldconfig
+Requires(postun): systemd
+Requires(post): tizen-platform-config
 Requires: libsystemd
-BuildRequires: pkgconfig(glib-2.0) >= 2.30
+Requires: pam-modules-extra
+BuildRequires: pkgconfig(glib-2.0) >= 2.38
 BuildRequires: pkgconfig(gobject-2.0)
 BuildRequires: pkgconfig(gio-2.0)
 BuildRequires: pkgconfig(gio-unix-2.0)
 BuildRequires: pkgconfig(gmodule-2.0)
 BuildRequires: pkgconfig(libgum)
 BuildRequires: pam-devel
+BuildRequires:  pkgconfig(libtzplatform-config)
 %if %{debug_build} == 1
 BuildRequires: gtk-doc
 %endif
@@ -39,30 +43,46 @@ BuildRequires: gtk-doc
 BuildRequires: pkgconfig(elementary)
 %endif
 
-
 %description
-%{summary} files
-
+TLM is a daemon that handles user logins in a multi-user, multi-seat system by
+authenticating the users through PAM, and setting up, launching, and tracking
+user sessions.
 
 %package devel
-Summary:    Development files for %{name}
+Summary:    Dev files for %{name}
 Group:      Development/Libraries
 Requires:   %{name} = %{version}-%{release}
 
-
 %description devel
-%{summary} files
+Development files for %{name}.
 
 
 %package doc
-Summary:    Documentation files for %{name}
+Summary:    Doc files for %{name}
 Group:      Development/Libraries
 Requires:   %{name} = %{version}-%{release}
 
-
 %description doc
-%{summary} files
+Documentation files for %{name}.
+
+
+%package config-common
+Summary:    Common configuration files
+Group:      System/Service
+Requires:   %{name} = %{version}-%{release}
+Provides:   %{name}-config
+
+%description config-common
+Tiny Login Manager common configuration files.
 
+%package config-common-singleseat
+Summary:    Common configuration files with single seat
+Group:      System/Service
+Requires:   %{name} = %{version}-%{release}
+Provides:   %{name}-config
+
+%description config-common-singleseat
+Tiny Login Manager common configuration files with signle seat.
 
 %prep
 %setup -q -n %{name}-%{version}
@@ -70,37 +90,80 @@ cp %{SOURCE1001} .
 
 
 %build
+# for Address space layout randomization
+export CFLAGS="$CFLAGS -fPIE"
+export LDFLAGS="$LDFLAGS -pie"
+
+%if %{debug_build} == 1
+./autogen.sh
+%endif
 %reconfigure --enable-gum \
              %{?extra_config_options1:%extra_config_options1} \
              %{?extra_config_options2:%extra_config_options2}
-make %{?_smp_mflags}
+%__make %{?_smp_mflags}
 
 
 %install
 rm -rf %{buildroot}
 %make_install
+rm -f %{buildroot}%{_sysconfdir}/tlm.conf
 install -m 755 -d %{buildroot}%{_unitdir}
 install -m 644 data/tlm.service %{buildroot}%{_unitdir}
+mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
+ln -s ../tlm.service %{buildroot}%{_unitdir}/multi-user.target.wants/tlm.service
 install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d
 install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
 install -m 644 data/tlm-default-login %{buildroot}%{_sysconfdir}/pam.d/
 install -m 644 data/tlm-system-login %{buildroot}%{_sysconfdir}/pam.d/
-install -m 644 data/multi-seat/etc/tlm.conf %{buildroot}%{_sysconfdir}
 install -m 755 -d %{buildroot}%{_sysconfdir}/session.d
-install -m 755 data/multi-seat/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/
-
+install -m 644 data/tizen-common/etc/tlm*.conf %{buildroot}%{_sysconfdir}
+install -m 755 data/tizen-common/etc/session.d/* %{buildroot}%{_sysconfdir}/session.d/
+chmod 700 %{buildroot}%{_bindir}/%{name}
+chmod 700 %{buildroot}%{_bindir}/%{name}-sessiond
+chmod 700 %{buildroot}%{_bindir}/%{name}-launcher
 
 %post
 /sbin/ldconfig
-/usr/bin/systemctl enable tlm
-/usr/bin/systemctl daemon-reload
 
+%postun -p /sbin/ldconfig
 
-%postun
-/sbin/ldconfig
-/usr/bin/systemctl disable tlm
-/usr/bin/systemctl daemon-reload
 
+%post config-common
+if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
+       ln -s -f /etc/tlm-default.conf /etc/tlm.conf
+fi
+systemctl enable tlm
+systemctl daemon-reload
+
+%preun config-common
+if [ $1 == 0 ]; then
+       systemctl disable tlm
+       systemctl daemon-reload
+fi
+
+%postun config-common
+if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
+       rm -f /etc/tlm.conf
+fi
+
+
+%post config-common-singleseat
+if [ ! -e /etc/tlm.conf ] || [ -h /etc/tlm.conf ]; then
+       ln -s -f /etc/tlm-singleseat.conf /etc/tlm.conf
+fi
+#systemctl enable tlm
+#systemctl daemon-reload
+
+#%preun config-common-singleseat
+#if [ $1 == 0 ]; then
+       #systemctl disable tlm
+       #systemctl daemon-reload
+#fi
+
+%postun config-common-singleseat
+if [ -h /etc/tlm.conf ] && [ $1 == 0 ]; then
+       rm -f /etc/tlm.conf
+fi
 
 %files
 %defattr(-,root,root,-)
@@ -110,14 +173,14 @@ install -m 755 data/multi-seat/etc/session.d/* %{buildroot}%{_sysconfdir}/sessio
 %{_bindir}/%{name}
 %{_bindir}/%{name}-sessiond
 %{_bindir}/%{name}-client
+%{_bindir}/%{name}-launcher
 %{_libdir}/lib%{name}*.so.*
 %{_libdir}/%{name}/plugins/*.so*
 %{_unitdir}/tlm.service
-%config(noreplace) %{_sysconfdir}/tlm.conf
+%{_unitdir}/multi-user.target.wants/tlm.service
 %config %{_sysconfdir}/pam.d/tlm-login
 %config %{_sysconfdir}/pam.d/tlm-default-login
 %config %{_sysconfdir}/pam.d/tlm-system-login
-%config(noreplace) %{_sysconfdir}/session.d/*
 
 
 %files devel
@@ -133,3 +196,17 @@ install -m 755 data/multi-seat/etc/session.d/* %{buildroot}%{_sysconfdir}/sessio
 %files doc
 %defattr(-,root,root,-)
 %{_datadir}/gtk-doc/html/tlm/*
+
+
+%files config-common
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license COPYING
+%config(noreplace) %{_sysconfdir}/tlm-default.conf
+%config(noreplace) %{_sysconfdir}/session.d/*
+
+%files config-common-singleseat
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license COPYING
+%config(noreplace) %{_sysconfdir}/tlm-singleseat.conf