Hello community,
here is the log from the commit of package libqt4
checked in at Thu Sep 7 01:22:16 CEST 2006.
--------
--- libqt4/libqt4-sql-plugins.changes 2006-09-03 12:13:36.000000000 +0200
+++ libqt4/libqt4-sql-plugins.changes 2006-09-05 16:34:07.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 5 16:33:55 CEST 2006 - dmueller@suse.de
+
+- Qt 4.2.rc1 update:
+ * no changelog available
+
+-------------------------------------------------------------------
libqt4.changes: same change
Old:
----
qt-x11-4.2.0-snapshot-20060901.tar.bz2
New:
----
qlibrary-flags.diff
qt-x11-opensource-src-4.2.0-rc1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt4-sql-plugins.spec ++++++
--- /var/tmp/diff_new_pack.iObzxD/_old 2006-09-07 01:22:06.000000000 +0200
+++ /var/tmp/diff_new_pack.iObzxD/_new 2006-09-07 01:22:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libqt4-sql-plugins (Version 4.1.9_20060901)
+# spec file for package libqt4-sql-plugins (Version 4.1.9_rc1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,7 +12,7 @@
# nodebuginfo
Name: libqt4-sql-plugins
-BuildRequires: cups-devel freeglut-devel freetype2-devel gcc-c++ krb5-devel libjpeg-devel libpng-devel libqt4 mysql-devel pkgconfig postgresql-devel sqlite-devel unixODBC-devel
+BuildRequires: cups-devel freeglut-devel freetype2-devel gcc-c++ libjpeg-devel libpng-devel libqt4 mysql-devel pkgconfig postgresql-devel sqlite-devel unixODBC-devel
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
@@ -23,16 +23,17 @@
Summary: Qt 4 SQL-Related Libraries
# COMMON-BEGIN
# COMMON-BEGIN
-Version: 4.1.9_20060901
-Release: 3
-%define x11_free -x11-
-%define rversion 4.2.0-snapshot-20060901
+Version: 4.1.9_rc1
+Release: 1
+%define x11_free -x11-opensource-src-
+%define rversion 4.2.0-rc1
Source: qt%x11_free%rversion.tar.bz2
Source10: qt4config.desktop
Source11: designer4.desktop
Source12: linguist4.desktop
Source13: assistant4.desktop
Patch2: qt-never-strip.diff
+Patch3: qlibrary-flags.diff
Patch5: lib64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define common_options -fast -no-separate-debug-info -shared -xkb -tablet -xrender -xrandr -xinerama -xshape -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/libqt4 -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/
@@ -52,6 +53,7 @@
%setup -q -n qt%x11_free%rversion
#%patch -p1
%patch2
+%patch3
%patch5
# be sure not to use them
rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib}
@@ -60,7 +62,6 @@
%package -n libqt4-sql-sqlite
Group: Development/Libraries/C and C++
Summary: Qt 4 sqlite plugin
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-sqlite
Qt 4 sqlite plugin to be able to use database functionality with Qt
@@ -75,7 +76,6 @@
%package -n libqt4-sql-unixODBC
Group: Development/Libraries/C and C++
Summary: Qt 4 unixODBC plugin
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-unixODBC
Qt unixODBC plugin to support databases via unixODBC within Qt
@@ -90,7 +90,6 @@
%package -n libqt4-sql-postgresql
Group: Development/Libraries/C and C++
Summary: Qt 4 PostgreSQL plugin
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-postgresql
Qt SQL plugin to support PostgreSQL servers in Qt applications.
@@ -104,7 +103,6 @@
%package -n libqt4-sql-mysql
Group: Development/Libraries/C and C++
Summary: Qt 4 MySQL support
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-mysql
A plugin to support MySQL server in Qt applications.
@@ -187,6 +185,9 @@
%plugindir/sqldrivers/libqsqlmysql*.so
%changelog -n libqt4-sql-plugins
+* Tue Sep 05 2006 - dmueller@suse.de
+- Qt 4.2.rc1 update:
+ * no changelog available
* Sun Sep 03 2006 - dmueller@suse.de
- Rename the other qt-* related references as well.
* Sun Sep 03 2006 - aj@suse.de
++++++ libqt4.spec ++++++
--- /var/tmp/diff_new_pack.iObzxD/_old 2006-09-07 01:22:06.000000000 +0200
+++ /var/tmp/diff_new_pack.iObzxD/_new 2006-09-07 01:22:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libqt4 (Version 4.1.9_20060901)
+# spec file for package libqt4 (Version 4.1.9_rc1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -21,16 +21,17 @@
Autoreqprov: on
Summary: C++ Program Library, Core Components
# COMMON-BEGIN
-Version: 4.1.9_20060901
-Release: 3
-%define x11_free -x11-
-%define rversion 4.2.0-snapshot-20060901
+Version: 4.1.9_rc1
+Release: 1
+%define x11_free -x11-opensource-src-
+%define rversion 4.2.0-rc1
Source: qt%x11_free%rversion.tar.bz2
Source10: qt4config.desktop
Source11: designer4.desktop
Source12: linguist4.desktop
Source13: assistant4.desktop
Patch2: qt-never-strip.diff
+Patch3: qlibrary-flags.diff
Patch5: lib64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define common_options -fast -no-separate-debug-info -shared -xkb -tablet -xrender -xrandr -xinerama -xshape -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/libqt4 -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/
@@ -52,6 +53,7 @@
%setup -q -n qt%x11_free%rversion
#%patch -p1
%patch2
+%patch3
%patch5
# be sure not to use them
rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib}
@@ -313,6 +315,9 @@
%_libdir/libQtSql*.so.*
%changelog -n libqt4
+* Tue Sep 05 2006 - dmueller@suse.de
+- Qt 4.2.rc1 update:
+ * no changelog available
* Sun Sep 03 2006 - dmueller@suse.de
- Rename the other qt-* related references as well.
* Sun Sep 03 2006 - aj@suse.de
++++++ libqt4-sql-plugins.spec.in ++++++
--- libqt4/libqt4-sql-plugins.spec.in 2006-09-03 12:48:56.000000000 +0200
+++ libqt4/libqt4-sql-plugins.spec.in 2006-09-05 01:09:59.000000000 +0200
@@ -12,7 +12,7 @@
# nodebuginfo
Name: libqt4-sql-plugins
-BuildRequires: cups-devel freeglut-devel freetype2-devel gcc-c++ krb5-devel libjpeg-devel libpng-devel mysql-devel pkgconfig postgresql-devel sqlite-devel unixODBC-devel libqt4
+BuildRequires: cups-devel freeglut-devel freetype2-devel gcc-c++ libjpeg-devel libpng-devel mysql-devel pkgconfig postgresql-devel sqlite-devel unixODBC-devel libqt4
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
@@ -27,7 +27,6 @@
%package -n libqt4-sql-sqlite
Group: Development/Libraries/C and C++
Summary: Qt 4 sqlite plugin
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-sqlite
Qt 4 sqlite plugin to be able to use database functionality with Qt
@@ -42,7 +41,6 @@
%package -n libqt4-sql-unixODBC
Group: Development/Libraries/C and C++
Summary: Qt 4 unixODBC plugin
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-unixODBC
Qt unixODBC plugin to support databases via unixODBC within Qt
@@ -57,7 +55,6 @@
%package -n libqt4-sql-postgresql
Group: Development/Libraries/C and C++
Summary: Qt 4 PostgreSQL plugin
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-postgresql
Qt SQL plugin to support PostgreSQL servers in Qt applications.
@@ -71,7 +68,6 @@
%package -n libqt4-sql-mysql
Group: Development/Libraries/C and C++
Summary: Qt 4 MySQL support
-Provides: qt_database_plugin = %version
%description -n libqt4-sql-mysql
A plugin to support MySQL server in Qt applications.
++++++ qlibrary-flags.diff ++++++
Index: src/corelib/plugin/qlibrary.cpp
===================================================================
--- src/corelib/plugin/qlibrary.cpp (revision 580791)
+++ src/corelib/plugin/qlibrary.cpp (working copy)
@@ -899,6 +899,37 @@ QString QLibrary::errorString() const
return d->errorString.isEmpty() ? tr("Unknown error") : d->errorString;
}
+/*!
+ \property QLibrary::loadHints
+ \brief Give the load() function some hints on how it should behave.
+
+ You can give some hints on how the symbols are resolved. Usually,
+ the symbols are not resolved at load time, but resolved lazily,
+ (that is, when resolve() is called). If you set the loadHint to
+ ResolveAllSymbolsHint, then all symbols will be resolved at load time
+ if the platform supports it. Setting ExportExternalSymbolsHint will
+ make the external symbols in the library available for resolution
+ in subsequent loaded libraries. If LoadArchiveMemberHint is set, the fileName
+ is composed of two components: A path which is a reference to an
+ archive file followed by the second component which is the reference to
+ the archive member. For instance, the fileName \c libGL.a(shr_64.o) will refer
+ to the library \c shr_64.o in the archive file named \c libGL.a. This
+ is only supported on the AIX platform.
+ The interpretation of the loadHints is platform dependent, and if
+ you use it you are probably making some assumptions on which platform
+ you are compiling for, so use them only if you understand the consequences
+ of them.
+
+*/
+void QLibrary::setLoadHints(LoadHints hints)
+{
+ d->loadHints = hints;
+}
+
+QLibrary::LoadHints QLibrary::loadHints() const
+{
+ return d->loadHints;
+}
/* Internal, for debugging */
bool qt_debug_component()
@@ -907,9 +938,9 @@ bool qt_debug_component()
return true; //compatibility?
#else
static int debug_env = -1;
- if (debug_env == -1)
+ if (debug_env == -1)
debug_env = ::qgetenv("QT_DEBUG_PLUGINS").toInt();
-
+
return debug_env != 0;
#endif
}
Index: src/corelib/plugin/qlibrary_unix.cpp
===================================================================
--- src/corelib/plugin/qlibrary_unix.cpp (revision 580791)
+++ src/corelib/plugin/qlibrary_unix.cpp (working copy)
@@ -48,8 +48,14 @@ bool QLibraryPrivate::load_sys()
pHnd = (void*)shl_load(QFile::encodeName(fileName + ".sl"), BIND_DEFERRED | BIND_NONFATAL | DYNAMIC_PATH, 0);
if (!pHnd) {
QFileInfo fi(fileName);
+ int dlFlags = DYNAMIC_PATH | BIND_NONFATAL;
+ if (loadHints & QLibrary::ResolveAllSymbols) {
+ dlFlags |= BIND_IMMEDIATE;
+ } else {
+ dlFlags |= BIND_DEFERRED;
+ }
pHnd = (void*)shl_load(QFile::encodeName(fi.path() + "/lib" + fi.fileName() + ".sl"),
- BIND_DEFERRED | BIND_NONFATAL | DYNAMIC_PATH, 0);
+ dlFlags, 0);
}
}
if (!pHnd) {
@@ -138,7 +144,20 @@ bool QLibraryPrivate::load_sys()
}
#endif
}
-
+ int dlFlags = 0;
+ if (loadHints & QLibrary::ResolveAllSymbolsHint) {
+ dlFlags |= RTLD_NOW;
+ } else {
+ dlFlags |= RTLD_LAZY;
+ }
+ if (loadHints & QLibrary::ExportExternalSymbolsHint) {
+ dlFlags |= RTLD_GLOBAL;
+ }
+#if defined(Q_OS_AIX) // Not sure if any other platform actually support this thing.
+ if (loadHints & QLibrary::LoadArchiveMemberHint) {
+ dlFlags |= RTLD_MEMBER;
+ }
+#endif
QString attempt;
for(int prefix = 0; !pHnd && prefix < prefixes.size(); prefix++) {
for(int suffix = 0; !pHnd && suffix < suffixes.size(); suffix++) {
@@ -146,8 +165,16 @@ bool QLibraryPrivate::load_sys()
continue;
if (!suffixes.at(suffix).isEmpty() && name.endsWith(suffixes.at(suffix)))
continue;
- attempt = path + prefixes.at(prefix) + name + suffixes.at(suffix);
- pHnd = dlopen(QFile::encodeName(attempt), RTLD_LAZY);
+ if (loadHints & QLibrary::LoadArchiveMemberHint) {
+ attempt = name;
+ int lparen = attempt.indexOf(QLatin1Char('('));
+ if (lparen == -1)
+ lparen = attempt.count();
+ attempt = path + prefixes.at(prefix) + attempt.insert(lparen, suffixes.at(suffix));
+ } else {
+ attempt = path + prefixes.at(prefix) + name + suffixes.at(suffix);
+ }
+ pHnd = dlopen(QFile::encodeName(attempt), dlFlags);
}
}
#ifdef Q_OS_MAC
@@ -155,7 +182,7 @@ bool QLibraryPrivate::load_sys()
if (CFBundleRef bundle = CFBundleGetBundleWithIdentifier(QCFString(fileName))) {
QCFType<CFURLRef> url = CFBundleCopyExecutableURL(bundle);
QCFString str = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle);
- pHnd = dlopen(QFile::encodeName(str), RTLD_LAZY);
+ pHnd = dlopen(QFile::encodeName(str), dlFlags);
attempt = str;
}
}
Index: src/corelib/plugin/qlibrary_p.h
===================================================================
--- src/corelib/plugin/qlibrary_p.h (revision 580791)
+++ src/corelib/plugin/qlibrary_p.h (working copy)
@@ -74,6 +74,7 @@ public:
QString lastModified;
QString errorString;
+ QLibrary::LoadHints loadHints;
bool isPlugin();
Index: src/corelib/plugin/qlibrary.h
===================================================================
--- src/corelib/plugin/qlibrary.h (revision 580791)
+++ src/corelib/plugin/qlibrary.h (working copy)
@@ -25,6 +25,7 @@
#define QLIBRARY_H
#include