Skip to content

Commit

Permalink
[sensorfw] Don't build anything but the client library for Qt 5.
Browse files Browse the repository at this point in the history
As Qt 5 is functionally crippled due to the state of contextkit meaning
virtually no plugins are operational / load, it makes no sense to try to port
the daemon to Qt 5 at this point.

Instead, leave the daemon Qt 4, and add a requirement on it from the Qt 5 client
library packaging. This also avoids problems with both packages providing the
same paths.

In the future, we can reverse this situation: have Qt 4 only build the client
library, and port the daemon to Qt 5 for good.

As a happy coincidence, this means that when you install both sensorfw and
sensorfw-qt5, you no longer end up having to flip a coin to determine which
daemon you get.
  • Loading branch information
rburchell committed Jun 14, 2013
1 parent abccd98 commit 0fd2356
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 199 deletions.
107 changes: 9 additions & 98 deletions rpm/sensorfw-qt5.spec
Expand Up @@ -16,25 +16,17 @@ License: LGPLv2+
URL: http://gitorious.org/sensorfw
Source0: %{name}-%{version}.tar.bz2
Source1: sensorfw-rpmlintrc
Source2: sensord.service
Source3: sensord-daemon-conf-setup
Source100: sensorfw-qt5.yaml
Requires: qt5-qtcore
Requires: GConf-dbus
Requires: %{name}-configs
Requires: systemd
Requires(preun): systemd
Requires: sensorfw
Requires(post): /sbin/ldconfig
Requires(post): systemd
Requires(postun): /sbin/ldconfig
Requires(postun): systemd
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(gconf-2.0)
Obsoletes: sensorframework
Provides: sensord-qt5

%description
Sensor Framework provides an interface to hardware sensor drivers through logical sensors. This package contains sensor framework daemon and required libraries.
Expand All @@ -52,49 +44,17 @@ Requires: qt5-qtnetwork-devel
Development headers for sensor framework daemon and libraries.


%package tests
Summary: Unit test cases for sensord
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: qt5-qttest-devel
Requires: testrunner-lite
Requires: python
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description tests
Contains unit test cases for CI environment.


%package configs
Summary: Sensorfw configuration files
Group: System/Libraries
BuildArch: noarch
Requires: %{name} = %{version}
Provides: sensord-config
Provides: config-n900
Provides: config-aava
Provides: config-icdk
Provides: config-ncdk
Provides: config-oemtablet
Provides: config-oaktraili
Provides: config-u8500

%description configs
Sensorfw configuration files.


%prep
%setup -q -n %{name}-%{version}

# >> setup
# << setup

%build
unset LD_AS_NEEDED
# >> build pre
# << build pre
%qmake5

%qmake5

make %{?jobs:-j%jobs}

Expand All @@ -109,74 +69,25 @@ export QT_SELECT=5
%qmake5_install

# >> install post
install -D -m644 %{SOURCE2} $RPM_BUILD_ROOT/%{_lib}/systemd/system/sensord.service
install -D -m750 %{SOURCE3} $RPM_BUILD_ROOT/%{_bindir}/sensord-daemon-conf-setup

mkdir -p %{buildroot}/%{_lib}/systemd/system/basic.target.wants
ln -s ../sensord.service %{buildroot}/%{_lib}/systemd/system/basic.target.wants/sensord.service
# << install post

%preun
if [ "$1" -eq 0 ]; then
systemctl stop sensord.service
fi

%post
/sbin/ldconfig
systemctl daemon-reload
systemctl reload-or-try-restart sensord.service

%postun
/sbin/ldconfig
systemctl daemon-reload

%post tests -p /sbin/ldconfig
%post -p /sbin/ldconfig

