Hello community, here is the log from the commit of package wxWidgets for openSUSE:11.4 checked in at Wed Apr 6 13:33:48 CEST 2011.
-------- --- old-versions/11.4/all/wxWidgets/wxWidgets-ansi.changes 2011-01-15 03:43:58.000000000 +0100 +++ 11.4/wxWidgets/wxWidgets-ansi.changes 2011-03-29 19:36:07.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Mar 29 19:35:10 CEST 2011 - sbra...@suse.cz + +- Fixed find-wx-requires to check directories instead of library + name. Provide find-wx-provides. (bnc#681409) + +------------------------------------------------------------------- wxWidgets-wxcontainer.changes: same change wxWidgets.changes: same change Package does not exist at destination yet. Using Fallback old-versions/11.4/all/wxWidgets Destination is old-versions/11.4/UPDATES/all/wxWidgets calling whatdependson for 11.4-i586 New: ---- wxWidgets-find-wx-provides wxWidgets-find-wx-requires ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wxWidgets-ansi.spec ++++++ --- /var/tmp/diff_new_pack.v7tcJs/_old 2011-04-06 13:31:10.000000000 +0200 +++ /var/tmp/diff_new_pack.v7tcJs/_new 2011-04-06 13:31:10.000000000 +0200 @@ -49,7 +49,7 @@ License: GPLv2+ Group: System/Libraries Version: 2.8.11 -Release: 1 +Release: 1.<RELEASE2> %define wx_minor %(echo %{version} | sed 's/\.[0-9][0-9]*$//') # libdir for installing of all the stuff %if %ENABLE_STL @@ -74,10 +74,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 @@ -646,6 +648,9 @@ %endif %patch3 cp %{S:1} %{S:2} . +cp %{S:3} find-wx-provides +cp %{S:4} find-wx-requires +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 @@ -759,21 +764,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 +827,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 wxWidgets-wxcontainer.spec: same change ++++++ wxWidgets.spec ++++++ --- /var/tmp/diff_new_pack.v7tcJs/_old 2011-04-06 13:31:10.000000000 +0200 +++ /var/tmp/diff_new_pack.v7tcJs/_new 2011-04-06 13:31:10.000000000 +0200 @@ -49,7 +49,7 @@ License: GPLv2+ Group: System/Libraries Version: 2.8.11 -Release: 1 +Release: 4.<RELEASE5> %define wx_minor %(echo %{version} | sed 's/\.[0-9][0-9]*$//') # libdir for installing of all the stuff %if %ENABLE_STL @@ -74,10 +74,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 @@ -646,6 +648,9 @@ %endif %patch3 cp %{S:1} %{S:2} . +cp %{S:3} find-wx-provides +cp %{S:4} find-wx-requires +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 @@ -759,21 +764,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 +827,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 ++++++ README.SUSE ++++++ --- /var/tmp/diff_new_pack.v7tcJs/_old 2011-04-06 13:31:10.000000000 +0200 +++ /var/tmp/diff_new_pack.v7tcJs/_new 2011-04-06 13:31:10.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. ++++++ 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-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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org