3 %bcond_without qt4 # build Qt4
4 %bcond_without qt5 # build Qt5
6 # last commit to qtlockedfile subdir in
7 # https://qt.gitorious.org/qt-solutions/qt-solutions/
8 %define commit 17b56547d6e0d9a06603231fe2384474f9144829
9 Summary: QFile extension with advisory locking functions
13 License: GPL v3 or LGPL v2 with exceptions
15 # git clone git@gitorious.org:qt-solutions/qt-solutions.git
16 # git checkout %{commit}
17 # tar -cjf QtLockedFile-%{version}.tar.bz2 -C qt-solutions/qtlockedfile .
18 Source0: %{name}-%{version}.tar.bz2
19 # Source0-md5: 8d0525b7f3dc92ee1464c6a538832535
20 Source1: qtlockedfile.prf
21 Patch0: qtlockedfile-dont-build-example.patch
22 Patch1: qtlockedfile-use-current-version.patch
23 URL: http://doc.qt.digia.com/solutions/4/qtlockedfile/qtlockedfile.html
24 BuildRequires: libstdc++-devel
26 BuildRequires: QtCore-devel
27 BuildRequires: qt4-qmake
30 BuildRequires: Qt5Core-devel
31 BuildRequires: qt5-qmake
33 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 %define qt4dir %{_datadir}/qt4
36 %define qt5dir %{_libdir}/qt5
39 This class extends the QFile class with inter-process file locking
40 capabilities. If an application requires that several processes should
41 access the same file, QtLockedFile can be used to easily ensure that
42 only one process at a time is writing to the file, and that no process
43 is writing to it while others are reading it.
46 Summary: Development files for QtLockedFile library
47 Group: Development/Libraries
48 Requires: %{name} = %{version}-%{release}
51 This package contains libraries and header files for developing
52 applications that use QtLockedFile.
54 %package -n Qt5LockedFile
55 Summary: QFile extension with advisory locking functions
58 %description -n Qt5LockedFile
59 This class extends the QFile class with inter-process file locking
60 capabilities. If an application requires that several processes should
61 access the same file, QtLockedFile can be used to easily ensure that
62 only one process at a time is writing to the file, and that no process
63 is writing to it while others are reading it.
65 %package -n Qt5LockedFile-devel
66 Summary: Development files for Qt5LockedFile library
67 Group: Development/Libraries
68 Requires: Qt5LockedFile = %{version}-%{release}
70 %description -n Qt5LockedFile-devel
71 This package contains libraries and header files for developing
72 applications that use Qt5LockedFile.
80 install -d build-qt{4,5}
84 %{__sed} -i -e 's/QtSolutions/Qt5Solutions/' build-qt5/common.pri
89 # Does not use GNU configure
105 rm -rf $RPM_BUILD_ROOT
109 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt4/QtSolutions,%{qt4dir}/mkspecs/features}
110 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
111 rm $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0
112 cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
113 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt4dir}/mkspecs/features
119 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/qt5/QtSolutions,%{qt5dir}/mkspecs/features}
120 cp -a lib/* $RPM_BUILD_ROOT%{_libdir}
121 rm $RPM_BUILD_ROOT%{_libdir}/lib*-%{version}.so.1.0
122 cp -p src/qtlockedfile.h src/QtLockedFile $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
123 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{qt5dir}/mkspecs/features
128 rm -rf $RPM_BUILD_ROOT
130 %post -p /sbin/ldconfig
131 %postun -p /sbin/ldconfig
133 %post -n Qt5LockedFile -p /sbin/ldconfig
134 %postun -n Qt5LockedFile -p /sbin/ldconfig
138 %defattr(644,root,root,755)
140 %attr(755,root,root) %{_libdir}/libQtSolutions_LockedFile-%{version}.so.*.*.*
141 %attr(755,root,root) %ghost %{_libdir}/libQtSolutions_LockedFile-%{version}.so.1
144 %defattr(644,root,root,755)
146 %{_libdir}/libQtSolutions_LockedFile-%{version}.so
148 %dir %{_includedir}/qt4/QtSolutions
149 %{_includedir}/qt4/QtSolutions/QtLockedFile
150 %{_includedir}/qt4/QtSolutions/qtlockedfile.h
151 %{qt4dir}/mkspecs/features/qtlockedfile.prf
155 %files -n Qt5LockedFile
156 %defattr(644,root,root,755)
158 %attr(755,root,root) %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.*.*.*
159 %attr(755,root,root) %ghost %{_libdir}/libQt5Solutions_LockedFile-%{version}.so.1
161 %files -n Qt5LockedFile-devel
162 %defattr(644,root,root,755)
164 %{_libdir}/libQt5Solutions_LockedFile-%{version}.so
166 %dir %{_includedir}/qt5/QtSolutions
167 %{_includedir}/qt5/QtSolutions/QtLockedFile
168 %{_includedir}/qt5/QtSolutions/qtlockedfile.h
169 %{qt5dir}/mkspecs/features/qtlockedfile.prf