Witam.
OK. Oto moja propozycja (nie uwzględnia ostatnich zmian qboosha).
Diff w załączniku, a dodatkowo kilka słów komentarza:
QDIR=%{_libdir}/qt4
a więc wszystkie narzędziówki lądują w QDIR/bin i wszystko gra.
Pliki desktop i ikony dostały prefiks qt4- (brak konfliktu z Qt3)
Dodatkowo symlinki w %{_bindir} z prefiksem j.w. (zresztą zgodnie z nazwą
pakietu) - oprócz klikania możemy wywołać z palca.
Ze względu na to, że częstą metodą dojścia do qplatformdefs.h z qmake jest
konstrukcja QDIR + mkspecs + default mamy odpowiedniego symlinka.
Podobnie sprawa ma się z doc, a więc j.w.
Sprawa jest oczywiście otwarta.
Jeśli są inne propozycje zgodnego "współżycia" dwóch Qt - to proszę
bardzo :-). Jeśli nie to zabieram się za czyszczenie TODO i można dać
całkowity release.
--
Pozdrawiam,
Karol Krenski
--- qt4.spec.old 2006-02-18 20:48:44.000000000 +0100
+++ qt4.spec 2006-02-19 01:00:56.000000000 +0100
@@ -42,15 +42,15 @@
Summary(pt_BR): Estrutura para rodar aplicaçőes GUI Qt
Name: qt4
Version: 4.1.0
-Release: 1.9
+Release: 1.95
License: GPL/QPL
Group: X11/Libraries
Source0: ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-%{version}.tar.gz
# Source0-md5: 0e3982a54f56b6420d3062b20524410a
-Source2: qtconfig.desktop
-Source3: designer.desktop
-Source4: assistant.desktop
-Source5: linguist.desktop
+Source2: %{name}-qtconfig.desktop
+Source3: %{name}-designer.desktop
+Source4: %{name}-assistant.desktop
+Source5: %{name}-linguist.desktop
Patch0: %{name}-tools.patch
Patch1: %{name}-alpha.patch
Patch2: %{name}-buildsystem.patch
@@ -103,6 +103,8 @@
%define specflags -fno-strict-aliasing
+%define _qtdir %{_libdir}/qt4
+
%description
Qt is a complete C++ application development framework, which includes
a class library and tools for multiplatform development and
@@ -724,7 +726,6 @@
Summary: Qt makefile generator
Summary(pl): Generator plików makefile dla aplikacji Qt
Group: X11/Development/Tools
-Obsoletes: qmake
%description qmake
A powerful makefile generator. It can create makefiles on any platform
@@ -738,7 +739,6 @@
Summary: Qt widgets configuration tool
Summary(pl): Narzędzie do konfigurowania widgetów Qt
Group: X11/Applications
-Obsoletes: qtconfig
%description qtconfig
A tool for configuring look and behavior of Qt widgets.
@@ -871,13 +871,13 @@
COMMONOPT=" \
-DQT_CLEAN_NAMESPACE \
-verbose \
- -prefix %{_prefix} \
+ -prefix %{_qtdir} \
+ -bindir %{_qtdir}/bin \
-docdir %{_docdir}/%{name}-doc \
-headerdir %{_includedir}/qt4 \
-libdir %{_libdir} \
-L%{_libdir} \
- -bindir %{_bindir} \
- -plugindir %{_libdir}/qt4/plugins \
+ -plugindir %{_qtdir}/plugins \
-datadir %{_datadir}/qt4 \
-translationdir %{_datadir}/locale/ \
-sysconfdir %{_sysconfdir}/qt4 \
@@ -970,39 +970,52 @@
%endif
# kill -L/inside/builddir from *.la and *.pc (bug #77152)
-%{__sed} -i -e "s,-L$PWD/lib,,g" lib/*.{la,pc,prl}
+%{__sed} -i -e "s,-L%{_builddir}/lib,,g" lib/*.{la,pc,prl}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_pkgconfigdir}}
%{__make} install \
INSTALL_ROOT=$RPM_BUILD_ROOT
install -d \
$RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}} \
- $RPM_BUILD_ROOT%{_libdir}/qt4/plugins/{crypto,network}
+ $RPM_BUILD_ROOT%{_qtdir}/plugins/{crypto,network}
+
+install plugins/sqldrivers/* $RPM_BUILD_ROOT%{_qtdir}/plugins/sqldrivers
-install plugins/sqldrivers/* $RPM_BUILD_ROOT%{_libdir}/qt4/plugins/sqldrivers
-install bin/findtr tools/qvfb/qvfb $RPM_BUILD_ROOT%{_bindir}
+# install tools
+install bin/findtr $RPM_BUILD_ROOT%{_qtdir}/bin
+install tools/qvfb/qvfb $RPM_BUILD_ROOT%{_bindir}
+
+cd $RPM_BUILD_ROOT%{_bindir}
+ln -sf ../%{_lib}/qt4/bin/assistant qt4-assistant
+ln -sf ../%{_lib}/qt4/bin/linguist qt4-linguist
+ln -sf ../%{_lib}/qt4/bin/qmake qt4-qmake
+ln -sf ../%{_lib}/qt4/bin/qtconfig qt4-qtconfig
+%if %{with designer}
+ln -sf ../%{_lib}/qt4/bin/designer qt4-designer
+%endif
+cd -
install %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
install tools/qtconfig/images/appicon.png \
- $RPM_BUILD_ROOT%{_pixmapsdir}/qtconfig.png
+ $RPM_BUILD_ROOT%{_pixmapsdir}/qt4-qtconfig.png
install tools/linguist/linguist/images/appicon.png \
- $RPM_BUILD_ROOT%{_pixmapsdir}/linguist.png
+ $RPM_BUILD_ROOT%{_pixmapsdir}/qt4-linguist.png
install tools/assistant/images/assistant.png \
- $RPM_BUILD_ROOT%{_pixmapsdir}/assistant.png
+ $RPM_BUILD_ROOT%{_pixmapsdir}/qt4-assistant.png
%if %{with designer}
install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
install tools/designer/src/designer/images/designer.png \
- $RPM_BUILD_ROOT%{_pixmapsdir}/designer.png
+ $RPM_BUILD_ROOT%{_pixmapsdir}/qt4-designer.png
%endif
%if %{with static_libs}
@@ -1040,6 +1053,10 @@
ln -sf ../../QtCore/arch/qatomic.h arch/qatomic.h
cd -
+# Ship doc & qmake stuff
+ln -s ../../..%{_docdir}/%{name}-doc $RPM_BUILD_ROOT%{_qtdir}/doc
+ln -s ../../..%{_datadir}/qt4/mkspecs $RPM_BUILD_ROOT%{_qtdir}/mkspecs
+
mv $RPM_BUILD_ROOT%{_libdir}/*.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
for f in $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc; do
HAVEDEBUG=`echo $f | grep _debug | wc -l`
@@ -1117,8 +1134,8 @@
echo "%defattr(644,root,root,755)" > demos.files
ifecho demos "%{_examplesdir}/qt4-demos"
-ifecho demos "%{_bindir}/qtdemo"
-ifecho demos "%{_libdir}/qt4/plugins/arthurplugin/libarthurplugin.so"
+ifecho demos "%{_qtdir}/bin/qtdemo"
+ifecho demos "%{_qtdir}/plugins/arthurplugin/libarthurplugin.so"
for f in `find $RPM_BUILD_ROOT%{_examplesdir}/qt4-demos -printf "%%P "`
do
ifecho demos %{_examplesdir}/qt4-demos/$f
@@ -1174,14 +1191,15 @@
%files -n QtCore
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQtCore.so.*.*
-%dir %{_libdir}/qt4
-%dir %{_libdir}/qt4/plugins
-%dir %{_libdir}/qt4/plugins/accessible
-%dir %{_libdir}/qt4/plugins/codecs
-%dir %{_libdir}/qt4/plugins/crypto
-%dir %{_libdir}/qt4/plugins/imageformats
-%dir %{_libdir}/qt4/plugins/network
-%dir %{_libdir}/qt4/plugins/sqldrivers
+%dir %{_qtdir}
+%dir %{_qtdir}/bin
+%dir %{_qtdir}/plugins
+%dir %{_qtdir}/plugins/accessible
+%dir %{_qtdir}/plugins/codecs
+%dir %{_qtdir}/plugins/crypto
+%dir %{_qtdir}/plugins/imageformats
+%dir %{_qtdir}/plugins/network
+%dir %{_qtdir}/plugins/sqldrivers
%dir %{_datadir}/qt4
%lang(ar) %{_datadir}/locale/ar/LC_MESSAGES/qt.qm
%lang(cs) %{_datadir}/locale/cs/LC_MESSAGES/qt.qm
@@ -1193,9 +1211,9 @@
%files -n QtGui
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQtGui.so.*.*
-%{_libdir}/qt4/plugins/accessible/*
-%{_libdir}/qt4/plugins/codecs/*
-%{_libdir}/qt4/plugins/imageformats/*
+%{_qtdir}/plugins/accessible/*
+%{_qtdir}/plugins/codecs/*
+%{_qtdir}/plugins/imageformats/*
%files -n QtNetwork
%defattr(644,root,root,755)
@@ -1212,38 +1230,38 @@
%if %{with mysql}
%files -n QtSql-mysql
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/qt4/plugins/sqldrivers/libqsqlmysql*.so
+%attr(755,root,root) %{_qtdir}/plugins/sqldrivers/libqsqlmysql*.so
%endif
%if %{with pgsql}
%files -n QtSql-pgsql
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/qt4/plugins/sqldrivers/libqsqlpsql*.so
+%attr(755,root,root) %{_qtdir}/plugins/sqldrivers/libqsqlpsql*.so
%endif
%if %{with sqlite}
%files -n QtSql-sqlite
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/qt4/plugins/sqldrivers/libqsqlite2*.so
+%attr(755,root,root) %{_qtdir}/plugins/sqldrivers/libqsqlite2*.so
%endif
%if %{with sqlite3}
%files -n QtSql-sqlite3
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/qt4/plugins/sqldrivers/libqsqlite*.so
-%exclude %{_libdir}/qt4/plugins/sqldrivers/libqsqlite2*.so
+%attr(755,root,root) %{_qtdir}/plugins/sqldrivers/libqsqlite*.so
+%exclude %{_qtdir}/plugins/sqldrivers/libqsqlite2*.so
%endif
%if %{with ibase}
%files -n QtSql-ibase
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/qt4/plugins/sqldrivers/libqsqlibase*.so
+%attr(755,root,root) %{_qtdir}/plugins/sqldrivers/libqsqlibase*.so
%endif
%if %{with odbc}
%files -n QtSql-odbc
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/qt4/plugins/sqldrivers/libqsqlodbc*.so
+%attr(755,root,root) %{_qtdir}/plugins/sqldrivers/libqsqlodbc*.so
%endif
%files -n QtSvg
@@ -1260,7 +1278,7 @@
%files -n Qt3Support
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/uic3
+%attr(755,root,root) %{_qtdir}/bin/uic3
%attr(755,root,root) %{_libdir}/libQt3Support.so.*.*
%files -n QtAssistant
@@ -1269,54 +1287,60 @@
%files assistant
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/assistant
+%attr(755,root,root) %{_bindir}/qt4-assistant
+%attr(755,root,root) %{_qtdir}/bin/assistant
%lang(de) %{_datadir}/locale/de/LC_MESSAGES/assistant.qm
-%{_desktopdir}/assistant.desktop
-%{_pixmapsdir}/assistant.png
+%{_desktopdir}/qt4-assistant.desktop
+%{_pixmapsdir}/qt4-assistant.png
%files build
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/rcc
-%attr(755,root,root) %{_bindir}/moc
-%attr(755,root,root) %{_bindir}/qt3to4
-%attr(755,root,root) %{_bindir}/uic
+%attr(755,root,root) %{_qtdir}/bin/rcc
+%attr(755,root,root) %{_qtdir}/bin/moc
+%attr(755,root,root) %{_qtdir}/bin/qt3to4
+%attr(755,root,root) %{_qtdir}/bin/uic
%{_datadir}/qt4/q3porting.xml
%if %{with designer}
%files designer
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/designer
-%{_desktopdir}/designer.desktop
-%{_pixmapsdir}/designer.png
+%attr(755,root,root) %{_bindir}/qt4-designer
+%attr(755,root,root) %{_qtdir}/bin/designer
+%{_desktopdir}/qt4-designer.desktop
+%{_pixmapsdir}/qt4-designer.png
%files designer-libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQtDesigner*.so.*.*
-%dir %{_libdir}/qt4/plugins/designer
-%attr(755,root,root) %{_libdir}/qt4/plugins/designer/*.so
+%dir %{_qtdir}/plugins/designer
+%attr(755,root,root) %{_qtdir}/plugins/designer/*.so
%endif
%files linguist
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/linguist
-%attr(755,root,root) %{_bindir}/findtr
-%attr(755,root,root) %{_bindir}/lrelease
-%attr(755,root,root) %{_bindir}/lupdate
-%attr(755,root,root) %{_bindir}/qm2ts
+%attr(755,root,root) %{_bindir}/qt4-linguist
+%attr(755,root,root) %{_qtdir}/bin/findtr
+%attr(755,root,root) %{_qtdir}/bin/linguist
+%attr(755,root,root) %{_qtdir}/bin/lrelease
+%attr(755,root,root) %{_qtdir}/bin/lupdate
+%attr(755,root,root) %{_qtdir}/bin/qm2ts
%{_datadir}/qt4/phrasebooks
-%{_desktopdir}/linguist.desktop
-%{_pixmapsdir}/linguist.png
+%{_desktopdir}/qt4-linguist.desktop
+%{_pixmapsdir}/qt4-linguist.png
%files qmake
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qmake
+%attr(755,root,root) %{_bindir}/qt4-qmake
+%attr(755,root,root) %{_qtdir}/bin/qmake
%{_datadir}/qt4/mkspecs
+%dir %{_qtdir}/mkspecs
%files qtconfig
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qtconfig
-%{_desktopdir}/qtconfig.desktop
-%{_pixmapsdir}/qtconfig.png
+%attr(755,root,root) %{_bindir}/qt4-qtconfig
+%attr(755,root,root) %{_qtdir}/bin/qtconfig
+%{_desktopdir}/qt4-qtconfig.desktop
+%{_pixmapsdir}/qt4-qtconfig.png
%files -n qvfb
%defattr(644,root,root,755)
@@ -1325,6 +1349,7 @@
%files doc
%defattr(644,root,root,755)
%{_docdir}/%{name}-doc
+%dir %{_qtdir}/doc
%files -n QtCore-devel -f QtCore-devel.files
%files -n QtDesigner-devel -f QtDesigner-devel.files
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl