Hello community,
here is the log from the commit of package wxWidgets for openSUSE:Factory
checked in at Thu May 26 16:22:50 CEST 2011.
--------
--- wxWidgets/wxWidgets-ansi.changes 2011-01-15 03:43:58.000000000 +0100
+++ /mounts/work_src_done/STABLE/wxWidgets/wxWidgets-ansi.changes 2011-05-18 18:18:18.000000000 +0200
@@ -1,0 +2,31 @@
+Tue May 17 20:24:51 CEST 2011 - sbrabec@suse.cz
+
+- Create synthetic .la files to work-around libtool failures when
+ linking third level libraries or binaries (bnc#690952).
+
+-------------------------------------------------------------------
+Fri Apr 8 16:19:23 CEST 2011 - sbrabec@suse.cz
+
+- Updated to version 2.8.12:
+ * Many crash and bug fixes.
+ * Minor API improvements.
+ * Several additions for forward compatibility with version 2.9.
+ * See changes.txt for more.
+
+-------------------------------------------------------------------
+Fri Apr 8 14:27:33 CEST 2011 - sbrabec@suse.cz
+
+- Do not use bash coproc on system with bash-3.
+
+-------------------------------------------------------------------
+Tue Mar 29 19:35:10 CEST 2011 - sbrabec@suse.cz
+
+- Fixed find-wx-requires to check directories instead of library
+ name. Provide find-wx-provides. (bnc#681409)
+
+-------------------------------------------------------------------
+Fri Mar 4 16:05:47 CET 2011 - sbrabec@suse.cz
+
+- Fixed %WX_DEBUG support.
+
+-------------------------------------------------------------------
wxWidgets-wxcontainer.changes: same change
wxWidgets.changes: same change
calling whatdependson for head-i586
Old:
----
wxWidgets-2.8.11.tar.bz2
New:
----
wxWidgets-2.8.12.tar.bz2
wxWidgets-find-wx-provides
wxWidgets-find-wx-provides-bash3.patch
wxWidgets-find-wx-requires
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wxWidgets-ansi.spec ++++++
--- /var/tmp/diff_new_pack.6AIhH6/_old 2011-05-26 16:20:52.000000000 +0200
+++ /var/tmp/diff_new_pack.6AIhH6/_new 2011-05-26 16:20:52.000000000 +0200
@@ -48,7 +48,7 @@
BuildRequires: libgnomeprintui-devel libmspack-devel libtiff-devel
License: GPLv2+
Group: System/Libraries
-Version: 2.8.11
+Version: 2.8.12
Release: 1
%define wx_minor %(echo %{version} | sed 's/\.[0-9][0-9]*$//')
# libdir for installing of all the stuff
@@ -60,10 +60,18 @@
%define wx_variant wxcontainer
%endif
%if %ENABLE_UNICODE
+%if 0%{?WX_DEBUG}
+%define WXFLAGS ud
+%else
%define WXFLAGS u
+%endif
+%else
+%if 0%{?WX_DEBUG}
+%define WXFLAGS d
%else
%define WXFLAGS %{nil}
%endif
+%endif
# lang packages are exactly equal for all variants. Build it only once:
%if "%{name}" == "%{base_name}"
%define BUILD_LANG 1
@@ -74,10 +82,12 @@
Source: %{tarball_name}-%{version}.tar.bz2
Source1: README.SUSE
Source2: virtual-package.README
-Source3: rpmlintrc
+Source3: wxWidgets-find-wx-provides
+Source4: wxWidgets-find-wx-requires
+Source5: rpmlintrc
# This script is not used during build, but it makes possible to
# identify and backport wxPython fixes to wxWidgets.
-Source4: wxpython-mkdiff.sh
+Source6: wxpython-mkdiff.sh
Url: http://www.wxwidgets.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Patch0: wxGTK-2.6.3.3-decl.patch
@@ -85,6 +95,8 @@
# PATCH-FEATURE-OPENSUSE wxWidgets-config-force-rpath.patch sbrabec@suse.cz -- Force rpath use for installed libraries.
Patch2: wxWidgets-config-force-rpath.patch
Patch3: wxGTK-datarootdir.patch
+# PATCH-FEATURE-OPENSUSE wxWidgets-find-wx-provides-bash3.patch sbrabec@suse.cz -- Port to bash-3 that does not support coproc.
+Patch4: wxWidgets-find-wx-provides-bash3.patch
# We cannot use standard Requires/Provides, as we can have several instances of the library with the same soname.
%define _use_internal_dependency_generator 0
@@ -646,6 +658,12 @@
%endif
%patch3
cp %{S:1} %{S:2} .
+cp %{S:3} find-wx-provides
+cp %{S:4} find-wx-requires
+%if %suse_version < 1120
+%patch4
+%endif
+chmod +x find-wx-provides find-wx-requires
%if %ENABLE_STL
# Remove sources of deprecated libraries that don't compile with STL.
# The build failure would be ignored but the package will be rejected by
@@ -655,6 +673,8 @@
%build
%{suse_update_config -f}
+# Ugly hack that makes possible to call autoconf:
+sed -i 's/0\.2\.8/0.2.9/' build/aclocal/bakefile.m4
autoconf
# NOTE: gnome-vfs and gnomeprintui are deprecated. Disable it in future!
#
@@ -731,6 +751,58 @@
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
%endif
+# Create synthetic .la files to work-around libtool inability to link
+# third level libraries built on top of wxWidgets (bnc#690952).
+cd $RPM_BUILD_ROOT%{wxlibdir}
+for LIB in *.so ; do
+ LIBNAME=${LIB%.so}
+ LC_ALL=C
+ LIBNAMES=($LIB*)
+ unset LC_ALL
+ cat >$LIBNAME.la <=0;i--)); do echo ${LIBNAMES[i]} ; done | tr \\n \ | sed s/\ $// )'
+
+# The name of the static archive.
+old_library=''
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=' -pthread'
+
+# Libraries that this one depends upon.
+dependency_libs=''
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for $LIBNAME.
+current=8
+age=0
+revision=8
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='%{wxlibdir}'
+EOF
+done
+cd -
+
# Create ld.so.conf.d file that provides binary compatibility with third party binaries.
%if "%{_libdir}" != "%{wxlibdir}"
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
@@ -759,21 +831,26 @@
# %%define _use_internal_dependency_generator 0
# %%define __find_requires %%wx_requires
#
-%%wx_requires %{wxlibdir}/wx/rpm/find-wx-requires
+# and use this line if you build wxWidgets variant-specific libraries or
+# modules
+#
+# %%define __find_provides %%wx_provides
+#
+%%wx_provides %{wxlibdir}/wx/rpm/find-wx-provides
+%%wx_requires %{wxlibdir}/wx/rpm/find-wx-requires "%%{buildroot}"
EOF
mkdir -p $RPM_BUILD_ROOT%{wxlibdir}/wx/rpm
-cat <<EOF >$RPM_BUILD_ROOT%{wxlibdir}/wx/rpm/find-wx-requires
-#! /bin/sh
-# convert libfoo()() to libfoo(variant)()()
-/usr/lib/rpm/find-requires | sed 's/^\(\(libwx\|sound_sdl\)[^)]*\)(/\1(%{wx_variant})(/'
-EOF
-chmod 755 $RPM_BUILD_ROOT%{wxlibdir}/wx/rpm/find-wx-requires
+install find-wx-provides find-wx-requires $RPM_BUILD_ROOT%{wxlibdir}/wx/rpm/
# Modify provides/requires to prevent identical provides for different libraries.
-%define wx_provides %{_builddir}/%{?buildsubdir}/wx-provides
-%define wx_requires %{_builddir}/%{?buildsubdir}/wx-requires
+%define build_wx_provides %{_builddir}/%{?buildsubdir}/build-wx-provides
+%define build_find_wx_provides %{_builddir}/%{?buildsubdir}/find-wx-provides
+%define build_wx_requires %{_builddir}/%{?buildsubdir}/find-wx-requires
+
+# We need a very special version of %%wx_provides here.
+# This version creates provides for compat-lib packages.
echo 0 >wx-libno
-cat << EOF > %{wx_provides}
+cat << EOF > %{build_wx_provides}
#! /bin/sh
# convert libfoo()() to libfoo(variant)()() and create virtual symbols.
wx_libno=\$(<$PWD/wx-libno)
@@ -817,22 +894,18 @@
/usr/lib/rpm/find-provides
;;
*%{_docdir}* )
- echo "\$REPLY" | /usr/lib/rpm/find-provides | sed 's/^\(\(libwx\|sound_sdl\)[^)]*\)(/\1(%{wx_variant})(/'
+ echo "\$REPLY" | %{build_find_wx_provides}
;;
* )
- ( echo "\$REPLY" ; cat ) | /usr/lib/rpm/find-provides | sed 's/^\(\(libwx\|sound_sdl\)[^)]*\)(/\1(%{wx_variant})(/'
+ ( echo "\$REPLY" ; cat ) | %{build_find_wx_provides}
;;
esac
done
EOF
-cat << EOF > %{wx_requires}
-#! /bin/sh
-# convert libfoo()() to libfoo(variant)()()
-/usr/lib/rpm/find-requires | sed 's/^\(\(libwx\|sound_sdl\)[^)]*\)(/\1(%{wx_variant})(/'
-EOF
-chmod 755 %{wx_provides} %{wx_requires}
-%define __find_provides %{wx_provides}
-%define __find_requires %{wx_requires}
+
+chmod 755 %{build_wx_provides}
+%define __find_provides %{build_wx_provides}
+%define __find_requires %{build_wx_requires} "%{buildroot}"
%clean
rm -rf $RPM_BUILD_ROOT
@@ -1242,6 +1315,7 @@
%{_datadir}/bakefile
%{_includedir}/wx-%{wx_minor}
%{wxlibdir}/*.so
+%{wxlibdir}/*.la
%{wxlibdir}/wx/config
%{wxlibdir}/wx/include
%{wxlibdir}/wx/rpm
wxWidgets-wxcontainer.spec: same change
wxWidgets.spec: same change
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.6AIhH6/_old 2011-05-26 16:20:52.000000000 +0200
+++ /var/tmp/diff_new_pack.6AIhH6/_new 2011-05-26 16:20:52.000000000 +0200
@@ -23,6 +23,13 @@
%define _use_internal_dependency_generator 0
%define __find_requires %wx_requires
+These lines must be placed below any BuildRoot preamble line.
+
+If you compile wxWidgets variant-specific libraries or wxWidgets
+modules, you also need to use:
+
+%define __find_provides %wx_provides
+
If you don't do it, rpm would not be able to identify library variant
package your package is linked with.
++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.6AIhH6/_old 2011-05-26 16:20:52.000000000 +0200
+++ /var/tmp/diff_new_pack.6AIhH6/_new 2011-05-26 16:20:52.000000000 +0200
@@ -1,21 +1,22 @@
#!/bin/bash
+CANONICAL_NAME=wxWidgets
VARIANTS=("" -wxcontainer -ansi)
for VAR in "${VARIANTS[@]}" ; do
- NAME=wxWidgets$VAR
- if test $NAME = wxWidgets ; then
+ NAME=$CANONICAL_NAME$VAR
+ if test $NAME = $CANONICAL_NAME ; then
continue
fi
- if test wxWidgets.spec -ot $NAME.spec ; then
- echo "wxWidgets.spec is older than $NAME.spec. Please merge changes manually and call pre-checkin.sh again."
+ if test $CANONICAL_NAME.spec -ot $NAME.spec ; then
+ echo "$CANONICAL_NAME.spec is older than $NAME.spec. Please merge changes manually and call pre-checkin.sh again."
exit 1
fi
- if test wxWidgets.changes -ot $NAME.changes ; then
- echo "wxWidgets.changes is older than $NAME.changes. Please merge changes manually and call pre-checkin.sh again."
+ if test $CANONICAL_NAME.changes -ot $NAME.changes ; then
+ echo "$CANONICAL_NAME.changes is older than $NAME.changes. Please merge changes manually and call pre-checkin.sh again."
exit 1
fi
- sed "s/^Name: *wxWidgets$/&$VAR$DBG/" $NAME.spec
- cp -a wxWidgets.changes $NAME.changes
+ sed "s/^Name: *$CANONICAL_NAME$/&$VAR/" <$CANONICAL_NAME.spec >$NAME.spec
+ cp -a $CANONICAL_NAME.changes $NAME.changes
done
-touch wxWidgets.spec wxWidgets.changes
+touch $CANONICAL_NAME.spec $CANONICAL_NAME.changes
++++++ wxWidgets-2.8.11.tar.bz2 -> wxWidgets-2.8.12.tar.bz2 ++++++
wxWidgets/wxWidgets-2.8.11.tar.bz2 /mounts/work_src_done/STABLE/wxWidgets/wxWidgets-2.8.12.tar.bz2 differ: char 11, line 1
++++++ wxWidgets-find-wx-provides ++++++
#! /bin/bash
# convert libwxfoo()() to libwxfoo(variant)()() for libraries inside wx libdir
shopt -s extglob
# redirect 3 to stdout (3 does not change in coprocesses)
exec 3>&1
# Coprocess for files outside wx libdir
coproc COPROC_NOT_WX ( /usr/lib/rpm/find-provides >&3 )
# HACK: Return stderr to place.
while read ; do
case "$REPLY" in
*/usr/lib*/wx-*-* )
VARIANT=${REPLY#*/usr/lib*/wx-*-}
VARIANT=${VARIANT%%/*}
case "$VARIANT" in
+([A-Za-z_]) )
# Assign a coprocess that corresponds to the variant.
eval "COPROC_YES_WX=(\"\${COPROC_YES_WX_$VARIANT[@]}\")"
# Coprocess for files inside particular wx libdir
if test -z "$COPROC_YES_WX" ; then
# HACK: Closing stderr seems to be the only way
# to silence warning "execute_coproc: coproc
# [$PID:TRA] still exists"
exec 4>&2-
eval "coproc COPROC_YES_WX_$VARIANT ( /usr/lib/rpm/find-provides |\
sed 's/^\([^)]*\)(/\1($VARIANT)(/' >&3 )"
exec 2>&4
eval "COPROC_YES_WX=(\"\${COPROC_YES_WX_$VARIANT[@]}\")"
fi
echo "$REPLY" >&${COPROC_YES_WX[1]}
;;
# invalid variant string
* )
echo "find-wx-provides: ERROR: invalid format of wx variant directory name" >&2
echo "$REPLY" >&${COPROC_NOT_WX[1]}
;;
esac
;;
* )
echo "$REPLY" >&${COPROC_NOT_WX[1]}
;;
esac
done
# close input of coprocesses (terminate them)
for COPROC_YES_WX in "${!COPROC_YES_WX_@}" ; do
case $COPROC_YES_WX in
# foo_PID variables are created by coproc builtin
*_PID ) ;;
* )
eval eval exec \${$COPROC_YES_WX\[1\]}\\\>\\\&-
;;
esac
done
eval exec ${COPROC_NOT_WX[1]}\>\&-
# wait for coprocesses to finish
wait
++++++ wxWidgets-find-wx-provides-bash3.patch ++++++
--- find-wx-provides 2011-03-28 18:27:14.000000000 +0200
+++ find-wx-provides 2011-04-08 14:23:22.718604689 +0200
@@ -3,12 +3,6 @@
shopt -s extglob
-# redirect 3 to stdout (3 does not change in coprocesses)
-exec 3>&1
-# Coprocess for files outside wx libdir
-coproc COPROC_NOT_WX ( /usr/lib/rpm/find-provides >&3 )
-# HACK: Return stderr to place.
-
while read ; do
case "$REPLY" in
*/usr/lib*/wx-*-* )
@@ -16,45 +10,18 @@
VARIANT=${VARIANT%%/*}
case "$VARIANT" in
+([A-Za-z_]) )
- # Assign a coprocess that corresponds to the variant.
- eval "COPROC_YES_WX=(\"\${COPROC_YES_WX_$VARIANT[@]}\")"
- # Coprocess for files inside particular wx libdir
- if test -z "$COPROC_YES_WX" ; then
- # HACK: Closing stderr seems to be the only way
- # to silence warning "execute_coproc: coproc
- # [$PID:TRA] still exists"
- exec 4>&2-
- eval "coproc COPROC_YES_WX_$VARIANT ( /usr/lib/rpm/find-provides |\
- sed 's/^\([^)]*\)(/\1($VARIANT)(/' >&3 )"
- exec 2>&4
- eval "COPROC_YES_WX=(\"\${COPROC_YES_WX_$VARIANT[@]}\")"
- fi
- echo "$REPLY" >&${COPROC_YES_WX[1]}
+ echo "$REPLY" | /usr/lib/rpm/find-provides |\
+ sed "s/^\([^)]*\)(/\1($VARIANT)(/"
;;
# invalid variant string
* )
echo "find-wx-provides: ERROR: invalid format of wx variant directory name" >&2
- echo "$REPLY" >&${COPROC_NOT_WX[1]}
+ echo "$REPLY" | /usr/lib/rpm/find-provides
;;
esac
;;
* )
- echo "$REPLY" >&${COPROC_NOT_WX[1]}
+ echo "$REPLY" | /usr/lib/rpm/find-provides
;;
esac
done
-
-# close input of coprocesses (terminate them)
-for COPROC_YES_WX in "${!COPROC_YES_WX_@}" ; do
- case $COPROC_YES_WX in
- # foo_PID variables are created by coproc builtin
- *_PID ) ;;
- * )
- eval eval exec \${$COPROC_YES_WX\[1\]}\\\>\\\&-
- ;;
- esac
-done
-eval exec ${COPROC_NOT_WX[1]}\>\&-
-
-# wait for coprocesses to finish
-wait
++++++ wxWidgets-find-wx-requires ++++++
#! /bin/bash
# convert libwxfoo()() to libwxfoo(variant)()() for libraries inside wx libdir
#
# Notes:
# - We do not use ldd, it fails to detect uninstalled libraries in the sysroot.
# - The script is not able to recognize exact variant of wx libraries.
# It expects, that it corresponds with just-installed devel packages.
shopt -s nullglob
RPM_BUILD_ROOT=$1
/usr/lib/rpm/find-requires |\
while read ; do
case "$REPLY" in
*'('*')' | *'('*')('*')' )
SONAME=${REPLY%%(*}
NOT_WX=true
for DIR in /usr/lib*/wx-*-* /usr/lib*/wx-*-*/wx/* "$RPM_BUILD_ROOT"/usr/lib*/wx-*-* "$RPM_BUILD_ROOT"/usr/lib*/wx-*-*/wx/* ; do
if test -f "$DIR/$SONAME" ; then
VARIANT=${DIR#*/usr/lib*/wx-*-}
VARIANT=${VARIANT%%/*}
echo "$SONAME($VARIANT)${REPLY#$SONAME}"
NOT_WX=false
break
fi
done
if $NOT_WX ; then
echo "$REPLY"
fi
;;
* )
echo "$REPLY"
;;
esac
done
++++++ wxpython-mkdiff.sh ++++++
--- /var/tmp/diff_new_pack.6AIhH6/_old 2011-05-26 16:20:52.000000000 +0200
+++ /var/tmp/diff_new_pack.6AIhH6/_new 2011-05-26 16:20:52.000000000 +0200
@@ -3,7 +3,7 @@
# This script helps to find important differences between
# wxWidgets/wxGTK and wxWidgets instance embedded in wxPython-src.
-VER=2.8.11
+VER=2.8.12
PYREL=0
find wxWidgets-${VER} wxPython-src-${VER}.${PYREL} -type f | while read ; do tr -d '\r' <"$REPLY" >"$REPLY".new ; mv "$REPLY".new "$REPLY" ; done
find wxWidgets-${VER} wxPython-src-${VER}.${PYREL} -type f -exec sed -i /RCS-ID:/d {} \;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org