%postun tests -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%{_libdir}/libsensorclient-qt5.so.*
%{_libdir}/libsensordatatypes-qt5.so.*
# >> files
%attr(755,root,root)%{_sbindir}/sensord
%{_libdir}/sensord-qt5/*.so
%{_libdir}/libsensorfw*.so.*
%{_libdir}/libsensordatatypes*.so.*
%{_libdir}/libsensorclient*.so.*
%config %{_sysconfdir}/dbus-1/system.d/sensorfw.conf
%config %{_sysconfdir}/sensorfw/sensord.conf
%dir %{_sysconfdir}/sensorfw/sensord.conf.d/
/%{_lib}/systemd/system/sensord.service
/%{_lib}/systemd/system/basic.target.wants/sensord.service
%{_bindir}/sensord-daemon-conf-setup
# << files

%files devel
%defattr(-,root,root,-)
# >> files devel
%{_libdir}/libsensorfw*.so
%{_libdir}/libsensordatatypes*.so
%{_libdir}/libsensordatatypes-qt5.so
%{_libdir}/libsensorclient*.so
%{_libdir}/pkgconfig/*
%{_includedir}/sensord-qt5/*
%{_datadir}/qt5/mkspecs/features/sensord.prf
# >> files devel
# << files devel

%files tests
%defattr(-,root,root,-)
# >> files tests
%{_libdir}/libsensorfakeopen*.so
%{_libdir}/libsensorfakeopen*.so.*
%{_libdir}/sensord-qt5/testing/*
%attr(755,root,root)%{_datadir}/sensorfw-tests/*.p*
%attr(644,root,root)%{_datadir}/sensorfw-tests/*.xml
%attr(644,root,root)%{_datadir}/sensorfw-tests/*.conf
%attr(755,root,root)%{_bindir}/*
# << files tests

%files configs
%defattr(-,root,root,-)
# >> files configs
%config %{_sysconfdir}/sensorfw/sensord.conf.d/*conf
%config %{_sysconfdir}/sensorfw/*conf
%exclude %{_sysconfdir}/sensorfw/sensord.conf
# << files configs
59 changes: 10 additions & 49 deletions rpm/sensorfw-qt5.yaml
Expand Up @@ -10,12 +10,10 @@ Description: |
Sources:
- "%{name}-%{version}.tar.bz2"
- "sensorfw-rpmlintrc"
- "sensord.service"
- "sensord-daemon-conf-setup"
Requires:
- qt5-qtcore
- GConf-dbus
- "%{name}-configs"
- sensorfw

PkgConfigBR:
- Qt5Core
Expand All @@ -24,19 +22,11 @@ PkgConfigBR:
- Qt5Test
- gconf-2.0

#PkgBR:
# - doxygen
# - graphviz
Obsoletes:
- sensorframework

Provides: sensord-qt5

Configure: none
Builder: qmake5
UseAsNeeded: no

#QMakeOptions:
Files:
- "%{_libdir}/libsensorclient-qt5.so.*"
- "%{_libdir}/libsensordatatypes-qt5.so.*"

SubPackages:
- Name: devel
Expand All @@ -48,38 +38,9 @@ SubPackages:
Summary: Sensor framework daemon libraries development headers
Description: |
Development headers for sensor framework daemon and libraries.
- Name: tests
Group: Development/Libraries
Requires:
- qt5-qttest-devel
- testrunner-lite
- python
Summary: Unit test cases for sensord
Description: |
Contains unit test cases for CI environment.
# - Name: doc
# Group: Documentation
# Summary: API documentation for libsensord
# Description: |
# Doxygen-generated API documentation for sensord.

- Name: configs
Group: System/Libraries
Summary: Sensorfw configuration files
Description: |
Sensorfw configuration files.
BuildArch: noarch
AutoDepend: no
Requires:
- "%{name} = %{version}"
Provides:
- sensord-config
- config-n900
- config-aava
- config-icdk
- config-ncdk
- config-oemtablet
- config-oaktraili
- config-u8500
Files:
- "%{_libdir}/libsensordatatypes-qt5.so"
- "%{_libdir}/libsensorclient*.so"
- "%{_libdir}/pkgconfig/*"
- "%{_includedir}/sensord-qt5/*"
- "%{_datadir}/qt5/mkspecs/features/sensord.prf"
38 changes: 8 additions & 30 deletions rpm/sensorfw.spec
Expand Up @@ -33,7 +33,9 @@ BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: pkgconfig(QtDeclarative)
BuildRequires: pkgconfig(contextprovider-1.0)
Provides: sensord
Provides: sensorfw-qt4-compat
Obsoletes: sensorframework
Obsoletes: sensorfw-qt4-compat

%description
Sensor Framework provides an interface to hardware sensor drivers through logical sensors. This package contains sensor framework daemon and required libraries.
Expand All @@ -46,8 +48,7 @@ Requires: %{name} = %{version}-%{release}
Requires: qt-devel

%description devel
Development headers for sensor framework daemon and libraries.

%{summary}.

%package tests
Summary: Unit test cases for sensord
Expand Down Expand Up @@ -89,16 +90,6 @@ Provides: config-u8500
Sensorfw configuration files.


%package qt4-compat
Summary: Compatibiliy package for Qt 5 Sensorfw
Group: System/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description qt4-compat
Provides Qt 4 compatibility for Qt 5 Sensorfw files.


%prep
%setup -q -n %{name}-%{version}

Expand Down Expand Up @@ -149,13 +140,8 @@ update-contextkit-providers
/sbin/ldconfig
systemctl daemon-reload

%post qt4-compat -p /sbin/ldconfig

%postun qt4-compat -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
# >> files
%attr(755,root,root)%{_sbindir}/sensord
%{_libdir}/sensord/*.so
%{_libdir}/*.so.*
Expand All @@ -166,48 +152,40 @@ systemctl daemon-reload
/%{_lib}/systemd/system/sensord.service
/%{_lib}/systemd/system/basic.target.wants/sensord.service
%{_bindir}/sensord-daemon-conf-setup
# >> files
# << files

%files devel
%defattr(-,root,root,-)
# >> files devel
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_includedir}/sensord/*
%{_datadir}/qt4/mkspecs/features/sensord.prf
# From docs
#%attr(644,root,root)%{_defaultdocdir}/sensord/html/*
# >> files devel
# << files devel

%files tests
%defattr(-,root,root,-)
# >> files tests
%{_libdir}/sensord/testing/*
%attr(755,root,root)%{_datadir}/sensorfw-tests/*.p*
%attr(644,root,root)%{_datadir}/sensorfw-tests/*.xml
%attr(644,root,root)%{_datadir}/sensorfw-tests/*.conf
%attr(755,root,root)%{_bindir}/*
# >> files tests
# << files tests

%files contextfw-tests
%defattr(-,root,root,-)
# >> files contextfw-tests
%attr(755,root,root)%{_datadir}/sensorfw-contextfw-tests/*.sh
%attr(755,root,root)%{_datadir}/sensorfw-contextfw-tests/*.p*
%attr(644,root,root)%{_datadir}/sensorfw-contextfw-tests/*.xml
# >> files contextfw-tests
# << files contextfw-tests

%files configs
%defattr(-,root,root,-)
# >> files configs
%config %{_sysconfdir}/%{name}/sensord.conf.d/*conf
%config %{_sysconfdir}/%{name}/*conf
%exclude %{_sysconfdir}/sensorfw/sensord.conf
# >> files configs
# << files configs

%files qt4-compat
%defattr(-,root,root,-)
%{_libdir}/libsensorclient.so*
%{_libdir}/libsensordatatypes.so*
# >> files qt4-compat
# << files qt4-compat

0 comments on commit 0fd2356

Please sign in to comment.