[Momonga-devel.ja:01698] new qt.spec
- From: Masahiro Nishiyama <masahiro@xxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 20 May 2003 06:45:27 +0900
西山と申します.
qtのSPECファイルですが,いくつか,誤りがみられたので,
書き直してみました.HEADのqt.specとの差分を添付します.
ご採用いただければ幸いに存じます.
差分をそのまま採用いただく意図ではありませんので,
適宜ご修正頂ければと思います.
なお,既存コメントと差をつけるため,コメントアウトは##としました.
もしかすると,KDEの挙動に乱れが発生するかもしれません.
この場合,KDEを作り直す必要があります.
先日リリースされたKDE-3.1.2が採用されると予想していますので,
よい機会なのではないかと思っています.
従来と違いを書きます.
従来,./configure -prefix /usr/lib/qt3 でコンパイルされ
/usr/lib/qt-%{version} に実体が存在しましたが,
/usr/lib/qt-%{version} に統一されます.
いずれが,Momonga的に正しいのかは判断しかねましたので,
御修正いただければと思います.
rawhide に用いられた方法で,Xft, freetype2, MySQL, postgresql の
ヘッダファイルを使用するよう ./configure に加えました.
従来,./configure -no-thread; make src-qmake src-moc sub-src を行い,
./configure -thread; make src-qmake src-moc sub-src sub-tools を
行っていましたが,いずれも,make src-qmake src-moc sub-src sub-tools
を行います.(無駄かもしれません)
make clean を行っても,lib 以下は削除されませんので,
cp -aR lib lib-bld関係はコメントアウトしました.
ファイルのインストールは,make INSTALL_ROOT=%{buildroot} install が
利用できるので,これを利用するよう変更しました.
examples, tutorial 以下のMakefileの修正に誤りがあったので
変更しました.
なお,2階層以上の探索は,すべてQTDIRに決め打ちして置換しているため
今後,コンパイルできない/動作しないexamples,tutorialが存在しうる
可能性があります.
%files をいくつか変更しました.
qt-desinger用と思われるファイルがインストールされていたので
加えました.
以上です.
--
Masahiro Nishiyama
--- qt.spec.orig 2003-05-20 04:59:54.000000000 +0900
+++ qt.spec 2003-05-20 06:40:44.000000000 +0900
@@ -158,54 +158,84 @@
export QTDIR=`/bin/pwd`
export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
export PATH="$QTDIR/bin:$PATH"
+
+# Xft flags
+if pkg-config xft >& /dev/null ; then
+ export XFTFLAGS="`pkg-config --cflags xft`"
+fi
+
+# MySQL flag
+if mysql_config --cflags --libs >& /dev/null ; then
+ export MYSQLFLAGS="`mysql_config --cflags`"
+fi
+
+# PGSQL flag
+if pg_config --includedir --includedir-server >& /dev/null ; then
+ export PGFLAGS="-I`pg_config --includedir` -I`pg_config --includedir-server`"
+fi
+
OPTFLAGS=`echo %{optflags} |sed -e s/-fno-rtti/-frtti/`
-OPTFLAGS="$OPTFLAGS `fontconfig-config --cflags`"
-perl -pi -e "s,-O2,-I/usr/include/freetype2 $OPTFLAGS -fno-exceptions,g" mkspecs/*/qmake.conf
+##OPTFLAGS="$OPTFLAGS `fontconfig-config --cflags`"
+OPTFLAGS="$OPTFLAGS $XFTFLAGS $MYSQLFLAGS $PGFLAGS"
+##perl -pi -e "s,-O2,-I/usr/include/freetype2 $OPTFLAGS -fno-exceptions,g" mkspecs/*/qmake.conf
+perl -pi -e "s,-O2,$OPTFLAGS -fno-exceptions,g" mkspecs/*/qmake.conf
# build shared, nonthreaded libraries
-echo yes |./configure -prefix /usr/lib/qt3 -release -shared -qt-gif \
+echo yes |./configure -release -shared -qt-gif \
+ -prefix %{qtdir} -libdir %{qtdir}/lib \
-system-zlib -system-libpng -system-libmng -system-libjpeg \
-no-g++-exceptions -enable-tools -enable-kernel -enable-widgets \
-enable-dialogs -enable-iconview -enable-workspace -enable-network \
-enable-canvas -enable-table -enable-xml -enable-sql -qt-style-motif \
+ -enable-codecs -enable-compat -enable-embedded \
+ -enable-moc -enable-opengl -enable-styles \
-plugin-sql-mysql -plugin-sql-psql -plugin-sql-odbc -plugin-style-cde \
-plugin-style-motifplus -plugin-style-platinum -plugin-style-sgi \
- -plugin-style-windows -plugin-style-compact -plugin-style-interlace \
- -plugin-style-common -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng \
+ -plugin-style-windows -plugin-style-compact \
+ -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng \
-stl -no-thread \
%if "%{with_cups}" == "0"
-no-cups \
%else
-cups \
%endif
- -sm -xinerama -xrender -tablet -xft -xkb
-
-make src-qmake %{?_smp_mflags}
-cd plugins/src/sqldrivers/psql
-qmake -o Makefile "INCLUDEPATH+=/usr/include/pgsql /usr/include/pgsql/server /usr/include/pgsql/internal" "LIBS+=-lpq" psql.pro
-cd ../mysql
-qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
-cd ../odbc
-qmake -o Makefile "LIBS+=-lodbc" odbc.pro
-cd ../../../..
-make CC="gcc -fPIC" CXX="g++ -fPIC" src-moc sub-src %{?_smp_mflags}
+ -sm -xinerama -xrender -tablet -xft -xkb \
+ $MYSQLFLAGS \
+ $PGFLAGS \
+ $XFTFLAGS
+
+make %{?_smp_mflags}
+##make src-qmake %{?_smp_mflags}
+##cd plugins/src/sqldrivers/psql
+##qmake -o Makefile "INCLUDEPATH+=/usr/include/pgsql /usr/include/pgsql/server /usr/include/pgsql/internal" "LIBS+=-lpq" psql.pro
+##cd ../mysql
+##qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
+##cd ../odbc
+##qmake -o Makefile "LIBS+=-lodbc" odbc.pro
+##cd ../../../..
+##make CC="gcc -fPIC" CXX="g++ -fPIC" src-moc sub-src %{?_smp_mflags}
-cp -aR lib lib-bld
+##cp -aR lib lib-bld
#cp -aR bin bin-bld
make clean
-rm -rf lib
-mv lib-bld lib
+##rm -rf lib
+##mv lib-bld lib
#mv bin-bld bin
+cp src/Makefile src/Makefile.nothread
+
# build shared, threaded (default) libraries
-echo yes |./configure -prefix /usr/lib/qt3 -release -shared -qt-gif \
+echo yes |./configure -release -shared -qt-gif \
+ -prefix %{qtdir} -libdir %{qtdir}/lib \
-system-zlib -system-libpng -system-libmng -system-libjpeg \
-no-g++-exceptions -enable-tools -enable-kernel -enable-widgets \
-enable-dialogs -enable-iconview -enable-workspace -enable-network \
-enable-canvas -enable-table -enable-xml -enable-sql -qt-style-motif \
+ -enable-codecs -enable-compat -enable-embedded \
+ -enable-moc -enable-opengl -enable-styles \
-plugin-sql-mysql -plugin-sql-psql -plugin-sql-odbc -plugin-style-cde \
-plugin-style-motifplus -plugin-style-platinum -plugin-style-sgi \
- -plugin-style-windows -plugin-style-compact -plugin-style-interlace \
+ -plugin-style-windows -plugin-style-compact \
-plugin-style-common -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng \
-stl -thread \
%if "%{with_cups}" == "0"
@@ -213,19 +243,23 @@
%else
-cups \
%endif
- -sm -xinerama -xrender -tablet -xft -xkb
-
-make src-qmake %{?_smp_mflags}
-cd plugins/src/sqldrivers/psql
-qmake -o Makefile "INCLUDEPATH+=/usr/include/pgsql /usr/include/pgsql/server /usr/include/pgsql/internal" "LIBS+=-lpq" psql.pro
-cd ../mysql
-qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
-cd ../odbc
-qmake -o Makefile "LIBS+=-lodbc" odbc.pro
-cd ../../../..
-make %{?_smp_mflags} src-moc
-make CC="gcc -fPIC" CXX="g++ -fPIC" sub-src
-make %{?_smp_mflags} sub-tools
+ -sm -xinerama -xrender -tablet -xft -xkb \
+ $MYSQLFLAGS \
+ $PGFLAGS \
+ $XFTFLAGS
+
+make %{?_smp_mflags}
+##make src-qmake %{?_smp_mflags}
+##cd plugins/src/sqldrivers/psql
+##qmake -o Makefile "INCLUDEPATH+=/usr/include/pgsql /usr/include/pgsql/server /usr/include/pgsql/internal" "LIBS+=-lpq" psql.pro
+##cd ../mysql
+##qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro
+##cd ../odbc
+##qmake -o Makefile "LIBS+=-lodbc" odbc.pro
+##cd ../../../..
+##make %{?_smp_mflags} src-moc
+##make CC="gcc -fPIC" CXX="g++ -fPIC" sub-src
+##make %{?_smp_mflags} sub-tools
%install
rm -rf %{buildroot}
@@ -236,6 +270,11 @@
mkdir -p %{buildroot}%{qtdir}/{bin,include,lib}
mkdir -p %{buildroot}%{_mandir}/{man1,man3}
+make INSTALL_ROOT=%{buildroot} install
+pushd src
+make -f Makefile.nothread INSTALL_ROOT=%{buildroot} install_target
+popd
+
# strip binaries
rm -f bin/*.bat
#for i in bin/*; do
@@ -243,33 +282,33 @@
#done
# install tools and libraries
-rm bin/qmake
-cp -fL qmake/qmake bin
-for i in bin/*; do
- cp -fL $i %{buildroot}/%{qtdir}/bin
- chmod 0755 %{buildroot}/%{qtdir}/$i
-done
-cp -aR lib/* %{buildroot}/%{qtdir}/lib
-cp -aR plugins %{buildroot}/%{qtdir}
-
-ln -sf libqt.so.%{version} %{buildroot}%{qtdir}/lib/libqt.so.3.0
-ln -sf libqt.so.%{version} %{buildroot}%{qtdir}/lib/libqt.so.3
-ln -sf libqt.so.%{version} %{buildroot}%{qtdir}/lib/libqt.so
-ln -sf libqt-mt.so.%{version} %{buildroot}%{qtdir}/lib/libqt-mt.so.3.0
-ln -sf libqt-mt.so.%{version} %{buildroot}%{qtdir}/lib/libqt-mt.so.3
-ln -sf libqt-mt.so.%{version} %{buildroot}%{qtdir}/lib/libqt-mt.so
-ln -sf libqui.so.1.0.0 %{buildroot}%{qtdir}/lib/libqui.so.1.0
-ln -sf libqui.so.1.0.0 %{buildroot}%{qtdir}/lib/libqui.so.1
-ln -sf libqui.so.1.0.0 %{buildroot}%{qtdir}/lib/libqui.so
-ln -sf libeditor.so.1.0.0 %{buildroot}%{qtdir}/lib/libeditor.so.1.0
-ln -sf libeditor.so.1.0.0 %{buildroot}%{qtdir}/lib/libeditor.so.1
-ln -sf libeditor.so.1.0.0 %{buildroot}%{qtdir}/lib/libeditor.so
+##rm bin/qmake
+##cp -fL qmake/qmake bin
+##for i in bin/*; do
+## cp -fL $i %{buildroot}/%{qtdir}/bin
+## chmod 0755 %{buildroot}/%{qtdir}/$i
+##done
+##cp -aR lib/* %{buildroot}/%{qtdir}/lib
+##cp -aR plugins %{buildroot}/%{qtdir}
+
+##ln -sf libqt.so.%{version} %{buildroot}%{qtdir}/lib/libqt.so.3.0
+##ln -sf libqt.so.%{version} %{buildroot}%{qtdir}/lib/libqt.so.3
+##ln -sf libqt.so.%{version} %{buildroot}%{qtdir}/lib/libqt.so
+##ln -sf libqt-mt.so.%{version} %{buildroot}%{qtdir}/lib/libqt-mt.so.3.0
+##ln -sf libqt-mt.so.%{version} %{buildroot}%{qtdir}/lib/libqt-mt.so.3
+##ln -sf libqt-mt.so.%{version} %{buildroot}%{qtdir}/lib/libqt-mt.so
+##ln -sf libqui.so.1.0.0 %{buildroot}%{qtdir}/lib/libqui.so.1.0
+##ln -sf libqui.so.1.0.0 %{buildroot}%{qtdir}/lib/libqui.so.1
+##ln -sf libqui.so.1.0.0 %{buildroot}%{qtdir}/lib/libqui.so
+##ln -sf libeditor.so.1.0.0 %{buildroot}%{qtdir}/lib/libeditor.so.1.0
+##ln -sf libeditor.so.1.0.0 %{buildroot}%{qtdir}/lib/libeditor.so.1
+##ln -sf libeditor.so.1.0.0 %{buildroot}%{qtdir}/lib/libeditor.so
#ln -sf libqxt.so.0.3.0 %{buildroot}%{qtdir}/lib/libqxt.so.0.3
#ln -sf libqxt.so.0.3.0 %{buildroot}%{qtdir}/lib/libqxt.so.0
#ln -sf libqxt.so.0.3.0 %{buildroot}%{qtdir}/lib/libqxt.so
-ln -sf libqassistantclient.so.1.0.0 %{buildroot}%{qtdir}/lib/libqassistantclient.so.1.0
-ln -sf libqassistantclient.so.1.0.0 %{buildroot}%{qtdir}/lib/libqassistantclient.so.1
-ln -sf libqassistantclient.so.1.0.0 %{buildroot}%{qtdir}/lib/libqassistantclient.so
+##ln -sf libqassistantclient.so.1.0.0 %{buildroot}%{qtdir}/lib/libqassistantclient.so.1.0
+##ln -sf libqassistantclient.so.1.0.0 %{buildroot}%{qtdir}/lib/libqassistantclient.so.1
+##ln -sf libqassistantclient.so.1.0.0 %{buildroot}%{qtdir}/lib/libqassistantclient.so
# install man pages
cp -fR doc/man/man1/* %{buildroot}%{_mandir}/man1
@@ -279,22 +318,30 @@
# clean up
make -C tutorial clean
make -C examples clean
-find examples -name Makefile | xargs perl -pi -e 's|\.\./\.\.|\$\(QTDIR\)|g'
-find examples -name Makefile | xargs perl -pi -e 's|'$RPM_BUILD_DIR'/qt-x11-free-%{version}|\$\(QTDIR\)|g'
-find examples -name Makefile | xargs perl -pi -e 's|\.\./\.\./lib/libqt-mt\.prl||g'
-find examples -name Makefile | xargs perl -pi -e 's|\.\./\.qmake\.cache||g'
-find examples -name Makefile | xargs perl -pi -e 's|\.\./\.\./src/qt_professional\.pri||g'
-perl -p -i -e 's|\$\(QTDIR\)/src/qt_professional\.pri||g' examples/demo/Makefile
-perl -p -i -e 's|include\( \.\./\.\./src/qt_professional\.pri \)||g' examples/demo/demo.pro
-perl -p -i -e 's|\.\./||g' examples/*/*/Makefile
-perl -p -i -e 's|\$\(QTDIR\)/\$\(QTDIR\)/|\$\(QTDIR\)/|g' examples/network/clientserver/*/Makefile examples/network/infoprotocol/*/Makefile
+##find examples -name Makefile | xargs perl -pi -e 's|\.\./\.\.|\$\(QTDIR\)|g'
+##find examples -name Makefile | xargs perl -pi -e 's|'$RPM_BUILD_DIR'/qt-x11-free-%{version}|\$\(QTDIR\)|g'
+##find examples -name Makefile | xargs perl -pi -e 's|\.\./\.\./lib/libqt-mt\.prl||g'
+##find examples -name Makefile | xargs perl -pi -e 's|\.\./\.qmake\.cache||g'
+##find examples -name Makefile | xargs perl -pi -e 's|\.\./\.\./src/qt_professional\.pri||g'
+##perl -p -i -e 's|\$\(QTDIR\)/src/qt_professional\.pri||g' examples/demo/Makefile
+##perl -p -i -e 's|include\( \.\./\.\./src/qt_professional\.pri \)||g' examples/demo/demo.pro
+##perl -p -i -e 's|\.\./||g' examples/*/*/Makefile
+##perl -p -i -e 's|\$\(QTDIR\)/\$\(QTDIR\)/|\$\(QTDIR\)/|g' examples/network/clientserver/*/Makefile examples/network/infoprotocol/*/Makefile
+find examples tutorial -name Makefile | xargs perl -pi -e 's|'$RPM_BUILD_DIR'/qt-x11-free-%{version}|\$\(QTDIR\)|g'
+find examples tutorial -name Makefile | xargs perl -pi -e 's|[\./]*\.qmake\.cache||g'
+find examples tutorial -name Makefile | xargs perl -pi -e 's|[\./]*\./src/qt_professional\.pri||g'
+find examples tutorial -name Makefile | xargs perl -pi -e 's|[\./]*\./lib/libqt-mt\.prl||g'
+
+find examples tutorial -mindepth 2 -name Makefile | xargs perl -pi -e 's|\.\./[\./]*\.\.|\.\./\.\.|g'
+find examples tutorial -mindepth 2 -name Makefile | xargs perl -pi -e 's|\.\./\.\.|\$\(QTDIR\)|g'
+
perl -p -i -e 's|-DQT_SHARED|-DQT_SHARED -DQT_NO_STYLE_WINDOWS|g' examples/themes/Makefile
#find examples -type f -perm 755 | xargs strip -R .comment || :
-find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.\.|\$\(QTDIR\)|g'
-find tutorial -name Makefile | xargs perl -pi -e 's|'$RPM_BUILD_DIR'/qt-x11-free-%{version}|\$\(QTDIR\)|g'
-find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.\./lib/libqt-mt\.prl||g'
-find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.qmake.cache||g'
-find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.\./src/qt_professional\.pri||g'
+##find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.\.|\$\(QTDIR\)|g'
+##find tutorial -name Makefile | xargs perl -pi -e 's|'$RPM_BUILD_DIR'/qt-x11-free-%{version}|\$\(QTDIR\)|g'
+##find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.\./lib/libqt-mt\.prl||g'
+##find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.qmake.cache||g'
+##find tutorial -name Makefile | xargs perl -pi -e 's|\.\./\.\./src/qt_professional\.pri||g'
#find tutorial -type f -perm 755 | xargs strip -R .comment || :
for a in */*/Makefile ; do
@@ -303,24 +350,28 @@
done
# Get rid of windows or mac specific links
-for i in include/* include/*/*; do [ -e $i ] || rm $i; done
+##for i in include/* include/*/*; do [ -e $i ] || rm $i; done
-cp -frL include/* %{buildroot}%{qtdir}/include
-chmod a+r %{buildroot}%{qtdir}/lib/libqt.so*
+##cp -frL include/* %{buildroot}%{qtdir}/include
+##chmod a+r %{buildroot}%{qtdir}/lib/libqt.so*
ln -s qt-%{version} %{buildroot}%{_libdir}/qt3
mkdir -p %{buildroot}/usr/bin
+# forget
+install -m 755 bin/{findtr,qt20fix,qtrename140} %{buildroot}/%{qtdir}/bin
+
for i in bin/*; do
ln -s ../lib/qt3/bin/`basename $i` %{buildroot}/%{_bindir}
ln -s `basename $i` %{buildroot}/usr/bin/`basename $i`3
done
+rm -rf %{buildroot}%{qtdir}/doc
# make symbolic link to qt docdir
if echo %{_docdir} | grep share >& /dev/null ; then
- ln -s ../../share/doc/%{name}-devel-%{version} %{buildroot}%{qtdir}/doc
+ ln -sf ../../share/doc/%{name}-devel-%{version} %{buildroot}%{qtdir}/doc
else
- ln -s ../../doc/%{name}-devel-%{version} %{buildroot}%{qtdir}/doc
+ ln -sf ../../doc/%{name}-devel-%{version} %{buildroot}%{qtdir}/doc
fi
# Add desktop file
@@ -349,7 +400,7 @@
EOF
# Ship qmake stuff
-cp -aR mkspecs %{buildroot}%{qtdir}
+##cp -aR mkspecs %{buildroot}%{qtdir}
%clean
rm -rf %{buildroot}
@@ -379,10 +430,12 @@
%dir %{qtdir}
%dir %{qtdir}/bin
%dir %{qtdir}/lib
+%{_libdir}/qt3
%{qtdir}/bin/qtconfig
%{_bindir}/qtconfig*
%{qtdir}/lib/libqt.so.*
%{qtdir}/lib/libqt-mt.so.*
+%dir %{qtdir}/etc
%{qtdir}/etc/settings/qtrc
%dir %{qtdir}/plugins
%{qtdir}/lib/libqui.so.*
@@ -392,14 +445,14 @@
%files devel
%defattr(-,root,root,-)
-%{_libdir}/qt3
+##%{_libdir}/qt3
%{qtdir}/bin/assistant
%{qtdir}/bin/findtr
%{qtdir}/bin/moc
%{qtdir}/bin/qm2ts
%{qtdir}/bin/qmake
%{qtdir}/bin/qt20fix
-%{qtdir}/bin/qtconfig
+##%{qtdir}/bin/qtconfig
%{qtdir}/bin/qtrename140
%{qtdir}/bin/uic
%{qtdir}/include
@@ -411,8 +464,8 @@
%{qtdir}/lib/libqt-mt.prl
%{qtdir}/lib/libqui.so
%{qtdir}/lib/libqui.prl
-#%{qtdir}/lib/libdesigner.so
-#%{qtdir}/lib/libdesigner.prl
+%{qtdir}/lib/libdesigner.so
+%{qtdir}/lib/libdesigner.prl
%{qtdir}/lib/libqassistantclient.so
%{qtdir}/lib/libqassistantclient.prl
%{qtdir}/lib/libeditor.so
@@ -424,13 +477,15 @@
%{_bindir}/findtr*
%{_bindir}/qt20fix*
%{_bindir}/qtrename140*
-%{_bindir}/qtconfig*
+##%{_bindir}/qtconfig*
%{_bindir}/qmake*
%{_bindir}/qm2ts*
#%if %{pkg_config}
#%{_libdir}/pkgconfig/*
#%endif
-%doc doc/*
+##%doc doc/*
+%doc doc/*doc
+%doc doc/html
%doc examples
%doc tutorial
@@ -463,6 +518,10 @@
%{qtdir}/bin/linguist
%{qtdir}/bin/lrelease
%{qtdir}/bin/lupdate
+%dir %{qtdir}/phrasebooks
+%{qtdir}/phrasebooks/*
+%dir %{qtdir}/templates
+%{qtdir}/templates/*
%config /etc/X11/applnk/Development/designer.desktop
%changelog