Remove unnecessary setting
[platform/core/system/sensord.git] / packaging / sensord.spec
index 81f613d..5448001 100644 (file)
 Name:       sensord
 Summary:    Sensor daemon
-Version:    1.0.0
-Release:    0
-Group:         System/Sensor Framework
+Version:    4.0.3
+Release:    1
+Group:      System/Sensor Framework
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
-Source1:       sensord.manifest
-Source2:       libsensord.manifest
+Source1:    sensord.service
+Source2:    sensord.socket
 
 BuildRequires:  cmake
 BuildRequires:  libattr-devel
 BuildRequires:  pkgconfig(dlog)
-BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(vconf)
 BuildRequires:  pkgconfig(libsystemd-daemon)
-BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(cynara-creds-socket)
 BuildRequires:  pkgconfig(cynara-client)
 BuildRequires:  pkgconfig(cynara-session)
 
-%define accel_state ON
-%define auto_rotation_state ON
-%define gyro_state ON
-%define proxi_state ON
-%define light_state ON
-%define geo_state ON
-%define pressure_state ON
-%define temperature_state ON
-%define ultraviolet_state ON
-%define orientation_state ON
-%define gravity_state ON
-%define linear_accel_state ON
-%define rv_state ON
-%define geomagnetic_rv_state ON
-%define gaming_rv_state ON
-%define tilt_state ON
-%define uncal_gyro_state ON
-%define bio_led_red_state ON
-%define build_test_suite ON
+Requires:   %{name}-dummy = %{version}-%{release}
+Provides:   %{name}-profile_mobile = %{version}-%{release}
+Provides:   %{name}-profile_wearable = %{version}-%{release}
+Provides:   %{name}-profile_ivi = %{version}-%{release}
+Provides:   %{name}-profile_common = %{version}-%{release}
+%global __provides_exclude ^.*-genuine\\.so.*$
 
 %description
-Sensor daemon
+This package provides the fully functional internal API library and the service daemon
+of the Sensor Framework. The library replaces the dummy library installed by %{name}-dummy.
 
-%package sensord
-Summary:    Sensor daemon
-Group:      System/Sensor Framework
-Requires:   %{name} = %{version}-%{release}
 
-%description sensord
-Sensor daemon
+%package    dummy
+Summary:    Sensor Framework 'dummy' library
+Provides:   %{name}-profile_tv = %{version}-%{release}
+# To support old-snapshot-based package builds
+Provides:   libsensor.so.2
 
-%package -n libsensord
-Summary:    Sensord library
-Group:      System/Libraries
-Requires:   %{name} = %{version}-%{release}
+%description dummy
+This package provides the dummy library of the sensor internal API.
+Installing %{name} replaces this dummy library with the actually functional library.
 
-%description -n libsensord
-Sensord library
 
-%package -n libsensord-devel
-Summary:    Sensord shared library
+%package    devel
+Summary:    Internal Sensor API (Development)
 Group:      System/Development
-Requires:   %{name} = %{version}-%{release}
+Requires:   %{name}-dummy = %{version}-%{release}
+# To support old-snapshot-based package builds
+#Provides:   libsensord-devel
+
+%description devel
+Internal Sensor API (Development)
 
-%description -n libsensord-devel
-Sensord shared library
 
-%package -n libsensord-plugins
-Summary:    Sensord plugin library
+%package -n sensor-hal-devel
+Summary:    Sensord HAL interface
 Group:      System/Development
-Requires:   %{name} = %{version}-%{release}
 
-%description -n libsensord-plugins
-Sensord plugin library
+%description -n sensor-hal-devel
+Sensord HAL interface
+
 
-%if %{build_test_suite} == "ON"
 %package -n sensor-test
 Summary:    Sensord library
 Group:      System/Testing
-Requires:   %{name} = %{version}-%{release}
 
 %description -n sensor-test
 Sensor functional testing
 
-%endif
 
 %prep
 %setup -q
-cp %{SOURCE1} .
-cp %{SOURCE2} .
-
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DACCEL=%{accel_state} \
-       -DGYRO=%{gyro_state} -DPROXI=%{proxi_state} -DLIGHT=%{light_state} \
-       -DGEO=%{geo_state} -DPRESSURE=%{pressure_state} -DTEMPERATURE=%{temperature_state} \
-       -DORIENTATION=%{orientation_state} -DGRAVITY=%{gravity_state} \
-       -DLINEAR_ACCEL=%{linear_accel_state} -DRV=%{rv_state} \
-       -DGEOMAGNETIC_RV=%{geomagnetic_rv_state} -DGAMING_RV=%{gaming_rv_state} \
-       -DUNCAL_GYRO=%{uncal_gyro_state} -DAUTO_ROTATION=%{auto_rotation_state} \
-       -DTILT=%{tilt_state} -DULTRAVIOLET=%{ultraviolet_state} \
-       -DBIO_LED_RED=%{bio_led_red_state} -DTEST_SUITE=%{build_test_suite} \
-       -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir}
 
 %build
-make %{?jobs:-j%jobs}
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+
+%cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version}
+make %{?_smp_mflags}
 
 %install
-rm -rf %{buildroot}
 %make_install
 
-%install_service multi-user.target.wants sensord.service
-%install_service sockets.target.wants sensord.socket
-
-%post
-systemctl daemon-reload
+mkdir -p %{buildroot}%{_unitdir}
 
-%postun
-systemctl daemon-reload
+install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}
+install -m 0644 %SOURCE2 %{buildroot}%{_unitdir}
 
-%post -n libsensord -p /sbin/ldconfig
+%install_service multi-user.target.wants sensord.service
+%install_service sockets.target.wants sensord.socket
 
-%postun -n libsensord -p /sbin/ldconfig
+ln -s libsensor.so.%{version} %{buildroot}/%{_libdir}/libsensor.so.2
+ln -s libsensor.so.%{version} %{buildroot}/%{_libdir}/libsensor.so.1
 
-%files -n sensord
-%attr(0644,root,root)/usr/etc/virtual_sensors.xml
-%manifest sensord.manifest
+%post
+pushd %{_libdir}
+ln -sf libsensor-genuine.so.%{version} libsensor.so.%{version}
+chsmack -a "_" libsensor.so.%{version}
+popd
+/sbin/ldconfig
+
+%preun
+echo "You need to reinstall %{name}-dummy to keep using the APIs after uninstalling this."
+
+%files
+%manifest packaging/sensord.manifest
+%{_libdir}/libsensor-genuine.so.*
+%{_libdir}/libsensord-shared.so
+%{_libdir}/sensor/fusion/libsensor-fusion.so
 %{_bindir}/sensord
 %{_unitdir}/sensord.service
 %{_unitdir}/sensord.socket
 %{_unitdir}/multi-user.target.wants/sensord.service
+%{_sysconfdir}/dbus-1/system.d/sensor.conf
 %{_unitdir}/sockets.target.wants/sensord.socket
 %license LICENSE.APLv2
 
-%files -n libsensord
-%defattr(-,root,root,-)
-%manifest libsensord.manifest
+
+%post   dummy
+/sbin/ldconfig
+
+%files  dummy
+%manifest packaging/sensord.manifest
 %{_libdir}/libsensor.so.*
-%{_libdir}/libsensord-devel.so
 %license LICENSE.APLv2
 
-%files -n libsensord-devel
-%defattr(-,root,root,-)
+
+%files  devel
+%manifest packaging/sensord.manifest
+%exclude %{_includedir}/sensor/sensor_hal.h
 %{_includedir}/sensor/*.h
-%{_includedir}/sensord-devel/*.h
 %{_libdir}/libsensor.so
 %{_libdir}/pkgconfig/sensor.pc
-%license LICENSE.APLv2
 
-%files -n libsensord-plugins
-%defattr(-,root,root,-)
-%{_libdir}/libsensord-plugins.so
-%license LICENSE.APLv2
 
-%if %{build_test_suite} == "ON"
+%files -n sensor-hal-devel
+%manifest packaging/sensord.manifest
+%{_includedir}/sensor/sensor_hal*.h
+
+
 %files -n sensor-test
-%defattr(-,root,root,-)
-%{_bindir}/api-test
-%{_bindir}/sensor-test
-%{_bindir}/multi-thread-performance-test
-%{_bindir}/multi-process-performance-test
-%{_bindir}/fusion-data-collection
-%license LICENSE.APLv2
-%endif
+%{_bindir}/sensorctl
+
+
+# Dummy packages for Tizen 3.0.
+# When building other packages on Tizen 3.0, after building sensord first,
+# some dependency conflicts may occur. These dummy packages may fix such
+# dependency issues.
+%package -n libsensord
+Summary:    Dummy libsensord
+Requires:   sensord-dummy
+Group:      System/Sensor Framework
+
+%description -n libsensord
+Dummy libsensord
+
+%files -n libsensord
+
+%package -n libsensord-devel
+Summary:    Dummy libsensord-devel
+Requires:   sensord-devel
+Group:      System/Sensor Framework
+
+%description -n libsensord-devel
+Dummy libsensord-devel
+
+%files -n libsensord-devel