From fedora-cvs-commits at redhat.com Fri Jun 1 06:29:17 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 1 Jun 2007 02:29:17 -0400 Subject: rpms/libchewing/devel libchewing-0.3.0-8.bz237916.patch, NONE, 1.1 libchewing.spec, 1.14, 1.15 Message-ID: <200706010629.l516TH7i028379@cvs.devel.redhat.com> Author: cchance Update of /cvs/dist/rpms/libchewing/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv28358 Modified Files: libchewing.spec Added Files: libchewing-0.3.0-8.bz237916.patch Log Message: * Fri Jun 01 2007 Caius Chance - 0.3.0-8.devel - Fixed bz#237916: [chewing] Candidate list (symbol) page change inaccracy. libchewing-0.3.0-8.bz237916.patch: chewingutil.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- NEW FILE libchewing-0.3.0-8.bz237916.patch --- --- libchewing-0.3.0/src/chewingutil.c.orig 2007-05-30 18:06:40.000000000 +1000 +++ libchewing-0.3.0/src/chewingutil.c 2007-05-30 18:07:20.000000000 +1000 @@ -133,7 +133,7 @@ int HaninSymbolInput( pai->avail[ 0 ].id = -1; pai->nAvail = 1; pai->currentAvail = 0; - pci->nChoicePerPage = (selectAreaLen - 5) / ( 2 + 3) ; + pci->nChoicePerPage = selectAreaLen ; if ( pci->nChoicePerPage > MAX_SELKEY ) { pci->nChoicePerPage = MAX_SELKEY; } @@ -982,7 +982,7 @@ int OpenSymbolChoice( ChewingData *pgdat pci->nTotalChoice++; } - pci->nChoicePerPage = (pgdata->config.selectAreaLen - 5) / ( 2 + 3) ; + pci->nChoicePerPage = pgdata->config.selectAreaLen ; if ( pci->nChoicePerPage > MAX_SELKEY ) pci->nChoicePerPage = MAX_SELKEY ; pci->nPage = CEIL_DIV( pci->nTotalChoice, pci->nChoicePerPage ); Index: libchewing.spec =================================================================== RCS file: /cvs/dist/rpms/libchewing/devel/libchewing.spec,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- libchewing.spec 20 Apr 2007 07:23:52 -0000 1.14 +++ libchewing.spec 1 Jun 2007 06:29:15 -0000 1.15 @@ -1,7 +1,7 @@ Name: libchewing Version: 0.3.0 -Release: 7%{?dist} -Summary: Intelligent phonetic input method library for Traditional Chinese +Release: 8%{?dist} +Summary: Intelligent phonetic input method library for Traditional Chinese Group: System Environment/Libraries License: GPL @@ -13,6 +13,7 @@ Patch3: libchewing-0.3.0-5.bz216581b.patch Patch4: libchewing-0.3.0-6.bz231568.patch Patch5: libchewing-0.3.0-7.bz237233.patch +Patch6: libchewing-0.3.0-8.bz237916.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root @@ -24,10 +25,10 @@ input method that is useful for inputting Mandarin Chinese. -%package -n %{name}-devel +%package -n %{name}-devel Summary: Development files for libchewing Group: Development/Libraries -Requires: %{name} = %{version}-%{release}, pkgconfig +Requires: %{name} = %{version}-%{release}, pkgconfig %description -n %{name}-devel Headers and other files needed to develop applications using the %name library. @@ -40,6 +41,7 @@ %patch3 -p1 -b .4-bz216581b %patch4 -p1 -b .5-bz231568 %patch5 -p1 -b .6-bz237233 +%patch6 -p1 -b .7-bz237916 %build %configure --disable-static @@ -73,6 +75,9 @@ %{_libdir}/*.so %changelog +* Fri Jun 01 2007 Caius Chance - 0.3.0-8.devel +- Fixed bz#237916: [chewing] Candidate list (symbol) page change inaccracy. + * Fri Apr 20 2007 Caius Chance - 0.3.0-7.fc7 - Fixed bz#237233: Up arrow on candidate list doesn't work. From fedora-cvs-commits at redhat.com Fri Jun 1 11:16:40 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 1 Jun 2007 07:16:40 -0400 Subject: rpms/openoffice.org/FC-5 openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch, NONE, 1.1 openoffice.org.spec, 1.687, 1.688 Message-ID: <200706011116.l51BGeTJ001727@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv1710 Modified Files: openoffice.org.spec Added Files: openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch Log Message: openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch: source/filter/rtf/swparrtf.cxx | 0 sw/source/filter/rtf/swparrtf.cxx | 25 ++++++------------------- 2 files changed, 6 insertions(+), 19 deletions(-) --- NEW FILE openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch --- Index: source/filter/rtf/swparrtf.cxx =================================================================== RCS file: /cvs/sw/sw/source/filter/rtf/swparrtf.cxx,v retrieving revision 1.64.36.1 diff -u -r1.64.36.1 swparrtf.cxx --- openoffice.org.orig/sw/source/filter/rtf/swparrtf.cxx 1 Feb 2007 18:23:13 -0000 1.64.36.1 +++ openoffice.org/sw/source/filter/rtf/swparrtf.cxx 7 Apr 2007 11:03:07 -0000 @@ -3684,25 +3684,12 @@ void SwRTFParser::ReadPrtData() { - // der Eingabe Stream steht auf der aktuellen Position - USHORT nLen = USHORT( nTokenValue ), nCnt = 0; - BYTE * pData = new BYTE[ nLen ]; - - while( IsParserWorking() ) // lese bis zur schliessenden Klammer - { - int nToken = GetNextToken(); - if( RTF_TEXTTOKEN == nToken ) - { - xub_StrLen nTknLen = HexToBin( aToken ); - if( STRING_NOTFOUND != nTknLen ) - { - memcpy( pData + nCnt, (sal_Char*)aToken.GetBuffer(), nTknLen ); - nCnt += nTknLen; - } - } - else if( '}' == nToken ) - break; - } + while( IsParserWorking() ) + { + int nToken = GetNextToken(); + if( (RTF_TEXTTOKEN != nToken) && ('}' == nToken) ) + break; + } SkipToken( -1 ); // schliessende Klammer wieder zurueck!! } Index: openoffice.org.spec =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/FC-5/openoffice.org.spec,v retrieving revision 1.687 retrieving revision 1.688 diff -u -r1.687 -r1.688 --- openoffice.org.spec 20 Feb 2007 14:23:33 -0000 1.687 +++ openoffice.org.spec 1 Jun 2007 11:16:38 -0000 1.688 @@ -1,6 +1,6 @@ %define oootag OOB680 %define ooomilestone 5 -%define rh_rpm_release 21 +%define rh_rpm_release 22 %define build_fc5 1 @@ -190,6 +190,7 @@ Patch62: openoffice.org-2.2.0.rh228008.escape.shell.patch Patch63: openoffice.org-2.2.0.rh226966.scoverflow.sc.patch Patch64: openoffice.org-2.0.4.ooo71039.svx.purevirtual.patch +Patch65: openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch %define instdir %{_libdir}/openoffice.org2.0 @@ -863,6 +864,7 @@ %patch62 -p1 -b .rh228008.escape.shell.patch %patch63 -p1 -b .rh226966.scoverflow.sc.patch %patch64 -p1 -b .ooo71039.svx.purevirtual.patch +%patch65 -p1 -b .ooo77214.rtfprtdata.sw.patch %if %{includingexternals} #start ludicrous workaround @@ -3308,6 +3310,9 @@ %{instdir}/share/registry/modules/org/openoffice/Office/Scripting/Scripting-python.xcu %changelog +* Fri Jun 01 2007 Caolan McNamara - 1:2.0.2-5.22 +- Resolves: CVE-2007-0245 ooo#77214 rtf prtdata + * Tue Feb 20 2007 Caolan McNamara - 1:2.0.2-5.21 - Resolves: CVE-2007-0239 rhbz#228008 shell escape - Resolves: CVE-2007-0238 rhbz#226966 buffer overflows From fedora-cvs-commits at redhat.com Fri Jun 1 11:26:19 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 1 Jun 2007 07:26:19 -0400 Subject: rpms/openoffice.org/FC-6 openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch, NONE, 1.1 openoffice.org.spec, 1.946, 1.947 Message-ID: <200706011126.l51BQJoY001871@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv1843 Modified Files: openoffice.org.spec Added Files: openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch Log Message: Resolves: CVE-2007-0245 ooo#77214 openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch: source/filter/rtf/swparrtf.cxx | 0 sw/source/filter/rtf/swparrtf.cxx | 25 ++++++------------------- 2 files changed, 6 insertions(+), 19 deletions(-) --- NEW FILE openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch --- Index: source/filter/rtf/swparrtf.cxx =================================================================== RCS file: /cvs/sw/sw/source/filter/rtf/swparrtf.cxx,v retrieving revision 1.64.36.1 diff -u -r1.64.36.1 swparrtf.cxx --- openoffice.org.orig/sw/source/filter/rtf/swparrtf.cxx 1 Feb 2007 18:23:13 -0000 1.64.36.1 +++ openoffice.org/sw/source/filter/rtf/swparrtf.cxx 7 Apr 2007 11:03:07 -0000 @@ -3684,25 +3684,12 @@ void SwRTFParser::ReadPrtData() { - // der Eingabe Stream steht auf der aktuellen Position - USHORT nLen = USHORT( nTokenValue ), nCnt = 0; - BYTE * pData = new BYTE[ nLen ]; - - while( IsParserWorking() ) // lese bis zur schliessenden Klammer - { - int nToken = GetNextToken(); - if( RTF_TEXTTOKEN == nToken ) - { - xub_StrLen nTknLen = HexToBin( aToken ); - if( STRING_NOTFOUND != nTknLen ) - { - memcpy( pData + nCnt, (sal_Char*)aToken.GetBuffer(), nTknLen ); - nCnt += nTknLen; - } - } - else if( '}' == nToken ) - break; - } + while( IsParserWorking() ) + { + int nToken = GetNextToken(); + if( (RTF_TEXTTOKEN != nToken) && ('}' == nToken) ) + break; + } SkipToken( -1 ); // schliessende Klammer wieder zurueck!! } Index: openoffice.org.spec =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/FC-6/openoffice.org.spec,v retrieving revision 1.946 retrieving revision 1.947 diff -u -r1.946 -r1.947 --- openoffice.org.spec 22 May 2007 09:44:48 -0000 1.946 +++ openoffice.org.spec 1 Jun 2007 11:26:14 -0000 1.947 @@ -166,6 +166,7 @@ Patch98: openoffice.org-2.2.0.ooo76393.sal.dynamicsection.patch Patch99: workspace.dba22b.patch Patch100: workspace.cmcfixes34.patch +Patch101: openoffice.org-2.2.1.ooo77214.rtfprtdata.sw.patch %define instdir %{_libdir}/openoffice.org2.0 @@ -1066,6 +1067,7 @@ %patch98 -p1 -b .ooo76393.sal.dynamicsection.patch %patch99 -p1 -b .workspace.dba22b.patch %patch100 -p1 -b .workspace.cmcfixes34.patch +%patch101 -p1 -b .ooo77214.rtfprtdata.sw.patch tar xzf %{SOURCE1} @@ -2595,7 +2597,8 @@ %{instdir}/share/registry/modules/org/openoffice/Office/Scripting/Scripting-python.xcu %changelog -* Mon May 21 2007 Caolan McNamara - 1:2.0.4-5.5.23 +* Fri Jun 01 2007 Caolan McNamara - 1:2.0.4-5.5.23 +- Resolves: CVE-2007-0245 ooo#77214 rtf prtdata - Resolves: rhbz#240738 workspace.dba22b.patch - add workspace.cmcfixes34.patch for int(0) not being promoted to long NULL in ellipsed methods From fedora-cvs-commits at redhat.com Fri Jun 1 15:19:16 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 1 Jun 2007 11:19:16 -0400 Subject: rpms/gimp/FC-6 .cvsignore, 1.29, 1.30 gimp.spec, 1.112, 1.113 sources, 1.29, 1.30 gimp-2.2.11-libpng.patch, 1.1, NONE gimp-2.2.12-filename.patch, 1.2, NONE gimp-2.2.14-sunras-overflow.patch, 1.1, NONE gimp-2.2.7-gcc4.patch, 1.2, NONE Message-ID: <200706011519.l51FJGQr006009@cvs.devel.redhat.com> Author: nphilipp Update of /cvs/dist/rpms/gimp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv5988 Modified Files: .cvsignore gimp.spec sources Removed Files: gimp-2.2.11-libpng.patch gimp-2.2.12-filename.patch gimp-2.2.14-sunras-overflow.patch gimp-2.2.7-gcc4.patch Log Message: version 2.2.15 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-6/.cvsignore,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- .cvsignore 1 May 2007 12:06:57 -0000 1.29 +++ .cvsignore 1 Jun 2007 15:19:14 -0000 1.30 @@ -1 +1 @@ -gimp-2.2.14.tar.bz2 +gimp-2.2.15.tar.bz2 Index: gimp.spec =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-6/gimp.spec,v retrieving revision 1.112 retrieving revision 1.113 diff -u -r1.112 -r1.113 --- gimp.spec 1 May 2007 12:06:57 -0000 1.112 +++ gimp.spec 1 Jun 2007 15:19:14 -0000 1.113 @@ -36,14 +36,14 @@ Summary: GNU Image Manipulation Program Name: gimp -Version: 2.2.14 +Version: 2.2.15 %define binver 2.2 %define gimp_lang_ver 20 %define interfacever 2.0 %define age 0 %define minorver 200 %define microver %(ver=%{version}; echo ${ver##*.*.}) -Release: 5%{?dist} +Release: 1%{?dist} Epoch: 2 License: GPL, LGPL Group: Applications/Multimedia @@ -102,7 +102,6 @@ Patch4: gimp-2.2.4-gifload.patch Patch5: gimp-2.2.11-htmlview.patch Patch6: gimp-2.2.11-gimptool.patch -Patch7: gimp-2.2.14-sunras-overflow.patch %description GIMP (GNU Image Manipulation Program) is a powerful image composition and @@ -157,7 +156,6 @@ %patch4 -p1 -b .gifload %patch5 -p1 -b .htmlview %patch6 -p1 -b .gimptool -%patch7 -p1 -b .sunras-overflow %build libtoolize --copy --force @@ -421,6 +419,22 @@ %{_libdir}/pkgconfig/* %changelog +* Thu May 31 2007 Nils Philippsen - 2:2.2.15-1 +- version 2.2.15 + + Bugs fixed in GIMP 2.2.15 + ========================= + + - fixed parsing of GFig files with CRLF line endings (bug #346988) + - guard against a possible stack overflow in the Sunras loader (bug #433902) + - fixed definition of datarootdir in gimptool-2.0 (bug #436386) + - fixed Perspective tool crash on Mac OS X (bug #349483) + - fixed area resizing in the Image Map plug-in (bug #439222) + - added missing library in gimptool-2.0 --libs output + - added new localizations: Occitan and Persian + +- remove obsolete sunras-overflow patch + * Tue May 01 2007 Nils Philippsen - 2:2.2.14-5 - don't let gimp-plugin-mgr --uninstall fail %%pre/%%preun scriptlets (#238337) Index: sources =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-6/sources,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- sources 1 May 2007 12:06:57 -0000 1.29 +++ sources 1 Jun 2007 15:19:14 -0000 1.30 @@ -1 +1 @@ -2f47dd66d714a970356e275dd1d3caac gimp-2.2.14.tar.bz2 +5e705f0c7a3b37703d407e88bee357bb gimp-2.2.15.tar.bz2 --- gimp-2.2.11-libpng.patch DELETED --- --- gimp-2.2.12-filename.patch DELETED --- --- gimp-2.2.14-sunras-overflow.patch DELETED --- --- gimp-2.2.7-gcc4.patch DELETED --- From fedora-cvs-commits at redhat.com Sat Jun 2 00:07:21 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 1 Jun 2007 20:07:21 -0400 Subject: rpms/kernel/FC-6 kernel-2.6.spec,1.2954,1.2955 Message-ID: <200706020007.l5207LVT018193@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv18178 Modified Files: kernel-2.6.spec Log Message: * Fri Jun 01 2007 Dave Jones 1.2955 - Turn on vmcore proc file in all kernels for FC6 (Neil Horman). #241924 Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v retrieving revision 1.2954 retrieving revision 1.2955 diff -u -r1.2954 -r1.2955 --- kernel-2.6.spec 25 May 2007 19:07:27 -0000 1.2954 +++ kernel-2.6.spec 2 Jun 2007 00:07:17 -0000 1.2955 @@ -2367,6 +2367,9 @@ %endif %changelog +* Fri Jun 01 2007 Dave Jones 1.2955 +- Turn on vmcore proc file in all kernels for FC6 (Neil Horman). #241924 + * Fri May 25 2007 Eduardo Habkost 1.2954 - Included checksum patches to fix bug #223258 From fedora-cvs-commits at redhat.com Sat Jun 2 00:12:35 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 1 Jun 2007 20:12:35 -0400 Subject: rpms/gnome-python2-extras/FC-6 gnome-python-extras.spec,1.67,1.68 Message-ID: <200706020012.l520CZFZ018278@cvs.devel.redhat.com> Author: mbarnes Update of /cvs/dist/rpms/gnome-python2-extras/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv18264 Modified Files: gnome-python-extras.spec Log Message: * Fri Jun 01 2007 Matthew Barnes - 2.14.2-10.fc6 - Rebuild against firefox-1.5.0.12. Index: gnome-python-extras.spec =================================================================== RCS file: /cvs/dist/rpms/gnome-python2-extras/FC-6/gnome-python-extras.spec,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- gnome-python-extras.spec 26 Feb 2007 21:32:02 -0000 1.67 +++ gnome-python-extras.spec 2 Jun 2007 00:12:33 -0000 1.68 @@ -5,14 +5,14 @@ %define gnome_panel_version 2.2.0 %define gnome_python_version 2.9.0 %define gtkhtml2_version 2.3.1 -%define firefox_version 1.5.0.10 +%define firefox_version 1.5.0.12 %define gtkspell_version 2.0.7 ### Abstract ### Name: gnome-python2-extras Version: 2.14.2 -Release: 9%{?dist} +Release: 10%{?dist} License: GPL/LGPL Group: Development/Languages Summary: The sources for additional. PyGNOME Python extension modules. @@ -142,6 +142,9 @@ %{_datadir}/gtk-doc/html/pygtkmozembed %changelog +* Fri Jun 01 2007 Matthew Barnes - 2.14.2-10.fc6 +- Rebuild against firefox-1.5.0.12. + * Mon Feb 26 2007 Matthew Barnes - 2.14.2-9.fc6 - Rebuild against firefox-1.5.0.10. From fedora-cvs-commits at redhat.com Tue Jun 5 03:51:46 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 4 Jun 2007 23:51:46 -0400 Subject: rpms/eclipse/FC-6 eclipse-swt-cairo.patch, NONE, 1.1 eclipse.spec, 1.359, 1.360 Message-ID: <200706050351.l553pkwD018859@cvs.devel.redhat.com> Author: bkonrath Update of /cvs/dist/rpms/eclipse/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv18832 Modified Files: eclipse.spec Added Files: eclipse-swt-cairo.patch Log Message: * Mon Jun 04 2007 Ben Konrath 3.2.2-7.fc6 - Add swt-cairo.patch, see eclipse.org bug #150357. - Resolves: #238681 eclipse-swt-cairo.patch: Eclipse_SWT/gtk/org/eclipse/swt/graphics/GC.java | 60 +++++++++- Eclipse_SWT_PI/cairo/library/cairo.c | 24 ++++ Eclipse_SWT_PI/cairo/library/cairo_stats.c | 6 - Eclipse_SWT_PI/cairo/library/cairo_stats.h | 2 Eclipse_SWT_PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java | 3 5 files changed, 89 insertions(+), 6 deletions(-) --- NEW FILE eclipse-swt-cairo.patch --- ### Eclipse Workspace Patch 1.0 #P org.eclipse.swt Index: Eclipse_SWT_PI/cairo/library/cairo.c =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/cairo/library/cairo.c,v retrieving revision 1.14 diff -u -r1.14 cairo.c --- Eclipse_SWT_PI/cairo/library/cairo.c 27 Mar 2007 18:06:21 -0000 1.14 +++ Eclipse_SWT_PI/cairo/library/cairo.c 27 Mar 2007 18:09:40 -0000 @@ -25,6 +25,18 @@ #define Cairo_NATIVE(func) Java_org_eclipse_swt_internal_cairo_Cairo_##func +#ifndef NO_CAIRO_1VERSION_1ENCODE +JNIEXPORT jint JNICALL Cairo_NATIVE(CAIRO_1VERSION_1ENCODE) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2) +{ + jint rc = 0; + Cairo_NATIVE_ENTER(env, that, CAIRO_1VERSION_1ENCODE_FUNC); + rc = (jint)CAIRO_VERSION_ENCODE(arg0, arg1, arg2); + Cairo_NATIVE_EXIT(env, that, CAIRO_1VERSION_1ENCODE_FUNC); + return rc; +} +#endif + #ifndef NO_cairo_1append_1path JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1append_1path) (JNIEnv *env, jclass that, jint arg0, jint arg1) @@ -1720,6 +1732,18 @@ } #endif +#ifndef NO_cairo_1version +JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1version) + (JNIEnv *env, jclass that) +{ + jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1version_FUNC); + rc = (jint)cairo_version(); + Cairo_NATIVE_EXIT(env, that, cairo_1version_FUNC); + return rc; +} +#endif + #ifndef NO_cairo_1xlib_1surface_1create JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1create) (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4) Index: Eclipse_SWT_PI/cairo/library/cairo_stats.c =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/cairo/library/cairo_stats.c,v retrieving revision 1.14 diff -u -r1.14 cairo_stats.c --- Eclipse_SWT_PI/cairo/library/cairo_stats.c 27 Mar 2007 18:06:21 -0000 1.14 +++ Eclipse_SWT_PI/cairo/library/cairo_stats.c 27 Mar 2007 18:09:40 -0000 @@ -24,9 +24,10 @@ #ifdef NATIVE_STATS -int Cairo_nativeFunctionCount = 139; -int Cairo_nativeFunctionCallCount[139]; +int Cairo_nativeFunctionCount = 141; +int Cairo_nativeFunctionCallCount[141]; char * Cairo_nativeFunctionNames[] = { + "CAIRO_1VERSION_1ENCODE", "cairo_1append_1path", "cairo_1arc", "cairo_1arc_1negative", @@ -164,6 +165,7 @@ "cairo_1translate", "cairo_1user_1to_1device", "cairo_1user_1to_1device_1distance", + "cairo_1version", "cairo_1xlib_1surface_1create", "cairo_1xlib_1surface_1create_1for_1bitmap", "cairo_1xlib_1surface_1set_1size", Index: Eclipse_SWT_PI/cairo/library/cairo_stats.h =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/cairo/library/cairo_stats.h,v retrieving revision 1.15 diff -u -r1.15 cairo_stats.h --- Eclipse_SWT_PI/cairo/library/cairo_stats.h 27 Mar 2007 18:06:21 -0000 1.15 +++ Eclipse_SWT_PI/cairo/library/cairo_stats.h 27 Mar 2007 18:09:40 -0000 @@ -35,6 +35,7 @@ #endif typedef enum { + CAIRO_1VERSION_1ENCODE_FUNC, cairo_1append_1path_FUNC, cairo_1arc_FUNC, cairo_1arc_1negative_FUNC, @@ -172,6 +173,7 @@ cairo_1translate_FUNC, cairo_1user_1to_1device_FUNC, cairo_1user_1to_1device_1distance_FUNC, + cairo_1version_FUNC, cairo_1xlib_1surface_1create_FUNC, cairo_1xlib_1surface_1create_1for_1bitmap_FUNC, cairo_1xlib_1surface_1set_1size_FUNC, Index: Eclipse_SWT_PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT_PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java,v retrieving revision 1.15 diff -u -r1.15 Cairo.java --- Eclipse_SWT_PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java 27 Mar 2007 18:06:21 -0000 1.15 +++ Eclipse_SWT_PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java 27 Mar 2007 18:09:40 -0000 @@ -91,6 +91,7 @@ public static final int CAIRO_EXTEND_NONE = 0; public static final int CAIRO_EXTEND_REPEAT = 1; public static final int CAIRO_EXTEND_REFLECT = 2; + public static final int CAIRO_EXTEND_PAD = 3; public static final int CAIRO_PATH_MOVE_TO = 0; public static final int CAIRO_PATH_LINE_TO = 1; public static final int CAIRO_PATH_CURVE_TO = 2; @@ -103,6 +104,8 @@ public static final synchronized native int cairo_text_extents_t_sizeof (); /** Natives */ +public static final synchronized native int CAIRO_VERSION_ENCODE(int major, int minor, int micro); +public static final synchronized native int cairo_version(); public static final synchronized native int /*long*/ cairo_create (int /*long*/ target); public static final synchronized native int /*long*/ cairo_reference (int /*long*/ cr); public static final synchronized native void cairo_destroy (int /*long*/ cr); Index: Eclipse_SWT/gtk/org/eclipse/swt/graphics/GC.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.swt/Eclipse_SWT/gtk/org/eclipse/swt/graphics/GC.java,v retrieving revision 1.146 diff -u -r1.146 GC.java --- Eclipse_SWT/gtk/org/eclipse/swt/graphics/GC.java 27 Mar 2007 18:06:21 -0000 1.146 +++ Eclipse_SWT/gtk/org/eclipse/swt/graphics/GC.java 27 Mar 2007 18:09:40 -0000 @@ -742,9 +742,9 @@ if (data.alpha != 0) { srcImage.createSurface(); Cairo.cairo_save(cairo); - Cairo.cairo_rectangle(cairo, destX + 0.5, destY + 0.5, destWidth, destHeight); + Cairo.cairo_rectangle(cairo, destX , destY, destWidth, destHeight); Cairo.cairo_clip(cairo); - Cairo.cairo_translate(cairo, destX - srcX + 0.5, destY - srcY + 0.5); + Cairo.cairo_translate(cairo, destX - srcX, destY - srcY); if (srcWidth != destWidth || srcHeight != destHeight) { Cairo.cairo_scale(cairo, destWidth / (float)srcWidth, destHeight / (float)srcHeight); } @@ -757,8 +757,60 @@ } int /*long*/ pattern = Cairo.cairo_pattern_create_for_surface(srcImage.surface); if (pattern == 0) SWT.error(SWT.ERROR_NO_HANDLES); - Cairo.cairo_pattern_set_filter(pattern, filter); - Cairo.cairo_pattern_set_extend(pattern, Cairo.CAIRO_EXTEND_REFLECT); + if (srcWidth != destWidth || srcHeight != destHeight) { + /* + * Bug in Cairo. When drawing the image streched with an interpolation + * alghorithm, the edges of the image are faded. This is not a bug, but + * it is not desired. To avoid the faded edges, it should be possible to + * use cairo_pattern_set_extend() to set the pattern extend to either + * CAIRO_EXTEND_REFLECT or CAIRO_EXTEND_PAD, but these are not implemented + * in some versions of cairo (1.2.x) and have bugs in others (in 1.4.2 it + * draws with black edges). The fix is to implement CAIRO_EXTEND_REFLECT + * by creating an image that is 3 times bigger than the original, drawing + * the original image in every quadrant (with an appropriate transform) and + * use this image as the pattern. + * + * NOTE: For some reaons, it is necessary to use CAIRO_EXTEND_PAD with + * the image that was created or the edges are still faded. + */ + if (Cairo.cairo_version () >= Cairo.CAIRO_VERSION_ENCODE(1, 4, 2)) { + int /*long*/ surface = Cairo.cairo_image_surface_create(Cairo.CAIRO_FORMAT_ARGB32, imgWidth * 3, imgHeight * 3); + int /*long*/ cr = Cairo.cairo_create(surface); + Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, imgHeight); + Cairo.cairo_paint(cr); + Cairo.cairo_scale(cr, -1, -1); + Cairo.cairo_set_source_surface(cr, srcImage.surface, -imgWidth, -imgHeight); + Cairo.cairo_paint(cr); + Cairo.cairo_set_source_surface(cr, srcImage.surface, -imgWidth * 3, -imgHeight); + Cairo.cairo_paint(cr); + Cairo.cairo_set_source_surface(cr, srcImage.surface, -imgWidth, -imgHeight * 3); + Cairo.cairo_paint(cr); + Cairo.cairo_set_source_surface(cr, srcImage.surface, -imgWidth * 3, -imgHeight * 3); + Cairo.cairo_paint(cr); + Cairo.cairo_scale(cr, 1, -1); + Cairo.cairo_set_source_surface(cr, srcImage.surface, -imgWidth, imgHeight); + Cairo.cairo_paint(cr); + Cairo.cairo_set_source_surface(cr, srcImage.surface, -imgWidth * 3, imgHeight); + Cairo.cairo_paint(cr); + Cairo.cairo_scale(cr, -1, -1); + Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, -imgHeight); + Cairo.cairo_paint(cr); + Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, -imgHeight * 3); + Cairo.cairo_paint(cr); + Cairo.cairo_destroy(cr); + int /*long*/ newPattern = Cairo.cairo_pattern_create_for_surface(surface); + Cairo.cairo_surface_destroy(surface); + if (newPattern == 0) SWT.error(SWT.ERROR_NO_HANDLES); + Cairo.cairo_pattern_destroy(pattern); + pattern = newPattern; + Cairo.cairo_pattern_set_extend(pattern, Cairo.CAIRO_EXTEND_PAD); + double[] matrix = new double[6]; + Cairo.cairo_matrix_init_translate(matrix, imgWidth, imgHeight); + Cairo.cairo_pattern_set_matrix(pattern, matrix); + } +// Cairo.cairo_pattern_set_extend(pattern, Cairo.CAIRO_EXTEND_REFLECT); + } + Cairo.cairo_pattern_set_filter(pattern, filter); Cairo.cairo_set_source(cairo, pattern); if (data.alpha != 0xFF) { Cairo.cairo_paint_with_alpha(cairo, data.alpha / (float)0xFF); Index: eclipse.spec =================================================================== RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse.spec,v retrieving revision 1.359 retrieving revision 1.360 diff -u -r1.359 -r1.360 --- eclipse.spec 15 May 2007 07:57:07 -0000 1.359 +++ eclipse.spec 5 Jun 2007 03:51:43 -0000 1.360 @@ -19,7 +19,7 @@ Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 6%{?dist} +Release: 7%{?dist} License: Eclipse Public License Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ @@ -106,6 +106,7 @@ # We can remove this patch for Fedora 8. Patch23: %{name}-launcher-addplatformtotildeeclipse.patch Patch24: %{name}-add-ppc64-sparc64-s390-s390x.patch +Patch25: %{name}-swt-cairo.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ant @@ -466,9 +467,12 @@ pushd plugins/org.eclipse.swt mv "Eclipse SWT Mozilla" Eclipse_SWT_Mozilla mv "Eclipse SWT PI" Eclipse_SWT_PI +mv "Eclipse SWT" Eclipse_SWT %patch18 +%patch25 -p0 mv Eclipse_SWT_Mozilla "Eclipse SWT Mozilla" mv Eclipse_SWT_PI "Eclipse SWT PI" +mv Eclipse_SWT "Eclipse SWT" popd pushd plugins/org.eclipse.swt.tools mv "JNI Generation" JNI_Generation @@ -1763,6 +1767,10 @@ %{_libdir}/%{name}/plugins/org.eclipse.sdk_* %changelog +* Mon Jun 04 2007 Ben Konrath 3.2.2-7.fc6 +- Add swt-cairo.patch, see eclipse.org bug #150357. +- Resolves: #238681 + * Tue May 15 2007 Ben Konrath 3.2.2-6.fc6 - Another bug fix in launcher-addplatformtotildeeclipse.patch. - Resolves: #239991 From fedora-cvs-commits at redhat.com Tue Jun 5 04:48:56 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 00:48:56 -0400 Subject: rpms/kernel/FC-6 kernel-2.6.spec, 1.2955, 1.2956 linux-2.6-devmem.patch, 1.15, 1.16 Message-ID: <200706050448.l554mu3a019609@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19592 Modified Files: kernel-2.6.spec linux-2.6-devmem.patch Log Message: * Tue Jun 05 2007 Dave Jones - Allow kdump to read /proc/kcore. (#241362) Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v retrieving revision 1.2955 retrieving revision 1.2956 diff -u -r1.2955 -r1.2956 --- kernel-2.6.spec 2 Jun 2007 00:07:17 -0000 1.2955 +++ kernel-2.6.spec 5 Jun 2007 04:48:52 -0000 1.2956 @@ -2367,6 +2367,9 @@ %endif %changelog +* Tue Jun 05 2007 Dave Jones +- Allow kdump to read /proc/kcore. (#241362) + * Fri Jun 01 2007 Dave Jones 1.2955 - Turn on vmcore proc file in all kernels for FC6 (Neil Horman). #241924 linux-2.6-devmem.patch: linux-2.6.20.noarch/arch/x86_64/kernel/machine_kexec.c | 2 linux-2.6.20.noarch/fs/proc/kcore.c | 4 linux-2.6.20.noarch/include/asm-ia64/page.h | 1 linux-2.6/arch/i386/mm/init.c | 19 ++ linux-2.6/arch/ia64/mm/init.c | 7 linux-2.6/arch/powerpc/mm/mem.c | 14 + linux-2.6/arch/s390/mm/init.c | 5 linux-2.6/arch/x86_64/mm/init.c | 42 ++++ linux-2.6/drivers/char/mem.c | 144 ++--------------- linux-2.6/fs/proc/kcore.c | 2 linux-2.6/include/asm-alpha/page.h | 2 linux-2.6/include/asm-arm/page.h | 2 linux-2.6/include/asm-arm26/page.h | 2 linux-2.6/include/asm-cris/page.h | 2 linux-2.6/include/asm-h8300/page.h | 2 linux-2.6/include/asm-i386/page.h | 2 linux-2.6/include/asm-m68k/page.h | 2 linux-2.6/include/asm-m68knommu/page.h | 2 linux-2.6/include/asm-mips/page.h | 2 linux-2.6/include/asm-parisc/page.h | 2 linux-2.6/include/asm-powerpc/page.h | 2 linux-2.6/include/asm-ppc/page.h | 2 linux-2.6/include/asm-s390/page.h | 2 linux-2.6/include/asm-sh/page.h | 2 linux-2.6/include/asm-sh64/page.h | 2 linux-2.6/include/asm-sparc/page.h | 2 linux-2.6/include/asm-sparc64/page.h | 2 linux-2.6/include/asm-um/page.h | 1 linux-2.6/include/asm-v850/page.h | 2 linux-2.6/include/asm-x86_64/page.h | 4 30 files changed, 156 insertions(+), 125 deletions(-) Index: linux-2.6-devmem.patch =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/linux-2.6-devmem.patch,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- linux-2.6-devmem.patch 14 Mar 2007 01:42:23 -0000 1.15 +++ linux-2.6-devmem.patch 5 Jun 2007 04:48:53 -0000 1.16 @@ -632,3 +632,33 @@ #endif /* __KERNEL__ */ #endif /* _X86_64_PAGE_H */ +--- linux-2.6.20.noarch/fs/proc/kcore.c.orig 2007-06-04 15:44:29.000000000 -0400 ++++ linux-2.6.20.noarch/fs/proc/kcore.c 2007-06-04 15:48:57.000000000 -0400 +@@ -23,10 +23,10 @@ + #include + + #define CORE_STR "CORE" +- ++unsigned int allow_kcore_access = 0; + static int open_kcore(struct inode * inode, struct file * filp) + { +- return -EPERM; ++ return (capable(CAP_SYS_RAWIO) && allow_kcore_access) ? 0 : -EPERM; + } + + static ssize_t read_kcore(struct file *, char __user *, size_t, loff_t *); +--- linux-2.6.20.noarch/arch/x86_64/kernel/machine_kexec.c.orig 2007-06-04 15:50:52.000000000 -0400 ++++ linux-2.6.20.noarch/arch/x86_64/kernel/machine_kexec.c 2007-06-04 15:52:14.000000000 -0400 +@@ -236,10 +236,12 @@ + * Useful for holding code to do something appropriate + * after a kernel panic. + */ ++extern int allow_kcore_access; + static int __init setup_crashkernel(char *arg) + { + unsigned long size, base; + char *p; ++ allow_kcore_access = 1; /*enable ability to read /proc/kcore*/ + if (!arg) + return -EINVAL; + size = memparse(arg, &p); From fedora-cvs-commits at redhat.com Tue Jun 5 13:23:15 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 09:23:15 -0400 Subject: rpms/arts/FC-6 arts-1.5.7-qtmcop-notifications-on-demand.patch, NONE, 1.1 .cvsignore, 1.28, 1.29 arts.spec, 1.67, 1.68 sources, 1.31, 1.32 Message-ID: <200706051323.l55DNFOZ028849@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/arts/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv28831 Modified Files: .cvsignore arts.spec sources Added Files: arts-1.5.7-qtmcop-notifications-on-demand.patch Log Message: 1.5.7 arts-1.5.7-qtmcop-notifications-on-demand.patch: mcop/iomanager.cc | 12 +++++++++--- mcop/notification.cc | 12 ++++++++++++ mcop/notification.h | 5 +---- qtmcop/qiomanager.cc | 29 ++++++++++------------------- 4 files changed, 32 insertions(+), 26 deletions(-) --- NEW FILE arts-1.5.7-qtmcop-notifications-on-demand.patch --- Index: mcop/notification.h =================================================================== --- mcop/notification.h (Revision 667003) +++ mcop/notification.h (Revision 667004) @@ -72,10 +72,7 @@ { return instance; } - inline void send(Notification wm) - { - todo.push(wm); - } + void send(Notification wm); inline bool pending() { return !todo.empty(); Index: mcop/iomanager.cc =================================================================== --- mcop/iomanager.cc (Revision 667003) +++ mcop/iomanager.cc (Revision 667004) @@ -409,9 +409,15 @@ void StdIOManager::addTimer(int milliseconds, TimeNotify *notify) { - timeList.push_back(new TimeWatcher(milliseconds,notify)); - timeListChanged = true; - Dispatcher::wakeUp(); + if (milliseconds == -1 && notify == 0) { + // HACK: in order to not add a virtual function to IOManager we're calling addTimer with + // magic values. This call tells the ioManager that notifications are pending and + // NotificationManager::run() should get called soon. + } else { + timeList.push_back(new TimeWatcher(milliseconds,notify)); + timeListChanged = true; + Dispatcher::wakeUp(); + } } void StdIOManager::removeTimer(TimeNotify *notify) Index: mcop/notification.cc =================================================================== --- mcop/notification.cc (Revision 667003) +++ mcop/notification.cc (Revision 667004) @@ -22,6 +22,7 @@ #include "notification.h" #include "debug.h" +#include "dispatcher.h" using namespace Arts; @@ -41,6 +42,17 @@ instance = 0; } +void NotificationManager::send(Notification wm) +{ + if (todo.empty()) { + // HACK: in order to not add a virtual function to IOManager we're calling addTimer with + // magic values. This call tells the ioManager that notifications are pending and + // NotificationManager::run() should get called soon. + Arts::Dispatcher::the()->ioManager()->addTimer(-1, 0); + } + todo.push(wm); +} + bool NotificationManager::run() { if(todo.empty()) return false; Index: qtmcop/qiomanager.cc =================================================================== --- qtmcop/qiomanager.cc (Revision 667003) +++ qtmcop/qiomanager.cc (Revision 667004) @@ -102,30 +102,13 @@ class HandleNotifications : public TimeNotify { public: - HandleNotifications() - { - Arts::Dispatcher::the()->ioManager()->addTimer(50, this); - } void notifyTime() { + Arts::Dispatcher::the()->ioManager()->removeTimer(this); NotificationManager::the()->run(); + delete this; } - virtual ~HandleNotifications() - { - Arts::Dispatcher::the()->ioManager()->removeTimer(this); - } }; - -class HandleNotificationsStartup :public StartupClass -{ -public: - void startup() { h = new HandleNotifications(); } - void shutdown() { delete h; } -private: - HandleNotifications *h; -}; -static HandleNotificationsStartup handleNotifications; - } /* @@ -237,6 +220,14 @@ void QIOManager::addTimer(int milliseconds, TimeNotify *notify) { + if (milliseconds == -1 && notify == 0) + { + // HACK: in order to not add a virtual function to IOManager we're calling addTimer with + // magic values. This call tells the ioManager that notifications are pending and + // NotificationManager::run() should get called soon. + notify = new HandleNotifications(); + milliseconds = 0; + } timeList.push_back(new QTimeWatch(milliseconds,notify)); } Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/arts/FC-6/.cvsignore,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- .cvsignore 25 Oct 2006 12:16:19 -0000 1.28 +++ .cvsignore 5 Jun 2007 13:23:13 -0000 1.29 @@ -12,3 +12,4 @@ arts-1.5.3.tar.bz2 arts-1.5.4.tar.bz2 arts-1.5.5.tar.bz2 +arts-1.5.7.tar.bz2 Index: arts.spec =================================================================== RCS file: /cvs/dist/rpms/arts/FC-6/arts.spec,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- arts.spec 29 Jan 2007 15:17:13 -0000 1.67 +++ arts.spec 5 Jun 2007 13:23:13 -0000 1.68 @@ -7,7 +7,7 @@ %define make_cvs 1 -Version: 1.5.6 +Version: 1.5.7 Release: 0.1%{?dist} Summary: aRts (analog realtime synthesizer) - the KDE sound system Name: arts @@ -26,6 +26,9 @@ Patch7: arts-1.5.0-check_tmp_dir.patch Patch8: arts-1.5.2-multilib.patch +# upstream patches +Patch100: arts-1.5.7-qtmcop-notifications-on-demand.patch + Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig Requires: audiofile @@ -93,6 +96,9 @@ %patch7 -p1 -b .check_tmp_dir %patch8 -p1 -b .multilib +# upstream patches +%patch100 -p0 -b .qtmcop-notifications-on-demand + %build unset QTDIR && . /etc/profile.d/qt.sh @@ -163,6 +169,9 @@ %{_libdir}/lib*.so %changelog +* Tue Jun 05 2007 Than Ngo - 6:1.5.7-0.1.fc6 +- 1.5.7 + * Wed Jan 24 2007 Than Ngo - 6:1.5.6-0.1.fc6 - 1.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/arts/FC-6/sources,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- sources 29 Jan 2007 15:17:13 -0000 1.31 +++ sources 5 Jun 2007 13:23:13 -0000 1.32 @@ -1 +1 @@ -e986393a5827499bbad04a00b797add0 arts-1.5.6.tar.bz2 +28ac10541e5d8daf9009f6af1f7857af arts-1.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Tue Jun 5 13:52:33 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 09:52:33 -0400 Subject: rpms/samba/FC-6 samba-3.0.24-smbrun.patch, 1.1, 1.2 samba.spec, 1.78, 1.79 Message-ID: <200706051352.l55DqXej029298@cvs.devel.redhat.com> Author: ssorce Update of /cvs/dist/rpms/samba/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv29279 Modified Files: samba-3.0.24-smbrun.patch samba.spec Log Message: Fix stupid bug in one of the security patches samba-3.0.24-smbrun.patch: source-orig//configure |only source/lib/charcnv.c | 2 source/lib/smbrun.c | 31 ++++++- source/lib/util_str.c | 162 ++++++++++++++++++++++++++++++++++++++++ source/printing/print_generic.c | 2 5 files changed, 191 insertions(+), 6 deletions(-) Index: samba-3.0.24-smbrun.patch =================================================================== RCS file: /cvs/dist/rpms/samba/FC-6/samba-3.0.24-smbrun.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- samba-3.0.24-smbrun.patch 14 May 2007 14:34:44 -0000 1.1 +++ samba-3.0.24-smbrun.patch 5 Jun 2007 13:52:30 -0000 1.2 @@ -82,7 +82,7 @@ + of characters. UNIX charset format. +*******************************************************************/ + -+#define INCLUDE_LIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabdefghijklmnopqrstuvwxyz_/ \t.," ++#define INCLUDE_LIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_/ \t.," +#define INSIDE_DQUOTE_LIST "$`\n\"\\" + +char *escape_shell_string(const char *src) Index: samba.spec =================================================================== RCS file: /cvs/dist/rpms/samba/FC-6/samba.spec,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- samba.spec 21 May 2007 15:49:07 -0000 1.78 +++ samba.spec 5 Jun 2007 13:52:30 -0000 1.79 @@ -3,7 +3,7 @@ Summary: The Samba SMB server. Name: samba Version: 3.0.24 -Release: 6%{?dist} +Release: 7%{?dist} Epoch: 0 License: GNU GPL Version 2 Group: System Environment/Daemons @@ -472,6 +472,11 @@ %{_mandir}/man7/libsmbclient.7* %changelog +* Tue Jun 5 2007 Simo Sorce 3.0.24-7.fc5 +- CVE-2007-2447 patch v2 +- CVE-2007-2444 patch v2 + not security problems, just bugs in the patches + * Mon May 14 2007 Simo Sorce 3.0.24-5.fc6 - Security fixes for CVE-2007-2444 From fedora-cvs-commits at redhat.com Tue Jun 5 13:53:11 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 09:53:11 -0400 Subject: rpms/samba/FC-5 samba-3.0.24-smbrun.patch, 1.1, 1.2 samba.spec, 1.76, 1.77 Message-ID: <200706051353.l55DrBKZ029336@cvs.devel.redhat.com> Author: ssorce Update of /cvs/dist/rpms/samba/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv29319 Modified Files: samba-3.0.24-smbrun.patch samba.spec Log Message: Fix stupid bug in one of the security patches samba-3.0.24-smbrun.patch: source-orig//configure |only source/lib/charcnv.c | 2 source/lib/smbrun.c | 31 ++++++- source/lib/util_str.c | 162 ++++++++++++++++++++++++++++++++++++++++ source/printing/print_generic.c | 2 5 files changed, 191 insertions(+), 6 deletions(-) Index: samba-3.0.24-smbrun.patch =================================================================== RCS file: /cvs/dist/rpms/samba/FC-5/samba-3.0.24-smbrun.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- samba-3.0.24-smbrun.patch 14 May 2007 14:33:36 -0000 1.1 +++ samba-3.0.24-smbrun.patch 5 Jun 2007 13:53:08 -0000 1.2 @@ -82,7 +82,7 @@ + of characters. UNIX charset format. +*******************************************************************/ + -+#define INCLUDE_LIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabdefghijklmnopqrstuvwxyz_/ \t.," ++#define INCLUDE_LIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_/ \t.," +#define INSIDE_DQUOTE_LIST "$`\n\"\\" + +char *escape_shell_string(const char *src) Index: samba.spec =================================================================== RCS file: /cvs/dist/rpms/samba/FC-5/samba.spec,v retrieving revision 1.76 retrieving revision 1.77 diff -u -r1.76 -r1.77 --- samba.spec 21 May 2007 15:49:28 -0000 1.76 +++ samba.spec 5 Jun 2007 13:53:08 -0000 1.77 @@ -3,7 +3,7 @@ Summary: The Samba SMB server. Name: samba Version: 3.0.24 -Release: 6.fc5 +Release: 7.fc5 Epoch: 0 License: GNU GPL Version 2 Group: System Environment/Daemons @@ -470,6 +470,11 @@ %{_mandir}/man7/libsmbclient.7* %changelog +* Tue Jun 5 2007 Simo Sorce 3.0.24-7.fc5 +- CVE-2007-2447 patch v2 +- CVE-2007-2444 patch v2 + not security problems, just bugs in the patches + * Mon May 14 2007 Simo Sorce 3.0.24-5.fc5 - Security fixes for CVE-2007-2444 From fedora-cvs-commits at redhat.com Tue Jun 5 13:53:41 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 09:53:41 -0400 Subject: rpms/rdesktop/FC-5 rdesktop-fix-segfault.patch, NONE, 1.1 rdesktop.spec, 1.21, 1.22 Message-ID: <200706051353.l55Drf4Z029372@cvs.devel.redhat.com> Author: ajackson Update of /cvs/dist/rpms/rdesktop/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv29355 Modified Files: rdesktop.spec Added Files: rdesktop-fix-segfault.patch Log Message: * Tue Jun 05 2007 Adam Jackson 1.4.1-4 - Fix segfault with newer libX11. (#238580) rdesktop-fix-segfault.patch: xwin.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE rdesktop-fix-segfault.patch --- --- xwin.c.fix-segfault 2007-04-26 12:37:28.000000000 -0400 +++ xwin.c 2007-04-26 12:37:50.000000000 -0400 @@ -3219,7 +3219,7 @@ return; image = XCreateImage(g_display, g_visual, g_depth, ZPixmap, 0, - (char *) data, cx, cy, BitmapPad(g_display), cx * g_bpp / 8); + (char *) data, cx, cy, g_bpp, 0); if (g_ownbackstore) { Index: rdesktop.spec =================================================================== RCS file: /cvs/dist/rpms/rdesktop/FC-5/rdesktop.spec,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- rdesktop.spec 11 Feb 2006 05:28:53 -0000 1.21 +++ rdesktop.spec 5 Jun 2007 13:53:39 -0000 1.22 @@ -1,6 +1,6 @@ Name: rdesktop Version: 1.4.1 -Release: 3.2.1 +Release: 4 Summary: X client for remote desktop into Windows Terminal Server Group: User Interface/Desktops @@ -10,6 +10,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: openssl-devel, libX11-devel +Patch0: rdesktop-fix-segfault.patch + %description rdesktop is an open source client for Windows NT Terminal Server and Windows 2000 & 2003 Terminal Services, capable of natively speaking @@ -18,6 +20,7 @@ %prep %setup -q +%patch0 -p0 -b .segfault %build %configure @@ -38,6 +41,9 @@ %{_mandir}/man1/* %changelog +* Tue Jun 05 2007 Adam Jackson 1.4.1-4 +- Fix segfault with newer libX11. (#238580) + * Fri Feb 10 2006 Jesse Keating - 1.4.1-3.2.1 - bump again for double-long bug on ppc(64) From fedora-cvs-commits at redhat.com Tue Jun 5 13:54:22 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 09:54:22 -0400 Subject: rpms/rdesktop/FC-5 rdesktop.spec,1.22,1.23 Message-ID: <200706051354.l55DsMXn029515@cvs.devel.redhat.com> Author: ajackson Update of /cvs/dist/rpms/rdesktop/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv29498 Modified Files: rdesktop.spec Log Message: * Tue Jun 05 2007 Adam Jackson 1.4.1-4 - Fix segfault with newer libX11. (#238580) Index: rdesktop.spec =================================================================== RCS file: /cvs/dist/rpms/rdesktop/FC-5/rdesktop.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- rdesktop.spec 5 Jun 2007 13:53:39 -0000 1.22 +++ rdesktop.spec 5 Jun 2007 13:54:20 -0000 1.23 @@ -1,6 +1,6 @@ Name: rdesktop Version: 1.4.1 -Release: 4 +Release: 4%{?dist} Summary: X client for remote desktop into Windows Terminal Server Group: User Interface/Desktops From fedora-cvs-commits at redhat.com Tue Jun 5 14:00:43 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 10:00:43 -0400 Subject: rpms/kdelibs/FC-6 kdelibs-3.5.6-lang.patch, NONE, 1.1 .cvsignore, 1.38, 1.39 kdelibs.spec, 1.205, 1.206 sources, 1.50, 1.51 kdelibs-3.5.6-bz#225420-CVE-2007-0537.patch, 1.1, NONE Message-ID: <200706051400.l55E0h9e029711@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdelibs/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv29694 Modified Files: .cvsignore kdelibs.spec sources Added Files: kdelibs-3.5.6-lang.patch Removed Files: kdelibs-3.5.6-bz#225420-CVE-2007-0537.patch Log Message: 3.5.7 kdelibs-3.5.6-lang.patch: klocale.cpp | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) --- NEW FILE kdelibs-3.5.6-lang.patch --- --- kdelibs-3.5.6/kdecore/klocale.cpp.orig 2007-05-22 17:49:31.000000000 +0200 +++ kdelibs-3.5.6/kdecore/klocale.cpp 2007-05-23 20:37:54.000000000 +0200 @@ -140,9 +140,11 @@ void KLocale::initLanguageList(KConfig * KConfigGroupSaver saver(config, "Locale"); m_country = config->readEntry( "Country" ); - if ( m_country.isEmpty() ) - m_country = defaultCountry(); - + if ( m_country.isEmpty() ) { + QString ln, ct, chrset; + splitLocale(QString(::getenv("LANG")), ln, ct, chrset); + m_country = (ct.isEmpty()) ? defaultCountry() : ct.lower(); + } // Reset the list and add the new languages QStringList languageList; if ( useEnv ) Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdelibs/FC-6/.cvsignore,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- .cvsignore 25 Oct 2006 14:53:42 -0000 1.38 +++ .cvsignore 5 Jun 2007 14:00:36 -0000 1.39 @@ -13,3 +13,4 @@ kdelibs-3.5.3.tar.bz2 kdelibs-3.5.4.tar.bz2 kdelibs-3.5.5.tar.bz2 +kdelibs-3.5.7.tar.bz2 Index: kdelibs.spec =================================================================== RCS file: /cvs/dist/rpms/kdelibs/FC-6/kdelibs.spec,v retrieving revision 1.205 retrieving revision 1.206 diff -u -r1.205 -r1.206 --- kdelibs.spec 31 Jan 2007 16:34:03 -0000 1.205 +++ kdelibs.spec 5 Jun 2007 14:00:36 -0000 1.206 @@ -1,4 +1,4 @@ -%define distname "Fedora-Core" +%define distname Fedora %define debug 0 %define final 1 @@ -7,8 +7,8 @@ %define arts_epoch 8 %define cups_epoch 1 -%define qt_version 3.3.7 -%define arts_version 1.5.6 +%define qt_version 3.3.8 +%define arts_version 1.5.7 %define kde_major_version 3 %define qtdocdir %{_docdir}/qt-devel-%{qt_version} @@ -16,8 +16,8 @@ %define make_cvs 0 %define arts 1 -Version: 3.5.6 -Release: 0.3%{?dist} +Version: 3.5.7 +Release: 0.1%{?dist} Summary: K Desktop Environment - Libraries Name: kdelibs Url: http://www.kde.org/ @@ -47,10 +47,6 @@ Patch40: kdelibs-3.5.4-kdeprint-utf8.patch Patch41: kdelibs-3.5.6-utempter.patch -# security issue -# CVE-2007-0537 -Patch1000: kdelibs-3.5.6-bz#225420-CVE-2007-0537.patch - Requires: arts >= %{arts_epoch}:%{arts_version} Requires: qt >= %{qt_epoch}:%{qt_version} Requires: cups-libs >= %{cups_epoch}:1.1.12 @@ -174,9 +170,7 @@ %patch39 -p1 -b .kabc-make %patch40 -p1 -b .kdeprint-utf8 %patch41 -p1 -b .utempter - -# security -%patch1000 -p0 -b .bz#225420-CVE-2007-0537 +%patch42 -p1 -b .lang perl -pi -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h @@ -393,6 +387,9 @@ %doc %{_docdir}/HTML/en/kdelibs* %changelog +* Tue Jun 05 2007 Than Ngo - 6:3.5.7-0.1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 6:3.5.6-0.3.fc6 - rebuild Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdelibs/FC-6/sources,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- sources 30 Jan 2007 10:41:50 -0000 1.50 +++ sources 5 Jun 2007 14:00:36 -0000 1.51 @@ -1 +1 @@ -e4d137879a66e92b895b3de5413a61d8 kdelibs-3.5.6.tar.bz2 +50ed644f2ec91963570fe2b155652957 kdelibs-3.5.7.tar.bz2 --- kdelibs-3.5.6-bz#225420-CVE-2007-0537.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 5 14:01:40 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 10:01:40 -0400 Subject: rpms/kdelibs/FC-6 kdelibs.spec,1.206,1.207 Message-ID: <200706051401.l55E1eXI029798@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdelibs/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv29779 Modified Files: kdelibs.spec Log Message: 3.5.7 Index: kdelibs.spec =================================================================== RCS file: /cvs/dist/rpms/kdelibs/FC-6/kdelibs.spec,v retrieving revision 1.206 retrieving revision 1.207 diff -u -r1.206 -r1.207 --- kdelibs.spec 5 Jun 2007 14:00:36 -0000 1.206 +++ kdelibs.spec 5 Jun 2007 14:01:38 -0000 1.207 @@ -46,6 +46,7 @@ Patch39: kdelibs-3.5.4-kabc-make.patch Patch40: kdelibs-3.5.4-kdeprint-utf8.patch Patch41: kdelibs-3.5.6-utempter.patch +Patch42: kdelibs-3.5.6-lang.patch Requires: arts >= %{arts_epoch}:%{arts_version} Requires: qt >= %{qt_epoch}:%{qt_version} From fedora-cvs-commits at redhat.com Tue Jun 5 14:33:14 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 10:33:14 -0400 Subject: rpms/kdebase/FC-6 kdebase-3.5.7-1-redhat-startkde.patch, NONE, 1.1 .cvsignore, 1.54, 1.55 kdebase.spec, 1.246, 1.247 sources, 1.76, 1.77 kdebase-3.5.4-antialias.patch, 1.1, NONE kdebase-3.5.6-1-redhat-startkde.patch, 1.1, NONE Message-ID: <200706051433.l55EXEqr030285@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdebase/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv30266 Modified Files: .cvsignore kdebase.spec sources Added Files: kdebase-3.5.7-1-redhat-startkde.patch Removed Files: kdebase-3.5.4-antialias.patch kdebase-3.5.6-1-redhat-startkde.patch Log Message: 3.5.7 kdebase-3.5.7-1-redhat-startkde.patch: startkde | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 58 insertions(+), 9 deletions(-) --- NEW FILE kdebase-3.5.7-1-redhat-startkde.patch --- --- kdebase-3.5.5/startkde.redhat 2006-10-02 13:13:29.000000000 +0200 +++ kdebase-3.5.5/startkde 2006-10-10 17:35:53.000000000 +0200 @@ -1,7 +1,54 @@ #!/bin/sh # # DEFAULT KDE STARTUP SCRIPT ( KDE-3.5.7 ) -# +# Modified for Red Hat Linux + +unset BLOCK_SIZE # breaks parsing of df output +shopt -u -o noclobber # allow overwriting of files with '>' + +# set up user environment if not present +# check for space on /tmp and "$HOME" and for write access +# error exit, if not +space_tmp=`LANG=C df /tmp | xargs | cut -d" " -f11` +homedir_mount=`LANG=C df "$HOME" | xargs | cut -d" " -f8` + +if [ "$homedir_mount" = "AFS" -a -x "`which fs 2>/dev/null`" ] ; then + # check for AFS + space_home=`LANG=C fs df "$HOME" | xargs | cut -d" " -f10` +else + # check regular mounts + space_home=`LANG=C df "$HOME" | xargs | cut -d" " -f11` +fi + +if [ $space_tmp -lt 50 ]; then + echo $"Not enough free disk space on /tmp" + exit 1 +fi + +if [ $space_home -lt 25 ]; then + echo $"Not enough free disk space on "$HOME"" + exit 1 +fi +testfile_tmp=`mktemp /tmp/KDE.startkde.XXXXXX` +testfile_home=`mktemp "$HOME"/KDE.startkde.XXXXXX` + +if ! echo TEST_TEXT >$testfile_tmp 2>/dev/null ; then + echo $"You don't have write permissions for /tmp" + exit 1 +fi +rm -f $testfile_tmp + +if ! echo TEST_TEXT >$testfile_home 2>/dev/null ; then + echo $"You don't have write permissions for "$HOME"" + exit 1 +fi +rm -f $testfile_home + +[ -d "$HOME"/.kde/share/config ] || mkdir -p "$HOME"/.kde/share/config + +if [ ! -e "$HOME"/.kde/share/config/emaildefaults ]; then + /usr/bin/mailsettings >"$HOME"/.kde/share/config/emaildefaults +fi # When the X server dies we get a HUP signal from xinit. We must ignore it # because we still need to do some cleanup. @@ -14,12 +61,12 @@ exit 1 fi -# Set the background to plain grey. +# Set the background to the Red Hat default blue # The standard X background is nasty, causing moire effects and exploding # people's heads. We use colours from the standard KDE palette for those with # palettised displays. if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then - xsetroot -solid "#000000" + xsetroot -solid "#5477A0" fi # we have to unset this for Darwin since it will screw up KDE's dynamic-loading @@ -61,7 +108,7 @@ cat >$kdehome/share/config/startupconfigkeys </env/*.sh and /env/*.sh -# (where is $KDEHOME or ~/.kde, and is where KDE is installed) +# Source scripts found in /env/*.sh and /etc/kde/env/*.sh +# (where is $KDEHOME or ~/.kde) # # This is where you can define environment variables that will be available to # all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent` @@ -170,9 +217,10 @@ # better use the Autostart folder. exepath=`kde-config --path exe | tr : '\n'` +envpath=/etc/kde/env/ -for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/env/,p'`; do - for file in "$prefix"*.sh; do +for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/env/,p'` $envpath ; do + for file in "$prefix"*.sh ; do test -r "$file" && . "$file" done done @@ -378,7 +426,8 @@ echo 'startkde: Running shutdown scripts...' 1>&2 # Run scripts found in $KDEDIRS/shutdown -for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/shutdown/,p'`; do +shutdownpath=/etc/kde/shutdown/ +for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/shutdown/,p'` $shutdownpath; do for file in `ls "$prefix" 2> /dev/null | egrep -v '(~|\.bak)$'`; do test -x "$prefix$file" && "$prefix$file" done Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdebase/FC-6/.cvsignore,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- .cvsignore 26 Oct 2006 15:36:19 -0000 1.54 +++ .cvsignore 5 Jun 2007 14:33:12 -0000 1.55 @@ -28,3 +28,5 @@ kde-redhat-config-3.5-fc5-0.4.tar.bz2 kde-redhat-config-3.5-fc5-0.5.tar.bz2 kdebase-3.5.5.tar.bz2 +kde-redhat-config-3.5-fc6-1.tar.bz2 +kdebase-3.5.7.tar.bz2 Index: kdebase.spec =================================================================== RCS file: /cvs/dist/rpms/kdebase/FC-6/kdebase.spec,v retrieving revision 1.246 retrieving revision 1.247 diff -u -r1.246 -r1.247 --- kdebase.spec 14 Feb 2007 17:35:58 -0000 1.246 +++ kdebase.spec 5 Jun 2007 14:33:12 -0000 1.247 @@ -6,9 +6,9 @@ %define redhatify 1 %define include_kappfinder 0 -%define qt_version 3.3.7 -%define arts_version 1.5.6 -%define kde_version 3.5.6 +%define qt_version 3.3.8 +%define arts_version 1.5.7 +%define kde_version 3.5.7 %define kdelibs_epoch 6 %define arts_epoch 8 %define make_cvs 1 @@ -17,8 +17,8 @@ Summary: K Desktop Environment - core files Name: kdebase -Version: 3.5.6 -Release: 0.2%{?dist} +Version: 3.5.7 +Release: 0.1%{?dist} Epoch: 6 Url: http://www.kde.org Group: User Interface/Desktops @@ -28,7 +28,7 @@ Source1: konsole.desktop Source2: KDE.session.gnome Source3: kde.desktop -Source4: kde-redhat-config-3.5-fc5-0.5.tar.bz2 +Source4: kde-redhat-config-3.6-fc5-1.tar.bz2 Source5: kde-np Source6: logrotate-kdm Source7: mailsettings.cc @@ -38,7 +38,7 @@ Source11: cr48-app-package_games_kids.png Patch0: kdebase-3.5.5-redhat-pam.patch -Patch1: kdebase-3.5.6-1-redhat-startkde.patch +Patch1: kdebase-3.5.7-1-redhat-startkde.patch Patch2: kdebase-3.3.92-vroot.patch Patch3: kdebase-3.x-shortcuts.patch Patch4: kdebase-3.2.0-keymap.patch @@ -55,7 +55,6 @@ Patch20: kdebase-3.5.5-keyinit.patch Patch21: kdebase-3.5.3-khelpcenter-sort.patch Patch22: kdebase-3.5.4-htdig.patch -Patch23: kdebase-3.5.4-antialias.patch Patch24: kdebase-3.5.4-tango-icon-theme.patch Patch25: kdebase-3.5.4-konqueror-shortcut.patch Patch26: kdebase-3.5.5-suspend.patch @@ -174,7 +173,6 @@ %patch20 -p1 -b .keyinit %patch21 -p1 -b .khelpcenter-sort %patch22 -p1 -b .htdig -%patch23 -p1 -b .antialias %patch24 -p1 -b .tango-icon-theme %patch25 -p1 -b .konqueror-shortcut %patch26 -p1 -b .suspend @@ -552,6 +550,9 @@ %exclude %{_libdir}/libkdeinit_*.so %changelog +* Tue Jun 05 2007 Than Ngo - 6:3.5.7-0.1.fc6 +- 3.5.7 + * Wed Feb 14 2007 Than Ngo - 6:3.5.6-0.2.fc6 - make konsole binary sgid utempter #213369 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdebase/FC-6/sources,v retrieving revision 1.76 retrieving revision 1.77 diff -u -r1.76 -r1.77 --- sources 30 Jan 2007 13:31:24 -0000 1.76 +++ sources 5 Jun 2007 14:33:12 -0000 1.77 @@ -1,2 +1,2 @@ -61b60ed4ea41b30dfc18579cac48d20c kde-redhat-config-3.5-fc5-0.5.tar.bz2 -a53f589f58012e655a52220a6a151019 kdebase-3.5.6.tar.bz2 +bda1b0de1fa68cbd39ae4658fffec2ea kde-redhat-config-3.5-fc6-1.tar.bz2 +b421e01b3ee712549ee967f58ed24de0 kdebase-3.5.7.tar.bz2 --- kdebase-3.5.4-antialias.patch DELETED --- --- kdebase-3.5.6-1-redhat-startkde.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 5 14:47:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 10:47:42 -0400 Subject: rpms/qt/FC-6 0073-xinerama-aware-qpopup.patch, NONE, 1.1 0076-fix-qprocess.diff, NONE, 1.1 0077-utf8-decoder-fixes.diff, NONE, 1.1 qt-3.3.6-fontrendering-214371.patch, NONE, 1.1 qt-3.3.6-fontrendering-gu-228451.patch, NONE, 1.1 qt-3.3.6-fontrendering-gu-228452.patch, NONE, 1.1 qt-3.3.6-fontrendering-ml_IN-209974.patch, NONE, 1.1 qt-3.3.6-fontrendering-ml_IN-217657.patch, NONE, 1.1 qt-3.3.8-fontrendering-#214570.patch, NONE, 1.1 qt-3.3.8-fontrendering-as_IN-209972.patch, NONE, 1.1 qt-font-default-subst.diff, NONE, 1.1 qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-post.patch, NONE, 1.1 qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-pre.patch, NONE, 1.1 qt-x11-free-3.3.8-uic-multilib.patch, NONE, 1.1 .cvsignore, 1.24, 1.25 qt.spec, 1.125, 1.126 sources, 1.25, 1.26 0069-fix-minsize.patch, 1.1, NONE 0070-fix-broken-fonts.patch, 1.1, NONE qt-3.3.6-fontrendering-as_IN-211436.patch, 1.1, NONE qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-post.patch, 1.1, NONE qt-x11-free-3.3.6-! qt-x11-immodule-unified-qt3.3.5-20060318-pre.patch, 1.1, NONE qt-x11-free-3.3.7-uic-multilib.patch, 1.1, NONE Message-ID: <200706051447.l55ElgV7030942@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/qt/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv30915 Modified Files: .cvsignore qt.spec sources Added Files: 0073-xinerama-aware-qpopup.patch 0076-fix-qprocess.diff 0077-utf8-decoder-fixes.diff qt-3.3.6-fontrendering-214371.patch qt-3.3.6-fontrendering-gu-228451.patch qt-3.3.6-fontrendering-gu-228452.patch qt-3.3.6-fontrendering-ml_IN-209974.patch qt-3.3.6-fontrendering-ml_IN-217657.patch qt-3.3.8-fontrendering-#214570.patch qt-3.3.8-fontrendering-as_IN-209972.patch qt-font-default-subst.diff qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-post.patch qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-pre.patch qt-x11-free-3.3.8-uic-multilib.patch Removed Files: 0069-fix-minsize.patch 0070-fix-broken-fonts.patch qt-3.3.6-fontrendering-as_IN-211436.patch qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-post.patch qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-pre.patch qt-x11-free-3.3.7-uic-multilib.patch Log Message: 3.3.8 0073-xinerama-aware-qpopup.patch: qpopupmenu.cpp | 42 ++++++++++++++++++++++++------------------ qpopupmenu.h | 1 + 2 files changed, 25 insertions(+), 18 deletions(-) --- NEW FILE 0073-xinerama-aware-qpopup.patch --- qt-bugs@ issue : none bugs.kde.org number : none applied: no author: Lubos Lunak Makes QPopupMenu aware of Xinerama (see e.g. https://bugzilla.novell.com/show_bug.cgi?id=216235). --- src/widgets/qpopupmenu.cpp +++ src/widgets/qpopupmenu.cpp @@ -454,6 +454,15 @@ void QPopupMenu::frameChanged() menuContentsChanged(); } +QRect QPopupMenu::screenRect( const QPoint& pos ) +{ + int screen_num = QApplication::desktop()->screenNumber( pos ); +#ifdef Q_WS_MAC + return QApplication::desktop()->availableGeometry( screen_num ); +#else + return QApplication::desktop()->screenGeometry( screen_num ); +#endif +} /*! Displays the popup menu so that the item number \a indexAtPoint will be at the specified \e global position \a pos. To translate a @@ -498,6 +507,15 @@ void QPopupMenu::popup( const QPoint &po // point. #endif + QRect screen = screenRect( geometry().center()); + QRect screen2 = screenRect( QApplication::reverseLayout() + ? pos+QPoint(width(),0) : pos ); + // if the widget is not in the screen given by the position, move it + // there, so that updateSize() uses the right size of the screen + if( screen != screen2 ) { + screen = screen2; + move( screen.x(), screen.y()); + } if(d->scroll.scrollable) { d->scroll.scrollable = QPopupMenuPrivate::Scroll::ScrollNone; d->scroll.topScrollableIndex = d->scroll.scrollableSize = 0; @@ -517,18 +535,6 @@ void QPopupMenu::popup( const QPoint &po updateSize(TRUE); } - int screen_num; - if (QApplication::desktop()->isVirtualDesktop()) - screen_num = - QApplication::desktop()->screenNumber( QApplication::reverseLayout() ? - pos+QPoint(width(),0) : pos ); - else - screen_num = QApplication::desktop()->screenNumber( this ); -#ifdef Q_WS_MAC - QRect screen = QApplication::desktop()->availableGeometry( screen_num ); -#else - QRect screen = QApplication::desktop()->screenGeometry( screen_num ); -#endif int sw = screen.width(); // screen width int sh = screen.height(); // screen height int sx = screen.x(); // screen pos @@ -1056,7 +1062,7 @@ QSize QPopupMenu::updateSize(bool force_ mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).width() + 4 ); } - int dh = QApplication::desktop()->height(); + int dh = screenRect( geometry().center()).height(); ncols = 1; for ( QMenuItemListIt it2( *mitems ); it2.current(); ++it2 ) { @@ -2297,9 +2303,9 @@ void QPopupMenu::subMenuTimer() { bool right = FALSE; if ( ( parentMenu && parentMenu->isPopupMenu && ((QPopupMenu*)parentMenu)->geometry().x() < geometry().x() ) || - p.x() < 0 ) + p.x() < screenRect( p ).left()) right = TRUE; - if ( right && (ps.width() > QApplication::desktop()->width() - mapToGlobal( r.topRight() ).x() ) ) + if ( right && (ps.width() > screenRect( p ).right() - mapToGlobal( r.topRight() ).x() ) ) right = FALSE; if ( right ) p.setX( mapToGlobal( r.topRight() ).x() ); @@ -2310,7 +2316,7 @@ void QPopupMenu::subMenuTimer() { bool left = FALSE; if ( ( parentMenu && parentMenu->isPopupMenu && ((QPopupMenu*)parentMenu)->geometry().x() > geometry().x() ) || - p.x() + ps.width() > QApplication::desktop()->width() ) + p.x() + ps.width() > screenRect( p ).right() ) left = TRUE; if ( left && (ps.width() > mapToGlobal( r.topLeft() ).x() ) ) left = FALSE; @@ -2318,8 +2324,8 @@ void QPopupMenu::subMenuTimer() { p.setX( mapToGlobal( r.topLeft() ).x() - ps.width() ); } QRect pr = popup->itemGeometry(popup->count() - 1); - if (p.y() + ps.height() > QApplication::desktop()->height() && - p.y() - ps.height() + (QCOORD) pr.height() >= 0) + if (p.y() + ps.height() > screenRect( p ).bottom() && + p.y() - ps.height() + (QCOORD) pr.height() >= screenRect( p ).top()) p.setY( p.y() - ps.height() + (QCOORD) pr.height()); if ( style().styleHint(QStyle::SH_PopupMenu_SloppySubMenus, this )) { Index: src/widgets/qpopupmenu.h =================================================================== --- src/widgets/qpopupmenu.h (revision 636368) +++ src/widgets/qpopupmenu.h (working copy) @@ -152,6 +152,7 @@ private: QSize updateSize(bool force_recalc=FALSE, bool do_resize=TRUE); void updateRow( int row ); + QRect screenRect(const QPoint& pos); #ifndef QT_NO_ACCEL void updateAccel( QWidget * ); void enableAccel( bool ); 0076-fix-qprocess.diff: qprocess.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE 0076-fix-qprocess.diff --- qt-bugs@ issue : none bugs.kde.org number : none applied: no author: from trolltech Fixes a regression in QProgress::writeToStdin() --- src/kernel/qprocess.cpp +++ src/kernel/qprocess.cpp @@ -727,7 +727,7 @@ void QProcess::closeStdinLaunch() void QProcess::writeToStdin( const QString& buf ) { QByteArray tmp = buf.local8Bit(); - tmp.resize( tmp.size() - 1 ); // drop the implicit \0 + tmp.resize( qstrlen( tmp.data() ) ); writeToStdin( tmp ); } 0077-utf8-decoder-fixes.diff: codecs/qutfcodec.cpp | 16 +++++++++++++++- tools/qstring.cpp | 10 ++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) --- NEW FILE 0077-utf8-decoder-fixes.diff --- qt-bugs@ issue : N154454 bugs.kde.org number : none applied: no author: Dirk Mueller This patch makes the utf8 decoders in Qt reject overlong sequences, like required. --- src/codecs/qutfcodec.cpp +++ src/codecs/qutfcodec.cpp @@ -154,6 +154,7 @@ class QUtf8Decoder : public QTextDecoder { uint uc; + uint min_uc; int need; bool headerDone; public: @@ -167,8 +168,9 @@ result.setLength( len ); // worst case QChar *qch = (QChar *)result.unicode(); uchar ch; + int error = -1; for (int i=0; i= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) { + *qch++ = QChar::replacement; } else { if (headerDone || QChar(uc) != QChar::byteOrderMark) *qch++ = uc; @@ -190,6 +194,7 @@ } } else { // error + i = error; *qch++ = QChar::replacement; need = 0; } @@ -200,12 +205,21 @@ } else if ((ch & 0xe0) == 0xc0) { uc = ch & 0x1f; need = 1; + error = i; + min_uc = 0x80; } else if ((ch & 0xf0) == 0xe0) { uc = ch & 0x0f; need = 2; + error = i; + min_uc = 0x800; } else if ((ch&0xf8) == 0xf0) { uc = ch & 0x07; need = 3; + error = i; + min_uc = 0x10000; + } else { + // error + *qch++ = QChar::replacement; } } } --- src/tools/qstring.cpp +++ src/tools/qstring.cpp @@ -5805,6 +5805,7 @@ result.setLength( len ); // worst case QChar *qch = (QChar *)result.unicode(); uint uc = 0; + uint min_uc = 0; int need = 0; int error = -1; uchar ch; @@ -5822,6 +5823,12 @@ unsigned short low = uc%0x400 + 0xdc00; *qch++ = QChar(high); *qch++ = QChar(low); + } else if (uc < min_uc || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) { + // overlong seqence, UTF16 surrogate or BOM + i = error; + qch = addOne(qch, result); + *qch++ = QChar(0xdbff); + *qch++ = QChar(0xde00+((uchar)utf8[i])); } else { *qch++ = uc; } @@ -5844,14 +5851,17 @@ uc = ch & 0x1f; need = 1; error = i; + min_uc = 0x80; } else if ((ch & 0xf0) == 0xe0) { uc = ch & 0x0f; need = 2; error = i; + min_uc = 0x800; } else if ((ch&0xf8) == 0xf0) { uc = ch & 0x07; need = 3; error = i; + min_uc = 0x10000; } else { // Error qch = addOne(qch, result); qt-3.3.6-fontrendering-214371.patch: qscriptengine_x11.cpp | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) --- NEW FILE qt-3.3.6-fontrendering-214371.patch --- diff -pruN qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp --- qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp 2006-12-04 18:47:11.000000000 +0530 +++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-12-05 12:05:10.000000000 +0530 @@ -1412,7 +1412,10 @@ static bool indic_shape_syllable(QOpenTy toPos += 2; if (script == QFont::Devanagari || script == QFont::Gujarati || script == QFont::Bengali) { if (matra_position == Post || matra_position == Split) { - toPos = matra+1; + if (matra_position == Post ) + toPos = matra; + else + toPos = matra+1; matra -= 2; } } else if (script == QFont::Kannada) { qt-3.3.6-fontrendering-gu-228451.patch: qscriptengine_x11.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE qt-3.3.6-fontrendering-gu-228451.patch --- diff -pruN qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp --- qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp 2007-02-13 14:35:30.000000000 +0530 +++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2007-02-13 14:37:58.000000000 +0530 @@ -226,7 +226,7 @@ static const unsigned char indicForms[0x Invalid, VowelMark, VowelMark, VowelMark, Invalid, IndependentVowel, IndependentVowel, IndependentVowel, IndependentVowel, IndependentVowel, IndependentVowel, IndependentVowel, - Invalid, IndependentVowel, Invalid, IndependentVowel, + IndependentVowel, IndependentVowel, Invalid, IndependentVowel, IndependentVowel, IndependentVowel, Invalid, IndependentVowel, IndependentVowel, Consonant, Consonant, Consonant, qt-3.3.6-fontrendering-gu-228452.patch: qscriptengine_x11.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE qt-3.3.6-fontrendering-gu-228452.patch --- diff -pruN qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp --- qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp 2007-02-13 14:41:25.000000000 +0530 +++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2007-02-13 14:40:02.000000000 +0530 @@ -253,7 +253,7 @@ static const unsigned char indicForms[0x Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, Unknown, - Other, Other, Other, Other, + Other, Other, VowelMark, VowelMark, Other, Other, Other, Other, Other, Other, Other, Other, Other, Other, Other, Other, qt-3.3.6-fontrendering-ml_IN-209974.patch: qscriptengine_x11.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE qt-3.3.6-fontrendering-ml_IN-209974.patch --- --- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.orig 2006-11-29 17:17:26.000000000 +0100 +++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-11-29 17:22:34.000000000 +0100 @@ -864,7 +864,7 @@ None, None, None, Post, None, None, None, None, - None, Post, None, None, + None, None, None, None, None, None, None, None, None, None, Post, Post, qt-3.3.6-fontrendering-ml_IN-217657.patch: qfont_x11.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE qt-3.3.6-fontrendering-ml_IN-217657.patch --- diff -pruN qt-x11-free-3.3.6.org/src/kernel/qfont_x11.cpp qt-x11-free-3.3.6/src/kernel/qfont_x11.cpp --- qt-x11-free-3.3.6.org/src/kernel/qfont_x11.cpp 2006-03-08 00:00:00.000000000 +0530 +++ qt-x11-free-3.3.6/src/kernel/qfont_x11.cpp 2006-12-04 18:49:09.000000000 +0530 @@ -709,7 +709,7 @@ int QFontMetrics::charWidth( const QStri if ( script >= QFont::Arabic && script <= QFont::Khmer ) { // complex script shaping. Have to do some hard work int from = QMAX( 0, pos - 8 ); - int to = QMIN( (int)str.length(), pos + 8 ); + int to = str.length(); QConstString cstr( str.unicode()+from, to-from); QTextEngine layout( cstr.string(), d ); layout.itemize( QTextEngine::WidthOnly ); qt-3.3.8-fontrendering-#214570.patch: qscriptengine_x11.cpp | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletion(-) --- NEW FILE qt-3.3.8-fontrendering-#214570.patch --- --- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200 +++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200 @@ -1240,7 +1240,7 @@ int script = item->script; Q_ASSERT(script >= QFont::Devanagari && script <= QFont::Sinhala); const unsigned short script_base = 0x0900 + 0x80*(script-QFont::Devanagari); - const unsigned short ra = script_base + 0x30; + unsigned short ra = script_base + 0x30; //it was const unsigned short ra before modification const unsigned short halant = script_base + 0x4d; const unsigned short nukta = script_base + 0x3c; @@ -1278,6 +1278,11 @@ } #endif + unsigned short *chkAssamese=reordered.data(); + if((script == QFont::Bengali) && (*chkAssamese==0x09F0)) //if it is assamese ra + { + ra = script_base + 0x70; + } if (len != 1) { unsigned short *uc = reordered.data(); bool beginsWithRa = FALSE; qt-3.3.8-fontrendering-as_IN-209972.patch: qscriptengine_x11.cpp | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE qt-3.3.8-fontrendering-as_IN-209972.patch --- --- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200 +++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200 @@ -601,7 +601,7 @@ None, None, None, None, None, None, None, None, - None, None, None, None, + Below, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, qt-font-default-subst.diff: qfontdatabase.cpp | 2 +- qfontdatabase_x11.cpp | 31 +++++++++---------------------- 2 files changed, 10 insertions(+), 23 deletions(-) --- NEW FILE qt-font-default-subst.diff --- --- src/kernel/qfontdatabase_x11.cpp +++ src/kernel/qfontdatabase_x11.cpp @@ -1589,15 +1589,6 @@ QFontEngine *loadEngine( QFont::Script s if (script == QFont::Latin) // add Euro character FcCharSetAddChar(cs, 0x20ac); - if (script == QFont::Han_SimplifiedChinese) - FcCharSetAddChar(cs, 0x3400); - if (script == QFont::Han_TraditionalChinese){ - FcCharSetAddChar(cs, 0x3435); - FcCharSetAddChar(cs, 0xE000); - FcCharSetAddChar(cs, 0xF6B1); - } - if (script == QFont::MiscellaneousSymbols) - FcCharSetAddChar(cs, 0x2714); FcPatternAddCharSet(pattern, FC_CHARSET, cs); FcCharSetDestroy(cs); } @@ -1813,7 +1804,11 @@ static QFontEngine *loadFontConfigFont(c FcPatternPrint(pattern); #endif + // XftFontMatch calls the right ConfigSubstitute variants, but as we use + // FcFontMatch/Sort here we have to do it manually. FcConfigSubstitute(0, pattern, FcMatchPattern); + XftDefaultSubstitute(QPaintDevice::x11AppDisplay(), QPaintDevice::x11AppScreen(), pattern); + // qDebug("1: pattern contains:"); // FcPatternPrint(pattern); @@ -1847,10 +1842,6 @@ static QFontEngine *loadFontConfigFont(c value.u.s = (const FcChar8 *)cs.data(); FcPatternAddWeak(pattern, FC_FAMILY, value, FcTrue); } -#ifdef FONT_MATCH_DEBUG - printf("final pattern contains:\n"); - FcPatternPrint(pattern); -#endif } if (script != QFont::Unicode) { @@ -1860,19 +1851,15 @@ static QFontEngine *loadFontConfigFont(c if (script == QFont::Latin) // add Euro character FcCharSetAddChar(cs, 0x20ac); - if (script == QFont::Han_SimplifiedChinese) - FcCharSetAddChar(cs, 0x3400); - if (script == QFont::Han_TraditionalChinese) { - FcCharSetAddChar(cs, 0x3435); - FcCharSetAddChar(cs, 0xE000); - FcCharSetAddChar(cs, 0xF6B1); - } - if (script == QFont::MiscellaneousSymbols) - FcCharSetAddChar(cs, 0x2714); FcPatternAddCharSet(pattern, FC_CHARSET, cs); FcCharSetDestroy(cs); } +#ifdef FONT_MATCH_DEBUG + printf("final pattern contains:\n"); + FcPatternPrint(pattern); +#endif + QFontEngine *fe = 0; for( int jj = (FcGetVersion() >= 20392 ? 0 : 1); jj < 2; ++jj ) { --- src/kernel/qfontdatabase.cpp +++ src/kernel/qfontdatabase.cpp @@ -554,7 +554,7 @@ static const unsigned short sample_chars // GeometricSymbols, { 0x2500, 0x0 }, // MiscellaneousSymbols, - { 0x2640, 0x0 }, + { 0x2640, 0x2714, 0x0 }, // EnclosedAndSquare, { 0x2460, 0x0 }, // Braille, qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-post.patch: qlineedit.cpp | 11 +++++++---- qtextedit.cpp | 4 ++++ 2 files changed, 11 insertions(+), 4 deletions(-) --- NEW FILE qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-post.patch --- --- qt-x11-free-3.3.8/src/widgets/qtextedit.cpp.im 2007-03-19 10:19:10.000000000 +0100 +++ qt-x11-free-3.3.8/src/widgets/qtextedit.cpp 2007-03-19 10:19:47.000000000 +0100 @@ -5059,6 +5059,10 @@ void QTextEdit::setDocument( QTextDocument *dc ) { + if ( dc == 0 ) { + qWarning( "Q3TextEdit::setDocument() called with null Q3TextDocument pointer" ); + return; + } if ( dc == doc ) return; resetInputContext(); --- qt-x11-free-3.3.8/src/widgets/qlineedit.cpp.im 2007-03-19 10:20:03.000000000 +0100 +++ qt-x11-free-3.3.8/src/widgets/qlineedit.cpp 2007-03-19 10:22:11.000000000 +0100 @@ -457,10 +457,10 @@ \property QLineEdit::text \brief the line edit's text - Setting this property clears the selection, clears the undo/redo - history, moves the cursor to the end of the line and resets the - \c modified property to FALSE. The text is not validated when - inserted with setText(). + Note that setting this property clears the selection, clears the + undo/redo history, moves the cursor to the end of the line and + resets the \c modified property to FALSE. The text is not + validated when inserted with setText(). The text is truncated to maxLength() length. @@ -1014,6 +1014,9 @@ /*! Selects text from position \a start and for \a length characters. + Note that this function sets the cursor's position to the end of + the selection regardless of its current position. + \sa deselect() selectAll() getSelection() cursorForward() cursorBackward() */ qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-pre.patch: kernel/qwidget_x11.cpp | 25 ++++++++++++++++--------- widgets/qlineedit.cpp | 11 ++++------- widgets/qtextedit.cpp | 4 ---- 3 files changed, 20 insertions(+), 20 deletions(-) --- NEW FILE qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-pre.patch --- --- qt-x11-free-3.3.8/src/kernel/qwidget_x11.cpp 2007-02-02 15:01:13.000000000 +0100 +++ qt-x11-free-3.3.7/src/kernel/qwidget_x11.cpp 2006-10-19 16:25:16.000000000 +0200 @@ -1442,7 +1442,16 @@ QWidget *tlw = topLevelWidget(); if ( tlw->isVisible() && !tlw->topData()->embedded && !qt_deferred_map_contains(tlw) ) { XSetInputFocus( x11Display(), tlw->winId(), RevertToNone, qt_x_time); - focusInputContext(); + +#ifndef QT_NO_XIM + // trigger input context creation if it hasn't happened already + createInputContext(); + + if (tlw->topData()->xic) { + QInputContext *qic = (QInputContext *) tlw->topData()->xic; + qic->setFocus(); + } +#endif } } @@ -2717,16 +2726,14 @@ { #ifndef QT_NO_XIM QWidget *tlw = topLevelWidget(); - if (!tlw->isPopup() || isInputMethodEnabled()) { - QTLWExtra *topdata = tlw->topData(); + QTLWExtra *topdata = tlw->topData(); - // trigger input context creation if it hasn't happened already - createInputContext(); + // trigger input context creation if it hasn't happened already + createInputContext(); - if (topdata->xic) { - QInputContext *qic = (QInputContext *) topdata->xic; - qic->setFocus(); - } + if (topdata->xic) { + QInputContext *qic = (QInputContext *) topdata->xic; + qic->setFocus(); } #endif // QT_NO_XIM } --- qt-x11-free-3.3.8/src/widgets/qtextedit.cpp 2007-02-02 15:01:23.000000000 +0100 +++ qt-x11-free-3.3.7/src/widgets/qtextedit.cpp 2006-10-19 16:25:34.000000000 +0200 @@ -4972,10 +4972,6 @@ void QTextEdit::setDocument( QTextDocument *dc ) { - if ( dc == 0 ) { - qWarning( "Q3TextEdit::setDocument() called with null Q3TextDocument pointer" ); - return; - } if ( dc == doc ) return; resetInputContext(); --- qt-x11-free-3.3.8/src/widgets/qlineedit.cpp 2007-02-02 15:01:24.000000000 +0100 +++ qt-x11-free-3.3.7/src/widgets/qlineedit.cpp 2006-10-19 16:25:36.000000000 +0200 @@ -446,10 +446,10 @@ \property QLineEdit::text \brief the line edit's text - Note that setting this property clears the selection, clears the - undo/redo history, moves the cursor to the end of the line and - resets the \c modified property to FALSE. The text is not - validated when inserted with setText(). + Setting this property clears the selection, clears the undo/redo + history, moves the cursor to the end of the line and resets the + \c modified property to FALSE. The text is not validated when + inserted with setText(). The text is truncated to maxLength() length. @@ -1002,9 +1002,6 @@ /*! Selects text from position \a start and for \a length characters. - Note that this function sets the cursor's position to the end of - the selection regardless of its current position. - \sa deselect() selectAll() getSelection() cursorForward() cursorBackward() */ qt-x11-free-3.3.8-uic-multilib.patch: embed.cpp | 3 +-- main.cpp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) --- NEW FILE qt-x11-free-3.3.8-uic-multilib.patch --- --- qt-x11-free-3.3.8/tools/designer/uic/main.cpp.uic-multilib 2007-03-18 23:47:32.000000000 +0100 +++ qt-x11-free-3.3.8/tools/designer/uic/main.cpp 2007-03-18 23:50:34.000000000 +0100 @@ -316,8 +316,7 @@ out << "/****************************************************************************" << endl; out << "** Form "<< (impl? "implementation" : "interface") << " generated from reading ui file '" << fileName << "'" << endl; out << "**" << endl; - out << "** Created: " << QDateTime::currentDateTime().toString() << endl; - out << "** by: The User Interface Compiler ($Id: qt/main.cpp 3.3.8 edited Jan 11 14:47 $)" << endl; + out << "** Created by: The User Interface Compiler ($Id: qt/main.cpp 3.3.8 edited Jan 11 14:47 $)" << endl; out << "**" << endl; out << "** WARNING! All changes made in this file will be lost!" << endl; out << "****************************************************************************/" << endl << endl; --- qt-x11-free-3.3.8/tools/designer/uic/embed.cpp.uic-multilib 2007-02-02 15:01:39.000000000 +0100 +++ qt-x11-free-3.3.8/tools/designer/uic/embed.cpp 2007-03-18 23:51:36.000000000 +0100 @@ -130,8 +130,7 @@ for ( it = images.begin(); it != images.end(); ++it ) out << "** " << *it << "\n"; out << "**\n"; - out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; - out << "** by: The User Interface Compiler ($Id: qt/embed.cpp 3.3.8 edited Jan 11 14:47 $)\n"; + out << "** Created by: The User Interface Compiler ($Id: qt/embed.cpp 3.3.8 edited Jan 11 14:47 $)\n"; out << "**\n"; out << "** WARNING! All changes made in this file will be lost!\n"; out << "****************************************************************************/\n"; Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/qt/FC-6/.cvsignore,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- .cvsignore 16 May 2006 16:56:34 -0000 1.24 +++ .cvsignore 5 Jun 2007 14:47:38 -0000 1.25 @@ -5,3 +5,5 @@ qt-x11-free-3.3.5.tar.bz2 qt-x11-immodule-unified-qt3.3.5-20051012.diff.bz2 qt-x11-immodule-unified-qt3.3.5-20051018.diff.bz2 +qt-x11-immodule-unified-qt3.3.7-20061229.diff.bz2 +qt-x11-free-3.3.8.tar.bz2 Index: qt.spec =================================================================== RCS file: /cvs/dist/rpms/qt/FC-6/qt.spec,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- qt.spec 9 Nov 2006 20:22:08 -0000 1.125 +++ qt.spec 5 Jun 2007 14:47:38 -0000 1.126 @@ -1,7 +1,7 @@ Summary: The shared library for the Qt GUI toolkit. Name: qt -Version: 3.3.7 -Release: 0.2%{?dist} +Version: 3.3.8 +Release: 0.1%{?dist} Epoch: 1 License: GPL/QPL Group: System Environment/Libraries @@ -28,19 +28,23 @@ Patch19: qt-3.3.3-gtkstyle.patch Patch20: qt-x11-free-3.3.5-gcc4-buildkey.patch Patch24: qt-x11-free-3.3.5-uic.patch -Patch25: qt-x11-free-3.3.7-uic-multilib.patch +Patch25: qt-x11-free-3.3.8-uic-multilib.patch Patch26: qt-3.3.6-fontrendering-punjabi-209970.patch Patch27: qt-3.3.6-fontrendering-ml_IN-209097.patch Patch28: qt-3.3.6-fontrendering-or_IN-209098.patch -Patch29: qt-3.3.6-fontrendering-as_IN-209972.patch -Patch30: qt-3.3.6-fontrendering-bn_IN-209975.patch +Patch29: qt-3.3.8-fontrendering-as_IN-209972.patch Patch31: qt-3.3.6-fontrendering-te_IN-211259.patch -Patch32: qt-3.3.6-fontrendering-as_IN-211436.patch +Patch32: qt-3.3.6-fontrendering-214371.patch +Patch33: qt-3.3.8-fontrendering-#214570.patch +Patch34: qt-3.3.6-fontrendering-ml_IN-209974.patch +Patch35: qt-3.3.6-fontrendering-ml_IN-217657.patch +Patch36: qt-3.3.6-fontrendering-gu-228451.patch +Patch37: qt-3.3.6-fontrendering-gu-228452.patch # immodule patches -Patch50: qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-pre.patch -Patch51: qt-x11-immodule-unified-qt3.3.5-20060318.diff.bz2 -Patch52: qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-post.patch +Patch50: qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-pre.patch +Patch51: qt-x11-immodule-unified-qt3.3.7-20061229.diff.bz2 +Patch52: qt-x11-free-3.3.8-qt-x11-immodule-unified-qt3.3.7-20061229-post.patch Patch53: qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch Patch54: qt-x11-free-3.3.6-fix-key-release-event-with-imm.diff Patch55: qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch @@ -50,8 +54,10 @@ Patch101: 0047-fix-kmenu-width.diff Patch102: 0048-qclipboard_hack_80072.patch Patch103: 0056-khotkeys_input_84434.patch -Patch104: 0069-fix-minsize.patch -Patch105: 0070-fix-broken-fonts.patch +Patch104: qt-font-default-subst.diff +Patch105: 0073-xinerama-aware-qpopup.patch +Patch106: 0076-fix-qprocess.diff +Patch107: 0077-utf8-decoder-fixes.diff # upstream patches Patch200: qt-x11-free-3.3.4-fullscreen.patch @@ -250,9 +256,13 @@ %patch27 -p1 -b .fontrendering-ml_IN-bz#209097 %patch28 -p1 -b .fontrendering-or_IN-bz#209098 %patch29 -p1 -b .fontrendering-as_IN-bz#209972 -%patch30 -p1 -b .fontrendering-bn_IN-bz#209975 %patch31 -p1 -b .fontrendering-te_IN-bz#211259 -%patch32 -p1 -b .fontrendering-as_IN-bz211436 +%patch32 -p1 -b .fontrendering-bz#214371 +%patch33 -p1 -b .fontrendering-#214570 +%patch34 -p1 -b .fontrendering-#209974 +%patch35 -p1 -b .fontrendering-ml_IN-217657 +%patch36 -p1 -b .fontrendering-gu-228451 +%patch37 -p1 -b .fontrendering-gu-228452 %if %{immodule} %patch50 -p1 -b .pre @@ -267,8 +277,10 @@ %patch101 -p0 -b .0047-fix-kmenu-width %patch102 -p0 -b .0048-qclipboard_hack_80072 %patch103 -p0 -b .0056-khotkeys_input_84434 -%patch104 -p0 -b .0069-fix-minsize -%patch105 -p0 -b .0070-fix-broken-fonts +%patch104 -p0 -b .qt-font-default-subst +%patch105 -p0 -b .0073-xinerama-aware-qpopup +%patch106 -p0 -b .0076-fix-qprocess +%patch107 -p0 -b .0077-utf8-decoder-fixes %patch200 -p1 -b .fullscreen # convert to UTF-8 @@ -531,6 +543,9 @@ %changelog +* Tue Jun 05 2007 Than Ngo - 1:3.3.8-0.1.fc6 +- 3.3.8 + * Thu Nov 09 2006 Than Ngo 1:3.3.7-0.2.fc6 - fix #189012, qt settings should be readable for other Index: sources =================================================================== RCS file: /cvs/dist/rpms/qt/FC-6/sources,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- sources 23 Oct 2006 19:33:52 -0000 1.25 +++ sources 5 Jun 2007 14:47:38 -0000 1.26 @@ -1,2 +1,2 @@ -0c07b36cd8da9f796437dd398365c204 qt-x11-immodule-unified-qt3.3.5-20060318.diff.bz2 -655e21cf6a7e66daf8ec6ceda81aae1e qt-x11-free-3.3.7.tar.bz2 +91adfea39f17a64b86497bce32782cf3 qt-x11-immodule-unified-qt3.3.7-20061229.diff.bz2 +cf3c43a7dfde5bfb76f8001102fe6e85 qt-x11-free-3.3.8.tar.bz2 --- 0069-fix-minsize.patch DELETED --- --- 0070-fix-broken-fonts.patch DELETED --- --- qt-3.3.6-fontrendering-as_IN-211436.patch DELETED --- --- qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-post.patch DELETED --- --- qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-pre.patch DELETED --- --- qt-x11-free-3.3.7-uic-multilib.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 5 19:23:13 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 15:23:13 -0400 Subject: rpms/python-virtinst/FC-6 virtinst-0.103.0-accelerate.patch, NONE, 1.1 virtinst-0.103.0-default-net.patch, NONE, 1.1 virtinst-0.103.0-features-xml.patch, NONE, 1.1 virtinst-0.103.0-rhel5-client.patch, NONE, 1.1 virtinst-0.103.0-urlgrabber-import.patch, NONE, 1.1 .cvsignore, 1.3, 1.4 python-virtinst.spec, 1.3, 1.4 sources, 1.3, 1.4 virtinst-incremental-sleep.patch, 1.1, NONE virtinst-invalid-mem-crash.patch, 1.1, NONE Message-ID: <200706051923.l55JND8S004677@cvs.devel.redhat.com> Author: berrange Update of /cvs/dist/rpms/python-virtinst/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv4657 Modified Files: .cvsignore python-virtinst.spec sources Added Files: virtinst-0.103.0-accelerate.patch virtinst-0.103.0-default-net.patch virtinst-0.103.0-features-xml.patch virtinst-0.103.0-rhel5-client.patch virtinst-0.103.0-urlgrabber-import.patch Removed Files: virtinst-incremental-sleep.patch virtinst-invalid-mem-crash.patch Log Message: Updated to 0.103.0 release virtinst-0.103.0-accelerate.patch: virt-install | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- NEW FILE virtinst-0.103.0-accelerate.patch --- changeset: 161:00984cdd0c55 user: Mark McLoughlin date: Mon Apr 30 11:43:24 2007 -0400 files: virt-install description: [et-mgmt-tools] [patch 1/4] Typo in kvm support Patch from David Lutterkort Fixes a minor type in kvm support where we reference a non-existent module. Signed-off-by: Mark McLoughlin diff -r 71f2046b9805 -r 00984cdd0c55 virt-install --- a/virt-install Wed Apr 25 15:56:03 2007 -0400 +++ b/virt-install Mon Apr 30 11:43:24 2007 -0400 @@ -519,9 +519,9 @@ def main(): hvm = True type = "qemu" if options.accelerate: - if util.is_kvm_capable(): + if virtinst.util.is_kvm_capable(): type = "kvm" - elif util.is_kqemu_capable(): + elif virtinst.util.is_kqemu_capable(): type = "kqemu" if hvm: virtinst-0.103.0-default-net.patch: virt-install | 23 +++++++++++------------ virtinst/util.py | 43 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 50 insertions(+), 16 deletions(-) --- NEW FILE virtinst-0.103.0-default-net.patch --- changeset: 165:5b37d71c88b6 user: "Daniel P. Berrange " date: Tue May 01 11:31:32 2007 -0400 summary: Automatically pick sensible default networking if no arg is listed, rather than defaulting to xenbr0. Pick sensible connect URI based on host OS diff -r cdbbe109cf8d -r 5b37d71c88b6 virt-install --- a/virt-install Mon Apr 30 11:44:00 2007 -0400 +++ b/virt-install Tue May 01 11:31:32 2007 -0400 @@ -42,11 +42,6 @@ def prompt_for_input(prompt = "", val = print prompt + " ", return sys.stdin.readline().strip() - -def check_xen(): - if not os.path.isdir("/proc/xen"): - print >> sys.stderr, "Can only install guests if running under a Xen kernel!" - sys.exit(1) ### General input gathering functions def get_full_virt(): @@ -216,7 +211,8 @@ def get_networks(macs, bridges, networks macs = [ None ] * len(networks) else: if os.getuid() == 0: - networks = ["bridge:" + virtinst.util.default_bridge()] + net = virtinst.util.default_network() + networks = [net[0] + ":" + net[1]] else: networks = ["user"] if macs != None: @@ -274,9 +270,12 @@ def get_paravirt_extraargs(extra, guest) ### fullvirt input gathering functions -def get_fullvirt_cdrom(cdpath, guest): - while 1: - cdpath = prompt_for_input("What would you like to use for the virtual CD image?", cdpath) +def get_fullvirt_cdrom(cdpath, location, guest): + if cdpath is None and location is not None: + cdpath = location + + while 1: + cdpath = prompt_for_input("What is the virtual CD image, CD device or install location?", cdpath) try: guest.location = cdpath break @@ -353,7 +352,8 @@ def parse_args(): help="Use kernel acceleration capabilities") parser.add_option("", "--connect", type="string", dest="connect", action="callback", callback=check_before_store, - help="Connect to hypervisor with URI") + help="Connect to hypervisor with URI", + default=virtinst.util.default_connection()) # fullvirt options parser.add_option("-v", "--hvm", action="store_true", dest="fullvirt", @@ -484,7 +484,6 @@ def main(): # check to ensure we're really on a xen kernel if conn.getType() == "Xen": type = "xen" - check_xen() if os.geteuid() != 0: print >> sys.stderr, "Must be root to install guests" @@ -544,7 +543,7 @@ def main(): get_paravirt_extraargs(options.extra, guest) continue_inst = False else: - get_fullvirt_cdrom(options.cdrom, guest) + get_fullvirt_cdrom(options.cdrom, options.location, guest) if options.noacpi: guest.features["acpi"] = False if options.noapic: diff -r cdbbe109cf8d -r 5b37d71c88b6 virtinst/util.py --- a/virtinst/util.py Mon Apr 30 11:44:00 2007 -0400 +++ b/virtinst/util.py Tue May 01 11:31:32 2007 -0400 @@ -16,7 +16,7 @@ import os.path import os.path from sys import stderr -def default_bridge(): +def default_route(): route_file = "/proc/net/route" d = file(route_file) @@ -30,12 +30,47 @@ def default_bridge(): try: route = int(info[1],16) if route == 0: - defn = int(info[0][-1]) - break + return info[0] except ValueError: continue + return None - return "xenbr%d"%(defn) +# Legacy for compat only. +def default_bridge(): + rt = default_route() + defn = int(rt[-1]) + + if defn is None: + return "xenbr0" + else: + return "xenbr%d"%(defn) + +def default_network(): + dev = default_route() + + if dev is not None: + # New style peth0 == phys dev, eth0 == bridge, eth0 == default route + if os.path.exists("/sys/class/net/%s/bridge" % dev): + return ["bridge", dev] + + # Old style, peth0 == phys dev, eth0 == netloop, xenbr0 == bridge, + # vif0.0 == netloop enslaved, eth0 == default route + defn = int(dev[-1]) + if os.path.exists("/sys/class/net/peth%d/brport" % defn) and \ + os.path.exists("/sys/class/net/xenbr%d/bridge" % defn): + return ["bridge", "xenbr%d" % defn] + + return ["network", "default"] + +def default_connection(): + if os.path.exists("/var/lib/xend") and os.path.exists("/proc/xen"): + return "xen" + elif os.path.exists("/usr/bin/qemu"): + if os.getuid() == 0: + return "qemu:///system" + else: + return "qemu:///session" + return None def get_cpu_flags(): f = open("/proc/cpuinfo") virtinst-0.103.0-features-xml.patch: FullVirtGuest.py | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) --- NEW FILE virtinst-0.103.0-features-xml.patch --- changeset: 162:ba44389ce195 user: Mark McLoughlin date: Mon Apr 30 11:43:35 2007 -0400 files: virtinst/FullVirtGuest.py description: [et-mgmt-tools] [patch 2/4] Fix typo in hvm kernel/initrd XML Fixes a minor typo in the libvirt XML we output when booting qemu with a kernel/initrd - the block should be outside the block. Signed-off-by: Mark McLoughlin diff -r 00984cdd0c55 -r ba44389ce195 virtinst/FullVirtGuest.py --- a/virtinst/FullVirtGuest.py Mon Apr 30 11:43:24 2007 -0400 +++ b/virtinst/FullVirtGuest.py Mon Apr 30 11:43:35 2007 -0400 @@ -185,10 +185,10 @@ class FullVirtGuest(Guest.XenGuest): %(kernel)s %(initrd)s %(extra)s - - %(features)s - - """ % \ + + + %(features)s + """ % \ { "kernel": self.kernel, \ "initrd": self.initrd, \ "extra": self.extraargs, \ virtinst-0.103.0-rhel5-client.patch: DistroManager.py | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) --- NEW FILE virtinst-0.103.0-rhel5-client.patch --- changeset: 166:42e9479fa521 tag: tip user: "Daniel P. Berrange " date: Tue May 01 11:33:16 2007 -0400 summary: Added logic to detect RHEL5 client distro flavour diff -r 5b37d71c88b6 -r 42e9479fa521 virtinst/DistroManager.py --- a/virtinst/DistroManager.py Tue May 01 11:31:32 2007 -0400 +++ b/virtinst/DistroManager.py Tue May 01 11:33:16 2007 -0400 @@ -214,7 +214,10 @@ class RHELImageStore(RedHatImageStore): class RHELImageStore(RedHatImageStore): def isValidStore(self, fetcher, progresscb): if fetcher.hasFile("Server", progresscb): - logging.debug("Detected a RHEL 5 distro") + logging.debug("Detected a RHEL 5 Server distro") + return True + if fetcher.hasFile("Client", progresscb): + logging.debug("Detected a RHEL 5 Client distro") return True if fetcher.hasFile("RedHat", progresscb): logging.debug("Detected a RHEL 4 distro") virtinst-0.103.0-urlgrabber-import.patch: Guest.py | 2 ++ 1 files changed, 2 insertions(+) --- NEW FILE virtinst-0.103.0-urlgrabber-import.patch --- --- virtinst-0.103.0/virtinst/Guest.py.urlgrabber-import 2007-04-16 08:35:35.000000000 -0400 +++ virtinst-0.103.0/virtinst/Guest.py 2007-04-17 12:30:41.514314000 -0400 @@ -23,6 +23,8 @@ import logging +import urlgrabber.progress as progress + class VirtualDisk: DRIVER_FILE = "file" DRIVER_PHY = "phy" Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/python-virtinst/FC-6/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- .cvsignore 19 Dec 2006 20:06:58 -0000 1.3 +++ .cvsignore 5 Jun 2007 19:23:10 -0000 1.4 @@ -1 +1 @@ -virtinst-0.98.0.tar.gz +virtinst-0.103.0.tar.gz Index: python-virtinst.spec =================================================================== RCS file: /cvs/dist/rpms/python-virtinst/FC-6/python-virtinst.spec,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- python-virtinst.spec 19 Dec 2006 20:06:58 -0000 1.3 +++ python-virtinst.spec 5 Jun 2007 19:23:10 -0000 1.4 @@ -2,22 +2,26 @@ Summary: Python modules for starting Xen guest installations Name: python-virtinst -Version: 0.98.0 +Version: 0.103.0 Release: 1%{?dist} Source0: virtinst-%{version}.tar.gz -Patch1: virtinst-invalid-mem-crash.patch -Patch2: virtinst-incremental-sleep.patch +Patch0: virtinst-0.103.0-urlgrabber-import.patch +Patch1: virtinst-0.103.0-accelerate.patch +Patch2: virtinst-0.103.0-default-net.patch +Patch3: virtinst-0.103.0-rhel5-client.patch +Patch4: virtinst-0.103.0-features-xml.patch License: GPL Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch ExcludeArch: ppc ppc64 s390 s390x -Url: http://hg.et.redhat.com/virt/applications/xeninst--devel +Url: http://virt-manager.org/ Provides: xeninst Provides: python-xeninst = %{version} Provides: virtinst -Requires: libvirt-python >= 0.1.4-4 +Requires: libvirt-python >= 0.2.1 Requires: urlgrabber +BuildRequires: python-devel Obsoletes: python-xeninst < %{version} %description @@ -34,6 +38,8 @@ %setup -q -n virtinst-%{version} %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build python setup.py build @@ -52,7 +58,7 @@ %files %defattr(-,root,root) -%doc README +%doc README AUTHORS NEWS ChangeLog %dir %{python_sitelib}/virtinst %{python_sitelib}/virtinst/* %{python_sitelib}/xeninst @@ -60,6 +66,14 @@ %{_sbindir}/xenguest-install %changelog +* Tue Jun 5 2007 Daniel P. Berrange - 0.103.0-1.fc6 +- Updated to 0.103.0 release +- Fixed module import when using --accelerate +- Fixed detection of RHEL5 client distro +- Fixed default 'network's selection & default URI choice to + not be Xen specific +- Fixed features XML when using initrd for fullvirt + * Tue Dec 18 2006 Daniel P. Berrange - 0.98.0-1.fc6 - don't traceback on invalid memory param (gcosta, #219270) - let the console come back quicker to help with HVM installs (#212024) Index: sources =================================================================== RCS file: /cvs/dist/rpms/python-virtinst/FC-6/sources,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- sources 19 Dec 2006 20:06:58 -0000 1.3 +++ sources 5 Jun 2007 19:23:10 -0000 1.4 @@ -1 +1 @@ -8ba8268787e6a3af08408355e9741144 virtinst-0.98.0.tar.gz +da72ef584f2479be981716af454950f6 virtinst-0.103.0.tar.gz --- virtinst-incremental-sleep.patch DELETED --- --- virtinst-invalid-mem-crash.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 5 19:23:30 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 15:23:30 -0400 Subject: rpms/virt-manager/FC-6 virt-manager-0.4.0-device-remove.patch, NONE, 1.1 virt-manager-0.4.0-file-dialog-fix.patch, NONE, 1.1 virt-manager-0.4.0-toolbar-state.patch, NONE, 1.1 .cvsignore, 1.9, 1.10 sources, 1.9, 1.10 virt-manager.spec, 1.14, 1.15 virt-manager-disable-config-hvm.patch, 1.1, NONE virt-manager-hostname-resolution-errors.patch, 1.1, NONE vm-limit-memory.patch, 1.1, NONE vm-non-sparse-file.patch, 1.1, NONE vm-use-ipv4-for-console.patch, 1.1, NONE Message-ID: <200706051923.l55JNU8o004726@cvs.devel.redhat.com> Author: berrange Update of /cvs/dist/rpms/virt-manager/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv4706 Modified Files: .cvsignore sources virt-manager.spec Added Files: virt-manager-0.4.0-device-remove.patch virt-manager-0.4.0-file-dialog-fix.patch virt-manager-0.4.0-toolbar-state.patch Removed Files: virt-manager-disable-config-hvm.patch virt-manager-hostname-resolution-errors.patch vm-limit-memory.patch vm-non-sparse-file.patch vm-use-ipv4-for-console.patch Log Message: Updated to 0.4.0 release virt-manager-0.4.0-device-remove.patch: domain.py | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 5 deletions(-) --- NEW FILE virt-manager-0.4.0-device-remove.patch --- changeset: 487:900bee6f2cc8 user: "Hugh O. Brock " date: Tue May 01 16:22:22 2007 -0400 summary: Allow removal of devices from inactive domains. Requires rewriting the XML and redefining the domain. To work on xen 3.0.3 userland, also requires libvirt patch to xm_internal.c. diff -r fddee0787dde -r 900bee6f2cc8 src/virtManager/domain.py --- a/src/virtManager/domain.py Wed Apr 25 17:51:42 2007 -0400 +++ b/src/virtManager/domain.py Tue May 01 16:22:22 2007 -0400 @@ -545,13 +545,69 @@ class vmmDomain(gobject.GObject): self.get_connection().define_domain(newxml) - def remove_device(self, xml): - logging.debug("Removing device " + xml) + def remove_device(self, dev_xml): + logging.debug("Removing device " + dev_xml) if self.is_active(): - self.vm.detachDevice(xml) - - # XXX remove from defined XML. Eek ! + self.vm.detachDevice(dev_xml) + else: + # XXX remove from defined XML. Eek ! + xml = self.get_xml() + doc = None + try: + doc = libxml2.parseDoc(xml) + except: + return + ctx = doc.xpathNewContext() + try: + dev_doc = libxml2.parseDoc(dev_xml) + except: + raise RuntimeError("Device XML would not parse") + dev_ctx = dev_doc.xpathNewContext() + ret = None + try: + dev = dev_ctx.xpathEval("//*") + dev_type = dev[0].name + if dev_type=="interface": + address = dev_ctx.xpathEval("/interface/mac/@address") + if len(address) > 0 and address[0].content != None: + logging.debug("The mac address appears to be %s" % address[0].content) + ret = ctx.xpathEval("/domain/devices/interface[mac/@address='%s']" % address[0].content) + if len(ret) >0: + ret[0].unlinkNode() + ret[0].freeNode() + newxml=doc.serialize() + logging.debug("Redefine with " + newxml) + self.get_connection().define_domain(newxml) + elif dev_type=="disk": + disk_type_node = dev_ctx.xpathEval("/disk/@type") + disk_type = None + if len(disk_type_node) > 0 and disk_type_node[0].content != None: + disk_type = disk_type_node[0].content + logging.debug("Looking for disk type %s" % disk_type) + if disk_type == "block": + path = dev_ctx.xpathEval("/disk/source/@dev") + if len(path) > 0 and path[0].content != None: + logging.debug("Looking for path %s" % path[0].content) + ret = ctx.xpathEval("/domain/devices/disk[source/@dev='%s']" % path[0].content) + elif disk_type == "file": + path = dev_ctx.xpathEval("/disk/source/@file") + if len(path) > 0 and path[0].content != None: + ret = ctx.xpathEval("/domain/devices/disk[source/@file='%s']" % path[0].content) + if len(ret) > 0: + ret[0].unlinkNode() + ret[0].freeNode() + newxml=doc.serialize() + logging.debug("Redefine with " + newxml) + self.get_connection().define_domain(newxml) + + finally: + if ctx != None: + ctx.xpathFreeContext() + if doc != None: + doc.freeDoc() + if dev_doc != None: + dev_doc.freeDoc() def set_vcpu_count(self, vcpus): vcpus = int(vcpus) virt-manager-0.4.0-file-dialog-fix.patch: addhardware.py | 52 ++++++++++++++++++++++++++++++++++++---------------- create.py | 26 +++++++++++++++++--------- 2 files changed, 53 insertions(+), 25 deletions(-) --- NEW FILE virt-manager-0.4.0-file-dialog-fix.patch --- changeset: 482:7263412862de user: "Hugh O. Brock " date: Mon Apr 23 15:08:56 2007 -0400 summary: Fix up empty combo boxes, non-working file dialogs, and a few other bugs. diff -r 053429952481 -r 7263412862de src/virtManager/addhardware.py --- a/src/virtManager/addhardware.py Mon Apr 16 11:31:48 2007 -0400 +++ b/src/virtManager/addhardware.py Mon Apr 23 15:08:56 2007 -0400 @@ -179,6 +179,7 @@ class vmmAddHardware(gobject.GObject): self.window.get_widget("create-forward").show() self.window.get_widget("create-back").set_sensitive(False) self.window.get_widget("storage-file-size").set_sensitive(False) + self.window.get_widget("create-help").hide() self.change_storage_type() self.change_network_type() @@ -190,11 +191,15 @@ class vmmAddHardware(gobject.GObject): self.window.get_widget("storage-file-address").set_text("") self.window.get_widget("storage-file-size").set_value(2000) self.window.get_widget("non-sparse").set_active(True) - - model = self.window.get_widget("net-network").get_model() - self.populate_network_model(model) - device = self.window.get_widget("net-device").get_model() - self.populate_device_model(device) + self.window.get_widget("hardware-type").set_active(0) + + net_box = self.window.get_widget("net-network") + self.populate_network_model(net_box.get_model()) + net_box.set_active(0) + + dev_box = self.window.get_widget("net-device") + self.populate_device_model(dev_box.get_model()) + dev_box.set_active(0) def forward(self, ignore=None): @@ -414,23 +419,38 @@ class vmmAddHardware(gobject.GObject): def browse_storage_file_address(self, src, ignore=None): self.window.get_widget("storage-file-size").set_sensitive(True) - fcdialog = gtk.FileChooserDialog(_("Locate or Create New Storage File"), - self.window.get_widget("vmm-create"), - gtk.FILE_CHOOSER_ACTION_SAVE, + folder = self.config.get_default_image_dir(self.vm.get_connection()) + file = self._browse_file(_("Locate or Create New Storage File"), \ + folder=folder, confirm_overwrite=True) + if file != None: + self.window.get_widget("storage-file-address").set_text(file) + + def _browse_file(self, dialog_name, folder=None, type=None, confirm_overwrite=False): + # user wants to browse for an ISO + fcdialog = gtk.FileChooserDialog(dialog_name, + self.window.get_widget("vmm-add-hardware"), + gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_ACCEPT), None) - - fcdialog.set_current_folder(self.config.get_default_image_dir(self.vm.get_connection())) - fcdialog.set_do_overwrite_confirmation(True) - fcdialog.connect("confirm-overwrite", self.confirm_overwrite_callback) + if type != None: + f = gtk.FileFilter() + f.add_pattern("*." + type) + fcdialog.set_filter(f) + if folder != None: + fcdialog.set_current_folder(folder) + if confirm_overwrite: + fcdialog.set_do_overwrite_confirmation(True) + fcdialog.connect("confirm-overwrite", self.confirm_overwrite_callback) response = fcdialog.run() fcdialog.hide() - file = None if(response == gtk.RESPONSE_ACCEPT): - file = fcdialog.get_filename() - if file != None: - self.window.get_widget("storage-file-address").set_text(file) + filename = fcdialog.get_filename() + fcdialog.destroy() + return filename + else: + fcdialog.destroy() + return None def toggle_storage_size(self, ignore1=None, ignore2=None): file = self.get_config_disk_image() diff -r 053429952481 -r 7263412862de src/virtManager/create.py --- a/src/virtManager/create.py Mon Apr 16 11:31:48 2007 -0400 +++ b/src/virtManager/create.py Mon Apr 23 15:08:56 2007 -0400 @@ -302,12 +302,16 @@ class vmmCreate(gobject.GObject): # Fill list of OS types self.populate_os_type_model() - self.window.get_widget("os-type").set_active(-1) - - model = self.window.get_widget("net-network").get_model() - self.populate_network_model(model) - device = self.window.get_widget("net-device").get_model() - self.populate_device_model(device) + self.window.get_widget("os-type").set_active(0) + + net_box = self.window.get_widget("net-network") + self.populate_network_model(net_box.get_model()) + net_box.set_active(0) + + dev_box = self.window.get_widget("net-device") + self.populate_device_model(dev_box.get_model()) + dev_box.set_active(0) + self.install_error = None @@ -511,13 +515,13 @@ class vmmCreate(gobject.GObject): except ValueError, e: self._validation_error_box(_("Invalid FV media address"),e.args[0]) try: - if self.get_config_os_type() is not None: + if self.get_config_os_type() is not None and self.get_config_os_type() != "generic": logging.debug("OS Type: %s" % self.get_config_os_type()) guest.os_type = self.get_config_os_type() except ValueError, e: self._validation_error_box(_("Invalid FV OS Type"),e.args[0]) try: - if self.get_config_os_variant() is not None: + if self.get_config_os_variant() is not None and self.get_config_os_type() != "generic": logging.debug("OS Variant: %s" % self.get_config_os_variant()) guest.os_variant = self.get_config_os_variant() except ValueError, e: @@ -986,6 +990,7 @@ class vmmCreate(gobject.GObject): def populate_os_type_model(self): model = self.window.get_widget("os-type").get_model() model.clear() + model.append(["generic", "Generic"]) types = virtinst.FullVirtGuest.list_os_types() types.sort() for type in types: @@ -994,6 +999,9 @@ class vmmCreate(gobject.GObject): def populate_os_variant_model(self, type): model = self.window.get_widget("os-variant").get_model() model.clear() + if type=="generic": + model.append(["generic", "Generic"]) + return variants = virtinst.FullVirtGuest.list_os_variants(type) variants.sort() for variant in variants: @@ -1018,7 +1026,7 @@ class vmmCreate(gobject.GObject): type = model.get_value(box.get_active_iter(), 0) self.populate_os_variant_model(type) variant = self.window.get_widget("os-variant") - variant.set_active(-1) + variant.set_active(0) def change_virt_method(self, ignore=None): arch = self.window.get_widget("cpu-architecture") virt-manager-0.4.0-toolbar-state.patch: console.py | 3 ++- details.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) --- NEW FILE virt-manager-0.4.0-toolbar-state.patch --- changeset: 484:92e90dd89dd5 user: "Hugh O. Brock " date: Wed Apr 25 17:03:55 2007 -0400 summary: initial fix for 236777: make the toolbar show/hide button reflect reality. Next up, persist the value. diff -r 58c0f8ae6fb8 -r 92e90dd89dd5 src/virtManager/console.py --- a/src/virtManager/console.py Mon Apr 23 15:26:46 2007 -0400 +++ b/src/virtManager/console.py Wed Apr 25 17:03:55 2007 -0400 @@ -171,7 +171,6 @@ class vmmConsole(gobject.GObject): dialog = self.window.get_widget("vmm-console") dialog.show_all() dialog.present() - self.try_login() self.update_widget_states(self.vm, self.vm.status()) @@ -407,6 +406,7 @@ class vmmConsole(gobject.GObject): self.emit("action-show-details", self.vm.get_connection().get_uri(), self.vm.get_uuid()) def update_widget_states(self, vm, status): + self.toggle_toolbar(self.window.get_widget("menu-view-toolbar")) self.ignorePause = True if status in [ libvirt.VIR_DOMAIN_SHUTOFF, libvirt.VIR_DOMAIN_CRASHED ]: self.window.get_widget("control-run").set_sensitive(True) @@ -486,4 +486,5 @@ class vmmConsole(gobject.GObject): self.ignorePause = False self.ignorePause = False + gobject.type_register(vmmConsole) changeset: 485:1c74c953592e user: "Hugh O. Brock " date: Wed Apr 25 17:09:37 2007 -0400 summary: Fix toolbar check/uncheck in details window as well diff -r 92e90dd89dd5 -r 1c74c953592e src/virtManager/details.py --- a/src/virtManager/details.py Wed Apr 25 17:03:55 2007 -0400 +++ b/src/virtManager/details.py Wed Apr 25 17:09:37 2007 -0400 @@ -120,8 +120,8 @@ class vmmDetails(gobject.GObject): self.vm.connect("resources-sampled", self.refresh_resources) self.window.get_widget("hw-list").get_selection().connect("changed", self.hw_selected) - self.update_widget_states(vm, vm.status()) - self.refresh_resources(vm) + self.update_widget_states(self.vm, self.vm.status()) + self.refresh_resources(self.vm) self.pixbuf_processor = gtk.gdk.pixbuf_new_from_file(config.get_icon_dir() + "/icon_cpu.png") self.pixbuf_memory = gtk.gdk.pixbuf_new_from_file(config.get_icon_dir() + "/icon_cpu.png") @@ -146,6 +146,7 @@ class vmmDetails(gobject.GObject): self.window.get_widget("overview-disk-usage-label").hide() self.network_traffic_graph.hide() dialog.present() + self.update_widget_states(self.vm, self.vm.status()) def show_help(self, src): # From the Details window, show the help document from the Details page @@ -263,6 +264,7 @@ class vmmDetails(gobject.GObject): self.emit("action-destroy-domain", self.vm.get_connection().get_uri(), self.vm.get_uuid()) def update_widget_states(self, vm, status): + self.toggle_toolbar(self.window.get_widget("details-menu-view-toolbar")) self.ignorePause = True if status in [ libvirt.VIR_DOMAIN_SHUTDOWN, libvirt.VIR_DOMAIN_SHUTOFF ] or vm.is_read_only(): # apologies for the spaghetti, but the destroy choice is a special case @@ -403,7 +405,6 @@ class vmmDetails(gobject.GObject): self.window.get_widget("disk-target-device").set_text(diskinfo[3]) def refresh_network_page(self): - # viewing net page, not adding a device. If adding, don't try to refresh vmlist = self.window.get_widget("hw-list") selection = vmlist.get_selection() active = selection.get_selected() Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/virt-manager/FC-6/.cvsignore,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- .cvsignore 19 Dec 2006 20:08:06 -0000 1.9 +++ .cvsignore 5 Jun 2007 19:23:28 -0000 1.10 @@ -1,2 +1,2 @@ -virt-manager-0.2.6.tar.gz -virt-manager-i18n-po-2006-12-18.tar.gz +virt-manager-0.4.0-po-2007-05-09.tar.gz +virt-manager-0.4.0.tar.gz Index: sources =================================================================== RCS file: /cvs/dist/rpms/virt-manager/FC-6/sources,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- sources 19 Dec 2006 20:08:06 -0000 1.9 +++ sources 5 Jun 2007 19:23:28 -0000 1.10 @@ -1,2 +1,2 @@ -bc15748340822e0004fe122c82fa9d8f virt-manager-0.2.6.tar.gz -2682a7c7f67b30d345d51a55efeac544 virt-manager-i18n-po-2006-12-18.tar.gz +df31f5fe9aba14943e5d60a2a7f70c2d virt-manager-0.4.0-po-2007-05-09.tar.gz +56ea634db2b571c4f8abbe3ccd4b16e4 virt-manager-0.4.0.tar.gz Index: virt-manager.spec =================================================================== RCS file: /cvs/dist/rpms/virt-manager/FC-6/virt-manager.spec,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- virt-manager.spec 19 Dec 2006 20:08:06 -0000 1.14 +++ virt-manager.spec 5 Jun 2007 19:23:28 -0000 1.15 @@ -7,8 +7,8 @@ %define _extra_release %{?dist:%{dist}}%{!?dist:%{?extra_release:%{extra_release}}} Name: virt-manager -Version: 0.2.6 -Release: 3%{_extra_release} +Version: 0.4.0 +Release: 1%{_extra_release} Summary: Virtual Machine Manager Group: Applications/Emulators @@ -17,19 +17,17 @@ Source0: http://virt-manager.et.redhat.com/download/sources/%{name}/%{name}-%{version}.tar.gz Source1: %{name}.pam Source2: %{name}.console -Source3: %{name}-i18n-po-2006-12-18.tar.gz -Patch1: vm-use-ipv4-for-console.patch -Patch2: virt-manager-hostname-resolution-errors.patch -Patch3: vm-limit-memory.patch -Patch4: virt-manager-disable-config-hvm.patch -Patch5: vm-non-sparse-file.patch +Source3: %{name}-%{version}-po-2007-05-09.tar.gz +Patch1: %{name}-%{version}-file-dialog-fix.patch +Patch2: %{name}-%{version}-toolbar-state.patch +Patch3: %{name}-%{version}-device-remove.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # These two are just the oldest version tested Requires: pygtk2 >= 1.99.12-6 Requires: gnome-python2-gconf >= 1.99.11-7 # Absolutely require this version or newer -Requires: libvirt-python >= 0.1.4-3 +Requires: libvirt-python >= 0.2.1-1.fc6 # Definitely does not work with earlier due to python API changes Requires: dbus-python >= 0.61 # Might work with earlier, but this is what we've tested @@ -42,7 +40,7 @@ # Minimum we've tested with Requires: libxml2-python >= 2.6.23 # Required to install Xen guests -Requires: python-virtinst >= 0.98.0 +Requires: python-virtinst >= 0.103.0 # Required for loading the glade UI Requires: pygtk2-libglade # Required for our graphics which are currently SVG format @@ -51,6 +49,8 @@ Requires: vte >= 0.12.2 # For the consolehelper PAM stuff Requires: usermode +# For online help +Requires: scrollkeeper ExclusiveArch: %{ix86} x86_64 ia64 @@ -58,10 +58,12 @@ BuildRequires: gtk2-devel BuildRequires: python-devel BuildRequires: gettext - +BuildRequires: scrollkeeper Requires(pre): GConf2 Requires(post): GConf2 Requires(preun): GConf2 +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils %description Virtual Machine Manager provides a graphical tool for administering @@ -73,8 +75,6 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 %build %configure @@ -115,9 +115,13 @@ update-desktop-database %{_datadir}/applications +if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update -q -o %{_datadir}/omf/%{name}; fi + %postun update-desktop-database %{_datadir}/applications +if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update -q; fi + %preun if [ "$1" -eq 0 ]; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` @@ -127,36 +131,50 @@ %files -f %{name}.lang %defattr(-,root,root,-) -%doc README COPYING AUTHORS ChangeLog NEWS +%doc README COPYING COPYING-DOCS AUTHORS ChangeLog NEWS %{_sysconfdir}/gconf/schemas/%{name}.schemas %{_sysconfdir}/pam.d/%{name} %{_sysconfdir}/security/console.apps/%{name} %{_bindir}/%{name} %{_sbindir}/%{name} %{_libexecdir}/%{name}-launch +%dir %{_libdir}/%{name}/ %{_libdir}/%{name}/* +%dir %{_datadir}/%{name}/ %{_datadir}/%{name}/*.glade -%{_datadir}/%{name}/pixmaps/*.png -%{_datadir}/%{name}/pixmaps/*.svg - %{_datadir}/%{name}/*.py %{_datadir}/%{name}/*.pyc %{_datadir}/%{name}/*.pyo +%dir %{_datadir}/%{name}/pixmaps/ +%{_datadir}/%{name}/pixmaps/*.png +%{_datadir}/%{name}/pixmaps/*.svg + +%dir %{_datadir}/%{name}/virtManager/ %{_datadir}/%{name}/virtManager/*.py %{_datadir}/%{name}/virtManager/*.pyc %{_datadir}/%{name}/virtManager/*.pyo +%dir %{_datadir}/%{name}/vncViewer/ %{_datadir}/%{name}/vncViewer/*.py %{_datadir}/%{name}/vncViewer/*.pyc %{_datadir}/%{name}/vncViewer/*.pyo +%{_datadir}/omf/%{name}/ +%{_datadir}/gnome/help/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/dbus-1/services/%{name}.service %changelog +* Tue Jun 5 2007 Daniel P. Berrange - 0.4.0-1.fc6 +- Updated to 0.4.0 release +- Refresh po file translations (bz 238369) +- Fixed removal of disk/network devices +- Fixed toolbar menu option state +- Fixed file dialogs & default widget states + * Tue Dec 19 2006 Daniel P. Berrange - 0.2.6-3.fc6 - Imported latest translations from Fedora i18n repository (bz 203783) - Use 127.0.0.1 address for connecting to VNC console instead of --- virt-manager-disable-config-hvm.patch DELETED --- --- virt-manager-hostname-resolution-errors.patch DELETED --- --- vm-limit-memory.patch DELETED --- --- vm-non-sparse-file.patch DELETED --- --- vm-use-ipv4-for-console.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 5 20:22:34 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 5 Jun 2007 16:22:34 -0400 Subject: rpms/dhcdbd/devel .cvsignore, 1.26, 1.27 dhcdbd.spec, 1.44, 1.45 sources, 1.36, 1.37 dhcdbd-2.7-initscript.patch, 1.2, NONE Message-ID: <200706052022.l55KMYf2006489@cvs.devel.redhat.com> Author: dcantrel Update of /cvs/dist/rpms/dhcdbd/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv6473 Modified Files: .cvsignore dhcdbd.spec sources Removed Files: dhcdbd-2.7-initscript.patch Log Message: * Tue Jun 05 2007 David Cantrell - 2.8-1 - Use dbus to avoid waking up so often (#218406) Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/dhcdbd/devel/.cvsignore,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- .cvsignore 9 Apr 2007 18:45:41 -0000 1.26 +++ .cvsignore 5 Jun 2007 20:22:27 -0000 1.27 @@ -1 +1 @@ -dhcdbd-2.7.tar.bz2 +dhcdbd-2.8.tar.bz2 Index: dhcdbd.spec =================================================================== RCS file: /cvs/dist/rpms/dhcdbd/devel/dhcdbd.spec,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- dhcdbd.spec 26 Apr 2007 18:13:09 -0000 1.44 +++ dhcdbd.spec 5 Jun 2007 20:22:27 -0000 1.45 @@ -4,14 +4,13 @@ Summary: DHCP D-BUS daemon (dhcdbd) controls dhclient sessions with D-BUS Name: dhcdbd -Version: 2.7 -Release: 3%{?dist} +Version: 2.8 +Release: 1%{?dist} License: GPL Group: System Environment/Daemons URL: http://people.redhat.com/dcantrel/%{name}/ Source: http://people.redhat.com/dcantrel/%{name}/%{name}-%{version}.tar.bz2 -Patch0: %{name}-2.7-initscript.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: dbus-devel >= 0.90, pkgconfig @@ -30,7 +29,6 @@ %prep %setup -q -%patch0 -p1 -b .initscript %build %{__make} %{?_smp_mflags} @@ -67,6 +65,12 @@ %attr(755,root,root) %{_initrddir}/dhcdbd %changelog +* Tue Jun 05 2007 David Cantrell - 2.8-1 +- Use dbus to avoid waking up so often (#218406) + +* Thu May 05 2007 David Cantrell - 2.7-4 +- Make sure lockfile is removed when service is stopped (#238713) + * Thu Apr 26 2007 David Cantrell - 2.7-3 - More init script fixes (#237977) Index: sources =================================================================== RCS file: /cvs/dist/rpms/dhcdbd/devel/sources,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- sources 9 Apr 2007 18:45:41 -0000 1.36 +++ sources 5 Jun 2007 20:22:27 -0000 1.37 @@ -1 +1 @@ -9edf3eabe05487e7ee5f0b685683d7fb dhcdbd-2.7.tar.bz2 +c2c5a5c72182c3e88ae62eadb4874fc1 dhcdbd-2.8.tar.bz2 --- dhcdbd-2.7-initscript.patch DELETED --- From fedora-cvs-commits at redhat.com Wed Jun 6 14:21:36 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 6 Jun 2007 10:21:36 -0400 Subject: rpms/kdelibs/FC-6 kdelibs-3.5.7-ICEauthority.patch, NONE, 1.1 kdelibs.spec, 1.207, 1.208 Message-ID: <200706061421.l56ELa0I022433@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdelibs/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22416 Modified Files: kdelibs.spec Added Files: kdelibs-3.5.7-ICEauthority.patch Log Message: 3.5.7 kdelibs-3.5.7-ICEauthority.patch: kapplication.cpp | 6 ++++++ 1 files changed, 6 insertions(+) --- NEW FILE kdelibs-3.5.7-ICEauthority.patch --- --- kdelibs-3.5.7/kdecore/kapplication.cpp.orig 2007-05-20 22:04:53.000000000 +0200 +++ kdelibs-3.5.7/kdecore/kapplication.cpp 2007-05-20 22:38:53.000000000 +0200 @@ -774,6 +774,12 @@ void KApplication::init(bool GUIenabled) { + if (getuid() == 0) { + setenv("ICEAUTHORITY", "/root/.ICEauthority", 0); + setenv("KDEROOTHOME", "/root/.kde", 0); + setenv("HOME", "/root", 1); + } + d->guiEnabled = GUIenabled; if ((getuid() != geteuid()) || (getgid() != getegid())) Index: kdelibs.spec =================================================================== RCS file: /cvs/dist/rpms/kdelibs/FC-6/kdelibs.spec,v retrieving revision 1.207 retrieving revision 1.208 diff -u -r1.207 -r1.208 --- kdelibs.spec 5 Jun 2007 14:01:38 -0000 1.207 +++ kdelibs.spec 6 Jun 2007 14:21:34 -0000 1.208 @@ -46,7 +46,11 @@ Patch39: kdelibs-3.5.4-kabc-make.patch Patch40: kdelibs-3.5.4-kdeprint-utf8.patch Patch41: kdelibs-3.5.6-utempter.patch -Patch42: kdelibs-3.5.6-lang.patch +Patch42: kdelibs-3.5.7-ICEauthority.patch +Patch43: kdelibs-3.5.6-lang.patch + +# upstream patches +Patch505: kdelibs-3.5.7-kde#146105.patch Requires: arts >= %{arts_epoch}:%{arts_version} Requires: qt >= %{qt_epoch}:%{qt_version} @@ -171,7 +175,11 @@ %patch39 -p1 -b .kabc-make %patch40 -p1 -b .kdeprint-utf8 %patch41 -p1 -b .utempter -%patch42 -p1 -b .lang +%patch42 -p1 -b .ICEauthority +%patch43 -p1 -b .lang + +# upstream patches +%patch505 -p0 -b .kde#146105 perl -pi -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h From fedora-cvs-commits at redhat.com Wed Jun 6 14:24:38 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 6 Jun 2007 10:24:38 -0400 Subject: rpms/kdelibs/FC-6 kdelibs-3.5.7-kde#146105.patch,NONE,1.1 Message-ID: <200706061424.l56EOcLk022517@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdelibs/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22501 Added Files: kdelibs-3.5.7-kde#146105.patch Log Message: commit kdelibs-3.5.7-kde#146105.patch kdelibs-3.5.7-kde#146105.patch: kcmdlineargs.cpp | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) --- NEW FILE kdelibs-3.5.7-kde#146105.patch --- Index: kdecore/kcmdlineargs.cpp =================================================================== --- kdecore/kcmdlineargs.cpp (Revision 669593) +++ kdecore/kcmdlineargs.cpp (Revision 669594) @@ -1248,21 +1248,22 @@ KURL KCmdLineArgs::makeURL(const char *_urlArg) { - QString urlArg = QFile::decodeName(_urlArg); - if (!QDir::isRelativePath(urlArg)) - { + const QString urlArg = QFile::decodeName(_urlArg); + QFileInfo fileInfo(urlArg); + if (!fileInfo.isRelative()) { // i.e. starts with '/', on unix KURL result; result.setPath(urlArg); return result; // Absolute path. } - if ( !KURL::isRelativeURL(urlArg) ) - return KURL(urlArg); // Argument is a URL + if ( KURL::isRelativeURL(urlArg) || fileInfo.exists() ) { + KURL result; + result.setPath( cwd()+'/'+urlArg ); + result.cleanPath(); + return result; // Relative path + } - KURL result; - result.setPath( cwd()+"/"+urlArg ); - result.cleanPath(); - return result; // Relative path + return KURL(urlArg); // Argument is a URL } void From fedora-cvs-commits at redhat.com Wed Jun 6 16:50:21 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 6 Jun 2007 12:50:21 -0400 Subject: rpms/kdebase/FC-6 kdebase.spec,1.247,1.248 Message-ID: <200706061650.l56GoL6r025263@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdebase/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv25248 Modified Files: kdebase.spec Log Message: commit kde-redhat-config-3.5-fc6-1.tar.bz2 Index: kdebase.spec =================================================================== RCS file: /cvs/dist/rpms/kdebase/FC-6/kdebase.spec,v retrieving revision 1.247 retrieving revision 1.248 diff -u -r1.247 -r1.248 --- kdebase.spec 5 Jun 2007 14:33:12 -0000 1.247 +++ kdebase.spec 6 Jun 2007 16:50:13 -0000 1.248 @@ -28,7 +28,7 @@ Source1: konsole.desktop Source2: KDE.session.gnome Source3: kde.desktop -Source4: kde-redhat-config-3.6-fc5-1.tar.bz2 +Source4: kde-redhat-config-3.5-fc6-1.tar.bz2 Source5: kde-np Source6: logrotate-kdm Source7: mailsettings.cc From fedora-cvs-commits at redhat.com Thu Jun 7 06:47:17 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 7 Jun 2007 02:47:17 -0400 Subject: rpms/autofs/FC-6 autofs-5.0.1-rc3-alarm-deadlock.patch, NONE, 1.1 autofs.spec, 1.180, 1.181 Message-ID: <200706070647.l576lHD7008535@cvs.devel.redhat.com> Author: ikent Update of /cvs/dist/rpms/autofs/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv8518 Modified Files: autofs.spec Added Files: autofs-5.0.1-rc3-alarm-deadlock.patch Log Message: * Thu Jun 7 2007 Ian Kent - 5.0.1-0.rc3.31 - fix deadlock in alarm manager module. autofs-5.0.1-rc3-alarm-deadlock.patch: alarm.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) --- NEW FILE autofs-5.0.1-rc3-alarm-deadlock.patch --- diff --git a/lib/alarm.c b/lib/alarm.c index e0e6fd4..4a72605 100755 --- a/lib/alarm.c +++ b/lib/alarm.c @@ -168,7 +168,6 @@ void alarm_delete(struct autofs_point *ap) static void *alarm_handler(void *arg) { struct list_head *head; - struct autofs_point *ap; struct timespec expire; time_t now; int status; @@ -192,10 +191,11 @@ static void *alarm_handler(void *arg) current = list_entry(head->next, struct alarm, list); - ap = current->ap; now = time(NULL); if (current->time <= now) { + struct autofs_point *ap; + list_del(¤t->list); if (current->cancel) { @@ -203,11 +203,15 @@ static void *alarm_handler(void *arg) continue; } + ap = current->ap; + free(current); + alarm_unlock(); + state_mutex_lock(ap); nextstate(ap->state_pipe[1], ST_EXPIRE); state_mutex_unlock(ap); - free(current); + alarm_lock(); continue; } @@ -215,6 +219,7 @@ static void *alarm_handler(void *arg) expire.tv_nsec = 0; while (1) { + struct autofs_point *ap; struct alarm *next; status = pthread_cond_timedwait(&cond, &mutex, &expire); @@ -232,12 +237,15 @@ static void *alarm_handler(void *arg) break; list_del(¤t->list); + ap = current->ap; free(current); + alarm_unlock(); state_mutex_lock(ap); nextstate(ap->state_pipe[1], ST_EXPIRE); state_mutex_unlock(ap); + alarm_lock(); break; } } Index: autofs.spec =================================================================== RCS file: /cvs/dist/rpms/autofs/FC-6/autofs.spec,v retrieving revision 1.180 retrieving revision 1.181 diff -u -r1.180 -r1.181 --- autofs.spec 31 May 2007 06:07:48 -0000 1.180 +++ autofs.spec 7 Jun 2007 06:47:13 -0000 1.181 @@ -4,7 +4,7 @@ Summary: A tool for automatically mounting and unmounting filesystems Name: autofs %define version 5.0.1 -%define release 0.rc3.30 +%define release 0.rc3.31 Version: %{version} Release: %{release} Epoch: 1 @@ -35,6 +35,7 @@ Patch22: autofs-5.0.1-disable-exports-check.patch Patch23: autofs-5.0.1-cmd-global-options-fix.patch Patch24: autofs-5.0.1-rc3-map-update-source-only.patch +Patch25: autofs-5.0.1-rc3-alarm-deadlock.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, libxml2-devel, cyrus-sasl-devel, openssl-devel Conflicts: kernel < 2.6.17 @@ -101,6 +102,7 @@ %patch22 -p1 %patch23 -p1 %patch24 -p1 +%patch25 -p1 %build #CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir} @@ -157,6 +159,9 @@ %{_libdir}/autofs/* %changelog +* Thu Jun 7 2007 Ian Kent - 5.0.1-0.rc3.31 +- fix deadlock in alarm manager module. + * Thu May 31 2007 Ian Kent - 5.0.1-0.rc3.30 - fix wildcard map handling and improve nsswitch source map re-reading. From fedora-cvs-commits at redhat.com Thu Jun 7 10:56:11 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 7 Jun 2007 06:56:11 -0400 Subject: rpms/paps/FC-6 paps-0.6.6-wordwrap.patch, 1.2, 1.3 paps.spec, 1.21, 1.22 Message-ID: <200706071056.l57AuB0f012992@cvs.devel.redhat.com> Author: tagoh Update of /cvs/dist/rpms/paps/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12971 Modified Files: paps-0.6.6-wordwrap.patch paps.spec Log Message: * Wed May 30 2007 Akira TAGOH - 0.6.6-20 - Fix to not do wordwrap when 'wrap=false' is given. (#240588) paps-0.6.6-wordwrap.patch: paps.c | 7 +++++++ 1 files changed, 7 insertions(+) Index: paps-0.6.6-wordwrap.patch =================================================================== RCS file: /cvs/dist/rpms/paps/FC-6/paps-0.6.6-wordwrap.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- paps-0.6.6-wordwrap.patch 4 Jul 2006 05:12:40 -0000 1.2 +++ paps-0.6.6-wordwrap.patch 7 Jun 2007 10:56:09 -0000 1.3 @@ -25,12 +25,14 @@ if (do_draw_header) page_layout.header_sep = header_sep; else -@@ -496,6 +499,8 @@ +@@ -496,6 +499,10 @@ page_layout->pango_dir == PANGO_DIRECTION_LTR ? PANGO_ALIGN_LEFT : PANGO_ALIGN_RIGHT); pango_layout_set_width (para->layout, paint_width * PANGO_SCALE); + if (page_layout->do_wordwrap) + pango_layout_set_wrap (para->layout, PANGO_WRAP_WORD_CHAR); ++ else ++ pango_layout_set_width (para->layout, -1); para->height = 0; if (wc == '\f') Index: paps.spec =================================================================== RCS file: /cvs/dist/rpms/paps/FC-6/paps.spec,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- paps.spec 27 Mar 2007 11:56:27 -0000 1.21 +++ paps.spec 7 Jun 2007 10:56:09 -0000 1.22 @@ -1,6 +1,6 @@ Name: paps Version: 0.6.6 -Release: 19%{?dist} +Release: 20%{?dist} License: LGPL URL: http://paps.sourceforge.net/ @@ -84,6 +84,9 @@ %changelog +* Wed May 30 2007 Akira TAGOH - 0.6.6-20 +- Fix to not do wordwrap when 'wrap=false' is given. (#240588) + * Tue Mar 27 2007 Akira TAGOH - 0.6.6-19 - Fix PostScript breakage following the non-monetary numeric format from current locale. (#231916) From fedora-cvs-commits at redhat.com Fri Jun 8 11:13:39 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 07:13:39 -0400 Subject: rpms/scim-anthy/FC-6 .cvsignore, 1.10, 1.11 scim-anthy.spec, 1.37, 1.38 sources, 1.10, 1.11 scim-anthy-helper-moduledir.patch, 1.1, NONE Message-ID: <200706081113.l58BDdjo008054@cvs.devel.redhat.com> Author: tagoh Update of /cvs/dist/rpms/scim-anthy/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv8038 Modified Files: .cvsignore scim-anthy.spec sources Removed Files: scim-anthy-helper-moduledir.patch Log Message: * Wed May 30 2007 Akira TAGOH - 1.2.4-1 - New upstream release. - we don't need the below patches anymore: - scim-anthy-helper-moduledir.patch - scim-anthy-1.2.2-gettextize.patch - scim-anthy-1.2.0-fix-no-n-candidates.patch Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/scim-anthy/FC-6/.cvsignore,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- .cvsignore 14 Nov 2006 09:09:31 -0000 1.10 +++ .cvsignore 8 Jun 2007 11:13:37 -0000 1.11 @@ -11,3 +11,4 @@ scim-anthy-1.0.0.tar.gz scim-anthy-1.2.0.tar.gz scim-anthy-1.2.2.tar.gz +scim-anthy-1.2.4.tar.gz Index: scim-anthy.spec =================================================================== RCS file: /cvs/dist/rpms/scim-anthy/FC-6/scim-anthy.spec,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- scim-anthy.spec 14 Nov 2006 09:09:31 -0000 1.37 +++ scim-anthy.spec 8 Jun 2007 11:13:37 -0000 1.38 @@ -1,35 +1,34 @@ %define with_libstdc_preview 0 Name: scim-anthy -Version: 1.2.2 -Release: 1%{?dist} +Version: 1.2.4 +Release: 1%{?dist} License: GPL URL: http://scim-imengine.sourceforge.jp/ -Source0: http://sourceforge.jp/projects/scim-imengine/files/%{name}-%{version}.tar.gz +Source0: http://dl.sourceforge.jp/scim-imengine/22709/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: scim-devel -BuildRequires: anthy-devel >= 6700b-1 gettext-devel automake libtool autoconf +BuildRequires: anthy-devel >= 6700b-1 gettext-devel automake autoconf libtool %if %{with_libstdc_preview} Buildrequires: libstdc++so7-devel %endif -Patch1: scim-anthy-helper-moduledir.patch Summary: SCIM IMEngine for anthy for Japanese input Group: System Environment/Libraries -Requires: scim, kasumi -Obsoletes: iiimf-le-canna <= 1:12.2 +Requires: scim, kasumi +# This was necessary for the upgrade path from IIIMF +# and ensure the installation of future version of IIIMF. +# No Provides line for iiimf-le-canna is intentional because +# This package doesn't really provide the Language Engine for IIIMF. +# This just works on only SCIM. +Obsoletes: iiimf-le-canna <= 1:12.2 %description Scim-anthy is a SCIM IMEngine module for anthy to support Japanese input. %prep %setup -q -# patch1 touches src/Makefile.am -%patch1 -p1 -b .1-moduledir -aclocal -automake -autoconf %build @@ -49,7 +48,7 @@ %if %{with_libstdc_preview} export CXX=%{_bindir}/g++-libstdc++-so_7 %endif -make install DESTDIR=$RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" rm $RPM_BUILD_ROOT%{_libdir}/scim-1.0/*/*/*.la @@ -62,20 +61,36 @@ %files -f %{name}.lang %defattr(-,root,root,-) -%doc AUTHORS COPYING NEWS README TODO +%doc AUTHORS COPYING NEWS README %{_libdir}/scim-1.0/*/Helper/anthy-imengine-helper.so %{_libdir}/scim-1.0/*/IMEngine/anthy.so %{_libdir}/scim-1.0/*/SetupUI/anthy-imengine-setup.so -%{_datadir}/scim +%{_datadir}/scim/Anthy +%{_datadir}/scim/icons/*png %changelog +* Wed May 30 2007 Akira TAGOH - 1.2.4-1 +- New upstream release. + - we don't need the below patches anymore: + - scim-anthy-helper-moduledir.patch + - scim-anthy-1.2.2-gettextize.patch + - scim-anthy-1.2.0-fix-no-n-candidates.patch + +* Tue Mar 13 2007 Akira TAGOH - 1.2.2-3 +- Invoke autoheader. (#226390) +- Fix no the number of candidates on the candidate window with focus out/in. + +* Mon Mar 12 2007 Akira TAGOH - 1.2.2-2 +- clean up a spec file. (#226390) + * Tue Nov 14 2006 Akira TAGOH - 1.2.2-1 - New upstream release. - removed unnecessary patches: - scim-anthy-libtool-export.patch - scim-anthy-fix-pending-state.patch - scim-anthy-dict-encoding.patch +- scim-anthy-1.2.2-gettextize.patch: fix a build issue on the latest autotools. * Sun Oct 01 2006 Jesse Keating - 1.2.0-3 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 Index: sources =================================================================== RCS file: /cvs/dist/rpms/scim-anthy/FC-6/sources,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- sources 14 Nov 2006 09:09:31 -0000 1.10 +++ sources 8 Jun 2007 11:13:37 -0000 1.11 @@ -1 +1 @@ -ed0120f5559f551769c7d05bcdef5908 scim-anthy-1.2.2.tar.gz +14c4d620bc5d6744a2fe6ef7d2bf2ecf scim-anthy-1.2.4.tar.gz --- scim-anthy-helper-moduledir.patch DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 8 11:22:33 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 07:22:33 -0400 Subject: rpms/libvirt/devel .cvsignore, 1.20, 1.21 libvirt.spec, 1.53, 1.54 sources, 1.21, 1.22 Message-ID: <200706081122.l58BMXQX008179@cvs.devel.redhat.com> Author: veillard Update of /cvs/dist/rpms/libvirt/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv8162 Modified Files: .cvsignore libvirt.spec sources Log Message: Upstream release 0.2.3 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/libvirt/devel/.cvsignore,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- .cvsignore 17 Apr 2007 09:42:15 -0000 1.20 +++ .cvsignore 8 Jun 2007 11:22:31 -0000 1.21 @@ -17,3 +17,4 @@ libvirt-0.2.0.tar.gz libvirt-0.2.1.tar.gz libvirt-0.2.2.tar.gz +libvirt-0.2.3.tar.gz Index: libvirt.spec =================================================================== RCS file: /cvs/dist/rpms/libvirt/devel/libvirt.spec,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- libvirt.spec 27 Apr 2007 18:30:54 -0000 1.53 +++ libvirt.spec 8 Jun 2007 11:22:31 -0000 1.54 @@ -8,8 +8,8 @@ Summary: Library providing a simple API virtualization Name: libvirt -Version: 0.2.2 -Release: 2%{?_extra_release} +Version: 0.2.3 +Release: 1%{?_extra_release} License: LGPL Group: Development/Libraries Source: libvirt-%{version}.tar.gz @@ -138,6 +138,7 @@ %{_datadir}/libvirt/networks/default.xml %dir %{_localstatedir}/run/libvirt/ %dir %{_localstatedir}/lib/libvirt/ +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ %attr(4755, root, root) %{_libexecdir}/libvirt_proxy %attr(0755, root, root) %{_sbindir}/libvirt_qemud %doc docs/libvirt.rng Index: sources =================================================================== RCS file: /cvs/dist/rpms/libvirt/devel/sources,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- sources 17 Apr 2007 09:42:15 -0000 1.21 +++ sources 8 Jun 2007 11:22:31 -0000 1.22 @@ -1 +1 @@ -5abe4b1fd6b57948ce259036afdc9194 libvirt-0.2.2.tar.gz +3b9e192de1777c8ec801d16cbf1c7819 libvirt-0.2.3.tar.gz From fedora-cvs-commits at redhat.com Fri Jun 8 14:34:57 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 10:34:57 -0400 Subject: rpms/mod_perl/FC-6 filter-provides.sh, NONE, 1.1 mod_perl-2.0.2-CVE-2007-1349.patch, NONE, 1.1 .cvsignore, 1.16, 1.17 mod_perl.spec, 1.40, 1.41 Message-ID: <200706081434.l58EYvCa010929@cvs.devel.redhat.com> Author: jorton Update of /cvs/dist/rpms/mod_perl/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv10912 Modified Files: .cvsignore mod_perl.spec Added Files: filter-provides.sh mod_perl-2.0.2-CVE-2007-1349.patch Log Message: * Fri Jun 8 2007 Joe Orton 2.0.2-6.2.fc6 - add security fix for CVE-2007-1349 - drop perl(warnings) provide (#228429) - drop perl(HTTP::Request::Common) provide --- NEW FILE filter-provides.sh --- #!/bin/sh /usr/lib/rpm/perl.prov $* | \ sed -e '/perl(warnings)/d' \ -e '/perl(HTTP::Request::Common)/d' mod_perl-2.0.2-CVE-2007-1349.patch: RegistryCooker.pm | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE mod_perl-2.0.2-CVE-2007-1349.patch --- --- mod_perl-2.0.2/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm.cve1349 +++ mod_perl-2.0.2/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm @@ -336,7 +336,7 @@ my $self = shift; my $path_info = $self->{REQ}->path_info; - my $script_name = $path_info && $self->{URI} =~ /$path_info$/ + my $script_name = $path_info && $self->{URI} =~ /\Q$path_info\E$/ ? substr($self->{URI}, 0, length($self->{URI}) - length($path_info)) : $self->{URI}; Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/mod_perl/FC-6/.cvsignore,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- .cvsignore 26 Oct 2005 10:36:28 -0000 1.16 +++ .cvsignore 8 Jun 2007 14:34:55 -0000 1.17 @@ -1 +1,4 @@ mod_perl-2.0.2.tar.gz +clog +x86_64 +*.rpm Index: mod_perl.spec =================================================================== RCS file: /cvs/dist/rpms/mod_perl/FC-6/mod_perl.spec,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- mod_perl.spec 12 Jul 2006 07:23:20 -0000 1.40 +++ mod_perl.spec 8 Jun 2007 14:34:55 -0000 1.41 @@ -1,8 +1,8 @@ -%define contentdir /var/www + %define contentdir /var/www Name: mod_perl Version: 2.0.2 -Release: 6.1 +Release: 6.2%{?dist} Summary: An embedded Perl interpreter for the Apache Web server Group: System Environment/Daemons @@ -11,9 +11,9 @@ Source0: http://perl.apache.org/dist/mod_perl-%{version}.tar.gz Source1: perl.conf Source2: filter-requires.sh -Source3: reap-stale-servers.sh -Source4: testlock.sh +Source3: filter-provides.sh Patch0: mod_perl-2.0.2-multilib.patch +Patch1: mod_perl-2.0.2-CVE-2007-1349.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: perl >= 1:5.6.1 @@ -23,6 +23,7 @@ Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing) %define __perl_requires %{SOURCE2} +%define __perl_provides %{SOURCE3} %description Mod_perl incorporates a Perl interpreter into the Apache web server, @@ -45,10 +46,10 @@ The mod_perl-devel package contains the files needed for building XS modules that use mod_perl. - %prep %setup -q -n %{name}-%{version} %patch0 -p1 -b .multilib +%patch1 -p1 %build CFLAGS="$RPM_OPT_FLAGS -fpic" %{__perl} Makefile.PL - sh: line 0: fg: no job control +* Fri Jun 8 2007 Joe Orton 2.0.2-6.2.fc6 +- add security fix for CVE-2007-1349 +- drop perl(warnings) provide (#228429) +- drop perl(HTTP::Request::Common) provide + +* Wed Jul 12 2006 Jesse Keating - 2.0.2-6.1 - rebuild * Thu Jun 15 2006 Joe Orton 2.0.2-6 From fedora-cvs-commits at redhat.com Fri Jun 8 15:06:08 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 11:06:08 -0400 Subject: rpms/mod_perl/FC-5 filter-provides.sh, NONE, 1.1 mod_perl-2.0.2-CVE-2007-1349.patch, NONE, 1.1 filter-requires.sh, 1.4, 1.5 mod_perl.spec, 1.38, 1.39 Message-ID: <200706081506.l58F68Yh011503@cvs.devel.redhat.com> Author: jorton Update of /cvs/dist/rpms/mod_perl/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv11484 Modified Files: filter-requires.sh mod_perl.spec Added Files: filter-provides.sh mod_perl-2.0.2-CVE-2007-1349.patch Log Message: * Fri Jun 8 2007 Joe Orton 2.0.2-5.2.fc5 - add security fix for CVE-2007-1349 - drop perl(warnings) provide (#228429) - drop perl(HTTP::Request::Common) provide --- NEW FILE filter-provides.sh --- #!/bin/sh /usr/lib/rpm/perl.prov $* | \ sed -e '/perl(warnings)/d' mod_perl-2.0.2-CVE-2007-1349.patch: RegistryCooker.pm | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE mod_perl-2.0.2-CVE-2007-1349.patch --- --- mod_perl-2.0.2/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm.cve1349 +++ mod_perl-2.0.2/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm @@ -336,7 +336,7 @@ my $self = shift; my $path_info = $self->{REQ}->path_info; - my $script_name = $path_info && $self->{URI} =~ /$path_info$/ + my $script_name = $path_info && $self->{URI} =~ /\Q$path_info\E$/ ? substr($self->{URI}, 0, length($self->{URI}) - length($path_info)) : $self->{URI}; Index: filter-requires.sh =================================================================== RCS file: /cvs/dist/rpms/mod_perl/FC-5/filter-requires.sh,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- filter-requires.sh 18 Apr 2005 14:35:41 -0000 1.4 +++ filter-requires.sh 8 Jun 2007 15:06:06 -0000 1.5 @@ -3,7 +3,6 @@ /usr/lib/rpm/perl.req $* |\ sed -e '/perl(Apache2::FunctionTable)/d' \ -e '/perl(Apache2::StructureTable)/d' \ - -e '/perl(Apache::TestConfigParse)/d' \ - -e '/perl(Apache::TestConfigPerl)/d' \ + -e '/perl(Apache::Test.*)/d' \ -e '/perl(Data::Flow)/d' \ -e '/perl(Module::Build)/d' Index: mod_perl.spec =================================================================== RCS file: /cvs/dist/rpms/mod_perl/FC-5/mod_perl.spec,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- mod_perl.spec 11 Feb 2006 04:37:38 -0000 1.38 +++ mod_perl.spec 8 Jun 2007 15:06:06 -0000 1.39 @@ -2,7 +2,7 @@ Name: mod_perl Version: 2.0.2 -Release: 5.1 +Release: 5.2%{?dist} Summary: An embedded Perl interpreter for the Apache Web server Group: System Environment/Daemons @@ -11,10 +11,9 @@ Source0: http://perl.apache.org/dist/mod_perl-%{version}.tar.gz Source1: perl.conf Source2: filter-requires.sh -Source3: reap-stale-servers.sh -Source4: testlock.sh +Source3: filter-provides.sh +Patch0: mod_perl-2.0.2-CVE-2007-1349.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - BuildRequires: perl >= 1:5.6.1 BuildRequires: httpd-devel >= 2.2.0, httpd, gdbm-devel BuildRequires: apr-devel >= 1.2.0, apr-util-devel @@ -22,6 +21,7 @@ Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing) %define __perl_requires %{SOURCE2} +%define __perl_provides %{SOURCE3} %description Mod_perl incorporates a Perl interpreter into the Apache web server, @@ -34,7 +34,6 @@ Install mod_perl if you're installing the Apache web server and you'd like for it to directly incorporate a Perl interpreter. - %package devel Summary: Files needed for building XS modules that use mod_perl Group: Development/Libraries @@ -44,10 +43,9 @@ The mod_perl-devel package contains the files needed for building XS modules that use mod_perl. - %prep %setup -q -n %{name}-%{version} - +%patch0 -p1 %build CFLAGS="$RPM_OPT_FLAGS -fpic" %{__perl} Makefile.PL 2.0.2-5.2.fc5 +- add security fix for CVE-2007-1349 +- drop perl(warnings) provide (#228429) +- drop perl(HTTP::Request::Common) provide + * Fri Feb 10 2006 Jesse Keating - 2.0.2-5.1 - bump again for double-long bug on ppc(64) From fedora-cvs-commits at redhat.com Fri Jun 8 18:54:22 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 14:54:22 -0400 Subject: rpms/kexec-tools/devel kexec-tools-1.101-xen-support.patch, NONE, 1.1 kexec-tools.spec, 1.86, 1.87 Message-ID: <200706081854.l58IsMft016707@cvs.devel.redhat.com> Author: nhorman Update of /cvs/dist/rpms/kexec-tools/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv16690 Modified Files: kexec-tools.spec Added Files: kexec-tools-1.101-xen-support.patch Log Message: Resolves: bz 243118 kexec-tools-1.101-xen-support.patch: Makefile | 1 arch/x86_64/crashdump-x86_64.c | 6 + crashdump-xen.c | 126 +++++++++++++++++++++++++++++++++++++++++ crashdump.h | 14 ++++ 4 files changed, 147 insertions(+) --- NEW FILE kexec-tools-1.101-xen-support.patch --- --- /dev/null 2007-05-12 17:40:21.471089444 -0400 +++ kexec-tools-1.101/kexec/crashdump-xen.c 2007-06-08 08:09:47.000000000 -0400 @@ -0,0 +1,126 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "kexec.h" +#include "crashdump.h" + +#ifdef HAVE_XENCTRL_H +#include +#endif + +struct crash_note_info { + unsigned long base; + unsigned long length; +}; + +int xen_phys_cpus = 0; +struct crash_note_info *xen_phys_notes; + +int xen_present(void) +{ + struct stat buf; + + return stat("/proc/xen", &buf) == 0; +} + +unsigned long xen_architecture(struct crash_elf_info *elf_info) +{ + unsigned long machine = elf_info->machine; +#ifdef HAVE_XENCTRL_H + int xc, rc; + xen_capabilities_info_t capabilities; + + if (!xen_present()) + goto out; + + memset(capabilities, '0', XEN_CAPABILITIES_INFO_LEN); + + xc = xc_interface_open(); + if ( xc == -1 ) { + fprintf(stderr, "failed to open xen control interface.\n"); + goto out; + } + + rc = xc_version(xc, XENVER_capabilities, &capabilities[0]); + if ( rc == -1 ) { + fprintf(stderr, "failed to make Xen version hypercall.\n"); + goto out_close; + } + + if (strstr(capabilities, "xen-3.0-x86_64")) + machine = EM_X86_64; + else if (strstr(capabilities, "xen-3.0-x86_32")) + machine = EM_386; + + out_close: + xc_interface_close(xc); + + out: +#endif + return machine; +} + +static int xen_crash_note_callback(void *data, int nr, + char *str, + unsigned long base, + unsigned long length) +{ + struct crash_note_info *note = xen_phys_notes + nr; + + note->base = base; + note->length = length; + + return 0; +} + +/* + * NASTY XEN HACK TO GET THINGS BUILDING + */ +#define kexec_iomem_for_each_line(x,y,z) 0 + +int xen_get_nr_phys_cpus(void) +{ + char *match = "Crash note\n"; + int cpus, n; + + if (xen_phys_cpus) + return xen_phys_cpus; + + if ((cpus = kexec_iomem_for_each_line(match, NULL, NULL))) { + n = sizeof(struct crash_note_info) * cpus; + xen_phys_notes = malloc(n); + if (!xen_phys_notes) { + fprintf(stderr, "failed to allocate xen_phys_notes.\n"); + return -1; + } + memset(xen_phys_notes, 0, n); + kexec_iomem_for_each_line(match, xen_crash_note_callback, NULL); + xen_phys_cpus = cpus; + } + + return cpus; +} + +int xen_get_note(int cpu, uint64_t *addr, uint64_t *len) +{ + struct crash_note_info *note; + + if (xen_phys_cpus <= 0) + return -1; + + note = xen_phys_notes + cpu; + + *addr = note->base; + *len = note->length; + + return 0; +} --- kexec-tools-1.101/kexec/Makefile.xen 2007-06-08 08:07:57.000000000 -0400 +++ kexec-tools-1.101/kexec/Makefile 2007-06-08 08:09:47.000000000 -0400 @@ -17,6 +17,7 @@ KEXEC_C_SRCS+= kexec/kexec-elf-rel.c KEXEC_C_SRCS+= kexec/kexec-elf-boot.c KEXEC_C_SRCS+= kexec/crashdump.c +KEXEC_C_SRCS+= kexec/crashdump-xen.c KEXEC_C_SRCS+= $(PURGATORY_HEX_C) KEXEC_S_SRCS:= include kexec/arch/$(ARCH)/Makefile --- kexec-tools-1.101/kexec/arch/x86_64/crashdump-x86_64.c.xen 2007-06-08 08:10:52.000000000 -0400 +++ kexec-tools-1.101/kexec/arch/x86_64/crashdump-x86_64.c 2007-06-08 08:12:55.000000000 -0400 @@ -53,6 +53,9 @@ FILE *fp; unsigned long long start, end; + if (xen_present()) /* Kernel not entity mapped under Xen */ + return 0; + fp = fopen(iomem, "r"); if (!fp) { fprintf(stderr, "Cannot open %s: %s\n", iomem, strerror(errno)); @@ -122,6 +125,9 @@ unsigned long size; uint32_t elf_flags = 0; + if (xen_present()) /* Kernel not entity mapped under Xen */ + return 0; + align = getpagesize(); size = KCORE_ELF_HEADERS_SIZE; buf = slurp_file_len(kcore, size); --- kexec-tools-1.101/kexec/crashdump.h.xen 2007-06-08 08:07:57.000000000 -0400 +++ kexec-tools-1.101/kexec/crashdump.h 2007-06-08 08:09:47.000000000 -0400 @@ -8,4 +8,18 @@ /* Expecting ELF headers to fit in 4K. Increase it if you need more. */ #define KCORE_ELF_HEADERS_SIZE 4096 +struct crash_elf_info { + unsigned long class; + unsigned long data; + unsigned long machine; + + unsigned long backup_src_start; + unsigned long backup_src_end; + + unsigned long page_offset; + unsigned long lowmem_limit; + + int (*get_note_info)(int cpu, uint64_t *addr, uint64_t *len); +}; + #endif /* CRASHDUMP_H */ Index: kexec-tools.spec =================================================================== RCS file: /cvs/dist/rpms/kexec-tools/devel/kexec-tools.spec,v retrieving revision 1.86 retrieving revision 1.87 diff -u -r1.86 -r1.87 --- kexec-tools.spec 25 May 2007 17:54:04 -0000 1.86 +++ kexec-tools.spec 8 Jun 2007 18:54:19 -0000 1.87 @@ -1,6 +1,6 @@ Name: kexec-tools Version: 1.101 -Release: 71%{?dist} +Release: 72%{?dist} License: GPL Group: Applications/System Summary: The kexec/kdump userspace component. @@ -88,6 +88,7 @@ Patch604: kexec-tools-1.101-elf-format.patch Patch605: kexec-tools-1.101-ifdown.patch Patch606: kexec-tools-1.101-reloc-update.patch +Patch607: kexec-tools-1.101-xen-support.patch %description kexec-tools provides /sbin/kexec binary that facilitates a new @@ -138,6 +139,7 @@ %patch604 -p1 %patch605 -p1 %patch606 -p1 +%patch607 -p1 tar -z -x -v -f %{SOURCE13} @@ -251,6 +253,9 @@ %doc kexec-kdump-howto.txt %changelog +* Fri Jun 08 2007 Neil Horman - 1.101-72%{dist} +- Add minimal xen support for x86_64 (bz 243118) + * Fri May 25 2007 Neil Horman - 1.101-71%{dist} - Add ability to use makedumpfile over ssh (bz 223743) From fedora-cvs-commits at redhat.com Fri Jun 8 20:37:23 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 16:37:23 -0400 Subject: rpms/kernel/FC-6 patch-2.6.20.11-12.bz2.sign, NONE, 1.1 patch-2.6.20.12-13.bz2.sign, NONE, 1.1 patch-2.6.20.14-rc2.bz2.sign, NONE, 1.1 .cvsignore, 1.562, 1.563 kernel-2.6.spec, 1.2957, 1.2958 mirrors, 1.4, 1.5 sources, 1.526, 1.527 upstream, 1.446, 1.447 linux-2.6-20.12a-v4l-dvb-fix_tuning_for_tdm_1316.patch, 1.1, NONE linux-2.6-20.12c-usb_audio_fix_quickcam_audio.patch, 1.1, NONE linux-2.6-20.8f-oom_kill_all_threads_that_share_mm.patch, 1.1, NONE linux-2.6-20.8f-x86_64_always_flush_all_pages.patch, 1.1, NONE Message-ID: <200706082037.l58KbNIa019204@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19187 Modified Files: .cvsignore kernel-2.6.spec mirrors sources upstream Added Files: patch-2.6.20.11-12.bz2.sign patch-2.6.20.12-13.bz2.sign patch-2.6.20.14-rc2.bz2.sign Removed Files: linux-2.6-20.12a-v4l-dvb-fix_tuning_for_tdm_1316.patch linux-2.6-20.12c-usb_audio_fix_quickcam_audio.patch linux-2.6-20.8f-oom_kill_all_threads_that_share_mm.patch linux-2.6-20.8f-x86_64_always_flush_all_pages.patch Log Message: * Fri Jun 08 2007 Chuck Ebbert 1.2958 - 2.6.20.12 - 2.6.20.13 - 2.6.20.14-rc2 --- NEW FILE patch-2.6.20.11-12.bz2.sign --- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: See http://www.kernel.org/signature.html for info iD8DBQBGVgxryGugalF9Dw4RAqkZAJ9fNChaL6dxYJLEcaxAtsuHzJxZQQCfc3wZ vos3jd+nAizDcDOEizYwwt8= =uaxm -----END PGP SIGNATURE----- --- NEW FILE patch-2.6.20.12-13.bz2.sign --- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: See http://www.kernel.org/signature.html for info iD8DBQBGaOR9yGugalF9Dw4RAgG1AJ9JpfYgqoNopVCjtPMeCCNJMQfq4QCfRSNo ry9fDfwzczXRl8gO6RIhIDo= =ZVGo -----END PGP SIGNATURE----- --- NEW FILE patch-2.6.20.14-rc2.bz2.sign --- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: See http://www.kernel.org/signature.html for info iD8DBQBGaYnxyGugalF9Dw4RAgMfAJ4xdM43bRnz+yqDIAYU6+jGok0kDQCfbtaP Wxp8C3wBDjNmoKkrL+Xg8cA= =MgY8 -----END PGP SIGNATURE----- Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/.cvsignore,v retrieving revision 1.562 retrieving revision 1.563 diff -u -r1.562 -r1.563 --- .cvsignore 2 May 2007 17:54:15 -0000 1.562 +++ .cvsignore 8 Jun 2007 20:37:20 -0000 1.563 @@ -15,3 +15,6 @@ patch-2.6.20.8-9.bz2 patch-2.6.20.9-10.bz2 patch-2.6.20.10-11.bz2 +patch-2.6.20.11-12.bz2 +patch-2.6.20.12-13.bz2 +patch-2.6.20.14-rc2.bz2 Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v retrieving revision 1.2957 retrieving revision 1.2958 diff -u -r1.2957 -r1.2958 --- kernel-2.6.spec 5 Jun 2007 18:16:25 -0000 1.2957 +++ kernel-2.6.spec 8 Jun 2007 20:37:20 -0000 1.2958 @@ -392,6 +392,9 @@ Patch9: patch-2.6.20.8-9.bz2 Patch10: patch-2.6.20.9-10.bz2 Patch11: patch-2.6.20.10-11.bz2 +Patch12: patch-2.6.20.11-12.bz2 +Patch13: patch-2.6.20.12-13.bz2 +Patch14: patch-2.6.20.14-rc2.bz2 # Patches 10 through 99 are for things that are going upstream really soon. # needed to get utrace patch to apply cleanly @@ -569,20 +572,16 @@ # post 2.6.20.11 Patch1830: linux-2.6-20.8b-x86_perfctr_fix_bitmap_sizing.patch Patch1831: linux-2.6-20.8e-isdn-capi-disable-debug-messages.patch -Patch1832: linux-2.6-20.8f-oom_kill_all_threads_that_share_mm.patch -Patch1833: linux-2.6-20.8f-x86_64_always_flush_all_pages.patch Patch1834: linux-2.6-20.8n-ipsec_fix_oops_with_large_context.patch Patch1835: linux-2.6-20.8n-net_vlan_allow_with_bridge.patch Patch1836: linux-2.6-20.8n-ppp_fix_skb_under_panic.patch Patch1837: linux-2.6-page_is_ram.patch # more post .11 -Patch1840: linux-2.6-20.12a-v4l-dvb-fix_tuning_for_tdm_1316.patch Patch1841: linux-2.6-20.12b-input_i8042_fix_aux_port_detection_with_some_chips.patch Patch1842: linux-2.6-20.12c-fix-blk-bounce-map-kern.patch Patch1843: linux-2.6-20.12c-snd-fix-widget-list-copy.patch Patch1844: linux-2.6-20.12c-snd-resume-stac-fix.patch -Patch1845: linux-2.6-20.12c-usb_audio_fix_quickcam_audio.patch Patch1846: linux-2.6-20.12c-x86_64-off-by-two.patch # SELinux/audit patches. @@ -1072,6 +1071,9 @@ %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 # Patches 10 through 100 are meant for core subsystem upgrades @@ -1341,19 +1343,15 @@ # post 2.6.20.11 %patch1830 -p1 %patch1831 -p1 -%patch1832 -p1 -%patch1833 -p1 %patch1834 -p1 %patch1835 -p1 %patch1836 -p1 %patch1837 -p1 -%patch1840 -p1 %patch1841 -p1 %patch1842 -p1 %patch1843 -p1 %patch1844 -p1 -%patch1845 -p1 %patch1846 -p1 # Fix the SELinux mprotect checks on executable mappings @@ -2372,6 +2370,11 @@ %endif %changelog +* Fri Jun 08 2007 Chuck Ebbert 1.2958 +- 2.6.20.12 +- 2.6.20.13 +- 2.6.20.14-rc2 + * Tue Jun 05 2007 Eduardo Habkost 1.2957 - Fix bug #235542: sbp2: set direction of s/g tables to DMA_TO_DEVICE Index: mirrors =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/mirrors,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- mirrors 10 Mar 2007 23:08:53 -0000 1.4 +++ mirrors 8 Jun 2007 20:37:21 -0000 1.5 @@ -1,5 +1,6 @@ -http://ftp2.kernel.org/pub/linux/kernel/v2.6/snapshots/ -http://ftp2.kernel.org/pub/linux/kernel/v2.6/ -http://ftp2.kernel.org/pub/linux/kernel/v2.6/snapshots/old/ -http://ftp2.kernel.org/pub/linux/kernel/v2.6/testing/ -http://ftp2.kernel.org/pub/linux/kernel/v2.6/incr/ +http://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots/ +http://ftp.kernel.org/pub/linux/kernel/v2.6/ +http://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots/old/ +http://ftp.kernel.org/pub/linux/kernel/v2.6/testing/ +http://ftp.kernel.org/pub/linux/kernel/v2.6/incr/ +http://ftp.kernel.org/pub/linux/kernel/v2.6/stable-review/ Index: sources =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/sources,v retrieving revision 1.526 retrieving revision 1.527 diff -u -r1.526 -r1.527 --- sources 2 May 2007 17:54:15 -0000 1.526 +++ sources 8 Jun 2007 20:37:21 -0000 1.527 @@ -11,3 +11,6 @@ 931bd27010da400fc4902bef049904b9 patch-2.6.20.8-9.bz2 26877e8750d036d6ea81a9bef6c685c6 patch-2.6.20.9-10.bz2 71d6e53cf0accd8f09aa27ac9dd7f25d patch-2.6.20.10-11.bz2 +ad76254cbd09e115c154aabe31b85bd7 patch-2.6.20.11-12.bz2 +de7c8794c92e17023432798b1f408b1f patch-2.6.20.12-13.bz2 +2ddd3bcecdd9960c740880cb4fb9a798 patch-2.6.20.14-rc2.bz2 Index: upstream =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/upstream,v retrieving revision 1.446 retrieving revision 1.447 diff -u -r1.446 -r1.447 --- upstream 2 May 2007 17:54:15 -0000 1.446 +++ upstream 8 Jun 2007 20:37:21 -0000 1.447 @@ -10,3 +10,6 @@ patch-2.6.20.8-9.bz2 patch-2.6.20.9-10.bz2 patch-2.6.20.10-11.bz2 +patch-2.6.20.11-12.bz2 +patch-2.6.20.12-13.bz2 +patch-2.6.20.14-rc2.bz2 --- linux-2.6-20.12a-v4l-dvb-fix_tuning_for_tdm_1316.patch DELETED --- --- linux-2.6-20.12c-usb_audio_fix_quickcam_audio.patch DELETED --- --- linux-2.6-20.8f-oom_kill_all_threads_that_share_mm.patch DELETED --- --- linux-2.6-20.8f-x86_64_always_flush_all_pages.patch DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 8 22:55:04 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 8 Jun 2007 18:55:04 -0400 Subject: rpms/elfutils/FC-6 .cvsignore, 1.35, 1.36 Makefile, 1.17, 1.18 elfutils-portability.patch, 1.28, 1.29 elfutils-robustify.patch, 1.7, 1.8 elfutils-strip-copy-symtab.patch, 1.1, 1.2 elfutils.spec, 1.80, 1.81 sources, 1.36, 1.37 Message-ID: <200706082255.l58Mt4Hs022498@cvs.devel.redhat.com> Author: roland Update of /cvs/dist/rpms/elfutils/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22479 Modified Files: .cvsignore Makefile elfutils-portability.patch elfutils-robustify.patch elfutils-strip-copy-symtab.patch elfutils.spec sources Log Message: Update to 0.128 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/.cvsignore,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- .cvsignore 19 Apr 2007 17:32:40 -0000 1.35 +++ .cvsignore 8 Jun 2007 22:55:02 -0000 1.36 @@ -1,3 +1,3 @@ testfile16.symtab.bz2 testfile16.symtab.debug.bz2 -elfutils-0.127.tar.gz +elfutils-0.128.tar.gz Index: Makefile =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/Makefile,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Makefile 10 Oct 2006 19:24:29 -0000 1.17 +++ Makefile 8 Jun 2007 22:55:02 -0000 1.18 @@ -3,7 +3,22 @@ NAME := elfutils SPECFILE = elfutils.spec -include ../common/Makefile.common +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) MONOTONE = mtn @@ -11,14 +26,14 @@ @rm -rf elfutils-master elfutils-portable $(MONOTONE) checkout -b com.redhat.elfutils elfutils-master $(MONOTONE) checkout -b com.redhat.elfutils.portable elfutils-portable - cd elfutils-master; autoreconf; rm -rf autom4te.cache _MTN - cd elfutils-portable; autoreconf; rm -rf autom4te.cache _MTN + cd elfutils-master; autoreconf -i; rm -rf autom4te.cache _MTN + cd elfutils-portable; autoreconf -i; rm -rf autom4te.cache _MTN diff -rpu elfutils-master elfutils-portable | \ filterdiff --remove-timestamps --strip=1 --addprefix=elfutils/ > $@.new mv $@.new $@ elfutils-portable.spec: elfutils.spec - (echo '%define _with_compat 1'; cat $<) > $@.new + (echo '%define _with_compat 1'; sed 's/ check$$/& || :/' $<) > $@.new mv -f $@.new $@ portable-r = 0.$(subst $(DIST),,$(RELEASE)) @@ -34,17 +49,18 @@ portable-build = \ $(redhat)/brewroot/packages/elfutils/$(VERSION)/$(portable-r) -ifeq (,$(wildcard /mnt/redhat/dist/.)) +ifeq (,$(wildcard /mnt/redhat/brewroot/packages/elfutils)) redhat = datadump.devel.redhat.com::redhat rsync-to = devserv.devel.redhat.com:dist/elfutils/devel/systemtap-dist/ build-dep = $(portable.srpm) else redhat = /mnt/redhat $(portable-build): $(portable.srpm) - $(BUILD_CLIENT) $(BUILD_FLAGS) dist-$(portable-dist) $< + brew build $(BUILD_FLAGS) dist-$(portable-dist) $< rsync-to = $(public) build-dep = $(portable-build)/src/$(portable.srpm) portable-build: $(portable-build) +$(build-dep): $(portable-build) endif dist-files = README.elfutils systemtap-elfutils.repo elfutils-portability.patch: ChangeLog | 15 ++++++++ Makefile.in | 2 + backends/ChangeLog | 8 ++++ backends/Makefile.am | 6 ++- backends/Makefile.in | 8 ++-- config/Makefile.in | 2 + configure | 92 +++++++++++++++++++++++++++++++++++++++++++++++++-- configure.ac | 28 +++++++++++++++ lib/ChangeLog | 5 ++ lib/Makefile.am | 3 + lib/Makefile.in | 6 ++- libasm/ChangeLog | 5 ++ libasm/Makefile.am | 3 + libasm/Makefile.in | 6 ++- libcpu/ChangeLog | 5 ++ libcpu/Makefile.am | 3 + libcpu/Makefile.in | 4 +- libdw/ChangeLog | 5 ++ libdw/Makefile.am | 3 + libdw/Makefile.in | 7 ++- libdwfl/ChangeLog | 5 ++ libdwfl/Makefile.am | 3 + libdwfl/Makefile.in | 6 ++- libebl/ChangeLog | 5 ++ libebl/Makefile.am | 3 + libebl/Makefile.in | 6 ++- libelf/ChangeLog | 5 ++ libelf/Makefile.am | 6 ++- libelf/Makefile.in | 8 ++-- libelf/common.h | 4 +- m4/Makefile.in | 2 + src/ChangeLog | 13 +++++++ src/Makefile.am | 3 + src/Makefile.in | 6 ++- src/findtextrel.c | 6 ++- src/strings.c | 9 ++++ src/strip.c | 20 +++++++++-- tests/ChangeLog | 5 ++ tests/Makefile.am | 5 +- tests/Makefile.in | 6 ++- 40 files changed, 301 insertions(+), 41 deletions(-) Index: elfutils-portability.patch =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/elfutils-portability.patch,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- elfutils-portability.patch 19 Apr 2007 17:32:40 -0000 1.28 +++ elfutils-portability.patch 8 Jun 2007 22:55:02 -0000 1.29 @@ -1,6 +1,6 @@ --- elfutils/backends/ChangeLog +++ elfutils/backends/ChangeLog -@@ -135,6 +135,11 @@ +@@ -157,6 +157,11 @@ * sparc_init.c: Likewise. * x86_64_init.c: Likewise. @@ -12,7 +12,7 @@ 2005-11-19 Roland McGrath * ppc64_reloc.def: REL30 -> ADDR30. -@@ -157,6 +162,9 @@ +@@ -179,6 +184,9 @@ * Makefile.am (uninstall): Don't try to remove $(pkgincludedir). (CLEANFILES): Add libebl_$(m).so. @@ -51,7 +51,7 @@ libebl_%.map: Makefile --- elfutils/backends/Makefile.in +++ elfutils/backends/Makefile.in -@@ -159,6 +159,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -147,6 +147,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -59,17 +59,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -199,6 +200,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -176,6 +177,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -241,9 +243,9 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -231,9 +233,9 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \ - at MUDFLAP_FALSE@ -Wextra -Wformat=2 -std=gnu99 + at MUDFLAP_FALSE@ $(WEXTRA) -Wformat=2 -std=gnu99 @@ -79,7 +79,7 @@ INCLUDES = -I$(srcdir) -I$(top_srcdir)/libebl \ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \ -I$(top_srcdir)/lib -I.. -@@ -604,7 +606,7 @@ uninstall-am: uninstall-info-am +@@ -605,7 +607,7 @@ uninstall-am: libebl_%.so: libebl_%_pic.a libebl_%.map $(libelf) $(libdw) $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ -Wl,--version-script,$(word 2,$^) \ @@ -90,7 +90,7 @@ libebl_%.map: Makefile --- elfutils/ChangeLog +++ elfutils/ChangeLog -@@ -15,6 +15,10 @@ +@@ -25,6 +25,10 @@ * configure.ac: Add dummy automake conditional to get dependencies for non-generic linker right. See src/Makefile.am. @@ -101,7 +101,7 @@ 2005-11-18 Roland McGrath * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. -@@ -62,6 +66,17 @@ +@@ -72,6 +76,17 @@ * Makefile.am (all_SUBDIRS): Add libdwfl. * configure.ac: Write libdwfl/Makefile. @@ -121,7 +121,7 @@ * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros. --- elfutils/config/Makefile.in +++ elfutils/config/Makefile.in -@@ -83,6 +83,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -71,6 +71,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -129,31 +129,31 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -123,6 +124,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -100,6 +101,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ --- elfutils/configure +++ elfutils/configure -@@ -276,7 +276,7 @@ PACKAGE_STRING='Red Hat elfutils 0.127' - PACKAGE_BUGREPORT='http://bugzilla.redhat.com/bugzilla/' - - ac_unique_file="libelf/libelf.h" --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT MODVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC LEX LEXLIB LEX_OUTPUT_ROOT LOCALEDIR DATADIRNAME NATIVE_LD_TRUE NATIVE_LD_FALSE base_cpu NEV! ER_TRUE NEVER_FALSE MUDFLAP_TRUE MUDFLAP_FALSE GPROF_TRUE GPROF_FALSE GCOV_TRUE GCOV_FALSE BUILD_STATIC_TRUE BUILD_STATIC_FALSE TESTS_RPATH_TRUE TESTS_RPATH_FALSE LIBEBL_SUBDIR HAVE_LIBASM_TRUE HAVE_LIBASM_FALSE STANDALONE_TRUE STANDALONE_FALSE USE_NLS MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT MODVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC LEX LEXLIB LEX_OUTPUT_ROOT WEXTRA LD_AS_NEEDED LOCALEDIR DATADIRNAME NATIVE_LD_TRUE NATIVE_L! D_FALSE base_cpu NEVER_TRUE NEVER_FALSE MUDFLAP_TRUE MUDFLAP_FALSE GPROF_TRUE GPROF_FALSE GCOV_TRUE GCOV_FALSE BUILD_STATIC_TRUE BUILD_STATIC_FALSE TESTS_RPATH_TRUE TESTS_RPATH_FALSE LIBEBL_SUBDIR HAVE_LIBASM_TRUE HAVE_LIBASM_FALSE STANDALONE_TRUE STANDALONE_FALSE USE_NLS MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBOBJS LTLIBOBJS' - ac_subst_files='' - - # Initialize some variables set by options. -@@ -3411,6 +3411,92 @@ echo "$as_me: error: gcc with C99 suppor +@@ -674,6 +674,8 @@ YFLAGS + LEX + LEX_OUTPUT_ROOT + LEXLIB ++WEXTRA ++LD_AS_NEEDED + LOCALEDIR + DATADIRNAME + NATIVE_LD_TRUE +@@ -3874,6 +3876,88 @@ echo "$as_me: error: gcc with C99 suppor fi -+echo "$as_me:$LINENO: checking for -Wextra option to $CC" >&5 -+echo $ECHO_N "checking for -Wextra option to $CC... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for -Wextra option to $CC" >&5 ++echo $ECHO_N "checking for -Wextra option to $CC... $ECHO_C" >&6; } +if test "${ac_cv_cc_wextra+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else @@ -163,39 +163,35 @@ +void foo (void) { } +_ACEOF +rm -f conftest.$ac_objext -+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 -+ (eval $ac_compile) 2>conftest.er1 ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then + ac_cv_cc_wextra=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + -+ac_cv_cc_wextra=no ++ ac_cv_cc_wextra=no +fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS="$old_CFLAGS" +fi -+echo "$as_me:$LINENO: result: $ac_cv_cc_wextra" >&5 -+echo "${ECHO_T}$ac_cv_cc_wextra" >&6 ++{ echo "$as_me:$LINENO: result: $ac_cv_cc_wextra" >&5 ++echo "${ECHO_T}$ac_cv_cc_wextra" >&6; } + +if test "x$ac_cv_cc_wextra" = xyes; then + WEXTRA=-Wextra @@ -204,8 +200,8 @@ +fi + + -+echo "$as_me:$LINENO: checking for --as-needed linker option" >&5 -+echo $ECHO_N "checking for --as-needed linker option... $ECHO_C" >&6 ++{ echo "$as_me:$LINENO: checking for --as-needed linker option" >&5 ++echo $ECHO_N "checking for --as-needed linker option... $ECHO_C" >&6; } +if test "${ac_cv_as_needed+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else @@ -227,8 +223,8 @@ +fi +rm -f conftest* +fi -+echo "$as_me:$LINENO: result: $ac_cv_as_needed" >&5 -+echo "${ECHO_T}$ac_cv_as_needed" >&6 ++{ echo "$as_me:$LINENO: result: $ac_cv_as_needed" >&5 ++echo "${ECHO_T}$ac_cv_as_needed" >&6; } +if test "x$ac_cv_as_needed" = xyes; then + LD_AS_NEEDED=-Wl,--as-needed +else @@ -241,18 +237,40 @@ LOCALEDIR=$datadir cat >>confdefs.h <<_ACEOF -@@ -5040,6 +5126,8 @@ s, at YACC@,$YACC,;t t - s, at LEX@,$LEX,;t t - s, at LEXLIB@,$LEXLIB,;t t - s, at LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t -+s, at WEXTRA@,$WEXTRA,;t t -+s, at LD_AS_NEEDED@,$LD_AS_NEEDED,;t t - s, at LOCALEDIR@,$LOCALEDIR,;t t - s, at DATADIRNAME@,$DATADIRNAME,;t t - s, at NATIVE_LD_TRUE@,$NATIVE_LD_TRUE,;t t +@@ -5608,10 +5692,10 @@ YFLAGS!$YFLAGS$ac_delim + LEX!$LEX$ac_delim + LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim + LEXLIB!$LEXLIB$ac_delim ++WEXTRA!$WEXTRA$ac_delim ++LD_AS_NEEDED!$LD_AS_NEEDED$ac_delim + LOCALEDIR!$LOCALEDIR$ac_delim + DATADIRNAME!$DATADIRNAME$ac_delim +-NATIVE_LD_TRUE!$NATIVE_LD_TRUE$ac_delim +-NATIVE_LD_FALSE!$NATIVE_LD_FALSE$ac_delim + _ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then +@@ -5653,6 +5737,8 @@ _ACEOF + ac_delim='%!_!# ' + for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF ++NATIVE_LD_TRUE!$NATIVE_LD_TRUE$ac_delim ++NATIVE_LD_FALSE!$NATIVE_LD_FALSE$ac_delim + base_cpu!$base_cpu$ac_delim + NEVER_TRUE!$NEVER_TRUE$ac_delim + NEVER_FALSE!$NEVER_FALSE$ac_delim +@@ -5683,7 +5769,7 @@ LIBOBJS!$LIBOBJS$ac_delim + LTLIBOBJS!$LTLIBOBJS$ac_delim + _ACEOF + +- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 28; then ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 30; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 --- elfutils/configure.ac +++ elfutils/configure.ac -@@ -70,6 +70,34 @@ CFLAGS="$old_CFLAGS"]) +@@ -71,6 +71,34 @@ CFLAGS="$old_CFLAGS"]) AS_IF([test "x$ac_cv_c99" != xyes], AC_MSG_ERROR([gcc with C99 support required])) @@ -320,7 +338,7 @@ noinst_LIBRARIES = libeu.a --- elfutils/lib/Makefile.in +++ elfutils/lib/Makefile.in -@@ -103,6 +103,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -91,6 +91,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -328,17 +346,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -143,6 +144,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -120,6 +121,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -185,9 +187,9 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -175,9 +177,9 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \ - at MUDFLAP_FALSE@ -Wextra $($(*F)_CFLAGS) + at MUDFLAP_FALSE@ $(WEXTRA) $($(*F)_CFLAGS) @@ -381,7 +399,7 @@ -I$(top_srcdir)/lib --- elfutils/libasm/Makefile.in +++ elfutils/libasm/Makefile.in -@@ -136,6 +136,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -124,6 +124,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -389,17 +407,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -176,6 +177,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -153,6 +154,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -218,9 +220,9 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -208,9 +210,9 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Werror -Wunused \ - at MUDFLAP_FALSE@ -Wextra -Wformat=2 + at MUDFLAP_FALSE@ $(WEXTRA) -Wformat=2 @@ -434,7 +452,7 @@ noinst_LIBRARIES = libcpu_i386.a --- elfutils/libcpu/Makefile.in +++ elfutils/libcpu/Makefile.in -@@ -99,6 +99,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -87,6 +87,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -442,18 +460,18 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -139,6 +140,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -116,6 +117,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -180,7 +182,7 @@ sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ +@@ -170,7 +172,7 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ -AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused +AM_CFLAGS = -Wall -Wshadow -Werror $(WEXTRA) -Wformat=2 -Wunused INCLUDES = -I$(srcdir) @@ -494,7 +512,7 @@ --- elfutils/libdw/Makefile.in +++ elfutils/libdw/Makefile.in -@@ -176,6 +176,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -163,6 +163,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -502,17 +520,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -216,6 +217,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -192,6 +193,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -258,9 +260,10 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -247,9 +249,10 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = $(am__append_1) -Wall -Werror -Wshadow \ - at MUDFLAP_FALSE@ -Wunused -Wformat=2 -Wextra -std=gnu99 + at MUDFLAP_FALSE@ -Wunused -Wformat=2 $(WEXTRA) -std=gnu99 @@ -525,7 +543,7 @@ $(COMPILE))) --- elfutils/libdwfl/ChangeLog +++ elfutils/libdwfl/ChangeLog -@@ -474,6 +474,11 @@ +@@ -504,6 +504,11 @@ 2005-07-21 Roland McGrath @@ -556,7 +574,7 @@ VERSION = 1 --- elfutils/libdwfl/Makefile.in +++ elfutils/libdwfl/Makefile.in -@@ -136,6 +136,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -124,6 +124,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -564,17 +582,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -176,6 +177,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -153,6 +154,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -218,9 +220,9 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -208,9 +210,9 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = -Wall -Werror -Wshadow -Wunused -Wformat=2 \ - at MUDFLAP_FALSE@ -Wextra -std=gnu99 + at MUDFLAP_FALSE@ $(WEXTRA) -std=gnu99 @@ -586,7 +604,7 @@ --- elfutils/libebl/ChangeLog +++ elfutils/libebl/ChangeLog -@@ -465,6 +465,11 @@ +@@ -469,6 +469,11 @@ * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency tracking works right. @@ -617,7 +635,7 @@ INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \ --- elfutils/libebl/Makefile.in +++ elfutils/libebl/Makefile.in -@@ -132,6 +132,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -120,6 +120,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -625,17 +643,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -172,6 +173,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -149,6 +150,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -214,9 +216,9 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -204,9 +206,9 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \ - at MUDFLAP_FALSE@ -Wextra -Wformat=2 -std=gnu99 + at MUDFLAP_FALSE@ $(WEXTRA) -Wformat=2 -std=gnu99 @@ -647,7 +665,7 @@ --- elfutils/libelf/ChangeLog +++ elfutils/libelf/ChangeLog -@@ -221,6 +221,11 @@ +@@ -225,6 +225,11 @@ If section content hasn't been read yet, do it before looking for the block size. If no section data present, infer size of section header. @@ -703,7 +721,7 @@ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include) --- elfutils/libelf/Makefile.in +++ elfutils/libelf/Makefile.in -@@ -38,7 +38,7 @@ PRE_UNINSTALL = : +@@ -34,7 +34,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @@ -712,7 +730,7 @@ @MUDFLAP_FALSE at noinst_PROGRAMS = $(am__EXEEXT_1) @MUDFLAP_TRUE at am_libelf_pic_a_OBJECTS = subdir = libelf -@@ -179,6 +179,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -167,6 +167,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -720,17 +738,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -219,6 +220,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -196,6 +197,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -261,10 +263,10 @@ sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ - target_alias = @target_alias@ +@@ -251,10 +253,10 @@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = $(am__append_1) -Wall -Wshadow -Werror \ - at MUDFLAP_FALSE@ -Wunused -Wextra -Wformat=2 -std=gnu99 \ + at MUDFLAP_FALSE@ -Wunused $(WEXTRA) -Wformat=2 -std=gnu99 \ @@ -743,7 +761,7 @@ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include) --- elfutils/m4/Makefile.in +++ elfutils/m4/Makefile.in -@@ -82,6 +82,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -70,6 +70,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -751,17 +769,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -122,6 +123,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -99,6 +100,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ --- elfutils/Makefile.in +++ elfutils/Makefile.in -@@ -106,6 +106,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -97,6 +97,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -769,17 +787,17 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -146,6 +147,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -126,6 +127,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ --- elfutils/src/ChangeLog +++ elfutils/src/ChangeLog -@@ -87,6 +87,10 @@ +@@ -176,6 +176,10 @@ * elflint.c (valid_e_machine): Add EM_ALPHA. Reported by Christian Aichinger . @@ -790,7 +808,7 @@ 2006-08-08 Ulrich Drepper * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. -@@ -163,6 +167,10 @@ +@@ -252,6 +256,10 @@ * Makefile.am: Add hacks to create dependency files for non-generic linker. @@ -801,7 +819,7 @@ 2006-06-12 Ulrich Drepper * ldgeneric.c (ld_generic_generate_sections): Don't create .interp -@@ -511,6 +519,11 @@ +@@ -600,6 +608,11 @@ * readelf.c (print_debug_loc_section): Fix indentation for larger address size. @@ -849,7 +867,7 @@ INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ --- elfutils/src/Makefile.in +++ elfutils/src/Makefile.in -@@ -212,6 +212,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -197,6 +197,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -857,15 +875,15 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -252,6 +253,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -226,6 +227,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ -d - ac_ct_CC = @ac_ct_CC@ -@@ -296,13 +298,13 @@ target_alias = @target_alias@ +@@ -283,13 +285,13 @@ top_srcdir = @top_srcdir@ @MUDFLAP_FALSE at AM_CFLAGS = -Wall -Wshadow -std=gnu99 \ @MUDFLAP_FALSE@ $(native_ld_cflags) $(if \ @MUDFLAP_FALSE@ $($(*F)_no_Werror),,-Werror) $(if \ @@ -942,7 +960,7 @@ } /* Open the file. */ -@@ -1691,7 +1707,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1702,7 +1718,7 @@ handle_elf (int fd, Elf *elf, const char /* If requested, preserve the timestamp. */ if (tvp != NULL) { @@ -951,7 +969,7 @@ { error (0, errno, gettext ("\ cannot set access and modification date of '%s'"), -@@ -1748,7 +1764,7 @@ handle_ar (int fd, Elf *elf, const char +@@ -1759,7 +1775,7 @@ handle_ar (int fd, Elf *elf, const char if (tvp != NULL) { @@ -962,7 +980,7 @@ cannot set access and modification date of '%s'"), fname); --- elfutils/tests/ChangeLog +++ elfutils/tests/ChangeLog -@@ -473,6 +473,11 @@ +@@ -525,6 +525,11 @@ * Makefile.am (TESTS): Add run-elflint-test.sh. (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. @@ -994,7 +1012,7 @@ endif --- elfutils/tests/Makefile.in +++ elfutils/tests/Makefile.in -@@ -310,6 +310,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -315,6 +315,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -1002,18 +1020,18 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -350,6 +351,7 @@ TESTS_RPATH_FALSE = @TESTS_RPATH_FALSE@ - TESTS_RPATH_TRUE = @TESTS_RPATH_TRUE@ +@@ -344,6 +345,7 @@ SHELL = @SHELL@ + STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WEXTRA = @WEXTRA@ XGETTEXT = @XGETTEXT@ + XGETTEXT_015 = @XGETTEXT_015@ YACC = @YACC@ - ac_ct_CC = @ac_ct_CC@ -@@ -391,10 +393,10 @@ sbindir = @sbindir@ - sharedstatedir = @sharedstatedir@ - sysconfdir = @sysconfdir@ +@@ -398,10 +400,10 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ - at MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror -Wextra -std=gnu99 \ + at MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror $(WEXTRA) -std=gnu99 \ @MUDFLAP_FALSE@ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) elfutils-robustify.patch: elfutils-0.127/libelf/elf32_getphdr.c | 10 ++ elfutils-0.127/libelf/elf32_getshdr.c | 13 +++ elfutils-0.127/libelf/elf32_newphdr.c | 6 + elfutils-0.127/libelf/elf32_updatefile.c | 7 + elfutils-0.127/libelf/elf_begin.c | 46 +++++++++++- elfutils-0.127/libelf/elf_getarsym.c | 3 elfutils-0.127/libelf/elf_getshstrndx.c | 38 ++++++++- elfutils-0.127/libelf/elf_newscn.c | 10 ++ elfutils-0.127/libelf/gelf_getdyn.c | 6 + elfutils-0.127/libelf/gelf_getlib.c | 3 elfutils-0.127/libelf/gelf_getmove.c | 3 elfutils-0.127/libelf/gelf_getrel.c | 12 +-- elfutils-0.127/libelf/gelf_getrela.c | 12 +-- elfutils-0.127/libelf/gelf_getsym.c | 6 + elfutils-0.127/libelf/gelf_getsyminfo.c | 3 elfutils-0.127/libelf/gelf_getsymshndx.c | 10 +- elfutils-0.127/libelf/gelf_getversym.c | 3 elfutils-0.127/libelf/gelf_update_dyn.c | 12 +-- elfutils-0.127/libelf/gelf_update_lib.c | 9 -- elfutils-0.127/libelf/gelf_update_move.c | 2 elfutils-0.127/libelf/gelf_update_rel.c | 12 +-- elfutils-0.127/libelf/gelf_update_rela.c | 12 +-- elfutils-0.127/libelf/gelf_update_sym.c | 12 +-- elfutils-0.127/libelf/gelf_update_syminfo.c | 9 -- elfutils-0.127/libelf/gelf_update_symshndx.c | 12 +-- elfutils-0.127/libelf/gelf_update_versym.c | 2 elfutils-0.127/libelf/libelfP.h | 9 ++ elfutils-0.127/src/elflint.c | 103 ++++++++++++++++++++------- elfutils-0.127/src/readelf.c | 92 +++++++++++++++++------- elfutils-0.128/src/strip.c | 73 ++++++++++++------- 30 files changed, 383 insertions(+), 167 deletions(-) Index: elfutils-robustify.patch =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/elfutils-robustify.patch,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- elfutils-robustify.patch 19 Apr 2007 17:32:40 -0000 1.7 +++ elfutils-robustify.patch 8 Jun 2007 22:55:02 -0000 1.8 @@ -278,9 +278,9 @@ printf (ngettext ("\ \nDWARF section '%s' at offset %#" PRIx64 " contains %zu entry:\n", "\ ---- elfutils-0.127/src/strip.c.robustify -+++ elfutils-0.127/src/strip.c -@@ -412,6 +412,7 @@ handle_elf (int fd, Elf *elf, const char +--- elfutils-0.128/src/strip.c.orig ++++ elfutils-0.128/src/strip.c +@@ -413,6 +413,7 @@ handle_elf (int fd, Elf *elf, const char Elf_Data debuglink_crc_data; bool any_symtab_changes = false; Elf_Data *shstrtab_data = NULL; @@ -288,7 +288,7 @@ /* Create the full name of the file. */ if (prefix != NULL) -@@ -542,6 +543,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -543,6 +544,11 @@ handle_elf (int fd, Elf *elf, const char goto fail_close; } @@ -300,7 +300,7 @@ /* Storage for section information. We leave room for two more entries since we unconditionally create a section header string table. Maybe some weird tool created an ELF file without one. -@@ -563,7 +569,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -564,7 +570,7 @@ handle_elf (int fd, Elf *elf, const char { /* This should always be true (i.e., there should not be any holes in the numbering). */ @@ -309,7 +309,7 @@ shdr_info[cnt].scn = scn; -@@ -576,6 +582,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -577,6 +583,7 @@ handle_elf (int fd, Elf *elf, const char shdr_info[cnt].shdr.sh_name); if (shdr_info[cnt].name == NULL) { @@ -317,7 +317,7 @@ error (0, 0, gettext ("illformed file '%s'"), fname); goto fail_close; } -@@ -585,6 +592,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -586,6 +593,8 @@ handle_elf (int fd, Elf *elf, const char /* Remember the shdr.sh_link value. */ shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; @@ -326,7 +326,7 @@ /* Sections in files other than relocatable object files which are not loaded can be freely moved by us. In relocatable -@@ -597,7 +606,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -598,7 +607,7 @@ handle_elf (int fd, Elf *elf, const char appropriate reference. */ if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) { @@ -335,7 +335,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) -@@ -614,7 +623,12 @@ handle_elf (int fd, Elf *elf, const char +@@ -615,7 +624,12 @@ handle_elf (int fd, Elf *elf, const char for (inner = 1; inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); ++inner) @@ -348,7 +348,7 @@ if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) /* If the section group contains only one element and this -@@ -625,7 +639,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -626,7 +640,7 @@ handle_elf (int fd, Elf *elf, const char } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) { @@ -357,7 +357,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; } -@@ -633,7 +647,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -634,7 +648,7 @@ handle_elf (int fd, Elf *elf, const char discarded right away. */ if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) { @@ -366,7 +366,7 @@ if (shdr_info[shdr_info[cnt].group_idx].idx == 0) { -@@ -708,11 +722,15 @@ handle_elf (int fd, Elf *elf, const char +@@ -709,11 +723,15 @@ handle_elf (int fd, Elf *elf, const char { /* If a relocation section is marked as being removed make sure the section it is relocating is removed, too. */ @@ -384,7 +384,7 @@ if (shdr_info[cnt].idx == 1) { -@@ -737,7 +755,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -738,7 +756,7 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[cnt].symtab_idx != 0 && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) { @@ -393,7 +393,7 @@ shdr_info[shdr_info[cnt].symtab_idx].data = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, -@@ -777,6 +795,9 @@ handle_elf (int fd, Elf *elf, const char +@@ -778,6 +796,9 @@ handle_elf (int fd, Elf *elf, const char else if (scnidx == SHN_XINDEX) scnidx = xndx; @@ -403,7 +403,7 @@ if (shdr_info[scnidx].idx == 0) { /* Mark this section as used. */ -@@ -808,12 +829,16 @@ handle_elf (int fd, Elf *elf, const char +@@ -809,12 +830,16 @@ handle_elf (int fd, Elf *elf, const char } /* Handle references through sh_info. */ @@ -422,7 +422,7 @@ /* Mark the section as investigated. */ shdr_info[cnt].idx = 2; -@@ -912,7 +937,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -953,7 +978,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), elf_errmsg (-1)); @@ -431,7 +431,7 @@ /* Add this name to the section header string table. */ shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); -@@ -949,7 +974,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -990,7 +1015,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -440,7 +440,7 @@ shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); if (shdr_info[cnt].data == NULL) -@@ -980,7 +1005,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1021,7 +1046,7 @@ handle_elf (int fd, Elf *elf, const char } /* Index of the section header table in the shdr_info array. */ @@ -449,7 +449,7 @@ /* Add the section header string table section name. */ shdr_info[cnt].se = ebl_strtabadd (shst, ".shstrtab", 10); -@@ -1005,7 +1030,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1046,7 +1071,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -458,7 +458,7 @@ /* Finalize the string table and fill in the correct indices in the section headers. */ -@@ -1095,20 +1120,20 @@ handle_elf (int fd, Elf *elf, const char +@@ -1136,20 +1161,20 @@ handle_elf (int fd, Elf *elf, const char shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, NULL); @@ -482,7 +482,7 @@ >= shdr_info[cnt].data->d_size / elsize); } -@@ -1163,7 +1188,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1204,7 +1229,7 @@ handle_elf (int fd, Elf *elf, const char sec = shdr_info[sym->st_shndx].idx; else { @@ -491,7 +491,7 @@ sec = shdr_info[xshndx].idx; } -@@ -1184,7 +1209,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1225,7 +1250,7 @@ handle_elf (int fd, Elf *elf, const char nxshndx = sec; } @@ -500,7 +500,7 @@ if ((inner != destidx || nshndx != sym->st_shndx || (shndxdata != NULL && nxshndx != xshndx)) -@@ -1207,7 +1232,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1248,7 +1273,7 @@ handle_elf (int fd, Elf *elf, const char else /* This is a section symbol for a section which has been removed. */ @@ -509,7 +509,7 @@ } if (destidx != inner) -@@ -1371,11 +1396,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1441,11 +1466,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); @@ -523,7 +523,7 @@ size_t hidx = elf_hash (name) % nbucket; if (bucket[hidx] == 0) -@@ -1394,7 +1419,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1464,7 +1489,7 @@ handle_elf (int fd, Elf *elf, const char else { /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ @@ -532,7 +532,7 @@ == sizeof (Elf64_Xword)); Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; -@@ -1428,11 +1453,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1495,11 +1520,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); elfutils-strip-copy-symtab.patch: src/strip.c | 101 ++++++++++++++++++++++++++++++++++++++++------- tests/run-strip-test5.sh | 4 - 2 files changed, 88 insertions(+), 17 deletions(-) Index: elfutils-strip-copy-symtab.patch =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/elfutils-strip-copy-symtab.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- elfutils-strip-copy-symtab.patch 10 Oct 2006 18:23:35 -0000 1.1 +++ elfutils-strip-copy-symtab.patch 8 Jun 2007 22:55:02 -0000 1.2 @@ -14,7 +14,7 @@ } *shdr_info = NULL; Elf_Scn *scn; size_t cnt; -@@ -826,8 +827,39 @@ handle_elf (int fd, Elf *elf, const char +@@ -826,6 +827,37 @@ handle_elf (int fd, Elf *elf, const char The ones that are not removed in the stripped file are SHT_NOBITS. */ if (debug_fname != NULL) { @@ -23,8 +23,8 @@ + - libbfd isn't able to look up the .symtab/.strtab in the stripped + object instead. As a workaround, emit .symtab/.strtab in both + places. */ - for (cnt = 1; cnt < shnum; ++cnt) - { ++ for (cnt = 1; cnt < shnum; ++cnt) ++ { + if (shdr_info[cnt].idx == 0 + && (shdr_info[cnt].shdr.sh_type == SHT_REL + || shdr_info[cnt].shdr.sh_type == SHT_RELA) @@ -49,22 +49,18 @@ + } + } + -+ for (cnt = 1; cnt < shnum; ++cnt) -+ { + for (cnt = 1; cnt < shnum; ++cnt) + { scn = elf_newscn (debugelf); - if (scn == NULL) - error (EXIT_FAILURE, 0, -@@ -835,7 +867,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -835,6 +867,7 @@ handle_elf (int fd, Elf *elf, const char elf_errmsg (-1)); bool discard_section = (shdr_info[cnt].idx > 0 -- && cnt != ehdr->e_shstrndx); -+ && cnt != ehdr->e_shstrndx -+ && shdr_info[cnt].debug_data == NULL); - - /* Set the section header in the new file. */ - GElf_Shdr debugshdr = shdr_info[cnt].shdr; -@@ -864,6 +897,13 @@ handle_elf (int fd, Elf *elf, const char ++ && shdr_info[cnt].debug_data == NULL + && shdr_info[cnt].shdr.sh_type != SHT_NOTE + && cnt != ehdr->e_shstrndx); + +@@ -865,6 +898,13 @@ handle_elf (int fd, Elf *elf, const char *debugdata = *shdr_info[cnt].data; if (discard_section) debugdata->d_buf = NULL; @@ -78,7 +74,7 @@ } /* Finish the ELF header. Fill in the fields not handled by -@@ -1055,7 +1095,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1056,7 +1096,7 @@ handle_elf (int fd, Elf *elf, const char shdr_info[shdr_info[cnt].shdr.sh_info].idx; /* Get the data from the old file if necessary. We already @@ -87,7 +83,7 @@ if (cnt < shnum) { if (shdr_info[cnt].data == NULL) -@@ -1264,6 +1304,13 @@ handle_elf (int fd, Elf *elf, const char +@@ -1283,6 +1323,13 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[shdr_info[cnt].old_sh_link].newsymidx == NULL) continue; @@ -101,7 +97,7 @@ Elf32_Word *newsymidx = shdr_info[shdr_info[cnt].old_sh_link].newsymidx; Elf_Data *d = elf_getdata (shdr_info[cnt].idx == 0 -@@ -1322,6 +1369,13 @@ handle_elf (int fd, Elf *elf, const char +@@ -1341,6 +1388,13 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[symtabidx].newsymidx == NULL) continue; @@ -115,7 +111,7 @@ assert (shdr_info[cnt].idx > 0); /* The hash section in the new file. */ -@@ -1447,7 +1501,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1460,7 +1514,7 @@ handle_elf (int fd, Elf *elf, const char chain[hidx] = inner; } } @@ -124,7 +120,7 @@ } else if (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym) { -@@ -1460,6 +1514,13 @@ handle_elf (int fd, Elf *elf, const char +@@ -1473,6 +1527,13 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[symtabidx].newsymidx == NULL) continue; @@ -138,7 +134,7 @@ assert (shdr_info[cnt].idx > 0); /* The symbol version section in the new file. */ -@@ -1504,20 +1565,27 @@ handle_elf (int fd, Elf *elf, const char +@@ -1515,20 +1576,27 @@ handle_elf (int fd, Elf *elf, const char else if (shdr_info[cnt].shdr.sh_type == SHT_GROUP) { /* Check whether the associated symbol table changed. */ @@ -178,7 +174,7 @@ } } } -@@ -1647,7 +1715,10 @@ handle_elf (int fd, Elf *elf, const char +@@ -1658,7 +1726,10 @@ handle_elf (int fd, Elf *elf, const char table indices. */ if (any_symtab_changes) for (cnt = 1; cnt <= shdridx; ++cnt) @@ -190,9 +186,8 @@ /* Free the memory. */ if ((shnum + 2) * sizeof (struct shdr_info) > MAX_STACK_ALLOC) - ---- elfutils-0.124/tests/run-strip-test5.sh.~1~ -+++ elfutils-0.124/tests/run-strip-test5.sh +--- elfutils/tests/run-strip-test5.sh.~1~ ++++ elfutils/tests/run-strip-test5.sh @@ -1,5 +1,5 @@ original=testfile8 -stripped=testfile16 Index: elfutils.spec =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/elfutils.spec,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- elfutils.spec 19 Apr 2007 17:32:40 -0000 1.80 +++ elfutils.spec 8 Jun 2007 22:55:02 -0000 1.81 @@ -1,5 +1,5 @@ -%define eu_version 0.127 -%define eu_release 1 +%define eu_version 0.128 +%define eu_release 2 %if %{?_with_compat:1}%{!?_with_compat:0} %define compat 1 @@ -28,8 +28,8 @@ Patch1: elfutils-portability.patch Patch2: elfutils-robustify.patch Obsoletes: libelf libelf-devel -Requires: elfutils-libelf = %{version}-%{release} -Requires: elfutils-libs = %{version}-%{release} +Requires: elfutils-libelf-%{_arch} = %{version}-%{release} +Requires: elfutils-libs-%{_arch} = %{version}-%{release} Patch0: elfutils-strip-copy-symtab.patch Source2: testfile16.symtab.bz2 @@ -62,11 +62,8 @@ Summary: Libraries to handle compiled objects. Group: Development/Tools License: GPL -Requires: elfutils-libelf = %{version}-%{release} -Conflicts: elfutils < %{version}-%{release} -Conflicts: elfutils > %{version}-%{release} -Conflicts: elfutils-devel < %{version}-%{release} -Conflicts: elfutils-devel > %{version}-%{release} +Provides: elfutils-libs-%{_arch} = %{version}-%{release} +Requires: elfutils-libelf-%{_arch} = %{version}-%{release} %description libs The elfutils-libs package contains libraries which implement DWARF, ELF, @@ -78,12 +75,11 @@ Summary: Development libraries to handle compiled objects. Group: Development/Tools License: GPL -Requires: elfutils-libs = %{version}-%{release} -Requires: elfutils-libelf-devel = %{version}-%{release} -Conflicts: elfutils-libelf-devel < %{version}-%{release} -Conflicts: elfutils-libelf-devel > %{version}-%{release} +Provides: elfutils-devel-%{_arch} = %{version}-%{release} +Requires: elfutils-libs-%{_arch} = %{version}-%{release} +Requires: elfutils-libelf-devel-%{_arch} = %{version}-%{release} %if !0%{?separate_devel_static} -Requires: elfutils-devel-static = %{version}-%{release} +Requires: elfutils-devel-static-%{_arch} = %{version}-%{release} %endif %description devel @@ -96,10 +92,9 @@ %package devel-static Summary: Static archives to handle compiled objects. Group: Development/Tools -Requires: elfutils-devel = %{version}-%{release} -Conflicts: elfutils-devel < %{version}-%{release} -Conflicts: elfutils-devel > %{version}-%{release} -Requires: elfutils-libelf-devel-static = %{version}-%{release} +Provides: elfutils-devel-static-%{_arch} = %{version}-%{release} +Requires: elfutils-devel-%{_arch} = %{version}-%{release} +Requires: elfutils-libelf-devel-static-%{_arch} = %{version}-%{release} %description devel-static The elfutils-devel-static package contains the static archives @@ -108,12 +103,7 @@ %package libelf Summary: Library to read and write ELF files. Group: Development/Tools -Conflicts: elfutils < %{version}-%{release} -Conflicts: elfutils > %{version}-%{release} -Conflicts: elfutils-libs < %{version}-%{release} -Conflicts: elfutils-libs > %{version}-%{release} -Conflicts: elfutils-libelf-devel < %{version}-%{release} -Conflicts: elfutils-libelf-devel > %{version}-%{release} +Provides: elfutils-libelf-%{_arch} = %{version}-%{release} %description libelf The elfutils-libelf package provides a DSO which allows reading and @@ -124,10 +114,11 @@ %package libelf-devel Summary: Development support for libelf Group: Development/Tools -Requires: elfutils-libelf = %{version}-%{release} +Provides: elfutils-libelf-devel-%{_arch} = %{version}-%{release} +Requires: elfutils-libelf-%{_arch} = %{version}-%{release} Conflicts: libelf-devel %if !0%{?separate_devel_static} -Requires: elfutils-libelf-devel-static = %{version}-%{release} +Requires: elfutils-libelf-devel-static-%{_arch} = %{version}-%{release} %endif %description libelf-devel @@ -139,9 +130,8 @@ %package libelf-devel-static Summary: Static archive of libelf Group: Development/Tools -Requires: elfutils-libelf-devel = %{version}-%{release} -Conflicts: elfutils-libelf-devel < %{version}-%{release} -Conflicts: elfutils-libelf-devel > %{version}-%{release} +Provides: elfutils-libelf-devel-static-%{_arch} = %{version}-%{release} +Requires: elfutils-libelf-devel-%{_arch} = %{version}-%{release} %description libelf-devel-static The elfutils-libelf-static package contains the static archive @@ -151,7 +141,7 @@ %setup -q %patch0 -p1 -ln %{SOURCE2} %{SOURCE3} tests +ln -f %{SOURCE2} %{SOURCE3} tests || cp -f %{SOURCE2} %{SOURCE3} tests %if %{compat} %patch1 -p1 @@ -163,6 +153,9 @@ %patch2 -p1 +# XXX trivial patch for 0.128 +sed -i /ifndef/s/PACKAGE/PACKAGE_NAME/ libdwfl/libdwflP.h + %build # Remove -Wall from default flags. The makefiles enable enough warnings # themselves, and they use -Werror. Appending -Wall defeats the cases where @@ -218,12 +211,14 @@ %{_bindir}/eu-elflint %{_bindir}/eu-findtextrel %{_bindir}/eu-nm +#%{_bindir}/eu-objdump %{_bindir}/eu-ranlib %{_bindir}/eu-readelf %{_bindir}/eu-size %{_bindir}/eu-strings %{_bindir}/eu-strip #%{_bindir}/eu-ld +%{_bindir}/eu-unstrip %files libs %defattr(-,root,root) @@ -267,6 +262,12 @@ %{_libdir}/libelf.a %changelog +* Fri Jun 8 2007 Roland McGrath - 0.128-2 +- Update to 0.128 + - new program: unstrip + - elfcmp: new option --hash-inexact +- Replace Conflicts: with Provides/Requires using -arch + * Wed Apr 18 2007 Roland McGrath - 0.127-1 - Update to 0.127 - libdw: new function dwarf_getsrcdirs Index: sources =================================================================== RCS file: /cvs/dist/rpms/elfutils/FC-6/sources,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- sources 19 Apr 2007 17:32:40 -0000 1.36 +++ sources 8 Jun 2007 22:55:02 -0000 1.37 @@ -1,3 +1,3 @@ 07a924423a05b1bf6d0f9fe8b35dbe6b testfile16.symtab.bz2 bd40d1aaca8eaf1c7aea54bf4b29bda2 testfile16.symtab.debug.bz2 -905411e1deda0aee17ae99dbdeaf7506 elfutils-0.127.tar.gz +4da87e49616101ec256e313218c421ef elfutils-0.128.tar.gz From fedora-cvs-commits at redhat.com Sat Jun 9 17:10:33 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 9 Jun 2007 13:10:33 -0400 Subject: rpms/libuser/devel .cvsignore, 1.43, 1.44 libuser.spec, 1.64, 1.65 sources, 1.45, 1.46 Message-ID: <200706091710.l59HAXui002033@cvs.devel.redhat.com> Author: mitr Update of /cvs/dist/rpms/libuser/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv2014 Modified Files: .cvsignore libuser.spec sources Log Message: * Sat Jun 9 2007 Miloslav Trma?? - 0.56.3-1 - Allow specifying a SASL mechanism (original patch by Simo Sorce) Resolves: #240904 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/libuser/devel/.cvsignore,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- .cvsignore 19 Apr 2007 13:38:21 -0000 1.43 +++ .cvsignore 9 Jun 2007 17:10:31 -0000 1.44 @@ -1 +1 @@ -libuser-0.56.2.tar.bz2 +libuser-0.56.3.tar.bz2 Index: libuser.spec =================================================================== RCS file: /cvs/dist/rpms/libuser/devel/libuser.spec,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- libuser.spec 19 Apr 2007 13:38:21 -0000 1.64 +++ libuser.spec 9 Jun 2007 17:10:31 -0000 1.65 @@ -4,7 +4,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: libuser -Version: 0.56.2 +Version: 0.56.3 Release: 1 Group: System Environment/Base License: LGPL @@ -94,6 +94,10 @@ %{_datadir}/gtk-doc/html/* %changelog +* Sat Jun 9 2007 Miloslav Trma?? - 0.56.3-1 +- Allow specifying a SASL mechanism (original patch by Simo Sorce) + Resolves: #240904 + * Thu Apr 19 2007 Miloslav Trmac - 0.56.2-1 - New release with updated translations Index: sources =================================================================== RCS file: /cvs/dist/rpms/libuser/devel/sources,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- sources 19 Apr 2007 13:38:21 -0000 1.45 +++ sources 9 Jun 2007 17:10:31 -0000 1.46 @@ -1 +1 @@ -0af3aac1baa7f0cbab8874899938ccc2 libuser-0.56.2.tar.bz2 +59cd99fd513d3ad2ccf61697265bbe21 libuser-0.56.3.tar.bz2 From fedora-cvs-commits at redhat.com Mon Jun 11 11:26:35 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 11 Jun 2007 07:26:35 -0400 Subject: rpms/system-config-securitylevel/FC-6 system-config-securitylevel-1.6.27-expand.patch, NONE, 1.1 system-config-securitylevel-1.6.27-honour_exit_code.patch, NONE, 1.1 system-config-securitylevel-1.6.27-port_dialog_center.patch, NONE, 1.1 system-config-securitylevel-1.6.27-v6state.patch, NONE, 1.1 system-config-securitylevel.spec, 1.87, 1.88 Message-ID: <200706111126.l5BBQZkW031983@cvs.devel.redhat.com> Author: twoerner Update of /cvs/dist/rpms/system-config-securitylevel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv31961 Modified Files: system-config-securitylevel.spec Added Files: system-config-securitylevel-1.6.27-expand.patch system-config-securitylevel-1.6.27-honour_exit_code.patch system-config-securitylevel-1.6.27-port_dialog_center.patch system-config-securitylevel-1.6.27-v6state.patch Log Message: [tw] - use state module for IPv6 firewall again (rhbz#233725, rhbz#236035) - honour exit code of lokkit call (rhbz#227285) - gui: fixed expand of trusted services list - gui: fixed port dialog placement - fixed url (rhbz#237723) system-config-securitylevel-1.6.27-expand.patch: system-config-securitylevel.glade | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) --- NEW FILE system-config-securitylevel-1.6.27-expand.patch --- --- system-config-securitylevel-1.6.27/src/system-config-securitylevel.glade.expand 2007-06-11 12:29:57.000000000 +0200 +++ system-config-securitylevel-1.6.27/src/system-config-securitylevel.glade 2007-06-11 12:29:58.000000000 +0200 @@ -102,11 +102,14 @@ 1 + True + True - False + True + True 2 @@ -169,6 +172,7 @@ False 3 + False system-config-securitylevel-1.6.27-honour_exit_code.patch: securitylevel.py | 51 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 44 insertions(+), 7 deletions(-) --- NEW FILE system-config-securitylevel-1.6.27-honour_exit_code.patch --- --- system-config-securitylevel-1.6.27/src/securitylevel.py.honour_exit_code 2006-09-27 16:08:30.000000000 +0200 +++ system-config-securitylevel-1.6.27/src/securitylevel.py 2007-06-11 11:56:56.000000000 +0200 @@ -408,7 +411,7 @@ # With the new enabled/disabled behavior, we have to ignore the config # file or else you can only ever turn on services. - args = ['--quiet', '-f'] + args = ['/usr/sbin/lokkit', '--quiet', '-f'] index = self.securityOptionMenu.get_active() if index == 0: @@ -446,12 +449,49 @@ print "don't call lokkit if in debug mode" return 0 - path = '/usr/sbin/lokkit' - - lokkit = os.fork() - if (not lokkit): - args.insert(0, path) - os.execv(path, args) + (rfd, wfd) = os.pipe() + pid = os.fork() + if pid == 0: + try: + os.close(rfd) + fd = os.open("/dev/null", os.O_RDONLY) + if fd != 0: + os.dup2(fd, 0) + os.close(fd) + if wfd != 1: + os.dup2(wfd, 1) + os.close(wfd) + os.dup2(1, 2) + os.execv(args[0], args) + finally: + os._exit(255) + + os.close(wfd) + # no need to read in chunks if we don't pass on data to some + # output func + cret = "" + cout = os.read(rfd, 8192) + while cout: + cret += cout + cout = os.read(rfd, 8192) + os.close(rfd) + (cpid, status) = os.waitpid(pid, 0) + + # failed to configure firewall, show error message + if status != 0: + dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, + gtk.BUTTONS_CLOSE) + dialog.set_markup("" + _("Configuration failed") + \ + "") + dialog.format_secondary_text(" ".join(args) + "\n\n" + \ + cret.strip()) + dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) + dialog.set_transient_for(self.mainWindow) + dialog.set_modal(True) + dialog.show_all() + dialog.run() + dialog.destroy() + return 1 return 0 system-config-securitylevel-1.6.27-port_dialog_center.patch: securitylevel.py | 3 +++ 1 files changed, 3 insertions(+) --- NEW FILE system-config-securitylevel-1.6.27-port_dialog_center.patch --- --- system-config-securitylevel-1.6.27/src/securitylevel.py.port_dialog_center 2007-06-11 11:56:54.000000000 +0200 +++ system-config-securitylevel-1.6.27/src/securitylevel.py 2007-06-11 11:56:56.000000000 +0200 @@ -176,6 +176,9 @@ protoMapping = ["tcp", "udp"] self.addPortDialog.show_all() + self.addPortDialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) + self.addPortDialog.set_transient_for(self.mainWindow) + self.addPortDialog.set_modal(True) self.portEntry.set_text("") self.protoCombo.set_active(0) system-config-securitylevel-1.6.27-v6state.patch: lokkit.c | 24 +++--------------------- 1 files changed, 3 insertions(+), 21 deletions(-) --- NEW FILE system-config-securitylevel-1.6.27-v6state.patch --- --- system-config-securitylevel-1.6.27/src/lokkit.c.v6state 2006-10-17 22:42:24.000000000 +0200 +++ system-config-securitylevel-1.6.27/src/lokkit.c 2007-06-11 12:19:33.000000000 +0200 @@ -999,34 +999,16 @@ fprintf(fw, "-A %s -p tcp -m tcp --dport 631 -j ACCEPT\n", CHAIN_NAME); /* Note: The RELATED is extremely important as it matches ICMP error messages. */ - /* fprintf(fw, "-A %s -m state --state ESTABLISHED,RELATED -j ACCEPT\n", CHAIN_NAME); */ + fprintf(fw, "-A %s -m state --state ESTABLISHED,RELATED -j ACCEPT\n", CHAIN_NAME); for (i=0; ports && ports[i].start_port; i++) { - if (ports[i].end_port == 0) { - fprintf(fw, "-A %s -m %s -p %s --dport %d -j ACCEPT\n", - CHAIN_NAME, ports[i].proto, ports[i].proto, - ports[i].start_port); - fprintf(fw, "-A %s -m %s -p %s --sport %d -j ACCEPT\n", - CHAIN_NAME, ports[i].proto, ports[i].proto, - ports[i].start_port); - } -/* + if (ports[i].end_port == 0) fprintf(fw, "-A %s -m state --state NEW -m %s -p %s --dport %d -j ACCEPT\n", CHAIN_NAME, ports[i].proto, ports[i].proto, ports[i].start_port); -*/ - else { - fprintf(fw, "-A %s -m %s -p %s --dport %d:%d -j ACCEPT\n", - CHAIN_NAME, ports[i].proto, ports[i].proto, - ports[i].start_port, ports[i].end_port); - fprintf(fw, "-A %s -m %s -p %s --sport %d:%d -j ACCEPT\n", - CHAIN_NAME, ports[i].proto, ports[i].proto, - ports[i].start_port, ports[i].end_port); - } -/* + else fprintf(fw, "-A %s -m state --state NEW -m %s -p %s --dport %d:%d -j ACCEPT\n", CHAIN_NAME, ports[i].proto, ports[i].proto, ports[i].start_port, ports[i].end_port); -*/ } Index: system-config-securitylevel.spec =================================================================== RCS file: /cvs/dist/rpms/system-config-securitylevel/FC-6/system-config-securitylevel.spec,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- system-config-securitylevel.spec 17 Oct 2006 20:52:13 -0000 1.87 +++ system-config-securitylevel.spec 11 Jun 2007 11:26:32 -0000 1.88 @@ -1,14 +1,18 @@ Summary: A graphical interface for modifying the system security level Name: system-config-securitylevel Version: 1.6.27 -Release: 1 -URL: http://fedora.redhat.com/projects/config-tools/ +Release: 2 +URL: http://fedoraproject.org/wiki/SystemConfig/securitylevel License: GPL ExclusiveOS: Linux Group: System Environment/Base Obsoletes: gnome-lokkit BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Source0: %{name}-%{version}.tar.bz2 +Patch0: system-config-securitylevel-1.6.27-v6state.patch +Patch1: system-config-securitylevel-1.6.27-honour_exit_code.patch +Patch2: system-config-securitylevel-1.6.27-expand.patch +Patch3: system-config-securitylevel-1.6.27-port_dialog_center.patch BuildRequires: desktop-file-utils newt-devel slang-devel popt BuildRequires: gettext BuildRequires: intltool @@ -41,6 +45,10 @@ %prep %setup -q +%patch0 -p1 -b .v6state +%patch1 -p1 -b .honour_exit_code +%patch2 -p1 -b .expand +%patch3 -p1 -b .port_dialog_center %build make @@ -93,6 +101,13 @@ /usr/bin/system-config-securitylevel-tui %changelog +* Mon Jun 11 2007 Thomas Woerner 1.6.27-2 +- use state module for IPv6 firewall again (rhbz#233725, rhbz#236035) +- honour exit code of lokkit call (rhbz#227285) +- gui: fixed expand of trusted services list +- gui: fixed port dialog placement +- fixed url (rhbz#237723) + * Tue Oct 17 2006 Chris Lumens 1.6.27-1 - Use stateless configuration for ipv6 sine the kernel support isn't there yet. From fedora-cvs-commits at redhat.com Mon Jun 11 11:55:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 11 Jun 2007 07:55:42 -0400 Subject: rpms/libvirt/FC-6 libvirt.spec,1.45,1.46 sources,1.20,1.21 Message-ID: <200706111155.l5BBtg7p032425@cvs.devel.redhat.com> Author: veillard Update of /cvs/dist/rpms/libvirt/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv32409 Modified Files: libvirt.spec sources Log Message: Update to new upstream release 0.2.3, Daniel Index: libvirt.spec =================================================================== RCS file: /cvs/dist/rpms/libvirt/FC-6/libvirt.spec,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- libvirt.spec 19 Apr 2007 12:51:35 -0000 1.45 +++ libvirt.spec 11 Jun 2007 11:55:40 -0000 1.46 @@ -8,7 +8,7 @@ Summary: Library providing a simple API for virtualization Name: libvirt -Version: 0.2.2 +Version: 0.2.3 Release: 1%{?_extra_release} License: LGPL Group: Development/Libraries @@ -172,6 +172,12 @@ %doc docs/examples/python %changelog +* Mon Jun 11 2007 Daniel Veillard - 0.2.3-1.fc6 +- Release of 0.2.3 +- lot of assorted bugfixes and cleanups +- support for Xen-3.1 +- new scheduler API + * Thu Apr 19 2007 Daniel Veillard - 0.2.2-1.fc6 - Release of 0.2.2 - lot of assorted bugfixes and cleanups Index: sources =================================================================== RCS file: /cvs/dist/rpms/libvirt/FC-6/sources,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- sources 19 Apr 2007 12:43:24 -0000 1.20 +++ sources 11 Jun 2007 11:55:40 -0000 1.21 @@ -1 +1 @@ -5abe4b1fd6b57948ce259036afdc9194 libvirt-0.2.2.tar.gz +3b9e192de1777c8ec801d16cbf1c7819 libvirt-0.2.3.tar.gz From fedora-cvs-commits at redhat.com Mon Jun 11 11:56:33 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 11 Jun 2007 07:56:33 -0400 Subject: rpms/libvirt/FC-6 libvirt-0.2.0-Werror.patch, 1.1, NONE libvirt-0.2.0-pvfb-new-config.patch, 1.1, NONE libvirt-0.2.0-qemu-fixes.patch, 1.1, NONE Message-ID: <200706111156.l5BBuXZp032499@cvs.devel.redhat.com> Author: veillard Update of /cvs/dist/rpms/libvirt/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv32482 Removed Files: libvirt-0.2.0-Werror.patch libvirt-0.2.0-pvfb-new-config.patch libvirt-0.2.0-qemu-fixes.patch Log Message: Removing old patches, Daniel --- libvirt-0.2.0-Werror.patch DELETED --- --- libvirt-0.2.0-pvfb-new-config.patch DELETED --- --- libvirt-0.2.0-qemu-fixes.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 12 00:41:11 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 11 Jun 2007 20:41:11 -0400 Subject: rpms/spamassassin/FC-6 .cvsignore, 1.33, 1.34 sources, 1.32, 1.33 spamassassin.spec, 1.79, 1.80 spamassassin-3.1.3-serviceorder.patch, 1.1, NONE Message-ID: <200706120041.l5C0fBtn015905@cvs.devel.redhat.com> Author: wtogami Update of /cvs/dist/rpms/spamassassin/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15884 Modified Files: .cvsignore sources spamassassin.spec Removed Files: spamassassin-3.1.3-serviceorder.patch Log Message: 3.1.9 CVE-2007-2873 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-6/.cvsignore,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- .cvsignore 13 Feb 2007 21:59:42 -0000 1.33 +++ .cvsignore 12 Jun 2007 00:41:09 -0000 1.34 @@ -1 +1 @@ -Mail-SpamAssassin-3.1.8.tar.bz2 +Mail-SpamAssassin-3.1.9.tar.bz2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-6/sources,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- sources 13 Feb 2007 21:59:42 -0000 1.32 +++ sources 12 Jun 2007 00:41:09 -0000 1.33 @@ -1 +1 @@ -e8184a9a4ff11da5bd20b294cfeac7ac Mail-SpamAssassin-3.1.8.tar.bz2 +ad5d812b1a04228f3dc3147ebd649bb3 Mail-SpamAssassin-3.1.9.tar.bz2 Index: spamassassin.spec =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-6/spamassassin.spec,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- spamassassin.spec 19 Feb 2007 18:32:04 -0000 1.79 +++ spamassassin.spec 12 Jun 2007 00:41:09 -0000 1.80 @@ -11,8 +11,8 @@ Summary: Spam filter for email which can be invoked from mail delivery agents. Name: spamassassin -Version: 3.1.8 -Release: 2%{?dist} +Version: 3.1.9 +Release: 1%{?dist} License: Apache License Group: Applications/Internet URL: http://spamassassin.apache.org/ @@ -28,7 +28,6 @@ # Patches 0-99 are RH specific # none yet # Patches 100+ are SVN backports (DO NOT REUSE!) -Patch124: spamassassin-3.1.3-serviceorder.patch Patch125: spamassassin-3.1.8-sa-learn.patch # end of patches Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) @@ -85,7 +84,6 @@ # Patches 0-99 are RH specific # none yet # Patches 100+ are SVN backports (DO NOT REUSE!) -%patch124 -p1 %patch125 -p1 # end of patches @@ -188,6 +186,9 @@ exit 0 %changelog +* Mon Jun 11 2007 Warren Togami 3.1.9-1 +- 3.1.9 CVE-2007-2873 + * Mon Feb 19 2007 Warren Togami 3.1.8-2 - Fix sa-learn regression (#228968) --- spamassassin-3.1.3-serviceorder.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 12 00:49:02 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 11 Jun 2007 20:49:02 -0400 Subject: rpms/spamassassin/FC-5 .cvsignore, 1.32, 1.33 sources, 1.31, 1.32 spamassassin.spec, 1.74, 1.75 spamassassin-3.1.3-serviceorder.patch, 1.1, NONE Message-ID: <200706120049.l5C0n2sN016074@cvs.devel.redhat.com> Author: wtogami Update of /cvs/dist/rpms/spamassassin/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv16058 Modified Files: .cvsignore sources spamassassin.spec Removed Files: spamassassin-3.1.3-serviceorder.patch Log Message: 3.1.9 CVE-2007-2873 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-5/.cvsignore,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- .cvsignore 13 Feb 2007 21:59:26 -0000 1.32 +++ .cvsignore 12 Jun 2007 00:48:59 -0000 1.33 @@ -1 +1 @@ -Mail-SpamAssassin-3.1.8.tar.bz2 +Mail-SpamAssassin-3.1.9.tar.bz2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-5/sources,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- sources 13 Feb 2007 21:59:26 -0000 1.31 +++ sources 12 Jun 2007 00:48:59 -0000 1.32 @@ -1 +1 @@ -e8184a9a4ff11da5bd20b294cfeac7ac Mail-SpamAssassin-3.1.8.tar.bz2 +ad5d812b1a04228f3dc3147ebd649bb3 Mail-SpamAssassin-3.1.9.tar.bz2 Index: spamassassin.spec =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-5/spamassassin.spec,v retrieving revision 1.74 retrieving revision 1.75 diff -u -r1.74 -r1.75 --- spamassassin.spec 19 Feb 2007 18:59:21 -0000 1.74 +++ spamassassin.spec 12 Jun 2007 00:48:59 -0000 1.75 @@ -1,5 +1,5 @@ # OPTION: SSL and IPv6 (FC6+, RHEL5+) -%define option_ssl 0 +%define option_ssl 1 # OPTION: perl-Archive-Tar (FC2+, RHEL5+) %define option_archive_tar 1 @@ -11,8 +11,8 @@ Summary: Spam filter for email which can be invoked from mail delivery agents. Name: spamassassin -Version: 3.1.8 -Release: 2%{?dist}.1 +Version: 3.1.9 +Release: 1%{?dist} License: Apache License Group: Applications/Internet URL: http://spamassassin.apache.org/ @@ -28,7 +28,6 @@ # Patches 0-99 are RH specific # none yet # Patches 100+ are SVN backports (DO NOT REUSE!) -Patch124: spamassassin-3.1.3-serviceorder.patch Patch125: spamassassin-3.1.8-sa-learn.patch # end of patches Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) @@ -85,7 +84,6 @@ # Patches 0-99 are RH specific # none yet # Patches 100+ are SVN backports (DO NOT REUSE!) -%patch124 -p1 %patch125 -p1 # end of patches @@ -188,6 +186,9 @@ exit 0 %changelog +* Mon Jun 11 2007 Warren Togami 3.1.9-1 +- 3.1.9 CVE-2007-2873 + * Mon Feb 19 2007 Warren Togami 3.1.8-2 - Fix sa-learn regression (#228968) --- spamassassin-3.1.3-serviceorder.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 12 20:10:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 12 Jun 2007 16:10:42 -0400 Subject: rpms/libxml2/FC-6 .cvsignore, 1.34, 1.35 libxml2.spec, 1.44, 1.45 sources, 1.38, 1.39 Message-ID: <200706122010.l5CKAgjH007759@cvs.devel.redhat.com> Author: veillard Update of /cvs/dist/rpms/libxml2/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv7726 Modified Files: .cvsignore libxml2.spec sources Log Message: upstream release of 2.6.29, Daniel Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/libxml2/FC-6/.cvsignore,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- .cvsignore 6 Jun 2006 16:42:20 -0000 1.34 +++ .cvsignore 12 Jun 2007 20:10:40 -0000 1.35 @@ -12,3 +12,4 @@ libxml2-2.6.24.tar.gz libxml2-2.6.25.tar.gz libxml2-2.6.26.tar.gz +libxml2-2.6.29.tar.gz Index: libxml2.spec =================================================================== RCS file: /cvs/dist/rpms/libxml2/FC-6/libxml2.spec,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- libxml2.spec 19 Apr 2007 13:14:26 -0000 1.44 +++ libxml2.spec 12 Jun 2007 20:10:40 -0000 1.45 @@ -1,6 +1,6 @@ Summary: Library providing XML and HTML support Name: libxml2 -Version: 2.6.28 +Version: 2.6.29 Release: 1%{?dist} License: MIT Group: Development/Libraries @@ -130,6 +130,10 @@ %doc doc/python.html %changelog +* Tue Jun 12 2007 Daniel Veillard 2.6.29-1.fc6 +- upstream release 2.6.29 see http://xmlsoft.org/news.html +- a number of bug fixes reported upstream + * Thu Apr 19 2007 Daniel Veillard 2.6.28-1.fc6 - upstream release 2.6.28 see http://xmlsoft.org/news.html - very large amount of bug fixes reported upstream Index: sources =================================================================== RCS file: /cvs/dist/rpms/libxml2/FC-6/sources,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- sources 19 Apr 2007 13:12:26 -0000 1.38 +++ sources 12 Jun 2007 20:10:40 -0000 1.39 @@ -1 +1 @@ -ddf3c369964980a238fad0b6ad40532c libxml2-2.6.28.tar.gz +8b99b6e8b08e838438d9e6b639d79ebd libxml2-2.6.29.tar.gz From fedora-cvs-commits at redhat.com Tue Jun 12 20:22:19 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 12 Jun 2007 16:22:19 -0400 Subject: rpms/libxslt/FC-6 .cvsignore, 1.26, 1.27 libxslt.spec, 1.42, 1.43 sources, 1.30, 1.31 Message-ID: <200706122022.l5CKMJJn008137@cvs.devel.redhat.com> Author: veillard Update of /cvs/dist/rpms/libxslt/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv8120 Modified Files: .cvsignore libxslt.spec sources Log Message: Upstream release 1.1.21, Daniel Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/libxslt/FC-6/.cvsignore,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- .cvsignore 6 Jun 2006 15:37:15 -0000 1.26 +++ .cvsignore 12 Jun 2007 20:22:17 -0000 1.27 @@ -6,3 +6,4 @@ libxslt-1.1.15.tar.gz libxslt-1.1.16.tar.gz libxslt-1.1.17.tar.gz +libxslt-1.1.21.tar.gz Index: libxslt.spec =================================================================== RCS file: /cvs/dist/rpms/libxslt/FC-6/libxslt.spec,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- libxslt.spec 17 Jan 2007 15:27:58 -0000 1.42 +++ libxslt.spec 12 Jun 2007 20:22:17 -0000 1.43 @@ -1,6 +1,6 @@ Summary: Library providing the Gnome XSLT engine Name: libxslt -Version: 1.1.20 +Version: 1.1.21 Release: 1%{?dist} License: MIT Group: Development/Libraries @@ -123,7 +123,11 @@ %doc python/tests/*.xsl %changelog -* Wed Nov 29 2006 Daniel Veillard - 1.1.20-1.fc6 +* Tue Jun 12 2007 Daniel Veillard - 1.1.21-1.fc6 +- upstream release 1.1.21 see http://xmlsoft.org/XSLT/news.html +- a few significant bug fixes + +* Wed Jan 17 2007 Daniel Veillard - 1.1.20-1.fc6 - upstream release 1.1.20 see http://xmlsoft.org/XSLT/news.html * Wed Nov 29 2006 Daniel Veillard - 1.1.19-1.fc6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/libxslt/FC-6/sources,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- sources 17 Jan 2007 15:27:58 -0000 1.30 +++ sources 12 Jun 2007 20:22:17 -0000 1.31 @@ -1 +1 @@ -4ea2dc22a23bf2aa570f868aa86357f8 libxslt-1.1.20.tar.gz +59fe34e85692f71df2a38c2ee291b3ca libxslt-1.1.21.tar.gz From fedora-cvs-commits at redhat.com Tue Jun 12 20:25:54 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 12 Jun 2007 16:25:54 -0400 Subject: rpms/spamassassin/FC-5 spamassassin.spec,1.75,1.76 Message-ID: <200706122025.l5CKPsZa008316@cvs.devel.redhat.com> Author: wtogami Update of /cvs/dist/rpms/spamassassin/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv8301 Modified Files: spamassassin.spec Log Message: with proper deps for FC5 Index: spamassassin.spec =================================================================== RCS file: /cvs/dist/rpms/spamassassin/FC-5/spamassassin.spec,v retrieving revision 1.75 retrieving revision 1.76 diff -u -r1.75 -r1.76 --- spamassassin.spec 12 Jun 2007 00:48:59 -0000 1.75 +++ spamassassin.spec 12 Jun 2007 20:25:52 -0000 1.76 @@ -1,5 +1,5 @@ # OPTION: SSL and IPv6 (FC6+, RHEL5+) -%define option_ssl 1 +%define option_ssl 0 # OPTION: perl-Archive-Tar (FC2+, RHEL5+) %define option_archive_tar 1 @@ -12,7 +12,7 @@ Summary: Spam filter for email which can be invoked from mail delivery agents. Name: spamassassin Version: 3.1.9 -Release: 1%{?dist} +Release: 1%{?dist}.1 License: Apache License Group: Applications/Internet URL: http://spamassassin.apache.org/ @@ -186,6 +186,9 @@ exit 0 %changelog +* Tue Jun 12 2007 Warren Togami 3.1.9-1.fc5.1 +- with proper deps for FC5 + * Mon Jun 11 2007 Warren Togami 3.1.9-1 - 3.1.9 CVE-2007-2873 From fedora-cvs-commits at redhat.com Tue Jun 12 20:34:59 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 12 Jun 2007 16:34:59 -0400 Subject: rpms/kernel/FC-5 linux-2.6-gfs2-update4.patch, NONE, 1.1 linux-2.6-gfs2-update5.patch, NONE, 1.1 patch-2.6.20.11-12.bz2.sign, NONE, 1.1 patch-2.6.20.12-13.bz2.sign, NONE, 1.1 patch-2.6.20.13-14.bz2.sign, NONE, 1.1 .cvsignore, 1.443, 1.444 kernel-2.6.spec, 1.2319, 1.2320 sources, 1.383, 1.384 upstream, 1.346, 1.347 linux-2.6-20.12b-input_i8042_fix_aux_port_detection_with_some_chips.patch, 1.1, NONE linux-2.6-20.8f-oom_kill_all_threads_that_share_mm.patch, 1.1, NONE linux-2.6-20.8f-x86_64_always_flush_all_pages.patch, 1.1, NONE Message-ID: <200706122034.l5CKYxZT008883@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv8864 Modified Files: .cvsignore kernel-2.6.spec sources upstream Added Files: linux-2.6-gfs2-update4.patch linux-2.6-gfs2-update5.patch patch-2.6.20.11-12.bz2.sign patch-2.6.20.12-13.bz2.sign patch-2.6.20.13-14.bz2.sign Removed Files: linux-2.6-20.12b-input_i8042_fix_aux_port_detection_with_some_chips.patch linux-2.6-20.8f-oom_kill_all_threads_that_share_mm.patch linux-2.6-20.8f-x86_64_always_flush_all_pages.patch Log Message: * Tue Jun 12 2007 Chuck Ebbert 1.2320 - 2.6.20.12 - 2.6.20.13 - 2.6.20.14 - GFS2 updates linux-2.6-gfs2-update4.patch: b/fs/gfs2/dir.c | 36 +++++- b/fs/gfs2/glock.c | 30 ++++- b/fs/gfs2/glops.c | 3 b/fs/gfs2/incore.h | 3 b/fs/gfs2/main.c | 7 - b/fs/gfs2/mount.c | 240 +++++++++++++++++++++++++++------------------ b/fs/gfs2/ops_address.c | 18 ++- b/fs/gfs2/ops_address.h | 5 b/fs/gfs2/ops_fstype.c | 2 b/fs/gfs2/rgrp.c | 60 ++++++++++- b/include/linux/kallsyms.h | 13 ++ b/kernel/kallsyms.c | 24 +++- fs/gfs2/dir.c | 12 +- fs/gfs2/glock.c | 39 +++---- fs/gfs2/ops_address.c | 29 +++++ 15 files changed, 362 insertions(+), 159 deletions(-) --- NEW FILE linux-2.6-gfs2-update4.patch --- Return-Path: Received: from mail.boston.redhat.com ([unix socket]) by mail.boston.redhat.com (Cyrus v2.1.12) with LMTP; Thu, 10 May 2007 09:51:02 -0400 X-Sieve: CMU Sieve 2.2 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mail.boston.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id l4ADp1qe026736 for ; Thu, 10 May 2007 09:51:02 -0400 Received: from pobox.surrey.redhat.com (pobox.fab.redhat.com [10.33.63.12]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id l4ADp0QD008008 for ; Thu, 10 May 2007 09:51:00 -0400 Received: from [172.31.0.3] (vpn-14-64.rdu.redhat.com [10.11.14.64]) by pobox.surrey.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id l4ADovaP019670 for ; Thu, 10 May 2007 14:50:58 +0100 Subject: GFS2 update patch for FC6 From: Steven Whitehouse To: Chuck Ebbert Content-Type: text/plain Organization: Red Hat (UK) Ltd (Registered in England and Wales, No. 3798903) Registered office: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 ITE Date: Thu, 10 May 2007 14:50:15 +0100 Message-Id: <1178805015.7476.60.camel at quoit> Mime-Version: 1.0 X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) Content-Transfer-Encoding: 7bit Hi, Please find enclosed an update patch for GFS2 in FC6. You should be able to apply it directly after the existing GFS2 patches, Steve. -------------------------------------------------------------------------------------- From: Robert Peterson Date: Mon, 30 Apr 2007 22:09:48 +0000 (-0700) Subject: Extend print_symbol capability X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=42e380832a6911c8a3173ee0172fbc0e4864d80b Extend print_symbol capability Today's print_symbol function dumps a kernel symbol with printk. This patch extends the functionality of kallsyms.c so that the symbol lookup function may be used without the printk. This is useful for modules that want to dump symbols elsewhere, for example, to debugfs. I intend to use the new function call in the GFS2 file system (which will be a separate patch). [akpm at linux-foundation.org: build fix] [clameter at sgi.com: sprint_symbol should return length of string like sprintf] Signed-off-by: Robert Peterson Cc: Rusty Russell Cc: Roman Zippel Cc: "Randy.Dunlap" Cc: Sam Ravnborg Acked-by: Paulo Marques Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index 1cebcbc..3e3b92d 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h @@ -7,6 +7,8 @@ #define KSYM_NAME_LEN 127 +#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + KSYM_NAME_LEN + \ + 2*(BITS_PER_LONG*3/10) + MODULE_NAME_LEN + 1) #ifdef CONFIG_KALLSYMS /* Lookup the address for a symbol. Returns 0 if not found. */ @@ -22,7 +24,10 @@ const char *kallsyms_lookup(unsigned long addr, unsigned long *offset, char **modname, char *namebuf); -/* Replace "%s" in format with address, if found */ +/* Look up a kernel symbol and return it in a text buffer. */ +extern int sprint_symbol(char *buffer, unsigned long address); + +/* Look up a kernel symbol and print it to the kernel messages. */ extern void __print_symbol(const char *fmt, unsigned long address); #else /* !CONFIG_KALLSYMS */ @@ -47,6 +52,12 @@ static inline const char *kallsyms_lookup(unsigned long addr, return NULL; } +static inline int sprint_symbol(char *buffer, unsigned long addr) +{ + *buffer = '\0'; + return 0; +} + /* Stupid that this does nothing, but I didn't create this mess. */ #define __print_symbol(fmt, addr) #endif /*CONFIG_KALLSYMS*/ diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 6f294ff..5a0de84 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -267,27 +267,33 @@ const char *kallsyms_lookup(unsigned long addr, return NULL; } -/* Replace "%s" in format with address, or returns -errno. */ -void __print_symbol(const char *fmt, unsigned long address) +/* Look up a kernel symbol and return it in a text buffer. */ +int sprint_symbol(char *buffer, unsigned long address) { char *modname; const char *name; unsigned long offset, size; char namebuf[KSYM_NAME_LEN+1]; - char buffer[sizeof("%s+%#lx/%#lx [%s]") + KSYM_NAME_LEN + - 2*(BITS_PER_LONG*3/10) + MODULE_NAME_LEN + 1]; name = kallsyms_lookup(address, &size, &offset, &modname, namebuf); - if (!name) - sprintf(buffer, "0x%lx", address); + return sprintf(buffer, "0x%lx", address); else { if (modname) - sprintf(buffer, "%s+%#lx/%#lx [%s]", name, offset, + return sprintf(buffer, "%s+%#lx/%#lx [%s]", name, offset, size, modname); else - sprintf(buffer, "%s+%#lx/%#lx", name, offset, size); + return sprintf(buffer, "%s+%#lx/%#lx", name, offset, size); } +} + +/* Look up a kernel symbol and print it to the kernel messages. */ +void __print_symbol(const char *fmt, unsigned long address) +{ + char buffer[KSYM_SYMBOL_LEN]; + + sprint_symbol(buffer, address); + printk(fmt, buffer); } @@ -452,3 +458,4 @@ static int __init kallsyms_init(void) __initcall(kallsyms_init); EXPORT_SYMBOL(__print_symbol); +EXPORT_SYMBOL_GPL(sprint_symbol); >From 7a0079d9e3fe8826475a08785f3d348c4b509774 Mon Sep 17 00:00:00 2001 From: Robert Peterson Date: Tue, 17 Apr 2007 11:37:11 -0500 Subject: [PATCH] [GFS2] bz 236008: Kernel gpf doing cat /debugfs/gfs2/xxx (lock dump) This is for Bugzilla Bug 236008: Kernel gpf doing cat /debugfs/gfs2/xxx (lock dump) seen at the "gfs2 summit". This also fixes the bug that caused garbage to be printed by the "initialized at" field. I apologize for the kludge, but that code will all be ripped out anyway when the official sprint_symbol function becomes available in the Linux kernel. I also changed some formatting so that spaces are replaced by proper tabs. Signed-off-by: Robert Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index d2e3094..b075f93 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1765,15 +1765,20 @@ static void gfs2_print_symbol(struct glock_iter *gi, const char *fmt, { /* when sprint_symbol becomes available in the new kernel, replace this */ /* function with: - char buffer[KSYM_SYMBOL_LEN]; + char buffer[KSYM_SYMBOL_LEN]; - sprint_symbol(buffer, address); - print_dbg(gi, fmt, buffer); + sprint_symbol(buffer, address); + print_dbg(gi, fmt, buffer); */ - if (gi) - print_dbg(gi, fmt, address); - else - print_symbol(fmt, address); + char buffer[256]; + + if (gi) { + memset(buffer, 0, sizeof(buffer)); + sprintf(buffer, "%p", address); + print_dbg(gi, fmt, buffer); + } + else + print_symbol(fmt, address); } /** @@ -1993,14 +1998,19 @@ int __init gfs2_glock_init(void) static int gfs2_glock_iter_next(struct glock_iter *gi) { + read_lock(gl_lock_addr(gi->hash)); while (1) { if (!gi->hb_list) { /* If we don't have a hash bucket yet */ gi->hb_list = &gl_hash_table[gi->hash].hb_list; if (hlist_empty(gi->hb_list)) { + read_unlock(gl_lock_addr(gi->hash)); gi->hash++; + read_lock(gl_lock_addr(gi->hash)); gi->hb_list = NULL; - if (gi->hash >= GFS2_GL_HASH_SIZE) + if (gi->hash >= GFS2_GL_HASH_SIZE) { + read_unlock(gl_lock_addr(gi->hash)); return 1; + } else continue; } @@ -2011,7 +2021,9 @@ static int gfs2_glock_iter_next(struct glock_iter *gi) } } else { if (gi->gl->gl_list.next == NULL) { + read_unlock(gl_lock_addr(gi->hash)); gi->hash++; + read_lock(gl_lock_addr(gi->hash)); gi->hb_list = NULL; continue; } @@ -2021,6 +2033,7 @@ static int gfs2_glock_iter_next(struct glock_iter *gi) if (gi->gl) break; } + read_unlock(gl_lock_addr(gi->hash)); return 0; } -- 1.5.1.2 >From bdd19a22f85a7039e01accd8717eaec4addd9dfd Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Wed, 18 Apr 2007 09:38:42 +0100 Subject: [PATCH] [GFS2] Patch to detect corrupt number of dir entries in leaf and/or inode blocks This patch detects when the number of entries in a leaf block or inode block (in the case of stuffed directories) is corrupt and informs the user. It prevents us from running off the end of the array thats been allocated for the sorting in this case, Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index 82a1ac7..6c3ed76 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c @@ -1262,9 +1262,10 @@ static int gfs2_dir_read_leaf(struct inode *inode, u64 *offset, void *opaque, u64 leaf_no) { struct gfs2_inode *ip = GFS2_I(inode); + struct gfs2_sbd *sdp = GFS2_SB(inode); struct buffer_head *bh; struct gfs2_leaf *lf; - unsigned entries = 0; + unsigned entries = 0, entries2 = 0; unsigned leaves = 0; const struct gfs2_dirent **darr, *dent; struct dirent_gather g; @@ -1290,7 +1291,13 @@ static int gfs2_dir_read_leaf(struct inode *inode, u64 *offset, void *opaque, return 0; error = -ENOMEM; - larr = vmalloc((leaves + entries) * sizeof(void *)); + /* + * The extra 99 entries are not normally used, but are a buffer + * zone in case the number of entries in the leaf is corrupt. + * 99 is the maximum number of entries that can fit in a single + * leaf block. + */ + larr = vmalloc((leaves + entries + 99) * sizeof(void *)); if (!larr) goto out; darr = (const struct gfs2_dirent **)(larr + leaves); @@ -1305,10 +1312,18 @@ static int gfs2_dir_read_leaf(struct inode *inode, u64 *offset, void *opaque, lf = (struct gfs2_leaf *)bh->b_data; lfn = be64_to_cpu(lf->lf_next); if (lf->lf_entries) { + entries2 += be16_to_cpu(lf->lf_entries); dent = gfs2_dirent_scan(inode, bh->b_data, bh->b_size, gfs2_dirent_gather, NULL, &g); error = PTR_ERR(dent); - if (IS_ERR(dent)) { + if (IS_ERR(dent)) + goto out_kfree; + if (entries2 != g.offset) { + fs_warn(sdp, "Number of entries corrupt in dir leaf %llu, " + "entries2 (%u) != g.offset (%u)\n", + (u64)bh->b_blocknr, entries2, g.offset); + + error = -EIO; goto out_kfree; } error = 0; @@ -1318,6 +1333,7 @@ static int gfs2_dir_read_leaf(struct inode *inode, u64 *offset, void *opaque, } } while(lfn); + BUG_ON(entries2 != entries); error = do_filldir_main(ip, offset, opaque, filldir, darr, entries, copied); out_kfree: @@ -1401,6 +1417,7 @@ int gfs2_dir_read(struct inode *inode, u64 *offset, void *opaque, filldir_t filldir) { struct gfs2_inode *dip = GFS2_I(inode); + struct gfs2_sbd *sdp = GFS2_SB(inode); struct dirent_gather g; const struct gfs2_dirent **darr, *dent; struct buffer_head *dibh; @@ -1423,8 +1440,8 @@ int gfs2_dir_read(struct inode *inode, u64 *offset, void *opaque, return error; error = -ENOMEM; - darr = kmalloc(dip->i_di.di_entries * sizeof(struct gfs2_dirent *), - GFP_KERNEL); + /* 96 is max number of dirents which can be stuffed into an inode */ + darr = kmalloc(96 * sizeof(struct gfs2_dirent *), GFP_KERNEL); if (darr) { g.pdent = darr; g.offset = 0; @@ -1434,6 +1451,14 @@ int gfs2_dir_read(struct inode *inode, u64 *offset, void *opaque, error = PTR_ERR(dent); goto out; } + if (dip->i_di.di_entries != g.offset) { + fs_warn(sdp, "Number of entries corrupt in dir %llu, " + "ip->i_di.di_entries (%u) != g.offset (%u)\n", + dip->i_num.no_addr, dip->i_di.di_entries, + g.offset); + error = -EIO; + goto out; + } error = do_filldir_main(dip, offset, opaque, filldir, darr, dip->i_di.di_entries, &copied); out: -- 1.5.1.2 >From 5f8820960cf4fb621483d4a37c24939ad831bfe7 Mon Sep 17 00:00:00 2001 From: Robert Peterson Date: Wed, 18 Apr 2007 11:41:11 -0500 Subject: [PATCH] [GFS2] lockdump improvements The patch below consists of the following changes (in code order): 1. I fixed a minor compiler warning regarding the printing of a kernel symbol address. 2. I implemented a suggestion from Dave Teigland that moves the debugfs information for gfs2 into a subdirectory so we can easily expand our use of debugfs in the future. The current code keeps the glock information in: /debug/gfs2/ With the patch, the new code keeps the glock information in: /debug/gfs2//glock That will allow us to create more debugfs files in the future. 3. This fixes a bug whereby a failed mount attempt causes the debugfs file to not be deleted. Failed mount attempts should always clean up after themselves, including deleting the debugfs file and/or directory. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index b075f93..7988715 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1774,7 +1774,7 @@ static void gfs2_print_symbol(struct glock_iter *gi, const char *fmt, if (gi) { memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, "%p", address); + sprintf(buffer, "0x%08lx", address); print_dbg(gi, fmt, buffer); } else @@ -2146,11 +2146,14 @@ static const struct file_operations gfs2_debug_fops = { int gfs2_create_debugfs_file(struct gfs2_sbd *sdp) { - sdp->debugfs_dentry = debugfs_create_file(sdp->sd_table_name, - S_IFREG | S_IRUGO, - gfs2_root, sdp, - &gfs2_debug_fops); - if (!sdp->debugfs_dentry) + sdp->debugfs_dir = debugfs_create_dir(sdp->sd_table_name, gfs2_root); + if (!sdp->debugfs_dir) + return -ENOMEM; + sdp->debugfs_dentry_glocks = debugfs_create_file("glocks", + S_IFREG | S_IRUGO, + sdp->debugfs_dir, sdp, + &gfs2_debug_fops); + if (!sdp->debugfs_dentry_glocks) return -ENOMEM; return 0; @@ -2158,8 +2161,14 @@ int gfs2_create_debugfs_file(struct gfs2_sbd *sdp) void gfs2_delete_debugfs_file(struct gfs2_sbd *sdp) { - if (sdp && sdp->debugfs_dentry) - debugfs_remove(sdp->debugfs_dentry); + if (sdp && sdp->debugfs_dir) { + if (sdp->debugfs_dentry_glocks) { + debugfs_remove(sdp->debugfs_dentry_glocks); + sdp->debugfs_dentry_glocks = NULL; + } + debugfs_remove(sdp->debugfs_dir); + sdp->debugfs_dir = NULL; + } } int gfs2_register_debugfs(void) @@ -2171,4 +2180,5 @@ int gfs2_register_debugfs(void) void gfs2_unregister_debugfs(void) { debugfs_remove(gfs2_root); + gfs2_root = NULL; } diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index fdf0470..d995441 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -609,7 +609,8 @@ struct gfs2_sbd { unsigned long sd_last_warning; struct vfsmount *sd_gfs2mnt; - struct dentry *debugfs_dentry; /* for debugfs */ + struct dentry *debugfs_dir; /* debugfs directory */ + struct dentry *debugfs_dentry_glocks; /* for debugfs */ }; #endif /* __INCORE_DOT_H__ */ diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index ecb8b18..2c5f8e7 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -756,6 +756,7 @@ fail_lm: fail_sys: gfs2_sys_fs_del(sdp); fail: + gfs2_delete_debugfs_file(sdp); kfree(sdp); sb->s_fs_info = NULL; return error; -- 1.5.1.2 >From 476c006be009d4121e401a9e9f49a3362a7a272f Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Mon, 23 Apr 2007 11:55:39 -0400 Subject: [PATCH] [GFS2] use lib/parser for parsing mount options This patch converts the mount option parsing to use the kernels lib/parser stuff like all of the other filesystems. I tested this and it works well. Thank you, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/mount.c b/fs/gfs2/mount.c index 32caecd..4864659 100644 --- a/fs/gfs2/mount.c +++ b/fs/gfs2/mount.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "gfs2.h" #include "incore.h" @@ -20,6 +21,52 @@ #include "sys.h" #include "util.h" +enum { + Opt_lockproto, + Opt_locktable, + Opt_hostdata, + Opt_spectator, + Opt_ignore_local_fs, + Opt_localflocks, + Opt_localcaching, + Opt_debug, + Opt_nodebug, + Opt_upgrade, + Opt_num_glockd, + Opt_acl, + Opt_noacl, + Opt_quota_off, + Opt_quota_account, + Opt_quota_on, + Opt_suiddir, + Opt_nosuiddir, + Opt_data_writeback, + Opt_data_ordered, +}; + +static match_table_t tokens = { + {Opt_lockproto, "lockproto=%s"}, + {Opt_locktable, "locktable=%s"}, + {Opt_hostdata, "hostdata=%s"}, + {Opt_spectator, "spectator"}, + {Opt_ignore_local_fs, "ignore_local_fs"}, + {Opt_localflocks, "localflocks"}, + {Opt_localcaching, "localcaching"}, + {Opt_debug, "debug"}, + {Opt_nodebug, "nodebug"}, + {Opt_upgrade, "upgrade"}, + {Opt_num_glockd, "num_glockd=%d"}, + {Opt_acl, "acl"}, + {Opt_noacl, "noacl"}, + {Opt_quota_off, "quota=off"}, + {Opt_quota_account, "quota=account"}, + {Opt_quota_on, "quota=on"}, + {Opt_suiddir, "suiddir"}, + {Opt_nosuiddir, "nosuiddir"}, + {Opt_data_writeback, "data=writeback"}, + {Opt_data_ordered, "data=ordered"} +}; + /** * gfs2_mount_args - Parse mount options * @sdp: @@ -54,146 +101,150 @@ int gfs2_mount_args(struct gfs2_sbd *sdp, char *data_arg, int remount) process them */ for (options = data; (o = strsep(&options, ",")); ) { + int token, option; + substring_t tmp[MAX_OPT_ARGS]; + if (!*o) continue; - v = strchr(o, '='); - if (v) - *v++ = 0; + token = match_token(o, tokens, tmp); + switch (token) { + case Opt_lockproto: + v = match_strdup(&tmp[0]); + if (!v) { + fs_info(sdp, "no memory for lockproto\n"); + error = -ENOMEM; + goto out_error; + } - if (!strcmp(o, "lockproto")) { - if (!v) - goto need_value; - if (remount && strcmp(v, args->ar_lockproto)) + if (remount && strcmp(v, args->ar_lockproto)) { + kfree(v); goto cant_remount; + } + strncpy(args->ar_lockproto, v, GFS2_LOCKNAME_LEN); args->ar_lockproto[GFS2_LOCKNAME_LEN - 1] = 0; - } + kfree(v); + break; + case Opt_locktable: + v = match_strdup(&tmp[0]); + if (!v) { + fs_info(sdp, "no memory for locktable\n"); + error = -ENOMEM; + goto out_error; + } - else if (!strcmp(o, "locktable")) { - if (!v) - goto need_value; - if (remount && strcmp(v, args->ar_locktable)) + if (remount && strcmp(v, args->ar_locktable)) { + kfree(v); goto cant_remount; + } + strncpy(args->ar_locktable, v, GFS2_LOCKNAME_LEN); - args->ar_locktable[GFS2_LOCKNAME_LEN - 1] = 0; - } + args->ar_locktable[GFS2_LOCKNAME_LEN - 1] = 0; + kfree(v); + break; + case Opt_hostdata: + v = match_strdup(&tmp[0]); + if (!v) { + fs_info(sdp, "no memory for hostdata\n"); + error = -ENOMEM; + goto out_error; + } - else if (!strcmp(o, "hostdata")) { - if (!v) - goto need_value; - if (remount && strcmp(v, args->ar_hostdata)) + if (remount && strcmp(v, args->ar_hostdata)) { + kfree(v); goto cant_remount; + } + strncpy(args->ar_hostdata, v, GFS2_LOCKNAME_LEN); args->ar_hostdata[GFS2_LOCKNAME_LEN - 1] = 0; - } - - else if (!strcmp(o, "spectator")) { + kfree(v); + break; + case Opt_spectator: if (remount && !args->ar_spectator) goto cant_remount; args->ar_spectator = 1; sdp->sd_vfs->s_flags |= MS_RDONLY; - } - - else if (!strcmp(o, "ignore_local_fs")) { + break; + case Opt_ignore_local_fs: if (remount && !args->ar_ignore_local_fs) goto cant_remount; args->ar_ignore_local_fs = 1; - } - - else if (!strcmp(o, "localflocks")) { + break; + case Opt_localflocks: if (remount && !args->ar_localflocks) goto cant_remount; args->ar_localflocks = 1; - } - - else if (!strcmp(o, "localcaching")) { + break; + case Opt_localcaching: if (remount && !args->ar_localcaching) goto cant_remount; args->ar_localcaching = 1; - } - - else if (!strcmp(o, "debug")) + break; + case Opt_debug: args->ar_debug = 1; - - else if (!strcmp(o, "nodebug")) + break; + case Opt_nodebug: args->ar_debug = 0; - - else if (!strcmp(o, "upgrade")) { + break; + case Opt_upgrade: if (remount && !args->ar_upgrade) goto cant_remount; args->ar_upgrade = 1; - } + break; + case Opt_num_glockd: + if ((error = match_int(&tmp[0], &option))) { + fs_info(sdp, "problem getting num_glockd\n"); + goto out_error; + } - else if (!strcmp(o, "num_glockd")) { - unsigned int x; - if (!v) - goto need_value; - sscanf(v, "%u", &x); - if (remount && x != args->ar_num_glockd) + if (remount && option != args->ar_num_glockd) goto cant_remount; - if (!x || x > GFS2_GLOCKD_MAX) { + if (!option || option > GFS2_GLOCKD_MAX) { fs_info(sdp, "0 < num_glockd <= %u (not %u)\n", - GFS2_GLOCKD_MAX, x); + GFS2_GLOCKD_MAX, option); error = -EINVAL; - break; + goto out_error; } - args->ar_num_glockd = x; - } - - else if (!strcmp(o, "acl")) { + args->ar_num_glockd = option; + break; + case Opt_acl: args->ar_posix_acl = 1; sdp->sd_vfs->s_flags |= MS_POSIXACL; - } - - else if (!strcmp(o, "noacl")) { + break; + case Opt_noacl: args->ar_posix_acl = 0; sdp->sd_vfs->s_flags &= ~MS_POSIXACL; - } - - else if (!strcmp(o, "quota")) { - if (!v) - goto need_value; - if (!strcmp(v, "off")) - args->ar_quota = GFS2_QUOTA_OFF; - else if (!strcmp(v, "account")) - args->ar_quota = GFS2_QUOTA_ACCOUNT; - else if (!strcmp(v, "on")) - args->ar_quota = GFS2_QUOTA_ON; - else { - fs_info(sdp, "invalid value for quota\n"); - error = -EINVAL; - break; - } - } - - else if (!strcmp(o, "suiddir")) + break; + case Opt_quota_off: + args->ar_quota = GFS2_QUOTA_OFF; + break; + case Opt_quota_account: + args->ar_quota = GFS2_QUOTA_ACCOUNT; + break; + case Opt_quota_on: + args->ar_quota = GFS2_QUOTA_ON; + break; + case Opt_suiddir: args->ar_suiddir = 1; - - else if (!strcmp(o, "nosuiddir")) + break; + case Opt_nosuiddir: args->ar_suiddir = 0; - - else if (!strcmp(o, "data")) { - if (!v) - goto need_value; - if (!strcmp(v, "writeback")) - args->ar_data = GFS2_DATA_WRITEBACK; - else if (!strcmp(v, "ordered")) - args->ar_data = GFS2_DATA_ORDERED; - else { - fs_info(sdp, "invalid value for data\n"); - error = -EINVAL; - break; - } - } - - else { + break; + case Opt_data_writeback: + args->ar_data = GFS2_DATA_WRITEBACK; + break; + case Opt_data_ordered: + args->ar_data = GFS2_DATA_ORDERED; + break; + default: fs_info(sdp, "unknown option: %s\n", o); error = -EINVAL; - break; + goto out_error; } } +out_error: if (error) fs_info(sdp, "invalid mount option(s)\n"); @@ -202,10 +253,6 @@ int gfs2_mount_args(struct gfs2_sbd *sdp, char *data_arg, int remount) return error; -need_value: - fs_info(sdp, "need value for option %s\n", o); - return -EINVAL; - cant_remount: fs_info(sdp, "can't remount with option %s\n", o); return -EINVAL; -- 1.5.1.2 >From bf126aee6d54fe1e509846abf3b27aba84c6d7ce Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Fri, 20 Apr 2007 09:18:30 +0100 Subject: [PATCH] [GFS2] Patch to fix mmap of stuffed files If a stuffed file is mmaped and a page fault is generated at some offset above the initial page, we need to create a zero page to hang the buffer heads off before we can unstuff the file. This is a fix for bz #236087 Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c index 90c2879..30c1562 100644 --- a/fs/gfs2/ops_address.c +++ b/fs/gfs2/ops_address.c @@ -197,7 +197,19 @@ static int stuffed_readpage(struct gfs2_inode *ip, struct page *page) void *kaddr; int error; - BUG_ON(page->index); + /* + * Due to the order of unstuffing files and ->nopage(), we can be + * asked for a zero page in the case of a stuffed file being extended, + * so we need to supply one here. It doesn't happen often. + */ + if (unlikely(page->index)) { + kaddr = kmap_atomic(page, KM_USER0); + memset(kaddr, 0, PAGE_CACHE_SIZE); + kunmap_atomic(kaddr, KM_USER0); + flush_dcache_page(page); + SetPageUptodate(page); + return 0; + } error = gfs2_meta_inode_buffer(ip, &dibh); if (error) @@ -208,9 +220,8 @@ static int stuffed_readpage(struct gfs2_inode *ip, struct page *page) ip->i_di.di_size); memset(kaddr + ip->i_di.di_size, 0, PAGE_CACHE_SIZE - ip->i_di.di_size); kunmap_atomic(kaddr, KM_USER0); - + flush_dcache_page(page); brelse(dibh); - SetPageUptodate(page); return 0; -- 1.5.1.2 >From f391a4ead61e4510ff385815ddaf3c0777fbad1b Mon Sep 17 00:00:00 2001 From: akpm at linux-foundation.org Date: Wed, 25 Apr 2007 21:08:02 -0700 Subject: [PATCH] [GFS2] printk warning fixes alpha: fs/gfs2/dir.c: In function 'gfs2_dir_read_leaf': fs/gfs2/dir.c:1322: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'sector_t' fs/gfs2/dir.c: In function 'gfs2_dir_read': fs/gfs2/dir.c:1455: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type '__u64' Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index 6c3ed76..a96fa07 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c @@ -1319,9 +1319,11 @@ static int gfs2_dir_read_leaf(struct inode *inode, u64 *offset, void *opaque, if (IS_ERR(dent)) goto out_kfree; if (entries2 != g.offset) { - fs_warn(sdp, "Number of entries corrupt in dir leaf %llu, " - "entries2 (%u) != g.offset (%u)\n", - (u64)bh->b_blocknr, entries2, g.offset); + fs_warn(sdp, "Number of entries corrupt in dir " + "leaf %llu, entries2 (%u) != " + "g.offset (%u)\n", + (unsigned long long)bh->b_blocknr, + entries2, g.offset); error = -EIO; goto out_kfree; @@ -1454,7 +1456,8 @@ int gfs2_dir_read(struct inode *inode, u64 *offset, void *opaque, if (dip->i_di.di_entries != g.offset) { fs_warn(sdp, "Number of entries corrupt in dir %llu, " "ip->i_di.di_entries (%u) != g.offset (%u)\n", - dip->i_num.no_addr, dip->i_di.di_entries, + (unsigned long long)dip->i_num.no_addr, + dip->i_di.di_entries, g.offset); error = -EIO; goto out; -- 1.5.1.2 >From 37fde8ca6c60ea61f5e9d7cb877c25ac60e74167 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 1 May 2007 09:51:39 +0100 Subject: [PATCH] [GFS2] Uncomment sprintf_symbol calling code Now that the patch from -mm has gone upstream, we can uncomment the code in GFS2 which uses sprintf_symbol. Signed-off-by: Steven Whitehouse Cc: Robert Peterson diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 7988715..1815429 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1763,22 +1763,10 @@ void gfs2_gl_hash_clear(struct gfs2_sbd *sdp, int wait) static void gfs2_print_symbol(struct glock_iter *gi, const char *fmt, unsigned long address) { -/* when sprint_symbol becomes available in the new kernel, replace this */ -/* function with: char buffer[KSYM_SYMBOL_LEN]; sprint_symbol(buffer, address); print_dbg(gi, fmt, buffer); -*/ - char buffer[256]; - - if (gi) { - memset(buffer, 0, sizeof(buffer)); - sprintf(buffer, "0x%08lx", address); - print_dbg(gi, fmt, buffer); - } - else - print_symbol(fmt, address); } /** -- 1.5.1.2 >From 50953fe9e00ebbeffa032a565ab2f08312d51a87 Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Sun, 6 May 2007 14:50:16 -0700 Subject: [PATCH] slab allocators: Remove SLAB_DEBUG_INITIAL flag I have never seen a use of SLAB_DEBUG_INITIAL. It is only supported by SLAB. I think its purpose was to have a callback after an object has been freed to verify that the state is the constructor state again? The callback is performed before each freeing of an object. I would think that it is much easier to check the object state manually before the free. That also places the check near the code object manipulation of the object. Also the SLAB_DEBUG_INITIAL callback is only performed if the kernel was compiled with SLAB debugging on. If there would be code in a constructor handling SLAB_DEBUG_INITIAL then it would have to be conditional on SLAB_DEBUG otherwise it would just be dead code. But there is no such code in the kernel. I think SLUB_DEBUG_INITIAL is too problematic to make real use of, difficult to understand and there are easier ways to accomplish the same effect (i.e. add debug code before kfree). There is a related flag SLAB_CTOR_VERIFY that is frequently checked to be clear in fs inode caches. Remove the pointless checks (they would even be pointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors. This is the last slab flag that SLUB did not support. Remove the check for unimplemented flags from SLUB. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c index 6e8a598..e2bffae 100644 --- a/fs/gfs2/main.c +++ b/fs/gfs2/main.c @@ -27,8 +27,7 @@ static void gfs2_init_inode_once(void *foo, struct kmem_cache *cachep, unsigned long flags) { struct gfs2_inode *ip = foo; - if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) == - SLAB_CTOR_CONSTRUCTOR) { + if (flags & SLAB_CTOR_CONSTRUCTOR) { inode_init_once(&ip->i_inode); spin_lock_init(&ip->i_spin); init_rwsem(&ip->i_rw_mutex); @@ -39,8 +38,7 @@ static void gfs2_init_inode_once(void *foo, struct kmem_cache *cachep, unsigned static void gfs2_init_glock_once(void *foo, struct kmem_cache *cachep, unsigned long flags) { struct gfs2_glock *gl = foo; - if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) == - SLAB_CTOR_CONSTRUCTOR) { + if (flags & SLAB_CTOR_CONSTRUCTOR) { INIT_HLIST_NODE(&gl->gl_list); spin_lock_init(&gl->gl_spin); INIT_LIST_HEAD(&gl->gl_holders); -- 1.5.1.2 >From 14dc6b21317dcfd315f28035a7edb0a749db0e80 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Wed, 2 May 2007 09:44:03 -0500 Subject: [PATCH] [GFS2] flush the glock completely in inode_go_sync Fix for bz #231910 When filemap_fdatawrite() is called on the inode mapping in data=ordered mode, it will add the glock to the log. In inode_go_sync(), if you do the gfs2_log_flush() before this, after the filemap_fdatawrite() call, the glock and its associated data buffers will be on the log again. This means you can demote a lock from exclusive, without having it flushed from the log. The attached patch simply moves the gfs2_log_flush up to after the filemap_fdatawrite() call. Originally, I tried moving the gfs2_log_flush to after gfs2_meta_sync(), but that caused me to trip the following assert. GFS2: fsid=cypher-36:test.0: fatal: assertion "!buffer_busy(bh)" failed GFS2: fsid=cypher-36:test.0: function = gfs2_ail_empty_gl, file = fs/gfs2/glops.c, line = 61 It appears that gfs2_log_flush() puts some of the glocks buffers in the busy state and the filemap_fdatawrite() call is necessary to flush them. This makes me worry slightly that a related problem could happen because of moving the gfs2_log_flush() after the initial filemap_fdatawrite(), but I assume that gfs2_ail_empty_gl() would catch that case as well. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index 39c8ae2..23b0f3c 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c @@ -156,9 +156,9 @@ static void inode_go_sync(struct gfs2_glock *gl) ip = NULL; if (test_bit(GLF_DIRTY, &gl->gl_flags)) { - gfs2_log_flush(gl->gl_sbd, gl); if (ip) filemap_fdatawrite(ip->i_inode.i_mapping); + gfs2_log_flush(gl->gl_sbd, gl); gfs2_meta_sync(gl); if (ip) { struct address_space *mapping = ip->i_inode.i_mapping; -- 1.5.1.2 >From 043c795fbcf34c625e83b909b6b80e67a0c157c3 Mon Sep 17 00:00:00 2001 From: Robert Peterson Date: Wed, 9 May 2007 09:37:57 -0500 Subject: [PATCH] [GFS2] kernel changes to support new gfs2_grow command This is another revision of my gfs2 kernel patch that allows gfs2_grow to function properly. Steve Whitehouse expressed some concerns about the previous patch and I restructured it based on his comments. The previous patch was doing the statfs_change at file close time, under its own transaction. The current patch does the statfs_change inside the gfs2_commit_write function, which keeps it under the umbrella of the inode transaction. I can't call ri_update to re-read the rindex file during the transaction because the transaction may have outstanding unwritten buffers attached to the rgrps that would be otherwise blown away. So instead, I created a new function, gfs2_ri_total, that will re-read the rindex file just to total the file system space for the sake of the statfs_change. The ri_update will happen later, when gfs2 realizes the version number has changed, as it happened before my patch. Since the statfs_change is happening at write_commit time and there may be multiple writes to the rindex file for one grow operation. So one consequence of this restructuring is that instead of getting one kernel message to indicate the change, you may see several. For example, before when you did a gfs2_grow, you'd get a single message like: GFS2: File system extended by 247876 blocks (968MB) Now you get something like: GFS2: File system extended by 207896 blocks (812MB) GFS2: File system extended by 39980 blocks (156MB) This version has also been successfully run against the hours-long "gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck while interjecting file system damage. It does this repeatedly under a variety Resource Group conditions. Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c index 30c1562..846c0ff 100644 --- a/fs/gfs2/ops_address.c +++ b/fs/gfs2/ops_address.c @@ -1,6 +1,6 @@ /* * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. - * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. + * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions @@ -450,6 +450,30 @@ out_uninit: } /** + * adjust_fs_space - Adjusts the free space available due to gfs2_grow + * @inode: the rindex inode + */ +static void adjust_fs_space(struct inode *inode) +{ + struct gfs2_sbd *sdp = inode->i_sb->s_fs_info; + struct gfs2_statfs_change_host *m_sc = &sdp->sd_statfs_master; + struct gfs2_statfs_change_host *l_sc = &sdp->sd_statfs_local; + u64 fs_total, new_free; + + /* Total up the file system space, according to the latest rindex. */ + fs_total = gfs2_ri_total(sdp); + + spin_lock(&sdp->sd_statfs_spin); + if (fs_total > (m_sc->sc_total + l_sc->sc_total)) + new_free = fs_total - (m_sc->sc_total + l_sc->sc_total); + else + new_free = 0; + spin_unlock(&sdp->sd_statfs_spin); + fs_warn(sdp, "File system extended by %llu blocks.\n", new_free); + gfs2_statfs_change(sdp, new_free, new_free, 0); +} + +/** * gfs2_commit_write - Commit write to a file * @file: The file to write to * @page: The page containing the data @@ -511,6 +535,9 @@ static int gfs2_commit_write(struct file *file, struct page *page, di->di_size = cpu_to_be64(inode->i_size); } + if (inode == sdp->sd_rindex) + adjust_fs_space(inode); + brelse(dibh); gfs2_trans_end(sdp); if (al->al_requested) { diff --git a/fs/gfs2/ops_address.h b/fs/gfs2/ops_address.h index 35aaee4..56c30da 100644 --- a/fs/gfs2/ops_address.h +++ b/fs/gfs2/ops_address.h @@ -1,6 +1,6 @@ /* * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. - * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. + * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions @@ -18,5 +18,8 @@ extern const struct address_space_operations gfs2_file_aops; extern int gfs2_get_block(struct inode *inode, sector_t lblock, struct buffer_head *bh_result, int create); extern int gfs2_releasepage(struct page *page, gfp_t gfp_mask); +extern u64 gfs2_ri_total(struct gfs2_sbd *sdp); +extern void gfs2_statfs_change(struct gfs2_sbd *sdp, s64 total, s64 free, + s64 dinodes); #endif /* __OPS_ADDRESS_DOT_H__ */ diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 1727f50..e857f40 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1,6 +1,6 @@ /* * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. - * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. + * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions @@ -431,6 +431,38 @@ static int compute_bitstructs(struct gfs2_rgrpd *rgd) } /** + * gfs2_ri_total - Total up the file system space, according to the rindex. + * + */ +u64 gfs2_ri_total(struct gfs2_sbd *sdp) +{ + u64 total_data = 0; + struct inode *inode = sdp->sd_rindex; + struct gfs2_inode *ip = GFS2_I(inode); + struct gfs2_rindex_host ri; + char buf[sizeof(struct gfs2_rindex)]; + struct file_ra_state ra_state; + int error, rgrps; + + mutex_lock(&sdp->sd_rindex_mutex); + file_ra_state_init(&ra_state, inode->i_mapping); + for (rgrps = 0;; rgrps++) { + loff_t pos = rgrps * sizeof(struct gfs2_rindex); + + if (pos + sizeof(struct gfs2_rindex) >= ip->i_di.di_size) + break; + error = gfs2_internal_read(ip, &ra_state, buf, &pos, + sizeof(struct gfs2_rindex)); + if (error != sizeof(struct gfs2_rindex)) + break; + gfs2_rindex_in(&ri, buf); + total_data += ri.ri_data; + } + mutex_unlock(&sdp->sd_rindex_mutex); + return total_data; +} + +/** * gfs2_ri_update - Pull in a new resource index from the disk * @gl: The glock covering the rindex inode * @@ -447,7 +479,12 @@ static int gfs2_ri_update(struct gfs2_inode *ip) u64 junk = ip->i_di.di_size; int error; - if (do_div(junk, sizeof(struct gfs2_rindex))) { + /* If someone is holding the rindex file with a glock, they must + be updating it, in which case we may have partial entries. + In this case, we ignore the partials. */ + if (!gfs2_glock_is_held_excl(ip->i_gl) && + !gfs2_glock_is_held_shrd(ip->i_gl) && + do_div(junk, sizeof(struct gfs2_rindex))) { gfs2_consist_inode(ip); return -EIO; } @@ -457,6 +494,9 @@ static int gfs2_ri_update(struct gfs2_inode *ip) file_ra_state_init(&ra_state, inode->i_mapping); for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) { loff_t pos = sdp->sd_rgrps * sizeof(struct gfs2_rindex); + + if (pos + sizeof(struct gfs2_rindex) >= ip->i_di.di_size) + break; error = gfs2_internal_read(ip, &ra_state, buf, &pos, sizeof(struct gfs2_rindex)); if (!error) @@ -978,18 +1018,25 @@ int gfs2_inplace_reserve_i(struct gfs2_inode *ip, char *file, unsigned int line) { struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); struct gfs2_alloc *al = &ip->i_alloc; - int error; + int error = 0; if (gfs2_assert_warn(sdp, al->al_requested)) return -EINVAL; - error = gfs2_rindex_hold(sdp, &al->al_ri_gh); + /* We need to hold the rindex unless the inode we're using is + the rindex itself, in which case it's already held. */ + if (ip != GFS2_I(sdp->sd_rindex)) + error = gfs2_rindex_hold(sdp, &al->al_ri_gh); + else if (!sdp->sd_rgrps) /* We may not have the rindex read in, so: */ + error = gfs2_ri_update(ip); + if (error) return error; error = get_local_rgrp(ip); if (error) { - gfs2_glock_dq_uninit(&al->al_ri_gh); + if (ip != GFS2_I(sdp->sd_rindex)) + gfs2_glock_dq_uninit(&al->al_ri_gh); return error; } @@ -1019,7 +1066,8 @@ void gfs2_inplace_release(struct gfs2_inode *ip) al->al_rgd = NULL; gfs2_glock_dq_uninit(&al->al_rgd_gh); - gfs2_glock_dq_uninit(&al->al_ri_gh); + if (ip != GFS2_I(sdp->sd_rindex)) + gfs2_glock_dq_uninit(&al->al_ri_gh); } /** -- 1.5.1.2 linux-2.6-gfs2-update5.patch: b/fs/dlm/debug_fs.c | 9 ++ b/fs/gfs2/bmap.c | 2 b/fs/gfs2/dir.c | 56 ++++++++++++--- b/fs/gfs2/dir.h | 9 +- b/fs/gfs2/glock.c | 7 + b/fs/gfs2/incore.h | 4 - b/fs/gfs2/inode.c | 80 ++++++++-------------- b/fs/gfs2/inode.h | 18 +++-- b/fs/gfs2/locking/dlm/lock.c | 11 ++- b/fs/gfs2/locking/dlm/lock_dlm.h | 2 b/fs/gfs2/locking/dlm/thread.c | 11 ++- b/fs/gfs2/meta_io.h | 2 b/fs/gfs2/ondisk.c | 37 +++------- b/fs/gfs2/ops_address.c | 3 b/fs/gfs2/ops_address.h | 3 b/fs/gfs2/ops_dentry.c | 24 ++---- b/fs/gfs2/ops_export.c | 29 ++++---- b/fs/gfs2/ops_file.c | 4 - b/fs/gfs2/ops_fstype.c | 16 ++-- b/fs/gfs2/ops_inode.c | 20 ++--- b/fs/gfs2/quota.c | 4 - b/fs/gfs2/rgrp.c | 139 +++++++++++++++++++++++++-------------- b/fs/gfs2/rgrp.h | 1 b/fs/gfs2/super.c | 2 b/fs/gfs2/util.c | 4 - b/include/linux/gfs2_ondisk.h | 11 --- fs/gfs2/glock.c | 4 - fs/gfs2/incore.h | 8 -- fs/gfs2/ops_address.c | 5 - fs/gfs2/rgrp.c | 12 +-- include/linux/gfs2_ondisk.h | 8 ++ 31 files changed, 301 insertions(+), 244 deletions(-) --- NEW FILE linux-2.6-gfs2-update5.patch --- >From 6eaa8fe6671a3b33d213123789dcfb504651bf01 Mon Sep 17 00:00:00 2001 From: Robert Peterson Date: Thu, 10 May 2007 16:54:38 -0500 Subject: [PATCH] [GFS2] Kernel changes to support new gfs2_grow command (part 2) To avoid code redundancy, I separated out the operational "guts" into a new function called read_rindex_entry. Then I made two functions: the closer-to-original gfs2_ri_update (without the special condition checks) and gfs2_ri_update_special that's designed with that condition in mind. (I don't like the name, but if you have a suggestion, I'm all ears). Oh, and there's an added benefit: we don't need all the ugly gotos anymore. ;) This patch has been tested with gfs2_fsck_hellfire (which runs for three and a half hours, btw). Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c index 846c0ff..e0b4e8c 100644 --- a/fs/gfs2/ops_address.c +++ b/fs/gfs2/ops_address.c @@ -469,7 +469,8 @@ static void adjust_fs_space(struct inode *inode) else new_free = 0; spin_unlock(&sdp->sd_statfs_spin); - fs_warn(sdp, "File system extended by %llu blocks.\n", new_free); + fs_warn(sdp, "File system extended by %llu blocks.\n", + (unsigned long long)new_free); gfs2_statfs_change(sdp, new_free, new_free, 0); } diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index e857f40..48a6461 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -463,9 +463,62 @@ u64 gfs2_ri_total(struct gfs2_sbd *sdp) } /** - * gfs2_ri_update - Pull in a new resource index from the disk + * read_rindex_entry - Pull in a new resource index entry from the disk * @gl: The glock covering the rindex inode * + * Returns: 0 on success, error code otherwise + */ + +static int read_rindex_entry(struct gfs2_inode *ip, + struct file_ra_state *ra_state) +{ + struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); + loff_t pos = sdp->sd_rgrps * sizeof(struct gfs2_rindex); + char buf[sizeof(struct gfs2_rindex)]; + int error; + struct gfs2_rgrpd *rgd; + + error = gfs2_internal_read(ip, ra_state, buf, &pos, + sizeof(struct gfs2_rindex)); + if (!error) + return 0; + if (error != sizeof(struct gfs2_rindex)) { + if (error > 0) + error = -EIO; + return error; + } + + rgd = kzalloc(sizeof(struct gfs2_rgrpd), GFP_NOFS); + error = -ENOMEM; + if (!rgd) + return error; + + mutex_init(&rgd->rd_mutex); + lops_init_le(&rgd->rd_le, &gfs2_rg_lops); + rgd->rd_sbd = sdp; + + list_add_tail(&rgd->rd_list, &sdp->sd_rindex_list); + list_add_tail(&rgd->rd_list_mru, &sdp->sd_rindex_mru_list); + + gfs2_rindex_in(&rgd->rd_ri, buf); + error = compute_bitstructs(rgd); + if (error) + return error; + + error = gfs2_glock_get(sdp, rgd->rd_ri.ri_addr, + &gfs2_rgrp_glops, CREATE, &rgd->rd_gl); + if (error) + return error; + + rgd->rd_gl->gl_object = rgd; + rgd->rd_rg_vn = rgd->rd_gl->gl_vn - 1; + return error; +} + +/** + * gfs2_ri_update - Pull in a new resource index from the disk + * @ip: pointer to the rindex inode + * * Returns: 0 on successful update, error code otherwise */ @@ -473,18 +526,11 @@ static int gfs2_ri_update(struct gfs2_inode *ip) { struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); struct inode *inode = &ip->i_inode; - struct gfs2_rgrpd *rgd; - char buf[sizeof(struct gfs2_rindex)]; struct file_ra_state ra_state; u64 junk = ip->i_di.di_size; int error; - /* If someone is holding the rindex file with a glock, they must - be updating it, in which case we may have partial entries. - In this case, we ignore the partials. */ - if (!gfs2_glock_is_held_excl(ip->i_gl) && - !gfs2_glock_is_held_shrd(ip->i_gl) && - do_div(junk, sizeof(struct gfs2_rindex))) { + if (do_div(junk, sizeof(struct gfs2_rindex))) { gfs2_consist_inode(ip); return -EIO; } @@ -493,52 +539,49 @@ static int gfs2_ri_update(struct gfs2_inode *ip) file_ra_state_init(&ra_state, inode->i_mapping); for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) { - loff_t pos = sdp->sd_rgrps * sizeof(struct gfs2_rindex); - - if (pos + sizeof(struct gfs2_rindex) >= ip->i_di.di_size) - break; - error = gfs2_internal_read(ip, &ra_state, buf, &pos, - sizeof(struct gfs2_rindex)); - if (!error) - break; - if (error != sizeof(struct gfs2_rindex)) { - if (error > 0) - error = -EIO; - goto fail; + error = read_rindex_entry(ip, &ra_state); + if (error) { + clear_rgrpdi(sdp); + return error; } + } - rgd = kzalloc(sizeof(struct gfs2_rgrpd), GFP_NOFS); - error = -ENOMEM; - if (!rgd) - goto fail; - - mutex_init(&rgd->rd_mutex); - lops_init_le(&rgd->rd_le, &gfs2_rg_lops); - rgd->rd_sbd = sdp; - - list_add_tail(&rgd->rd_list, &sdp->sd_rindex_list); - list_add_tail(&rgd->rd_list_mru, &sdp->sd_rindex_mru_list); - - gfs2_rindex_in(&rgd->rd_ri, buf); - error = compute_bitstructs(rgd); - if (error) - goto fail; + sdp->sd_rindex_vn = ip->i_gl->gl_vn; + return 0; +} - error = gfs2_glock_get(sdp, rgd->rd_ri.ri_addr, - &gfs2_rgrp_glops, CREATE, &rgd->rd_gl); - if (error) - goto fail; +/** + * gfs2_ri_update_special - Pull in a new resource index from the disk + * + * This is a special version that's safe to call from gfs2_inplace_reserve_i. + * In this case we know that we don't have any resource groups in memory yet. + * + * @ip: pointer to the rindex inode + * + * Returns: 0 on successful update, error code otherwise + */ +static int gfs2_ri_update_special(struct gfs2_inode *ip) +{ + struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); + struct inode *inode = &ip->i_inode; + struct file_ra_state ra_state; + int error; - rgd->rd_gl->gl_object = rgd; - rgd->rd_rg_vn = rgd->rd_gl->gl_vn - 1; + file_ra_state_init(&ra_state, inode->i_mapping); + for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) { + /* Ignore partials */ + if ((sdp->sd_rgrps + 1) * sizeof(struct gfs2_rindex) > + ip->i_di.di_size) + break; + error = read_rindex_entry(ip, &ra_state); + if (error) { + clear_rgrpdi(sdp); + return error; + } } sdp->sd_rindex_vn = ip->i_gl->gl_vn; return 0; - -fail: - clear_rgrpdi(sdp); - return error; } /** @@ -1028,7 +1071,7 @@ int gfs2_inplace_reserve_i(struct gfs2_inode *ip, char *file, unsigned int line) if (ip != GFS2_I(sdp->sd_rindex)) error = gfs2_rindex_hold(sdp, &al->al_ri_gh); else if (!sdp->sd_rgrps) /* We may not have the rindex read in, so: */ - error = gfs2_ri_update(ip); + error = gfs2_ri_update_special(ip); if (error) return error; -- 1.5.1.2 From fedora-cvs-commits at redhat.com Tue Jun 12 22:10:44 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 12 Jun 2007 18:10:44 -0400 Subject: rpms/kernel/FC-6 linux-2.6-gfs2-update5.patch, NONE, 1.1 linux-2.6-utrace-core.patch, NONE, 1.1 linux-2.6-utrace-ptrace-compat-sparc64.patch, NONE, 1.1 linux-2.6-utrace-ptrace-compat.patch, NONE, 1.1 linux-2.6-utrace-recalc_sigpending_and_wake.patch, NONE, 1.1 linux-2.6-utrace-regset-sparc64.patch, NONE, 1.1 linux-2.6-utrace-regset.patch, NONE, 1.1 linux-2.6-utrace-sig_kernel-macros.patch, NONE, 1.1 linux-2.6-utrace-tracehook-sparc64.patch, NONE, 1.1 linux-2.6-utrace-tracehook-um.patch, NONE, 1.1 linux-2.6-utrace-tracehook.patch, NONE, 1.1 patch-2.6.20.13-14.bz2.sign, NONE, 1.1 .cvsignore, 1.563, 1.564 kernel-2.6.spec, 1.2958, 1.2959 sources, 1.527, 1.528 upstream, 1.447, 1.448 linux-2.6-20.12b-input_i8042_fix_aux_port_detection_with_some_chips.patch, 1.1, NONE linux-2.6-s390_ptrace_sparse_fixes.patch, 1.1, NONE linux-2.6-x86_64_ptrace_ck_retval.patch, 1.1, NONE patch-2.6.20.14-rc2.bz2.sign, 1.1, NONE Message-ID: <200706122210.l5CMAipN011280@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv11265 Modified Files: .cvsignore kernel-2.6.spec sources upstream Added Files: linux-2.6-gfs2-update5.patch linux-2.6-utrace-core.patch linux-2.6-utrace-ptrace-compat-sparc64.patch linux-2.6-utrace-ptrace-compat.patch linux-2.6-utrace-recalc_sigpending_and_wake.patch linux-2.6-utrace-regset-sparc64.patch linux-2.6-utrace-regset.patch linux-2.6-utrace-sig_kernel-macros.patch linux-2.6-utrace-tracehook-sparc64.patch linux-2.6-utrace-tracehook-um.patch linux-2.6-utrace-tracehook.patch patch-2.6.20.13-14.bz2.sign Removed Files: linux-2.6-20.12b-input_i8042_fix_aux_port_detection_with_some_chips.patch linux-2.6-s390_ptrace_sparse_fixes.patch linux-2.6-x86_64_ptrace_ck_retval.patch patch-2.6.20.14-rc2.bz2.sign Log Message: * Tue Jun 12 2007 Chuck Ebbert 1.2959 - 2.6.20.14 - GFS2 update - utrace update linux-2.6-gfs2-update5.patch: b/fs/dlm/debug_fs.c | 9 ++ b/fs/gfs2/bmap.c | 2 b/fs/gfs2/dir.c | 56 ++++++++++++--- b/fs/gfs2/dir.h | 9 +- b/fs/gfs2/glock.c | 7 + b/fs/gfs2/incore.h | 4 - b/fs/gfs2/inode.c | 80 ++++++++-------------- b/fs/gfs2/inode.h | 18 +++-- b/fs/gfs2/locking/dlm/lock.c | 11 ++- b/fs/gfs2/locking/dlm/lock_dlm.h | 2 b/fs/gfs2/locking/dlm/thread.c | 11 ++- b/fs/gfs2/meta_io.h | 2 b/fs/gfs2/ondisk.c | 37 +++------- b/fs/gfs2/ops_address.c | 3 b/fs/gfs2/ops_address.h | 3 b/fs/gfs2/ops_dentry.c | 24 ++---- b/fs/gfs2/ops_export.c | 29 ++++---- b/fs/gfs2/ops_file.c | 4 - b/fs/gfs2/ops_fstype.c | 16 ++-- b/fs/gfs2/ops_inode.c | 20 ++--- b/fs/gfs2/quota.c | 4 - b/fs/gfs2/rgrp.c | 139 +++++++++++++++++++++++++-------------- b/fs/gfs2/rgrp.h | 1 b/fs/gfs2/super.c | 2 b/fs/gfs2/util.c | 4 - b/include/linux/gfs2_ondisk.h | 11 --- fs/gfs2/glock.c | 4 - fs/gfs2/incore.h | 8 -- fs/gfs2/ops_address.c | 5 - fs/gfs2/rgrp.c | 12 +-- include/linux/gfs2_ondisk.h | 8 ++ 31 files changed, 301 insertions(+), 244 deletions(-) --- NEW FILE linux-2.6-gfs2-update5.patch --- >From 6eaa8fe6671a3b33d213123789dcfb504651bf01 Mon Sep 17 00:00:00 2001 From: Robert Peterson Date: Thu, 10 May 2007 16:54:38 -0500 Subject: [PATCH] [GFS2] Kernel changes to support new gfs2_grow command (part 2) To avoid code redundancy, I separated out the operational "guts" into a new function called read_rindex_entry. Then I made two functions: the closer-to-original gfs2_ri_update (without the special condition checks) and gfs2_ri_update_special that's designed with that condition in mind. (I don't like the name, but if you have a suggestion, I'm all ears). Oh, and there's an added benefit: we don't need all the ugly gotos anymore. ;) This patch has been tested with gfs2_fsck_hellfire (which runs for three and a half hours, btw). Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c index 846c0ff..e0b4e8c 100644 --- a/fs/gfs2/ops_address.c +++ b/fs/gfs2/ops_address.c @@ -469,7 +469,8 @@ static void adjust_fs_space(struct inode *inode) else new_free = 0; spin_unlock(&sdp->sd_statfs_spin); - fs_warn(sdp, "File system extended by %llu blocks.\n", new_free); + fs_warn(sdp, "File system extended by %llu blocks.\n", + (unsigned long long)new_free); gfs2_statfs_change(sdp, new_free, new_free, 0); } diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index e857f40..48a6461 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -463,9 +463,62 @@ u64 gfs2_ri_total(struct gfs2_sbd *sdp) } /** - * gfs2_ri_update - Pull in a new resource index from the disk + * read_rindex_entry - Pull in a new resource index entry from the disk * @gl: The glock covering the rindex inode * + * Returns: 0 on success, error code otherwise + */ + +static int read_rindex_entry(struct gfs2_inode *ip, + struct file_ra_state *ra_state) +{ + struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); + loff_t pos = sdp->sd_rgrps * sizeof(struct gfs2_rindex); + char buf[sizeof(struct gfs2_rindex)]; + int error; + struct gfs2_rgrpd *rgd; + + error = gfs2_internal_read(ip, ra_state, buf, &pos, + sizeof(struct gfs2_rindex)); + if (!error) + return 0; + if (error != sizeof(struct gfs2_rindex)) { + if (error > 0) + error = -EIO; + return error; + } + + rgd = kzalloc(sizeof(struct gfs2_rgrpd), GFP_NOFS); + error = -ENOMEM; + if (!rgd) + return error; + + mutex_init(&rgd->rd_mutex); + lops_init_le(&rgd->rd_le, &gfs2_rg_lops); + rgd->rd_sbd = sdp; + + list_add_tail(&rgd->rd_list, &sdp->sd_rindex_list); + list_add_tail(&rgd->rd_list_mru, &sdp->sd_rindex_mru_list); + + gfs2_rindex_in(&rgd->rd_ri, buf); + error = compute_bitstructs(rgd); + if (error) + return error; + + error = gfs2_glock_get(sdp, rgd->rd_ri.ri_addr, + &gfs2_rgrp_glops, CREATE, &rgd->rd_gl); + if (error) + return error; + + rgd->rd_gl->gl_object = rgd; + rgd->rd_rg_vn = rgd->rd_gl->gl_vn - 1; + return error; +} + +/** + * gfs2_ri_update - Pull in a new resource index from the disk + * @ip: pointer to the rindex inode + * * Returns: 0 on successful update, error code otherwise */ @@ -473,18 +526,11 @@ static int gfs2_ri_update(struct gfs2_inode *ip) { struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); struct inode *inode = &ip->i_inode; - struct gfs2_rgrpd *rgd; - char buf[sizeof(struct gfs2_rindex)]; struct file_ra_state ra_state; u64 junk = ip->i_di.di_size; int error; - /* If someone is holding the rindex file with a glock, they must - be updating it, in which case we may have partial entries. - In this case, we ignore the partials. */ - if (!gfs2_glock_is_held_excl(ip->i_gl) && - !gfs2_glock_is_held_shrd(ip->i_gl) && - do_div(junk, sizeof(struct gfs2_rindex))) { + if (do_div(junk, sizeof(struct gfs2_rindex))) { gfs2_consist_inode(ip); return -EIO; } @@ -493,52 +539,49 @@ static int gfs2_ri_update(struct gfs2_inode *ip) file_ra_state_init(&ra_state, inode->i_mapping); for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) { - loff_t pos = sdp->sd_rgrps * sizeof(struct gfs2_rindex); - - if (pos + sizeof(struct gfs2_rindex) >= ip->i_di.di_size) - break; - error = gfs2_internal_read(ip, &ra_state, buf, &pos, - sizeof(struct gfs2_rindex)); - if (!error) - break; - if (error != sizeof(struct gfs2_rindex)) { - if (error > 0) - error = -EIO; - goto fail; + error = read_rindex_entry(ip, &ra_state); + if (error) { + clear_rgrpdi(sdp); + return error; } + } - rgd = kzalloc(sizeof(struct gfs2_rgrpd), GFP_NOFS); - error = -ENOMEM; - if (!rgd) - goto fail; - - mutex_init(&rgd->rd_mutex); - lops_init_le(&rgd->rd_le, &gfs2_rg_lops); - rgd->rd_sbd = sdp; - - list_add_tail(&rgd->rd_list, &sdp->sd_rindex_list); - list_add_tail(&rgd->rd_list_mru, &sdp->sd_rindex_mru_list); - - gfs2_rindex_in(&rgd->rd_ri, buf); - error = compute_bitstructs(rgd); - if (error) - goto fail; + sdp->sd_rindex_vn = ip->i_gl->gl_vn; + return 0; +} - error = gfs2_glock_get(sdp, rgd->rd_ri.ri_addr, - &gfs2_rgrp_glops, CREATE, &rgd->rd_gl); - if (error) - goto fail; +/** + * gfs2_ri_update_special - Pull in a new resource index from the disk + * + * This is a special version that's safe to call from gfs2_inplace_reserve_i. + * In this case we know that we don't have any resource groups in memory yet. + * + * @ip: pointer to the rindex inode + * + * Returns: 0 on successful update, error code otherwise + */ +static int gfs2_ri_update_special(struct gfs2_inode *ip) +{ + struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); + struct inode *inode = &ip->i_inode; + struct file_ra_state ra_state; + int error; - rgd->rd_gl->gl_object = rgd; - rgd->rd_rg_vn = rgd->rd_gl->gl_vn - 1; + file_ra_state_init(&ra_state, inode->i_mapping); + for (sdp->sd_rgrps = 0;; sdp->sd_rgrps++) { + /* Ignore partials */ + if ((sdp->sd_rgrps + 1) * sizeof(struct gfs2_rindex) > + ip->i_di.di_size) + break; + error = read_rindex_entry(ip, &ra_state); + if (error) { + clear_rgrpdi(sdp); + return error; + } } sdp->sd_rindex_vn = ip->i_gl->gl_vn; return 0; - -fail: - clear_rgrpdi(sdp); - return error; } /** @@ -1028,7 +1071,7 @@ int gfs2_inplace_reserve_i(struct gfs2_inode *ip, char *file, unsigned int line) if (ip != GFS2_I(sdp->sd_rindex)) error = gfs2_rindex_hold(sdp, &al->al_ri_gh); else if (!sdp->sd_rgrps) /* We may not have the rindex read in, so: */ - error = gfs2_ri_update(ip); + error = gfs2_ri_update_special(ip); if (error) return error; -- 1.5.1.2 From fedora-cvs-commits at redhat.com Wed Jun 13 04:59:37 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 00:59:37 -0400 Subject: rpms/gtk2/FC-6 .cvsignore, 1.62, 1.63 gtk2.spec, 1.204, 1.205 sources, 1.70, 1.71 Message-ID: <200706130459.l5D4xb9T016926@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/gtk2/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv16910 Modified Files: .cvsignore gtk2.spec sources Log Message: 2.10.13 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/gtk2/FC-6/.cvsignore,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- .cvsignore 31 May 2007 02:33:35 -0000 1.62 +++ .cvsignore 13 Jun 2007 04:59:35 -0000 1.63 @@ -1 +1 @@ -gtk+-2.10.12.tar.bz2 +gtk+-2.10.13.tar.bz2 Index: gtk2.spec =================================================================== RCS file: /cvs/dist/rpms/gtk2/FC-6/gtk2.spec,v retrieving revision 1.204 retrieving revision 1.205 diff -u -r1.204 -r1.205 --- gtk2.spec 31 May 2007 02:33:35 -0000 1.204 +++ gtk2.spec 13 Jun 2007 04:59:35 -0000 1.205 @@ -10,7 +10,7 @@ %define cairo_version %{cairo_base_version}-1 %define libpng_version 2:1.2.2-16 -%define base_version 2.10.12 +%define base_version 2.10.13 %define bin_version 2.10.0 Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X @@ -293,6 +293,9 @@ %doc tmpdocs/examples %changelog +* Wed Jun 13 2007 Matthias Clasen - 2.10.13-1 +- Update to 2.10.13 + * Wed May 30 2007 Matthias Clasen - 2.10.12-1 - Update to 2.10.12 Index: sources =================================================================== RCS file: /cvs/dist/rpms/gtk2/FC-6/sources,v retrieving revision 1.70 retrieving revision 1.71 diff -u -r1.70 -r1.71 --- sources 31 May 2007 03:45:14 -0000 1.70 +++ sources 13 Jun 2007 04:59:35 -0000 1.71 @@ -1,2 +1,2 @@ -cf969c62134c662ff07e64613ed6c11f gtk+-2.10.12.tar.bz2 +d0af87715f3b0f05bf38a3312a528012 gtk+-2.10.13.tar.bz2 25e73f5bdf6a1272799d0536a869f645 update-scripts.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 13 05:13:54 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 01:13:54 -0400 Subject: rpms/gtk2/FC-6 gtk+-2.10.12-search.patch,1.1,1.2 Message-ID: <200706130513.l5D5DsIF017289@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/gtk2/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv17259 Modified Files: gtk+-2.10.12-search.patch Log Message: Update search patch gtk+-2.10.12-search.patch: Makefile.am | 10 gtkfilechooserdefault.c | 1519 ++++++++++++++++++++++++++++++++++++----------- gtkfilechooserprivate.h | 35 - gtkquery.c | 142 ++++ gtkquery.h | 74 ++ gtksearchengine.c | 199 ++++++ gtksearchengine.h | 91 ++ gtksearchenginebeagle.c | 420 ++++++++++++ gtksearchenginebeagle.h | 59 + gtksearchenginesimple.c | 374 +++++++++++ gtksearchenginesimple.h | 59 + gtksearchenginetracker.c | 362 +++++++++++ gtksearchenginetracker.h | 59 + 13 files changed, 3053 insertions(+), 350 deletions(-) Index: gtk+-2.10.12-search.patch =================================================================== RCS file: /cvs/dist/rpms/gtk2/FC-6/gtk+-2.10.12-search.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- gtk+-2.10.12-search.patch 31 May 2007 02:33:35 -0000 1.1 +++ gtk+-2.10.12-search.patch 13 Jun 2007 05:13:51 -0000 1.2 @@ -1,5 +1,5 @@ ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchenginetracker.h 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchenginetracker.h 2007-06-13 01:04:03.000000000 -0400 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Mr Jamie McCracken @@ -60,8 +60,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_TRACKER_H__ */ ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchengine.h 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchengine.h 2007-06-13 01:04:03.000000000 -0400 @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -154,8 +154,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_H__ */ ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchenginebeagle.h 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchenginebeagle.h 2007-06-13 01:04:03.000000000 -0400 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -216,8 +216,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_BEAGLE_H__ */ ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchengine.c 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchengine.c 2007-06-13 01:04:03.000000000 -0400 @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -418,8 +418,8 @@ + + g_signal_emit (engine, signals[ERROR], 0, error_message); +} ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchenginetracker.c 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchenginetracker.c 2007-06-13 01:04:03.000000000 -0400 @@ -0,0 +1,362 @@ +/* + * Copyright (C) 2005 Mr Jamie McCracken @@ -783,8 +783,8 @@ + + return GTK_SEARCH_ENGINE (engine); +} ---- gtk+-2.10.12/gtk/Makefile.am.search 2007-05-02 12:41:42.000000000 -0400 -+++ gtk+-2.10.12/gtk/Makefile.am 2007-05-19 19:51:53.000000000 -0400 +--- gtk+-2.10.13/gtk/Makefile.am.search 2007-06-12 23:09:42.000000000 -0400 ++++ gtk+-2.10.13/gtk/Makefile.am 2007-06-13 01:04:03.000000000 -0400 @@ -333,6 +333,11 @@ gtk_semi_private_h_sources = \ # GTK+ header files that don't get installed @@ -809,8 +809,8 @@ fnmatch.c \ gtkaboutdialog.c \ gtkaccelgroup.c \ ---- gtk+-2.10.12/gtk/gtkfilechooserdefault.c.search 2007-05-02 12:26:59.000000000 -0400 -+++ gtk+-2.10.12/gtk/gtkfilechooserdefault.c 2007-05-19 20:09:30.000000000 -0400 +--- gtk+-2.10.13/gtk/gtkfilechooserdefault.c.search 2007-06-12 23:09:41.000000000 -0400 ++++ gtk+-2.10.13/gtk/gtkfilechooserdefault.c 2007-06-13 01:06:54.000000000 -0400 @@ -79,6 +79,8 @@ #include #include @@ -879,22 +879,7 @@ SHORTCUTS_HOME, SHORTCUTS_DESKTOP, SHORTCUTS_VOLUMES, -@@ -424,6 +453,14 @@ static void location_button_toggled_cb ( - GtkFileChooserDefault *impl); - static void location_switch_to_path_bar (GtkFileChooserDefault *impl); - -+static void search_stop_searching (GtkFileChooserDefault *impl); -+static void search_clear_model (GtkFileChooserDefault *impl, -+ gboolean remove_from_treeview); -+static gboolean search_should_respond (GtkFileChooserDefault *impl); -+static void search_switch_to_browse_mode (GtkFileChooserDefault *impl); -+static GSList *search_get_selected_paths (GtkFileChooserDefault *impl); -+static void search_entry_activate_cb (GtkEntry *entry, -+ gpointer data); - - - -@@ -433,26 +470,26 @@ typedef struct { +@@ -433,27 +462,35 @@ typedef struct { GtkTreeModelFilter parent; GtkFileChooserDefault *impl; @@ -921,18 +906,28 @@ GTK_TYPE_TREE_MODEL_FILTER, G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE, - shortcuts_model_filter_drag_source_iface_init)) -+ shortcuts_pane_model_filter_drag_source_iface_init)) - +- -static GtkTreeModel *shortcuts_model_filter_new (GtkFileChooserDefault *impl, - GtkTreeModel *child_model, - GtkTreePath *root); ++ shortcuts_pane_model_filter_drag_source_iface_init)) + +static GtkTreeModel *shortcuts_pane_model_filter_new (GtkFileChooserDefault *impl, -+ GtkTreeModel *child_model, ++ GtkTreeModel *child_model, + GtkTreePath *root); ++ ++static void search_stop_searching (GtkFileChooserDefault *impl); ++static void search_clear_model (GtkFileChooserDefault *impl, ++ gboolean remove_from_treeview); ++static gboolean search_should_respond (GtkFileChooserDefault *impl); ++static void search_switch_to_browse_mode (GtkFileChooserDefault *impl); ++static GSList *search_get_selected_paths (GtkFileChooserDefault *impl); ++static void search_entry_activate_cb (GtkEntry *entry, ++ gpointer data); - -@@ -687,6 +724,7 @@ _gtk_file_chooser_default_init (GtkFileC + G_DEFINE_TYPE_WITH_CODE (GtkFileChooserDefault, _gtk_file_chooser_default, GTK_TYPE_VBOX, +@@ -688,6 +725,7 @@ _gtk_file_chooser_default_init (GtkFileC impl->reload_state = RELOAD_EMPTY; impl->pending_select_paths = NULL; impl->location_mode = LOCATION_MODE_PATH_BAR; @@ -940,7 +935,7 @@ gtk_box_set_spacing (GTK_BOX (impl), 12); -@@ -702,22 +740,24 @@ shortcuts_free_row_data (GtkFileChooserD +@@ -703,22 +741,24 @@ shortcuts_free_row_data (GtkFileChooserD GtkTreeIter *iter) { gpointer col_data; @@ -969,7 +964,7 @@ { GtkFileSystemVolume *volume; -@@ -728,6 +768,8 @@ shortcuts_free_row_data (GtkFileChooserD +@@ -729,6 +769,8 @@ shortcuts_free_row_data (GtkFileChooserD { GtkFilePath *path; @@ -978,7 +973,7 @@ path = col_data; gtk_file_path_free (path); } -@@ -814,8 +856,11 @@ gtk_file_chooser_default_finalize (GObje +@@ -815,8 +857,11 @@ gtk_file_chooser_default_finalize (GObje GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (object); GSList *l; @@ -992,7 +987,7 @@ shortcuts_free (impl); -@@ -852,6 +897,9 @@ gtk_file_chooser_default_finalize (GObje +@@ -853,6 +898,9 @@ gtk_file_chooser_default_finalize (GObje if (impl->sort_model) g_object_unref (impl->sort_model); @@ -1002,7 +997,7 @@ g_free (impl->preview_display_name); -@@ -1105,6 +1153,14 @@ set_preview_widget (GtkFileChooserDefaul +@@ -1106,6 +1154,14 @@ set_preview_widget (GtkFileChooserDefaul update_preview_widget_visibility (impl); } @@ -1017,7 +1012,7 @@ /* Re-reads all the icons for the shortcuts, used when the theme changes */ struct ReloadIconsData { -@@ -1175,19 +1231,20 @@ shortcuts_reload_icons (GtkFileChooserDe +@@ -1176,19 +1232,20 @@ shortcuts_reload_icons (GtkFileChooserDe do { gpointer data; @@ -1042,7 +1037,7 @@ { GtkFileSystemVolume *volume; -@@ -1202,46 +1259,53 @@ shortcuts_reload_icons (GtkFileChooserDe +@@ -1203,46 +1260,53 @@ shortcuts_reload_icons (GtkFileChooserDe if (pixbuf) g_object_unref (pixbuf); } @@ -1135,7 +1130,7 @@ } } } -@@ -1373,7 +1437,6 @@ get_file_info_finished (GtkFileSystemHan +@@ -1374,7 +1438,6 @@ get_file_info_finished (GtkFileSystemHan { gint pos = -1; gboolean cancelled = handle->cancelled; @@ -1143,7 +1138,7 @@ GdkPixbuf *pixbuf; GtkTreePath *path; GtkTreeIter iter; -@@ -1438,12 +1501,15 @@ get_file_info_finished (GtkFileSystemHan +@@ -1439,12 +1502,15 @@ get_file_info_finished (GtkFileSystemHan SHORTCUTS_COL_PIXBUF, pixbuf, SHORTCUTS_COL_PIXBUF_VISIBLE, TRUE, SHORTCUTS_COL_NAME, request->label_copy, @@ -1162,7 +1157,7 @@ if (request->type == SHORTCUTS_CURRENT_FOLDER && request->impl->save_folder_combo != NULL) -@@ -1455,7 +1521,7 @@ get_file_info_finished (GtkFileSystemHan +@@ -1456,7 +1522,7 @@ get_file_info_finished (GtkFileSystemHan g_signal_handlers_block_by_func (request->impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), request->impl); @@ -1171,7 +1166,7 @@ g_signal_handlers_unblock_by_func (request->impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), request->impl); -@@ -1529,7 +1595,7 @@ _gtk_file_chooser_label_for_uri (const g +@@ -1530,7 +1596,7 @@ _gtk_file_chooser_label_for_uri (const g static void shortcuts_insert_path (GtkFileChooserDefault *impl, int pos, @@ -1180,7 +1175,7 @@ GtkFileSystemVolume *volume, const GtkFilePath *path, const char *label, -@@ -1542,79 +1608,89 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1543,79 +1609,89 @@ shortcuts_insert_path (GtkFileChooserDef GtkTreeIter iter; GtkIconTheme *icon_theme; @@ -1246,11 +1241,11 @@ + SHORTCUTS_COL_TYPE, SHORTCUT_TYPE_PATH, + SHORTCUTS_COL_HANDLE, handle, + -1); ++ ++ shortcuts_update_count (impl, type, 1); - if (pos == -1) - gtk_list_store_append (impl->shortcuts_model, &iter); -+ shortcuts_update_count (impl, type, 1); -+ + return; + } else @@ -1327,7 +1322,7 @@ } if (pos == -1) -@@ -1629,13 +1705,16 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1630,13 +1706,16 @@ shortcuts_insert_path (GtkFileChooserDef SHORTCUTS_COL_PIXBUF_VISIBLE, TRUE, SHORTCUTS_COL_NAME, label_copy, SHORTCUTS_COL_DATA, data, @@ -1347,7 +1342,7 @@ if (type == SHORTCUTS_CURRENT_FOLDER && impl->save_folder_combo != NULL) { -@@ -1647,7 +1726,8 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1648,7 +1727,8 @@ shortcuts_insert_path (GtkFileChooserDef g_signal_handlers_block_by_func (impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), impl); @@ -1357,7 +1352,7 @@ g_signal_handlers_unblock_by_func (impl->save_folder_combo, G_CALLBACK (save_folder_combo_changed_cb), impl); -@@ -1661,6 +1741,30 @@ shortcuts_insert_path (GtkFileChooserDef +@@ -1662,6 +1742,30 @@ shortcuts_insert_path (GtkFileChooserDef profile_end ("end", NULL); } @@ -1388,7 +1383,7 @@ /* Appends an item for the user's home directory to the shortcuts model */ static void shortcuts_append_home (GtkFileChooserDefault *impl) -@@ -1679,7 +1783,8 @@ shortcuts_append_home (GtkFileChooserDef +@@ -1680,7 +1784,8 @@ shortcuts_append_home (GtkFileChooserDef home_path = gtk_file_system_filename_to_path (impl->file_system, home); @@ -1398,7 +1393,7 @@ gtk_file_path_free (home_path); -@@ -1712,7 +1817,9 @@ shortcuts_append_desktop (GtkFileChooser +@@ -1713,7 +1818,9 @@ shortcuts_append_desktop (GtkFileChooser path = gtk_file_system_filename_to_path (impl->file_system, name); g_free (name); @@ -1409,7 +1404,7 @@ /* We do not actually pop up an error dialog if there is no desktop directory * because some people may really not want to have one. */ -@@ -1751,7 +1858,7 @@ shortcuts_append_paths (GtkFileChooserDe +@@ -1752,7 +1859,7 @@ shortcuts_append_paths (GtkFileChooserDe label = gtk_file_system_get_bookmark_label (impl->file_system, path); /* NULL GError, but we don't really want to show error boxes here */ @@ -1418,7 +1413,7 @@ num_inserted++; g_free (label); -@@ -1770,6 +1877,16 @@ shortcuts_get_index (GtkFileChooserDefau +@@ -1771,6 +1878,16 @@ shortcuts_get_index (GtkFileChooserDefau int n; n = 0; @@ -1435,7 +1430,7 @@ if (where == SHORTCUTS_HOME) goto out; -@@ -1867,15 +1984,18 @@ shortcuts_add_volumes (GtkFileChooserDef +@@ -1868,15 +1985,18 @@ shortcuts_add_volumes (GtkFileChooserDef } } @@ -1457,7 +1452,7 @@ impl->changing_folder = old_changing_folders; -@@ -1885,11 +2005,13 @@ shortcuts_add_volumes (GtkFileChooserDef +@@ -1886,11 +2006,13 @@ shortcuts_add_volumes (GtkFileChooserDef /* Inserts a separator node in the shortcuts list */ static void shortcuts_insert_separator (GtkFileChooserDefault *impl, @@ -1473,7 +1468,7 @@ gtk_list_store_insert (impl->shortcuts_model, &iter, shortcuts_get_index (impl, where)); -@@ -1898,6 +2020,7 @@ shortcuts_insert_separator (GtkFileChoos +@@ -1899,6 +2021,7 @@ shortcuts_insert_separator (GtkFileChoos SHORTCUTS_COL_PIXBUF_VISIBLE, FALSE, SHORTCUTS_COL_NAME, NULL, SHORTCUTS_COL_DATA, NULL, @@ -1481,7 +1476,7 @@ -1); } -@@ -1910,7 +2033,7 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1911,7 +2034,7 @@ shortcuts_add_bookmarks (GtkFileChooserD GtkTreeIter iter; GtkFilePath *list_selected = NULL; GtkFilePath *combo_selected = NULL; @@ -1490,7 +1485,7 @@ gpointer col_data; profile_start ("start", NULL); -@@ -1923,10 +2046,10 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1924,10 +2047,10 @@ shortcuts_add_bookmarks (GtkFileChooserD gtk_tree_model_get (GTK_TREE_MODEL (impl->shortcuts_model), &iter, SHORTCUTS_COL_DATA, &col_data, @@ -1503,7 +1498,7 @@ list_selected = gtk_file_path_copy (col_data); } -@@ -1934,13 +2057,18 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1935,13 +2058,18 @@ shortcuts_add_bookmarks (GtkFileChooserD gtk_combo_box_get_active_iter (GTK_COMBO_BOX (impl->save_folder_combo), &iter)) { @@ -1525,7 +1520,7 @@ combo_selected = gtk_file_path_copy (col_data); } -@@ -1958,8 +2086,11 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1959,8 +2087,11 @@ shortcuts_add_bookmarks (GtkFileChooserD if (impl->num_bookmarks > 0) shortcuts_insert_separator (impl, SHORTCUTS_BOOKMARKS_SEPARATOR); @@ -1539,7 +1534,7 @@ if (list_selected) { -@@ -1973,8 +2104,8 @@ shortcuts_add_bookmarks (GtkFileChooserD +@@ -1974,8 +2105,8 @@ shortcuts_add_bookmarks (GtkFileChooserD pos = shortcut_find_position (impl, combo_selected); if (pos != -1) @@ -1550,7 +1545,7 @@ gtk_file_path_free (combo_selected); } -@@ -2019,11 +2150,11 @@ shortcuts_add_current_folder (GtkFileCho +@@ -2020,11 +2151,11 @@ shortcuts_add_current_folder (GtkFileCho if (base_path && strcmp (gtk_file_path_get_string (base_path), gtk_file_path_get_string (impl->current_folder)) == 0) { @@ -1564,7 +1559,7 @@ if (volume) gtk_file_system_volume_free (impl->file_system, volume); } -@@ -2032,7 +2163,8 @@ shortcuts_add_current_folder (GtkFileCho +@@ -2033,7 +2164,8 @@ shortcuts_add_current_folder (GtkFileCho gtk_file_path_free (base_path); } else if (impl->save_folder_combo != NULL) @@ -1574,7 +1569,7 @@ } /* Updates the current folder row in the shortcuts model */ -@@ -2054,9 +2186,9 @@ shortcuts_update_current_folder (GtkFile +@@ -2055,9 +2187,9 @@ shortcuts_update_current_folder (GtkFile /* Filter function used for the shortcuts filter model */ static gboolean @@ -1587,7 +1582,7 @@ { GtkFileChooserDefault *impl; GtkTreePath *path; -@@ -2083,11 +2215,17 @@ shortcuts_model_create (GtkFileChooserDe +@@ -2084,11 +2216,17 @@ shortcuts_model_create (GtkFileChooserDe GDK_TYPE_PIXBUF, /* pixbuf */ G_TYPE_STRING, /* name */ G_TYPE_POINTER, /* path or volume */ @@ -1606,7 +1601,7 @@ if (impl->file_system) { shortcuts_append_home (impl); -@@ -2095,12 +2233,12 @@ shortcuts_model_create (GtkFileChooserDe +@@ -2096,12 +2234,12 @@ shortcuts_model_create (GtkFileChooserDe shortcuts_add_volumes (impl); } @@ -1624,7 +1619,7 @@ impl, NULL); } -@@ -2318,16 +2456,16 @@ shortcut_find_position (GtkFileChooserDe +@@ -2319,16 +2457,16 @@ shortcut_find_position (GtkFileChooserDe for (i = 0; i < current_folder_separator_idx; i++) { gpointer col_data; @@ -1644,7 +1639,7 @@ { GtkFileSystemVolume *volume; GtkFilePath *base_path; -@@ -2343,7 +2481,7 @@ shortcut_find_position (GtkFileChooserDe +@@ -2344,7 +2482,7 @@ shortcut_find_position (GtkFileChooserDe if (exists) return i; } @@ -1653,7 +1648,7 @@ { GtkFilePath *model_path; -@@ -2449,7 +2587,7 @@ shortcuts_get_selected (GtkFileChooserDe +@@ -2450,7 +2588,7 @@ shortcuts_get_selected (GtkFileChooserDe if (!gtk_tree_selection_get_selected (selection, NULL, &parent_iter)) return FALSE; @@ -1662,7 +1657,7 @@ iter, &parent_iter); return TRUE; -@@ -2472,11 +2610,12 @@ remove_selected_bookmarks (GtkFileChoose +@@ -2473,11 +2611,12 @@ remove_selected_bookmarks (GtkFileChoose SHORTCUTS_COL_DATA, &col_data, SHORTCUTS_COL_REMOVABLE, &removable, -1); @@ -1676,7 +1671,7 @@ path = col_data; error = NULL; -@@ -2633,6 +2772,16 @@ bookmarks_check_add_sensitivity (GtkFile +@@ -2634,6 +2773,16 @@ bookmarks_check_add_sensitivity (GtkFile gboolean active; gchar *tip; @@ -1693,7 +1688,7 @@ selection_check (impl, &num_selected, NULL, &all_folders); if (num_selected == 0) -@@ -3146,7 +3295,7 @@ shortcuts_reorder (GtkFileChooserDefault +@@ -3147,7 +3296,7 @@ shortcuts_reorder (GtkFileChooserDefault { GtkTreeIter iter; gpointer col_data; @@ -1702,7 +1697,7 @@ GtkTreePath *path; int old_position; int bookmarks_index; -@@ -3171,10 +3320,10 @@ shortcuts_reorder (GtkFileChooserDefault +@@ -3172,10 +3321,10 @@ shortcuts_reorder (GtkFileChooserDefault gtk_tree_model_get (GTK_TREE_MODEL (impl->shortcuts_model), &iter, SHORTCUTS_COL_NAME, &name, SHORTCUTS_COL_DATA, &col_data, @@ -1715,7 +1710,7 @@ file_path = col_data; file_path_copy = gtk_file_path_copy (file_path); /* removal below will free file_path, so we need a copy */ -@@ -3258,17 +3407,11 @@ shortcuts_row_separator_func (GtkTreeMod +@@ -3259,17 +3408,11 @@ shortcuts_row_separator_func (GtkTreeMod GtkTreeIter *iter, gpointer data) { @@ -1736,7 +1731,7 @@ } /* Since GtkTreeView has a keybinding attached to '/', we need to catch -@@ -3513,7 +3656,7 @@ shortcuts_list_create (GtkFileChooserDef +@@ -3514,7 +3657,7 @@ shortcuts_list_create (GtkFileChooserDef /* Accessible object name for the file chooser's shortcuts pane */ atk_object_set_name (gtk_widget_get_accessible (impl->browse_shortcuts_tree_view), _("Places")); @@ -1745,7 +1740,7 @@ gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view), GDK_BUTTON1_MASK, -@@ -3586,8 +3729,7 @@ shortcuts_list_create (GtkFileChooserDef +@@ -3587,8 +3730,7 @@ shortcuts_list_create (GtkFileChooserDef gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view), shortcuts_row_separator_func, @@ -1755,7 +1750,7 @@ gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_shortcuts_tree_view), column); -@@ -3958,6 +4100,8 @@ file_list_update_popup_menu (GtkFileChoo +@@ -3959,6 +4101,8 @@ file_list_update_popup_menu (GtkFileChoo { file_list_build_popup_menu (impl); @@ -1764,7 +1759,7 @@ /* The sensitivity of the Add to Bookmarks item is set in * bookmarks_check_add_sensitivity() */ -@@ -4057,6 +4201,28 @@ list_button_press_event_cb (GtkWidget +@@ -4058,6 +4202,28 @@ list_button_press_event_cb (GtkWidget return TRUE; } @@ -1793,7 +1788,7 @@ /* Creates the widgets for the file list */ static GtkWidget * create_file_list (GtkFileChooserDefault *impl) -@@ -4070,7 +4236,7 @@ create_file_list (GtkFileChooserDefault +@@ -4071,7 +4237,7 @@ create_file_list (GtkFileChooserDefault swin = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), @@ -1802,7 +1797,7 @@ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swin), GTK_SHADOW_IN); -@@ -4160,6 +4326,7 @@ create_file_list (GtkFileChooserDefault +@@ -4161,6 +4327,7 @@ create_file_list (GtkFileChooserDefault gtk_tree_view_column_set_sort_column_id (column, FILE_LIST_COL_SIZE); gtk_tree_view_append_column (GTK_TREE_VIEW (impl->browse_files_tree_view), column); #endif @@ -1810,7 +1805,7 @@ /* Modification time column */ column = gtk_tree_view_column_new (); -@@ -4170,8 +4337,11 @@ create_file_list (GtkFileChooserDefault +@@ -4171,8 +4338,11 @@ create_file_list (GtkFileChooserDefault gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_cell_data_func (column, renderer, list_mtime_data_func, impl, NULL); @@ -1823,7 +1818,7 @@ gtk_widget_show_all (swin); return swin; -@@ -4279,9 +4449,59 @@ save_folder_combo_changed_cb (GtkComboBo +@@ -4280,9 +4450,59 @@ save_folder_combo_changed_cb (GtkComboBo return; if (gtk_combo_box_get_active_iter (combo, &iter)) @@ -1884,7 +1879,7 @@ /* Creates the combo box with the save folders */ static GtkWidget * save_folder_combo_create (GtkFileChooserDefault *impl) -@@ -4289,8 +4509,14 @@ save_folder_combo_create (GtkFileChooser +@@ -4290,8 +4510,14 @@ save_folder_combo_create (GtkFileChooser GtkWidget *combo; GtkCellRenderer *cell; @@ -1900,7 +1895,7 @@ "focus-on-click", FALSE, NULL); gtk_widget_show (combo); -@@ -4312,8 +4538,7 @@ save_folder_combo_create (GtkFileChooser +@@ -4313,8 +4539,7 @@ save_folder_combo_create (GtkFileChooser gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo), shortcuts_row_separator_func, @@ -1910,7 +1905,7 @@ g_signal_connect (combo, "changed", G_CALLBACK (save_folder_combo_changed_cb), impl); -@@ -4658,6 +4883,7 @@ browse_widgets_create (GtkFileChooserDef +@@ -4659,6 +4884,7 @@ browse_widgets_create (GtkFileChooserDef hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -1918,7 +1913,7 @@ location_button_create (impl); gtk_box_pack_start (GTK_BOX (hbox), impl->location_button, FALSE, FALSE, 0); -@@ -5242,6 +5468,9 @@ gtk_file_chooser_default_dispose (GObjec +@@ -5244,6 +5470,9 @@ gtk_file_chooser_default_dispose (GObjec impl->shortcuts_activate_iter_handle = NULL; } @@ -1928,7 +1923,7 @@ remove_settings_signal (impl, gtk_widget_get_screen (GTK_WIDGET (impl))); G_OBJECT_CLASS (_gtk_file_chooser_default_parent_class)->dispose (object); -@@ -5519,31 +5748,32 @@ gtk_file_chooser_default_map (GtkWidget +@@ -5552,31 +5781,32 @@ gtk_file_chooser_default_map (GtkWidget GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->map (widget); @@ -1985,7 +1980,7 @@ bookmarks_changed_cb (impl->file_system, impl); -@@ -6014,12 +6244,6 @@ pending_select_paths_process (GtkFileCho +@@ -6047,12 +6277,6 @@ pending_select_paths_process (GtkFileCho * but rather on behalf of something else like GtkFileChooserButton. In * that case, the chooser's selection should be what the caller expects, * as the user can't see that something else got selected. See bug #165264. @@ -1998,7 +1993,7 @@ */ if (GTK_WIDGET_MAPPED (impl) && impl->action == GTK_FILE_CHOOSER_ACTION_OPEN) browse_files_select_first_row (impl); -@@ -6066,17 +6290,11 @@ browse_files_model_finished_loading_cb ( +@@ -6099,17 +6323,11 @@ browse_files_model_finished_loading_cb ( profile_end ("end", NULL); } @@ -2019,7 +2014,7 @@ if (impl->browse_files_model) { g_object_unref (impl->browse_files_model); -@@ -6088,6 +6306,20 @@ set_list_model (GtkFileChooserDefault *i +@@ -6121,6 +6339,20 @@ set_list_model (GtkFileChooserDefault *i g_object_unref (impl->sort_model); impl->sort_model = NULL; } @@ -2040,7 +2035,7 @@ set_busy_cursor (impl, TRUE); gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL); -@@ -6162,6 +6394,9 @@ update_chooser_entry (GtkFileChooserDefa +@@ -6195,6 +6427,9 @@ update_chooser_entry (GtkFileChooserDefa struct update_chooser_entry_selected_foreach_closure closure; const char *file_part; @@ -2050,7 +2045,7 @@ if (!(impl->action == GTK_FILE_CHOOSER_ACTION_SAVE || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER || ((impl->action == GTK_FILE_CHOOSER_ACTION_OPEN -@@ -6183,35 +6418,40 @@ update_chooser_entry (GtkFileChooserDefa +@@ -6216,35 +6451,40 @@ update_chooser_entry (GtkFileChooserDefa } else if (closure.num_selected == 1) { @@ -2119,7 +2114,7 @@ } else { -@@ -6425,6 +6665,8 @@ gtk_file_chooser_default_update_current_ +@@ -6458,6 +6698,8 @@ gtk_file_chooser_default_update_current_ profile_start ("start", (char *) path); @@ -2128,7 +2123,7 @@ g_assert (path != NULL); if (impl->local_only && -@@ -6467,6 +6709,9 @@ gtk_file_chooser_default_get_current_fol +@@ -6500,6 +6742,9 @@ gtk_file_chooser_default_get_current_fol { GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); @@ -2138,7 +2133,7 @@ if (impl->reload_state == RELOAD_EMPTY) { char *current_working_dir; -@@ -6527,9 +6772,9 @@ gtk_file_chooser_default_select_path (Gt +@@ -6560,9 +6805,9 @@ gtk_file_chooser_default_select_path (Gt return FALSE; if (!parent_path) @@ -2150,7 +2145,7 @@ same_path = FALSE; else { -@@ -6625,6 +6870,16 @@ static void +@@ -6658,6 +6903,16 @@ static void gtk_file_chooser_default_select_all (GtkFileChooser *chooser) { GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); @@ -2167,7 +2162,7 @@ if (impl->select_multiple) gtk_tree_model_foreach (GTK_TREE_MODEL (impl->sort_model), maybe_select, impl); -@@ -6764,6 +7019,10 @@ gtk_file_chooser_default_get_paths (GtkF +@@ -6797,6 +7052,10 @@ gtk_file_chooser_default_get_paths (GtkF struct get_paths_closure info; GtkWindow *toplevel; GtkWidget *current_focus; @@ -2178,7 +2173,7 @@ info.impl = impl; info.result = NULL; -@@ -6775,12 +7034,14 @@ gtk_file_chooser_default_get_paths (GtkF +@@ -6808,12 +7067,14 @@ gtk_file_chooser_default_get_paths (GtkF else current_focus = NULL; @@ -2193,7 +2188,7 @@ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); gtk_tree_selection_selected_foreach (selection, get_paths_foreach, &info); -@@ -6815,8 +7076,12 @@ gtk_file_chooser_default_get_paths (GtkF +@@ -6848,8 +7109,12 @@ gtk_file_chooser_default_get_paths (GtkF return NULL; } @@ -2208,7 +2203,7 @@ } else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view) goto file_list; -@@ -6985,7 +7250,7 @@ add_shortcut_get_info_cb (GtkFileSystemH +@@ -7018,7 +7283,7 @@ add_shortcut_get_info_cb (GtkFileSystemH pos = shortcuts_get_pos_for_shortcut_folder (data->impl, data->impl->num_shortcuts); @@ -2217,7 +2212,7 @@ out: g_object_unref (data->impl); -@@ -7099,15 +7364,15 @@ gtk_file_chooser_default_remove_shortcut +@@ -7132,15 +7397,15 @@ gtk_file_chooser_default_remove_shortcut for (i = 0; i < impl->num_shortcuts; i++) { gpointer col_data; @@ -2236,7 +2231,7 @@ shortcut = col_data; if (gtk_file_path_compare (shortcut, path) == 0) -@@ -7156,15 +7421,15 @@ gtk_file_chooser_default_list_shortcut_f +@@ -7189,15 +7454,15 @@ gtk_file_chooser_default_list_shortcut_f for (i = 0; i < impl->num_shortcuts; i++) { gpointer col_data; @@ -2255,7 +2250,7 @@ shortcut = col_data; list = g_slist_prepend (list, gtk_file_path_copy (shortcut)); -@@ -7511,6 +7776,23 @@ should_respond_after_confirm_overwrite ( +@@ -7532,6 +7797,23 @@ should_respond_after_confirm_overwrite ( } } @@ -2279,7 +2274,7 @@ static void action_create_folder_cb (GtkFileSystemHandle *handle, const GtkFilePath *path, -@@ -7776,6 +8058,9 @@ gtk_file_chooser_default_should_respond +@@ -7797,6 +8079,9 @@ gtk_file_chooser_default_should_respond g_assert (impl->action >= GTK_FILE_CHOOSER_ACTION_OPEN && impl->action <= GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER); @@ -2289,7 +2284,7 @@ selection_check (impl, &num_selected, &all_files, &all_folders); if (num_selected > 2) -@@ -7911,7 +8196,7 @@ gtk_file_chooser_default_should_respond +@@ -7932,7 +8217,7 @@ gtk_file_chooser_default_should_respond { shortcuts_activate_iter (impl, &iter); @@ -2298,7 +2293,7 @@ } else goto file_list; -@@ -7925,6 +8210,11 @@ gtk_file_chooser_default_should_respond +@@ -7946,6 +8231,11 @@ gtk_file_chooser_default_should_respond */ goto file_list; } @@ -2310,7 +2305,7 @@ else if (impl->location_entry && impl->toplevel_last_focus_widget == impl->location_entry) { /* The focus is on a dialog's action area button, *and* the widget that -@@ -7974,22 +8264,460 @@ gtk_file_chooser_default_initial_focus ( +@@ -7995,21 +8285,459 @@ gtk_file_chooser_default_initial_focus ( gtk_widget_grab_focus (widget); } @@ -2338,7 +2333,6 @@ + list = data; - if (impl->current_filter) -- g_object_unref (impl->current_filter); + gtk_tree_model_get (model, iter, SEARCH_MODEL_COL_PATH, &file_path, -1); + file_path_copy = gtk_file_path_copy (file_path); + *list = g_slist_prepend (*list, file_path_copy); @@ -2779,11 +2773,10 @@ + return; + + if (impl->current_filter) -+ g_object_unref (impl->current_filter); + g_object_unref (impl->current_filter); impl->current_filter = filter; if (impl->current_filter) - { -@@ -8022,28 +8750,44 @@ check_preview_change (GtkFileChooserDefa +@@ -8043,28 +8771,44 @@ check_preview_change (GtkFileChooserDefa { GtkTreePath *cursor_path; const GtkFilePath *new_path; @@ -2845,7 +2838,7 @@ } if (new_path != impl->preview_path && -@@ -8059,7 +8803,7 @@ check_preview_change (GtkFileChooserDefa +@@ -8080,7 +8824,7 @@ check_preview_change (GtkFileChooserDefa if (new_path) { impl->preview_path = gtk_file_path_copy (new_path); @@ -2854,7 +2847,7 @@ } else { -@@ -8128,6 +8872,8 @@ shortcuts_activate_volume (GtkFileChoose +@@ -8149,6 +8893,8 @@ shortcuts_activate_volume (GtkFileChoose { GtkFilePath *path; @@ -2863,7 +2856,7 @@ /* We ref the file chooser since volume_mount() may run a main loop, and the * user could close the file chooser window in the meantime. */ -@@ -8148,6 +8894,7 @@ shortcuts_activate_volume (GtkFileChoose +@@ -8169,6 +8915,7 @@ shortcuts_activate_volume (GtkFileChoose if (path != NULL) { change_folder_and_display_error (impl, path, FALSE); @@ -2871,7 +2864,7 @@ gtk_file_path_free (path); } } -@@ -8180,7 +8927,10 @@ shortcuts_activate_get_info_cb (GtkFileS +@@ -8201,7 +8948,10 @@ shortcuts_activate_get_info_cb (GtkFileS goto out; if (!error && gtk_file_info_get_is_folder (info)) @@ -2883,7 +2876,7 @@ else gtk_file_chooser_default_select_path (GTK_FILE_CHOOSER (data->impl), data->path, NULL); -@@ -8197,26 +8947,25 @@ shortcuts_activate_iter (GtkFileChooserD +@@ -8218,26 +8968,25 @@ shortcuts_activate_iter (GtkFileChooserD GtkTreeIter *iter) { gpointer col_data; @@ -2915,7 +2908,7 @@ { GtkFileSystemVolume *volume; -@@ -8224,7 +8973,7 @@ shortcuts_activate_iter (GtkFileChooserD +@@ -8245,7 +8994,7 @@ shortcuts_activate_iter (GtkFileChooserD shortcuts_activate_volume (impl, volume); } @@ -2924,7 +2917,7 @@ { struct ShortcutsActivateData *data; -@@ -8237,6 +8986,10 @@ shortcuts_activate_iter (GtkFileChooserD +@@ -8258,6 +9007,10 @@ shortcuts_activate_iter (GtkFileChooserD GTK_FILE_INFO_IS_FOLDER, shortcuts_activate_get_info_cb, data); } @@ -2935,7 +2928,7 @@ } /* Callback used when a row in the shortcuts list is activated */ -@@ -8249,15 +9002,13 @@ shortcuts_row_activated_cb (GtkTreeView +@@ -8270,15 +9023,13 @@ shortcuts_row_activated_cb (GtkTreeView GtkTreeIter iter; GtkTreeIter child_iter; @@ -2953,7 +2946,7 @@ } /* Handler for GtkWidget::key-press-event on the shortcuts list */ -@@ -8297,8 +9048,15 @@ shortcuts_select_func (GtkTreeSelection +@@ -8318,8 +9069,15 @@ shortcuts_select_func (GtkTreeSelection gpointer data) { GtkFileChooserDefault *impl = data; @@ -2970,7 +2963,7 @@ } static gboolean -@@ -8310,6 +9068,9 @@ list_select_func (GtkTreeSelection *se +@@ -8331,6 +9089,9 @@ list_select_func (GtkTreeSelection *se { GtkFileChooserDefault *impl = data; @@ -2980,7 +2973,7 @@ if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER || impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER) { -@@ -8335,7 +9096,7 @@ list_selection_changed (GtkTreeSelection +@@ -8356,7 +9117,7 @@ list_selection_changed (GtkTreeSelection GtkFileChooserDefault *impl) { /* See if we are in the new folder editable row for Save mode */ @@ -2989,7 +2982,7 @@ { const GtkFileInfo *info; gboolean had_selection; -@@ -8368,6 +9129,12 @@ list_row_activated (GtkTreeView +@@ -8389,6 +9150,12 @@ list_row_activated (GtkTreeView GtkTreeIter iter, child_iter; const GtkFileInfo *info; @@ -3002,7 +2995,7 @@ if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (impl->sort_model), &iter, path)) return; -@@ -8438,6 +9205,15 @@ list_icon_data_func (GtkTreeViewColumn * +@@ -8459,6 +9226,15 @@ list_icon_data_func (GtkTreeViewColumn * const GtkFileInfo *info; gboolean sensitive = TRUE; @@ -3018,7 +3011,7 @@ profile_start ("start", NULL); info = get_list_file_info (impl, iter); -@@ -8487,13 +9263,33 @@ list_name_data_func (GtkTreeViewColumn * +@@ -8508,13 +9284,33 @@ list_name_data_func (GtkTreeViewColumn * gpointer data) { GtkFileChooserDefault *impl = data; @@ -3054,7 +3047,7 @@ NULL); return; -@@ -8509,6 +9305,7 @@ list_name_data_func (GtkTreeViewColumn * +@@ -8530,6 +9326,7 @@ list_name_data_func (GtkTreeViewColumn * g_object_set (cell, "text", gtk_file_info_get_display_name (info), "sensitive", sensitive, @@ -3062,7 +3055,7 @@ NULL); } -@@ -8570,7 +9367,6 @@ list_mtime_data_func (GtkTreeViewColumn +@@ -8591,7 +9388,6 @@ list_mtime_data_func (GtkTreeViewColumn gpointer data) { GtkFileChooserDefault *impl; @@ -3070,7 +3063,7 @@ GtkFileTime time_mtime; GDate mtime, now; int days_diff; -@@ -8579,17 +9375,35 @@ list_mtime_data_func (GtkTreeViewColumn +@@ -8600,17 +9396,35 @@ list_mtime_data_func (GtkTreeViewColumn impl = data; @@ -3114,7 +3107,7 @@ if (time_mtime == 0) strcpy (buf, _("Unknown")); -@@ -8620,10 +9434,6 @@ list_mtime_data_func (GtkTreeViewColumn +@@ -8641,10 +9455,6 @@ list_mtime_data_func (GtkTreeViewColumn } } @@ -3125,7 +3118,7 @@ g_object_set (cell, "text", buf, "sensitive", sensitive, -@@ -8649,7 +9459,23 @@ location_set_user_text (GtkFileChooserDe +@@ -8670,7 +9480,23 @@ location_set_user_text (GtkFileChooserDe static void location_popup_handler (GtkFileChooserDefault *impl, const gchar *path) @@ -3150,7 +3143,7 @@ if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) { -@@ -8718,6 +9544,7 @@ switch_to_shortcut (GtkFileChooserDefaul +@@ -8739,6 +9565,7 @@ switch_to_shortcut (GtkFileChooserDefaul g_assert_not_reached (); shortcuts_activate_iter (impl, &iter); @@ -3158,7 +3151,7 @@ } /* Handler for the "home-folder" keybinding signal */ -@@ -8769,26 +9596,26 @@ show_hidden_handler (GtkFileChooserDefau +@@ -8790,26 +9617,26 @@ show_hidden_handler (GtkFileChooserDefau /* Drag and drop interfaces */ static void @@ -3191,7 +3184,7 @@ pos = *gtk_tree_path_get_indices (path); bookmarks_pos = shortcuts_get_index (model->impl, SHORTCUTS_BOOKMARKS); -@@ -8798,13 +9625,13 @@ shortcuts_model_filter_row_draggable (Gt +@@ -8819,13 +9646,13 @@ shortcuts_model_filter_row_draggable (Gt /* GtkTreeDragSource::drag_data_get implementation for the shortcuts filter model */ static gboolean @@ -3210,7 +3203,7 @@ /* FIXME */ -@@ -8813,30 +9640,30 @@ shortcuts_model_filter_drag_data_get (Gt +@@ -8834,30 +9661,30 @@ shortcuts_model_filter_drag_data_get (Gt /* Fill the GtkTreeDragSourceIface vtable */ static void @@ -3252,8 +3245,8 @@ "child-model", child_model, "virtual-root", root, NULL); ---- gtk+-2.10.12/gtk/gtkfilechooserprivate.h.search 2007-05-02 12:26:59.000000000 -0400 -+++ gtk+-2.10.12/gtk/gtkfilechooserprivate.h 2007-05-19 19:51:53.000000000 -0400 +--- gtk+-2.10.13/gtk/gtkfilechooserprivate.h.search 2007-06-12 23:09:41.000000000 -0400 ++++ gtk+-2.10.13/gtk/gtkfilechooserprivate.h 2007-06-13 01:04:04.000000000 -0400 @@ -25,6 +25,8 @@ #include "gtkfilesystem.h" #include "gtkfilesystemmodel.h" @@ -3263,7 +3256,7 @@ #include "gtktooltips.h" #include "gtktreemodelsort.h" #include "gtktreestore.h" -@@ -147,6 +149,11 @@ typedef enum { +@@ -143,6 +145,11 @@ typedef enum { LOCATION_MODE_FILENAME_ENTRY } LocationMode; @@ -3275,7 +3268,7 @@ struct _GtkFileChooserDefault { GtkVBox parent_instance; -@@ -175,11 +182,19 @@ struct _GtkFileChooserDefault +@@ -171,11 +178,19 @@ struct _GtkFileChooserDefault GtkWidget *browse_files_popup_menu_add_shortcut_item; GtkWidget *browse_files_popup_menu_hidden_files_item; GtkWidget *browse_new_folder_button; @@ -3295,7 +3288,7 @@ GtkWidget *filter_combo_hbox; GtkWidget *filter_combo; GtkWidget *preview_box; -@@ -195,7 +210,16 @@ struct _GtkFileChooserDefault +@@ -191,7 +206,16 @@ struct _GtkFileChooserDefault LocationMode location_mode; GtkListStore *shortcuts_model; @@ -3313,7 +3306,7 @@ GtkTreeModelSort *sort_model; -@@ -215,6 +239,8 @@ struct _GtkFileChooserDefault +@@ -211,6 +235,8 @@ struct _GtkFileChooserDefault ReloadState reload_state; guint load_timeout_id; @@ -3322,7 +3315,7 @@ GSList *pending_select_paths; GtkFileFilter *current_filter; -@@ -222,9 +248,6 @@ struct _GtkFileChooserDefault +@@ -218,9 +244,6 @@ struct _GtkFileChooserDefault GtkTooltips *tooltips; @@ -3332,7 +3325,7 @@ int num_volumes; int num_shortcuts; int num_bookmarks; -@@ -239,6 +262,7 @@ struct _GtkFileChooserDefault +@@ -235,6 +258,7 @@ struct _GtkFileChooserDefault GtkTreeViewColumn *list_name_column; GtkCellRenderer *list_name_renderer; @@ -3340,7 +3333,7 @@ GSource *edited_idle; char *edited_new_text; -@@ -265,6 +289,9 @@ struct _GtkFileChooserDefault +@@ -264,6 +288,9 @@ struct _GtkFileChooserDefault guint list_sort_ascending : 1; guint changing_folder : 1; guint shortcuts_current_folder_active : 1; @@ -3350,8 +3343,8 @@ guint expand_folders : 1; #if 0 ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchenginesimple.h 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchenginesimple.h 2007-06-13 01:04:04.000000000 -0400 @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2005 Red Hat, Inc @@ -3412,8 +3405,8 @@ +G_END_DECLS + +#endif /* __GTK_SEARCH_ENGINE_SIMPLE_H__ */ ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchenginesimple.c 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchenginesimple.c 2007-06-13 01:04:04.000000000 -0400 @@ -0,0 +1,374 @@ +/* + * Copyright (C) 2005 Red Hat, Inc @@ -3789,8 +3782,8 @@ + + return engine; +} ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtksearchenginebeagle.c 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtksearchenginebeagle.c 2007-06-13 01:04:04.000000000 -0400 @@ -0,0 +1,420 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -4212,8 +4205,8 @@ + + return GTK_SEARCH_ENGINE (engine); +} ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtkquery.c 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtkquery.c 2007-06-13 01:04:04.000000000 -0400 @@ -0,0 +1,142 @@ +/* + * Copyright (C) 2005 Novell, Inc. @@ -4357,8 +4350,8 @@ + g_strdup (mime_type)); +} + ---- /dev/null 2007-05-19 19:05:57.724948798 -0400 -+++ gtk+-2.10.12/gtk/gtkquery.h 2007-05-19 19:51:53.000000000 -0400 +--- /dev/null 2007-06-12 15:51:13.163611224 -0400 ++++ gtk+-2.10.13/gtk/gtkquery.h 2007-06-13 01:04:04.000000000 -0400 @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2005 Novell, Inc. From fedora-cvs-commits at redhat.com Wed Jun 13 14:45:44 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 10:45:44 -0400 Subject: rpms/libexif/FC-5 libexif-cve-2007-4168.patch, NONE, 1.1 libexif.spec, 1.17, 1.18 Message-ID: <200706131445.l5DEji33027880@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/libexif/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv27861 Modified Files: libexif.spec Added Files: libexif-cve-2007-4168.patch Log Message: Fix CVE-2007-4168 libexif-cve-2007-4168.patch: exif-data.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) --- NEW FILE libexif-cve-2007-4168.patch --- --- libexif-0.6.13/libexif/exif-data.c.cve-2007-4168 2005-08-22 16:32:02.000000000 -0400 +++ libexif-0.6.13/libexif/exif-data.c 2007-06-12 12:14:35.000000000 -0400 @@ -174,9 +174,15 @@ exif_data_load_data_entry (ExifData *dat * Size? If bigger than 4 bytes, the actual data is not * in the entry but somewhere else (offset). */ - s = exif_format_get_size (entry->format) * entry->components; - if (!s) - return; + /* {0,1,2,4,8} x { 0x00000000 .. 0xffffffff } + * -> { 0x000000000 .. 0x7fffffff8 } */ + s = exif_format_get_size(entry->format) * entry->components; + if (s < entry->components) { + return; + } + if (0 == s) + return; + if (s > 4) doff = exif_get_long (d + offset + 8, data->priv->order); else Index: libexif.spec =================================================================== RCS file: /cvs/dist/rpms/libexif/FC-5/libexif.spec,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- libexif.spec 11 Feb 2006 03:55:46 -0000 1.17 +++ libexif.spec 13 Jun 2007 14:45:41 -0000 1.18 @@ -1,7 +1,7 @@ Summary: Library for extracting extra information from image files Name: libexif Version: 0.6.12 -Release: 3.2.1 +Release: 4 Group: System Environment/Libraries License: LGPL URL: http://libexif.sourceforge.net/ @@ -12,6 +12,7 @@ # fixed in libexif CVS Patch1: libexif-0.6.12-odd.patch Patch2: libexif-0.6.12-recurse.patch +Patch3: libexif-cve-2007-4168.patch %description Most digital cameras produce EXIF files, which are JPEG files with @@ -32,6 +33,7 @@ %patch0 -p1 -b .gcc4 %patch1 -p1 -b .odd %patch2 -p1 -b .recurse +%patch3 -p1 -b .cve-2007-4168 %build %configure @@ -63,6 +65,9 @@ %{_libdir}/pkgconfig/libexif.pc %changelog +* Wed Jun 13 2007 Matthias Clasen - 0.6.12-4 +-- Add patch for CVE-2007-4168. Fix bug #243891 + * Fri Feb 10 2006 Jesse Keating - 0.6.12-3.2.1 - bump again for double-long bug on ppc(64) From fedora-cvs-commits at redhat.com Wed Jun 13 15:49:52 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 11:49:52 -0400 Subject: rpms/libexif/FC-6 libexif-cve-2007-4168.patch, NONE, 1.1 libexif.spec, 1.26, 1.27 Message-ID: <200706131549.l5DFnqvB029383@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/libexif/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv29365 Modified Files: libexif.spec Added Files: libexif-cve-2007-4168.patch Log Message: Fix CVE-2007-4168 libexif-cve-2007-4168.patch: exif-data.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) --- NEW FILE libexif-cve-2007-4168.patch --- --- libexif-0.6.13/libexif/exif-data.c.cve-2007-4168 2005-08-22 16:32:02.000000000 -0400 +++ libexif-0.6.13/libexif/exif-data.c 2007-06-12 12:14:35.000000000 -0400 @@ -174,9 +174,15 @@ exif_data_load_data_entry (ExifData *dat * Size? If bigger than 4 bytes, the actual data is not * in the entry but somewhere else (offset). */ - s = exif_format_get_size (entry->format) * entry->components; - if (!s) - return 0; + /* {0,1,2,4,8} x { 0x00000000 .. 0xffffffff } + * -> { 0x000000000 .. 0x7fffffff8 } */ + s = exif_format_get_size(entry->format) * entry->components; + if (s < entry->components) { + return 0; + } + if (0 == s) + return 0; + if (s > 4) doff = exif_get_long (d + offset + 8, data->priv->order); else Index: libexif.spec =================================================================== RCS file: /cvs/dist/rpms/libexif/FC-6/libexif.spec,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- libexif.spec 31 May 2007 01:53:43 -0000 1.26 +++ libexif.spec 13 Jun 2007 15:49:50 -0000 1.27 @@ -1,12 +1,13 @@ Summary: Library for extracting extra information from image files Name: libexif Version: 0.6.15 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries License: LGPL URL: http://libexif.sourceforge.net/ Source0: libexif-%{version}.tar.bz2 Source1: libexif-docs.tar.gz +Patch0: libexif-cve-2007-4168.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: doxygen @@ -27,6 +28,7 @@ %prep %setup -q +%patch0 -p1 -b .cve-2007-4168 # to avoid multilib conflicts, we toss in pre-generated docs # and neuter make all in the docs dir tar xzf %{SOURCE1} @@ -65,6 +67,9 @@ %{_libdir}/pkgconfig/libexif.pc %changelog +* Wed Jun 13 2007 Matthias Clasen - 0.6.15-2 +- Add patch for CVE-2007-4168. Fix bug #243892 + * Wed May 30 2007 Matthias Clasen - 0.6.15-1 - Update to 0.6.15 - Drop obsolete patch From fedora-cvs-commits at redhat.com Wed Jun 13 16:02:10 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 12:02:10 -0400 Subject: rpms/createrepo/FC-6 .cvsignore, 1.9, 1.10 createrepo.spec, 1.19, 1.20 sources, 1.9, 1.10 createrepo-0.4.4-relative.patch, 1.1, NONE Message-ID: <200706131602.l5DG2AKh029730@cvs.devel.redhat.com> Author: pnasrat Update of /cvs/dist/rpms/createrepo/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv29713 Modified Files: .cvsignore createrepo.spec sources Removed Files: createrepo-0.4.4-relative.patch Log Message: Update for koji Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/createrepo/FC-6/.cvsignore,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- .cvsignore 17 Apr 2006 20:36:13 -0000 1.9 +++ .cvsignore 13 Jun 2007 16:02:08 -0000 1.10 @@ -1,3 +1,4 @@ createrepo-0.4.2.tar.gz createrepo-0.4.3.tar.gz createrepo-0.4.4.tar.gz +createrepo-0.4.10.tar.gz Index: createrepo.spec =================================================================== RCS file: /cvs/dist/rpms/createrepo/FC-6/createrepo.spec,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- createrepo.spec 24 Jul 2006 15:30:57 -0000 1.19 +++ createrepo.spec 13 Jun 2007 16:02:08 -0000 1.20 @@ -1,41 +1,78 @@ Summary: Creates a common metadata repository Name: createrepo -Version: 0.4.4 -Release: 2%{?dist} +Version: 0.4.10 +Release: 1%{?dist} License: GPL Group: System Environment/Base Source: %{name}-%{version}.tar.gz -Patch0: createrepo-0.4.4-relative.patch URL: http://linux.duke.edu/projects/metadata/ -BuildRoot: %{_tmppath}/%{name}-%{version}root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArchitectures: noarch -Requires: python >= 2.1, rpm-python, rpm >= 0:4.1.1, libxml2-python +Requires: python >= 2.1, rpm-python, rpm >= 4.1.1, libxml2-python +Requires: yum-metadata-parser +BuildRequires: python %description -This utility will generate a common metadata repository from a directory of -rpm packages +This utility will generate a common metadata repository from a directory of rpm +packages. %prep %setup -q -%patch0 -p1 + +%build %install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -%makeinstall +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install %clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT %files -%defattr(-, root, root) -%dir %{_datadir}/%{name} +%defattr(-, root, root,-) %doc ChangeLog README -%{_datadir}/%{name}/* -%{_bindir}/%{name} +%{_datadir}/%{name}/ +%{_bindir}/createrepo +%{_bindir}/modifyrepo %{_mandir}/*/* %changelog +* Thu Jun 07 2007 Paul Nasrat - 0.4.10-1 +- Update to 0.4.10 + +* Wed May 16 2007 Paul Nasrat - 0.4.9-1 +- Update to 0.4.9 + +* Tue May 15 2007 Jeremy Katz - 0.4.8-4 +- fix the last patch + +* Tue May 15 2007 Jeremy Katz - 0.4.8-3 +- use dbversion given by yum-metadata-parser instead of hardcoded + value (#239938) + +* Wed Mar 14 2007 Paul Nasrat - 0.4.8-2 +- Remove requires (#227680) + +* Wed Feb 21 2007 Jeremy Katz - 0.4.8-1 +- update to 0.4.8 + +* Mon Feb 12 2007 Jesse Keating - 0.4.7-3 +- Require yum-metadata-parser. + +* Thu Feb 8 2007 Jeremy Katz - 0.4.7-2 +- add modifyrepo to the file list + +* Thu Feb 8 2007 Jeremy Katz - 0.4.7-1 +- update to 0.4.7 + +* Mon Feb 05 2007 Paul Nasrat - 0.4.6-2 +- Packaging guidelines (#225661) + +* Thu Nov 09 2006 Paul Nasrat - 0.4.6-1 +- Upgrade to latest release +- Fix requires (#214388) + * Wed Jul 19 2006 Paul Nasrat - 0.4.4-2 - Fixup relative paths (#199228) Index: sources =================================================================== RCS file: /cvs/dist/rpms/createrepo/FC-6/sources,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- sources 17 Apr 2006 20:36:14 -0000 1.9 +++ sources 13 Jun 2007 16:02:08 -0000 1.10 @@ -1 +1 @@ -28c02a17e08024849e0730676a26d55b createrepo-0.4.4.tar.gz +733971b7aefd2597ad391feae01a6d15 createrepo-0.4.10.tar.gz --- createrepo-0.4.4-relative.patch DELETED --- From fedora-cvs-commits at redhat.com Wed Jun 13 18:05:28 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 14:05:28 -0400 Subject: rpms/iscsi-initiator-utils/FC-6 .cvsignore, 1.16, 1.17 iscsi-initiator-utils-update-initscripts-and-docs.patch, 1.1, 1.2 iscsi-initiator-utils-use-var-for-config.patch, 1.1, 1.2 iscsi-initiator-utils.spec, 1.32, 1.33 sources, 1.16, 1.17 Message-ID: <200706131805.l5DI5SDj031770@cvs.devel.redhat.com> Author: mchristi Update of /cvs/dist/rpms/iscsi-initiator-utils/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv31753 Modified Files: .cvsignore iscsi-initiator-utils-update-initscripts-and-docs.patch iscsi-initiator-utils-use-var-for-config.patch iscsi-initiator-utils.spec sources Log Message: rebase iscsi-initiator-utils Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/.cvsignore,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- .cvsignore 6 Feb 2007 18:49:23 -0000 1.16 +++ .cvsignore 13 Jun 2007 18:05:25 -0000 1.17 @@ -12,3 +12,4 @@ open-iscsi-2.0-742.tar.gz open-iscsi-2.0-747.tar.gz open-iscsi-2.0-754.tar.gz +open-iscsi-2.0-865.tar.gz iscsi-initiator-utils-update-initscripts-and-docs.patch: README | 4 +++- etc/iscsid.conf | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) Index: iscsi-initiator-utils-update-initscripts-and-docs.patch =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/iscsi-initiator-utils-update-initscripts-and-docs.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- iscsi-initiator-utils-update-initscripts-and-docs.patch 24 Nov 2006 23:50:19 -0000 1.1 +++ iscsi-initiator-utils-update-initscripts-and-docs.patch 13 Jun 2007 18:05:26 -0000 1.2 @@ -1,7 +1,7 @@ -diff -aurp open-iscsi-2.0-737/etc/iscsid.conf open-iscsi-2.0-737.work/etc/iscsid.conf ---- open-iscsi-2.0-737/etc/iscsid.conf 2006-11-22 14:21:17.000000000 -0600 -+++ open-iscsi-2.0-737.work/etc/iscsid.conf 2006-11-24 16:26:17.000000000 -0600 -@@ -14,8 +14,8 @@ +diff -aurp open-iscsi-2.0-865/etc/iscsid.conf open-iscsi-2.0-865.work/etc/iscsid.conf +--- open-iscsi-2.0-865/etc/iscsid.conf 2007-06-11 23:06:31.000000000 -0500 ++++ open-iscsi-2.0-865.work/etc/iscsid.conf 2007-06-13 12:36:15.000000000 -0500 +@@ -27,8 +27,8 @@ # To request that the iscsi initd scripts startup a session set to "automatic". # node.startup = automatic # @@ -12,46 +12,24 @@ # ************* # CHAP Settings -diff -aurp open-iscsi-2.0-737/README open-iscsi-2.0-737.work/README ---- open-iscsi-2.0-737/README 2006-11-22 14:32:55.000000000 -0600 -+++ open-iscsi-2.0-737.work/README 2006-11-24 16:38:37.000000000 -0600 -@@ -303,19 +303,10 @@ option. For example this would mount a i +diff -aurp open-iscsi-2.0-865/README open-iscsi-2.0-865.work/README +--- open-iscsi-2.0-865/README 2007-06-12 04:29:28.000000000 -0500 ++++ open-iscsi-2.0-865.work/README 2007-06-13 12:42:38.000000000 -0500 +@@ -605,7 +605,7 @@ Red Hat or Fedora: + ----------------- + To start open-iscsi in Red Hat/Fedora you can do: + +- service open-iscsi start ++ service iscsi start + + To get open-iscsi to automatically start at run time you may have to + run: +@@ -781,6 +781,8 @@ To login to all the automated nodes, sim + e.g /etc/init.d/open-iscsi restart. On your next startup the nodes will + be logged into autmotically. - /dev/sdb /mnt/iscsi ext3 _netdev 0 0 - --SUSE or Debian: ----------------- --Otherwise, if there is a initd script for your distro in etc/initd that --gets installed with "make install" -- -- /etc/init.d/open-iscsi start -- --will usually get you started. -- --Other: -+Manual: - ------ --If there is no initd script, you must start the tools by hand. First load the --iscsi modules with: -+If there is no initd script or you wish to run iscsi manually, you must start -+the tools by hand. First load the iscsi modules with: - - modprobe -q iscsi_tcp - -@@ -358,8 +349,6 @@ storage), it is better to automate the l - - 3. automate target logins for future system reboots - --------------------------------------------------- --Note: this may only work for Red Hat, Fedora and SUSE configurations -- - To automate login to a node, use the following with the record ID of the - node discovered in the discovery above: - iscsiadm -m node -T targetname -p ip:port --op update -n node.conn[0].startup -v automatic -@@ -372,7 +361,6 @@ all sessions add the following to the /e - To login to all the automated nodes, simply restart the iscsi service - e.g /etc/init.d/open-iscsi restart - -- - 8. TBD - ====== ++To set the startup value, so that nodes are not logged into automatically ++use the value "manual". + 8. iSCSI System Info + ==================== iscsi-initiator-utils-use-var-for-config.patch: idbm.h | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) Index: iscsi-initiator-utils-use-var-for-config.patch =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/iscsi-initiator-utils-use-var-for-config.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- iscsi-initiator-utils-use-var-for-config.patch 3 Oct 2006 19:51:23 -0000 1.1 +++ iscsi-initiator-utils-use-var-for-config.patch 13 Jun 2007 18:05:26 -0000 1.2 @@ -1,78 +1,24 @@ -diff -aurp open-iscsi-6.2.0.695/usr/idbm.c open-iscsi-6.2.0.695.work/usr/idbm.c ---- open-iscsi-6.2.0.695/usr/idbm.c 2006-10-03 13:54:51.000000000 -0500 -+++ open-iscsi-6.2.0.695.work/usr/idbm.c 2006-10-03 14:44:56.000000000 -0500 -@@ -831,10 +831,18 @@ idbm_node_write(idbm_t *db, node_rec_t * +diff -aurp open-iscsi-2.0-865/usr/idbm.h open-iscsi-2.0-865.work/usr/idbm.h +--- open-iscsi-2.0-865/usr/idbm.h 2007-06-12 04:29:28.000000000 -0500 ++++ open-iscsi-2.0-865.work/usr/idbm.h 2007-06-13 12:55:52.000000000 -0500 +@@ -26,12 +26,14 @@ + #include "initiator.h" + #include "config.h" - idbm_lock(db); +-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes" +-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces" +-#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp" +-#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns" +-#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static" +-#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets" ++#define ISCSIVAR "/var/lib/iscsi/" ++ ++#define NODE_CONFIG_DIR ISCSIVAR"nodes" ++#define IFACE_CONFIG_DIR ISCSIVAR"ifaces" ++#define SLP_CONFIG_DIR ISCSIVAR"slp" ++#define ISNS_CONFIG_DIR ISCSIVAR"isns" ++#define STATIC_CONFIG_DIR ISCSIVAR"static" ++#define ST_CONFIG_DIR ISCSIVAR"send_targets" + #define ST_CONFIG_NAME "st_config" -- snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR); -- if (access(portal, F_OK) != 0) { -+ /* bah: there has to be a function to make all these subdirs for us */ -+ if (access(CONFIG_DIR, F_OK) != 0) { - if (mkdir(portal, 0660) != 0) { -- log_error("Could not make %s\n", portal); -+ log_error("Could not make %s %d\n", CONFIG_DIR, errno); -+ rc = errno; -+ goto free_portal; -+ } -+ } -+ -+ if (access(NODE_CONFIG_DIR, F_OK) != 0) { -+ if (mkdir(NODE_CONFIG_DIR, 0660) != 0) { -+ log_error("Could not make %s\n", NODE_CONFIG_DIR); - rc = errno; - goto free_portal; - } -@@ -869,6 +877,7 @@ free_portal: - return rc; - } - -+/* TODO: merged these two functions */ - static int - idbm_discovery_write(idbm_t *db, discovery_rec_t *rec) - { -@@ -883,10 +892,18 @@ idbm_discovery_write(idbm_t *db, discove - } - - idbm_lock(db); -- snprintf(portal, PATH_MAX, "%s", ST_CONFIG_DIR); -- if (access(portal, F_OK) != 0) { -- if (mkdir(portal, 0660) != 0) { -- log_error("Could not make %s\n", portal); -+ -+ if (access(CONFIG_DIR, F_OK) != 0) { -+ if (mkdir(CONFIG_DIR, 0660) != 0) { -+ log_error("Could not make %s %d\n", CONFIG_DIR, errno); -+ rc = errno; -+ goto free_portal; -+ } -+ } -+ -+ if (access(ST_CONFIG_DIR, F_OK) != 0) { -+ if (mkdir(ST_CONFIG_DIR, 0660) != 0) { -+ log_error("Could not make %s\n", ST_CONFIG_DIR); - rc = errno; - goto free_portal; - } -diff -aurp open-iscsi-6.2.0.695/usr/initiator.h open-iscsi-6.2.0.695.work/usr/initiator.h ---- open-iscsi-6.2.0.695/usr/initiator.h 2006-10-03 13:54:51.000000000 -0500 -+++ open-iscsi-6.2.0.695.work/usr/initiator.h 2006-10-03 14:08:09.000000000 -0500 -@@ -31,11 +31,15 @@ - #include "actor.h" - #include "queue.h" - --#define ST_CONFIG_DIR "/etc/iscsi/send_targets" --#define NODE_CONFIG_DIR "/etc/iscsi/nodes" -+#define CONFIG_DIR "/var/lib/iscsi" -+#define ST_CONFIG_DIR "/var/lib/iscsi/send_targets" -+#define NODE_CONFIG_DIR "/var/lib/iscsi/nodes" -+ - #define CONFIG_FILE "/etc/iscsi/iscsid.conf" --#define PID_FILE "/var/run/iscsid.pid" - #define INITIATOR_NAME_FILE "/etc/iscsi/initiatorname.iscsi" -+ -+#define PID_FILE "/var/run/iscsid.pid" -+ - #define LOCK_DIR "/var/lock/iscsi" - #define LOCK_FILE "/var/lock/iscsi/lock" - #define LOCK_WRITE_FILE "/var/lock/iscsi/lock.write" + #define TYPE_INT 0 Index: iscsi-initiator-utils.spec =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/iscsi-initiator-utils.spec,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- iscsi-initiator-utils.spec 6 Feb 2007 18:49:23 -0000 1.32 +++ iscsi-initiator-utils.spec 13 Jun 2007 18:05:26 -0000 1.33 @@ -1,13 +1,12 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils -Version: 6.2.0.754 +Version: 6.2.0.865 Release: 0.0%{?dist} -Source0: http://www.open-iscsi.org/bits/open-iscsi-2.0-754.tar.gz +Source0: http://www.open-iscsi.org/bits/open-iscsi-2.0-865.tar.gz Source1: iscsid.init Source2: iscsidevs.init Patch0: iscsi-initiator-utils-update-initscripts-and-docs.patch -Patch1: iscsi-initiator-utils-add-iscsi-iname.patch -Patch2: iscsi-initiator-utils-use-var-for-config.patch +Patch1: iscsi-initiator-utils-use-var-for-config.patch Group: System Environment/Daemons License: GPL @@ -24,10 +23,9 @@ Protocol networks. %prep -%setup -q -n open-iscsi-2.0-754 +%setup -q -n open-iscsi-2.0-865 %patch0 -p1 -b .update-initscripts-and-docs -%patch1 -p1 -b .add-iscsi-iname -%patch2 -p1 -b .use-var-for-config +%patch1 -p1 -b .use-var-for-config %build make OPTFLAGS="%{optflags}" -C usr @@ -44,6 +42,10 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/nodes mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/send_targets +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/static +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/isns +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/slp +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/ifaces mkdir -p $RPM_BUILD_ROOT/var/lock/iscsi install -s -m 755 usr/iscsid usr/iscsiadm utils/iscsi-iname usr/iscsistart $RPM_BUILD_ROOT/sbin @@ -76,6 +78,10 @@ %doc README %dir /var/lib/iscsi/nodes %dir /var/lib/iscsi/send_targets +%dir /var/lib/iscsi/static +%dir /var/lib/iscsi/slp +%dir /var/lib/iscsi/isns +%dir /var/lib/iscsi/ifaces %dir /var/lock/iscsi %config /etc/rc.d/init.d/iscsi %config /etc/rc.d/init.d/iscsid @@ -84,6 +90,9 @@ %{_mandir}/*/* %changelog +* Tue Jun 12 2007 Mike Christie - 6.2.0.865-0.0 +- Rebase upstream + * Tue Feb 6 2007 Mike Christie - 6.2.0.754-0.0 - Rebase to upstream. - Add back --map functionality but in session mode to match RHEL5 fixes Index: sources =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/sources,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- sources 6 Feb 2007 18:49:23 -0000 1.16 +++ sources 13 Jun 2007 18:05:26 -0000 1.17 @@ -1 +1 @@ -2e7ce941ea4e4eda7c82f0b272a33bf9 open-iscsi-2.0-754.tar.gz +ed6c5f4a1b3f01bbd6f40dda26f57eb5 open-iscsi-2.0-865.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 13 18:47:48 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 14:47:48 -0400 Subject: rpms/iscsi-initiator-utils/FC-5 .cvsignore, 1.14, 1.15 iscsi-initiator-utils-update-initscripts-and-docs.patch, 1.1, 1.2 iscsi-initiator-utils-use-var-for-config.patch, 1.1, 1.2 iscsi-initiator-utils.spec, 1.18, 1.19 sources, 1.15, 1.16 Message-ID: <200706131847.l5DIlm2M000356@cvs.devel.redhat.com> Author: mchristi Update of /cvs/dist/rpms/iscsi-initiator-utils/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv339 Modified Files: .cvsignore iscsi-initiator-utils-update-initscripts-and-docs.patch iscsi-initiator-utils-use-var-for-config.patch iscsi-initiator-utils.spec sources Log Message: rebase to upstream Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-5/.cvsignore,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- .cvsignore 28 Nov 2006 20:57:18 -0000 1.14 +++ .cvsignore 13 Jun 2007 18:47:46 -0000 1.15 @@ -8,3 +8,4 @@ open-iscsi-2.0-737.tar.gz open-iscsi-2.0-742.tar.gz open-iscsi-2.0-747.tar.gz +open-iscsi-2.0-865.tar.gz iscsi-initiator-utils-update-initscripts-and-docs.patch: README | 4 +++- etc/iscsid.conf | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) Index: iscsi-initiator-utils-update-initscripts-and-docs.patch =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-5/iscsi-initiator-utils-update-initscripts-and-docs.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- iscsi-initiator-utils-update-initscripts-and-docs.patch 24 Nov 2006 23:51:15 -0000 1.1 +++ iscsi-initiator-utils-update-initscripts-and-docs.patch 13 Jun 2007 18:47:46 -0000 1.2 @@ -1,7 +1,7 @@ -diff -aurp open-iscsi-2.0-737/etc/iscsid.conf open-iscsi-2.0-737.work/etc/iscsid.conf ---- open-iscsi-2.0-737/etc/iscsid.conf 2006-11-22 14:21:17.000000000 -0600 -+++ open-iscsi-2.0-737.work/etc/iscsid.conf 2006-11-24 16:26:17.000000000 -0600 -@@ -14,8 +14,8 @@ +diff -aurp open-iscsi-2.0-865/etc/iscsid.conf open-iscsi-2.0-865.work/etc/iscsid.conf +--- open-iscsi-2.0-865/etc/iscsid.conf 2007-06-11 23:06:31.000000000 -0500 ++++ open-iscsi-2.0-865.work/etc/iscsid.conf 2007-06-13 12:36:15.000000000 -0500 +@@ -27,8 +27,8 @@ # To request that the iscsi initd scripts startup a session set to "automatic". # node.startup = automatic # @@ -12,46 +12,24 @@ # ************* # CHAP Settings -diff -aurp open-iscsi-2.0-737/README open-iscsi-2.0-737.work/README ---- open-iscsi-2.0-737/README 2006-11-22 14:32:55.000000000 -0600 -+++ open-iscsi-2.0-737.work/README 2006-11-24 16:38:37.000000000 -0600 -@@ -303,19 +303,10 @@ option. For example this would mount a i +diff -aurp open-iscsi-2.0-865/README open-iscsi-2.0-865.work/README +--- open-iscsi-2.0-865/README 2007-06-12 04:29:28.000000000 -0500 ++++ open-iscsi-2.0-865.work/README 2007-06-13 12:42:38.000000000 -0500 +@@ -605,7 +605,7 @@ Red Hat or Fedora: + ----------------- + To start open-iscsi in Red Hat/Fedora you can do: + +- service open-iscsi start ++ service iscsi start + + To get open-iscsi to automatically start at run time you may have to + run: +@@ -781,6 +781,8 @@ To login to all the automated nodes, sim + e.g /etc/init.d/open-iscsi restart. On your next startup the nodes will + be logged into autmotically. - /dev/sdb /mnt/iscsi ext3 _netdev 0 0 - --SUSE or Debian: ----------------- --Otherwise, if there is a initd script for your distro in etc/initd that --gets installed with "make install" -- -- /etc/init.d/open-iscsi start -- --will usually get you started. -- --Other: -+Manual: - ------ --If there is no initd script, you must start the tools by hand. First load the --iscsi modules with: -+If there is no initd script or you wish to run iscsi manually, you must start -+the tools by hand. First load the iscsi modules with: - - modprobe -q iscsi_tcp - -@@ -358,8 +349,6 @@ storage), it is better to automate the l - - 3. automate target logins for future system reboots - --------------------------------------------------- --Note: this may only work for Red Hat, Fedora and SUSE configurations -- - To automate login to a node, use the following with the record ID of the - node discovered in the discovery above: - iscsiadm -m node -T targetname -p ip:port --op update -n node.conn[0].startup -v automatic -@@ -372,7 +361,6 @@ all sessions add the following to the /e - To login to all the automated nodes, simply restart the iscsi service - e.g /etc/init.d/open-iscsi restart - -- - 8. TBD - ====== ++To set the startup value, so that nodes are not logged into automatically ++use the value "manual". + 8. iSCSI System Info + ==================== iscsi-initiator-utils-use-var-for-config.patch: idbm.h | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) Index: iscsi-initiator-utils-use-var-for-config.patch =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-5/iscsi-initiator-utils-use-var-for-config.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- iscsi-initiator-utils-use-var-for-config.patch 16 Oct 2006 19:09:36 -0000 1.1 +++ iscsi-initiator-utils-use-var-for-config.patch 13 Jun 2007 18:47:46 -0000 1.2 @@ -1,78 +1,24 @@ -diff -aurp open-iscsi-6.2.0.695/usr/idbm.c open-iscsi-6.2.0.695.work/usr/idbm.c ---- open-iscsi-6.2.0.695/usr/idbm.c 2006-10-03 13:54:51.000000000 -0500 -+++ open-iscsi-6.2.0.695.work/usr/idbm.c 2006-10-03 14:44:56.000000000 -0500 -@@ -831,10 +831,18 @@ idbm_node_write(idbm_t *db, node_rec_t * +diff -aurp open-iscsi-2.0-865/usr/idbm.h open-iscsi-2.0-865.work/usr/idbm.h +--- open-iscsi-2.0-865/usr/idbm.h 2007-06-12 04:29:28.000000000 -0500 ++++ open-iscsi-2.0-865.work/usr/idbm.h 2007-06-13 12:55:52.000000000 -0500 +@@ -26,12 +26,14 @@ + #include "initiator.h" + #include "config.h" - idbm_lock(db); +-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes" +-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces" +-#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp" +-#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns" +-#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static" +-#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets" ++#define ISCSIVAR "/var/lib/iscsi/" ++ ++#define NODE_CONFIG_DIR ISCSIVAR"nodes" ++#define IFACE_CONFIG_DIR ISCSIVAR"ifaces" ++#define SLP_CONFIG_DIR ISCSIVAR"slp" ++#define ISNS_CONFIG_DIR ISCSIVAR"isns" ++#define STATIC_CONFIG_DIR ISCSIVAR"static" ++#define ST_CONFIG_DIR ISCSIVAR"send_targets" + #define ST_CONFIG_NAME "st_config" -- snprintf(portal, PATH_MAX, "%s", NODE_CONFIG_DIR); -- if (access(portal, F_OK) != 0) { -+ /* bah: there has to be a function to make all these subdirs for us */ -+ if (access(CONFIG_DIR, F_OK) != 0) { - if (mkdir(portal, 0660) != 0) { -- log_error("Could not make %s\n", portal); -+ log_error("Could not make %s %d\n", CONFIG_DIR, errno); -+ rc = errno; -+ goto free_portal; -+ } -+ } -+ -+ if (access(NODE_CONFIG_DIR, F_OK) != 0) { -+ if (mkdir(NODE_CONFIG_DIR, 0660) != 0) { -+ log_error("Could not make %s\n", NODE_CONFIG_DIR); - rc = errno; - goto free_portal; - } -@@ -869,6 +877,7 @@ free_portal: - return rc; - } - -+/* TODO: merged these two functions */ - static int - idbm_discovery_write(idbm_t *db, discovery_rec_t *rec) - { -@@ -883,10 +892,18 @@ idbm_discovery_write(idbm_t *db, discove - } - - idbm_lock(db); -- snprintf(portal, PATH_MAX, "%s", ST_CONFIG_DIR); -- if (access(portal, F_OK) != 0) { -- if (mkdir(portal, 0660) != 0) { -- log_error("Could not make %s\n", portal); -+ -+ if (access(CONFIG_DIR, F_OK) != 0) { -+ if (mkdir(CONFIG_DIR, 0660) != 0) { -+ log_error("Could not make %s %d\n", CONFIG_DIR, errno); -+ rc = errno; -+ goto free_portal; -+ } -+ } -+ -+ if (access(ST_CONFIG_DIR, F_OK) != 0) { -+ if (mkdir(ST_CONFIG_DIR, 0660) != 0) { -+ log_error("Could not make %s\n", ST_CONFIG_DIR); - rc = errno; - goto free_portal; - } -diff -aurp open-iscsi-6.2.0.695/usr/initiator.h open-iscsi-6.2.0.695.work/usr/initiator.h ---- open-iscsi-6.2.0.695/usr/initiator.h 2006-10-03 13:54:51.000000000 -0500 -+++ open-iscsi-6.2.0.695.work/usr/initiator.h 2006-10-03 14:08:09.000000000 -0500 -@@ -31,11 +31,15 @@ - #include "actor.h" - #include "queue.h" - --#define ST_CONFIG_DIR "/etc/iscsi/send_targets" --#define NODE_CONFIG_DIR "/etc/iscsi/nodes" -+#define CONFIG_DIR "/var/lib/iscsi" -+#define ST_CONFIG_DIR "/var/lib/iscsi/send_targets" -+#define NODE_CONFIG_DIR "/var/lib/iscsi/nodes" -+ - #define CONFIG_FILE "/etc/iscsi/iscsid.conf" --#define PID_FILE "/var/run/iscsid.pid" - #define INITIATOR_NAME_FILE "/etc/iscsi/initiatorname.iscsi" -+ -+#define PID_FILE "/var/run/iscsid.pid" -+ - #define LOCK_DIR "/var/lock/iscsi" - #define LOCK_FILE "/var/lock/iscsi/lock" - #define LOCK_WRITE_FILE "/var/lock/iscsi/lock.write" + #define TYPE_INT 0 Index: iscsi-initiator-utils.spec =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-5/iscsi-initiator-utils.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- iscsi-initiator-utils.spec 28 Nov 2006 20:57:18 -0000 1.18 +++ iscsi-initiator-utils.spec 13 Jun 2007 18:47:46 -0000 1.19 @@ -1,11 +1,10 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils -Version: 5.2.0.747 +Version: 5.2.0.865 Release: 0.0%{?dist} -Source0: http://www.open-iscsi.org/bits/open-iscsi-2.0-747.tar.gz +Source0: http://www.open-iscsi.org/bits/open-iscsi-2.0-865.tar.gz Patch0: iscsi-initiator-utils-update-initscripts-and-docs.patch -Patch1: iscsi-initiator-utils-add-iscsi-iname.patch -Patch2: iscsi-initiator-utils-use-var-for-config.patch +Patch1: iscsi-initiator-utils-use-var-for-config.patch Group: System Environment/Daemons License: GPL @@ -22,10 +21,9 @@ Protocol networks. %prep -%setup -q -n open-iscsi-2.0-747 +%setup -q -n open-iscsi-2.0-865 %patch0 -p1 -b .update-initscripts-and-docs -%patch1 -p1 -b .add-iscsi-iname -%patch2 -p1 -b .use-var-for-config +%patch1 -p1 -b .use-var-for-config %build make -C usr @@ -40,6 +38,10 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/nodes mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/send_targets +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/static +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/isns +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/slp +mkdir -p $RPM_BUILD_ROOT/var/lib/iscsi/ifaces mkdir -p $RPM_BUILD_ROOT/var/lock/iscsi install -s -m 755 usr/iscsid usr/iscsiadm utils/iscsi-iname usr/iscsistart $RPM_BUILD_ROOT/sbin @@ -67,6 +69,10 @@ %defattr(-,root,root) %dir /var/lib/iscsi/nodes %dir /var/lib/iscsi/send_targets +%dir /var/lib/iscsi/static +%dir /var/lib/iscsi/slp +%dir /var/lib/iscsi/isns +%dir /var/lib/iscsi/ifaces %dir /var/lock/iscsi %config /etc/rc.d/init.d/iscsi %attr(600,root,root) %config(noreplace) /etc/iscsi/iscsid.conf @@ -75,6 +81,9 @@ %{_mandir}/*/* %changelog +* Tue Jun 12 2007 Mike Christie - 6.2.0.865-0.0 +- Rebase to upstream + * Tue Nov 28 2006 Mike Christie - 6.2.0.747-0.0 - Fix several bugs in actor.c (iscsi scheduling). This should result - in better dm-multipath intergation and fix bugs where time outs Index: sources =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-5/sources,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- sources 28 Nov 2006 20:57:18 -0000 1.15 +++ sources 13 Jun 2007 18:47:46 -0000 1.16 @@ -1 +1 @@ -2f931e238cc21f21b24402cc661ac747 open-iscsi-2.0-747.tar.gz +ed6c5f4a1b3f01bbd6f40dda26f57eb5 open-iscsi-2.0-865.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 13 19:03:38 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 15:03:38 -0400 Subject: rpms/kernel/FC-6 linux-2.6-dm_crypt_fix_avoid_cloned_bio_ref_after_free.patch, NONE, 1.1 linux-2.6-dm_crypt_fix_call_to_clone_init.patch, NONE, 1.1 linux-2.6-dm_crypt_fix_remove_first_clone.patch, NONE, 1.1 linux-2.6-sysfs_fix_condition_in_drop_dentry.patch, NONE, 1.1 linux-2.6-udf-2.6.22-rc2-1-udf_data_corruption.patch, NONE, 1.1 linux-2.6-udf-2.6.22-rc4-1-udf_block_leak.patch, NONE, 1.1 kernel-2.6.spec, 1.2959, 1.2960 Message-ID: <200706131903.l5DJ3ccA000959@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv935 Modified Files: kernel-2.6.spec Added Files: linux-2.6-dm_crypt_fix_avoid_cloned_bio_ref_after_free.patch linux-2.6-dm_crypt_fix_call_to_clone_init.patch linux-2.6-dm_crypt_fix_remove_first_clone.patch linux-2.6-sysfs_fix_condition_in_drop_dentry.patch linux-2.6-udf-2.6.22-rc2-1-udf_data_corruption.patch linux-2.6-udf-2.6.22-rc4-1-udf_block_leak.patch Log Message: * Wed Jun 13 2007 Chuck Ebbert 1.2960 - sysfs: fix check in dentry drop code - kcryptd: 3 patches from 2.6.22 (BZ #243809) - UDF: 2 fixes from 2.6.22 for Fedora backport of that code linux-2.6-dm_crypt_fix_avoid_cloned_bio_ref_after_free.patch: dm-crypt.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) --- NEW FILE linux-2.6-dm_crypt_fix_avoid_cloned_bio_ref_after_free.patch --- Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=98221eb757de03d9aa6262b1eded2be708640ccc Commit: 98221eb757de03d9aa6262b1eded2be708640ccc Parent: 027581f3515b5ec2218847dab578afa439a9d6b9 Author: Olaf Kirch AuthorDate: Wed May 9 02:32:52 2007 -0700 Committer: Linus Torvalds CommitDate: Wed May 9 12:30:46 2007 -0700 dm crypt: fix avoid cloned bio ref after free Do not access the bio after generic_make_request We should never access a bio after generic_make_request - there's no guarantee it still exists. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/md/dm-crypt.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index db43936..1dc2c62 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -655,9 +655,12 @@ static void process_write(struct crypt_io *io) generic_make_request(clone); + /* Do not reference clone after this - it + * may be gone already. */ + /* out of memory -> run queues */ if (remaining) - congestion_wait(bio_data_dir(clone), HZ/100); + congestion_wait(WRITE, HZ/100); } } linux-2.6-dm_crypt_fix_call_to_clone_init.patch: dm-crypt.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) --- NEW FILE linux-2.6-dm_crypt_fix_call_to_clone_init.patch --- Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=027581f3515b5ec2218847dab578afa439a9d6b9 Commit: 027581f3515b5ec2218847dab578afa439a9d6b9 Parent: 9c89f8be1a7d14aad9d2c3f7d90d7d88f82c61e2 Author: Olaf Kirch AuthorDate: Wed May 9 02:32:52 2007 -0700 Committer: Linus Torvalds CommitDate: Wed May 9 12:30:46 2007 -0700 dm crypt: fix call to clone_init Call clone_init early We need to call clone_init as early as possible - at least before call bio_put(clone) in any error path. Otherwise, the destructor will try to dereference bi_private, which may still be NULL. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/md/dm-crypt.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index 8527827..db43936 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -107,6 +107,8 @@ struct crypt_config { static struct kmem_cache *_crypt_io_pool; +static void clone_init(struct crypt_io *, struct bio *); + /* * Different IV generation algorithms: * @@ -379,9 +381,10 @@ static int crypt_convert(struct crypt_config *cc, * May return a smaller bio when running out of pages */ static struct bio * -crypt_alloc_buffer(struct crypt_config *cc, unsigned int size, +crypt_alloc_buffer(struct crypt_io *io, unsigned int size, struct bio *base_bio, unsigned int *bio_vec_idx) { + struct crypt_config *cc = io->target->private; struct bio *clone; unsigned int nr_iovecs = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; gfp_t gfp_mask = GFP_NOIO | __GFP_HIGHMEM; @@ -396,7 +399,7 @@ crypt_alloc_buffer(struct crypt_config *cc, unsigned int size, if (!clone) return NULL; - clone->bi_destructor = dm_crypt_bio_destructor; + clone_init(io, clone); /* if the last bio was not complete, continue where that one ended */ clone->bi_idx = *bio_vec_idx; @@ -562,6 +565,7 @@ static void clone_init(struct crypt_io *io, struct bio *clone) clone->bi_end_io = crypt_endio; clone->bi_bdev = cc->dev->bdev; clone->bi_rw = io->base_bio->bi_rw; + clone->bi_destructor = dm_crypt_bio_destructor; } static void process_read(struct crypt_io *io) @@ -585,7 +589,6 @@ static void process_read(struct crypt_io *io) } clone_init(io, clone); - clone->bi_destructor = dm_crypt_bio_destructor; clone->bi_idx = 0; clone->bi_vcnt = bio_segments(base_bio); clone->bi_size = base_bio->bi_size; @@ -615,7 +618,7 @@ static void process_write(struct crypt_io *io) * so repeat the whole process until all the data can be handled. */ while (remaining) { - clone = crypt_alloc_buffer(cc, base_bio->bi_size, + clone = crypt_alloc_buffer(io, base_bio->bi_size, io->first_clone, &bvec_idx); if (unlikely(!clone)) { dec_pending(io, -ENOMEM); @@ -631,7 +634,6 @@ static void process_write(struct crypt_io *io) return; } - clone_init(io, clone); clone->bi_sector = cc->start + sector; if (!io->first_clone) { linux-2.6-dm_crypt_fix_remove_first_clone.patch: dm-crypt.c | 34 ++++++---------------------------- 1 files changed, 6 insertions(+), 28 deletions(-) --- NEW FILE linux-2.6-dm_crypt_fix_remove_first_clone.patch --- Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f9941b6c55d70103c1bc3f2c7676acd9f20bf8a Commit: 2f9941b6c55d70103c1bc3f2c7676acd9f20bf8a Parent: 98221eb757de03d9aa6262b1eded2be708640ccc Author: Olaf Kirch AuthorDate: Wed May 9 02:32:53 2007 -0700 Committer: Linus Torvalds CommitDate: Wed May 9 12:30:46 2007 -0700 dm crypt: fix remove first_clone Get rid of first_clone in dm-crypt This gets rid of first_clone, which is not really needed. Apparently, cloned bios used to share their bvec some time way in the past - this is no longer the case. Contrarily, this even hurts us if we try to create a clone off first_clone after it has completed, and crypt_endio has destroyed its bvec. Signed-off-by: Olaf Kirch Signed-off-by: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/md/dm-crypt.c | 34 ++++++---------------------------- 1 files changed, 6 insertions(+), 28 deletions(-) diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index 1dc2c62..339b575 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -33,7 +33,6 @@ struct crypt_io { struct dm_target *target; struct bio *base_bio; - struct bio *first_clone; struct work_struct work; atomic_t pending; int error; @@ -380,9 +379,8 @@ static int crypt_convert(struct crypt_config *cc, * This should never violate the device limitations * May return a smaller bio when running out of pages */ -static struct bio * -crypt_alloc_buffer(struct crypt_io *io, unsigned int size, - struct bio *base_bio, unsigned int *bio_vec_idx) +static struct bio *crypt_alloc_buffer(struct crypt_io *io, unsigned int size, + unsigned int *bio_vec_idx) { struct crypt_config *cc = io->target->private; struct bio *clone; @@ -390,12 +388,7 @@ crypt_alloc_buffer(struct crypt_io *io, unsigned int size, gfp_t gfp_mask = GFP_NOIO | __GFP_HIGHMEM; unsigned int i; - if (base_bio) { - clone = bio_alloc_bioset(GFP_NOIO, base_bio->bi_max_vecs, cc->bs); - __bio_clone(clone, base_bio); - } else - clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, cc->bs); - + clone = bio_alloc_bioset(GFP_NOIO, nr_iovecs, cc->bs); if (!clone) return NULL; @@ -498,9 +491,6 @@ static void dec_pending(struct crypt_io *io, int error) if (!atomic_dec_and_test(&io->pending)) return; - if (io->first_clone) - bio_put(io->first_clone); - bio_endio(io->base_bio, io->base_bio->bi_size, io->error); mempool_free(io, cc->io_pool); @@ -618,8 +608,7 @@ static void process_write(struct crypt_io *io) * so repeat the whole process until all the data can be handled. */ while (remaining) { - clone = crypt_alloc_buffer(io, base_bio->bi_size, - io->first_clone, &bvec_idx); + clone = crypt_alloc_buffer(io, base_bio->bi_size, &bvec_idx); if (unlikely(!clone)) { dec_pending(io, -ENOMEM); return; @@ -635,21 +624,11 @@ static void process_write(struct crypt_io *io) } clone->bi_sector = cc->start + sector; - - if (!io->first_clone) { - /* - * hold a reference to the first clone, because it - * holds the bio_vec array and that can't be freed - * before all other clones are released - */ - bio_get(clone); - io->first_clone = clone; - } - remaining -= clone->bi_size; sector += bio_sectors(clone); - /* prevent bio_put of first_clone */ + /* Grab another reference to the io struct + * before we kick off the request */ if (remaining) atomic_inc(&io->pending); @@ -965,7 +944,6 @@ static int crypt_map(struct dm_target *ti, struct bio *bio, io = mempool_alloc(cc->io_pool, GFP_NOIO); io->target = ti; io->base_bio = bio; - io->first_clone = NULL; io->error = io->post_process = 0; atomic_set(&io->pending, 0); kcryptd_queue_io(io); linux-2.6-sysfs_fix_condition_in_drop_dentry.patch: inode.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE linux-2.6-sysfs_fix_condition_in_drop_dentry.patch --- From: Tejun Heo The condition check doesn't make much sense as it basically always succeeds. This causes NULL dereferencing on certain cases. It seems that parentheses are put in the wrong place. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman [trivial backport to 2.6.20 by cebbert at redhat.com] --- fs/sysfs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-2.6.20.noarch.orig/fs/sysfs/inode.c +++ linux-2.6.20.noarch/fs/sysfs/inode.c @@ -221,7 +221,7 @@ void sysfs_drop_dentry(struct sysfs_dire if (dentry) { spin_lock(&dcache_lock); spin_lock(&dentry->d_lock); - if (!(d_unhashed(dentry) && dentry->d_inode)) { + if (!d_unhashed(dentry) && dentry->d_inode) { dget_locked(dentry); __d_drop(dentry); spin_unlock(&dentry->d_lock); linux-2.6-udf-2.6.22-rc2-1-udf_data_corruption.patch: inode.c | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) --- NEW FILE linux-2.6-udf-2.6.22-rc2-1-udf_data_corruption.patch --- update_next_aext() could possibly rewrite values in elen and eloc, possibly leading to data corruption when rewriting a file. Use temporary variables instead. Also advance cur_epos as it can also point to an indirect extent pointer. Signed-off-by: Jan Kara diff -rupX /home/jack/.kerndiffexclude linux-2.6.22-rc2/fs/udf/inode.c linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/inode.c --- linux-2.6.22-rc2/fs/udf/inode.c 2007-05-24 18:00:05.000000000 +0200 +++ linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/inode.c 2007-05-24 18:16:36.000000000 +0200 @@ -460,8 +460,8 @@ static struct buffer_head * inode_getblk kernel_long_ad laarr[EXTENT_MERGE_SIZE]; struct extent_position prev_epos, cur_epos, next_epos; int count = 0, startnum = 0, endnum = 0; - uint32_t elen = 0; - kernel_lb_addr eloc; + uint32_t elen = 0, tmpelen; + kernel_lb_addr eloc, tmpeloc; int c = 1; loff_t lbcount = 0, b_off = 0; uint32_t newblocknum, newblock; @@ -520,8 +520,12 @@ static struct buffer_head * inode_getblk b_off -= lbcount; offset = b_off >> inode->i_sb->s_blocksize_bits; - /* Move into indirect extent if we are at a pointer to it */ - udf_next_aext(inode, &prev_epos, &eloc, &elen, 0); + /* + * Move prev_epos and cur_epos into indirect extent if we are at + * the pointer to it + */ + udf_next_aext(inode, &prev_epos, &tmpeloc, &tmpelen, 0); + udf_next_aext(inode, &cur_epos, &tmpeloc, &tmpelen, 0); /* if the extent is allocated and recorded, return the block if the extent is not a multiple of the blocksize, round up */ linux-2.6-udf-2.6.22-rc4-1-udf_block_leak.patch: inode.c | 11 ++++++++- truncate.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++---------- udfdecl.h | 1 3 files changed, 73 insertions(+), 12 deletions(-) --- NEW FILE linux-2.6-udf-2.6.22-rc4-1-udf_block_leak.patch --- We have to take care that when we call udf_discard_prealloc() from udf_clear_inode() we have to write inode ourselves afterwards (otherwise, some changes might be lost leading to leakage of blocks, use of free blocks or improperly aligned extents). Also udf_discard_prealloc() does two different things - it removes preallocated blocks and truncates the last extent to exactly match i_size. We move the latter functionality to udf_truncate_tail_extent(), call udf_discard_prealloc() when last reference to a file is dropped and call udf_truncate_tail_extent() when inode is being removed from inode cache (udf_clear_inode() call). We cannot call udf_truncate_tail_extent() earlier as subsequent open+write would find the last block of the file mapped and happily write to the end of it, although the last extent says it's shorter. Signed-off-by: Jan Kara diff -rupX /home/jack/.kerndiffexclude linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/inode.c linux-2.6.22-rc2-2-udf_block_leak/fs/udf/inode.c --- linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/inode.c 2007-05-24 18:16:36.000000000 +0200 +++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/inode.c 2007-06-07 16:38:37.000000000 +0200 @@ -100,14 +100,23 @@ no_delete: clear_inode(inode); } +/* + * If we are going to release inode from memory, we discard preallocation and + * truncate last inode extent to proper length. We could use drop_inode() but it's + * called under inode_lock and thus we cannot mark inode dirty there. We use + * clear_inode() but we have to make sure to write inode as it's not written + * automatically. + */ void udf_clear_inode(struct inode *inode) { if (!(inode->i_sb->s_flags & MS_RDONLY)) { lock_kernel(); + /* Discard preallocation for directories, symlinks, etc. */ udf_discard_prealloc(inode); + udf_truncate_tail_extent(inode); unlock_kernel(); + write_inode_now(inode, 1); } - kfree(UDF_I_DATA(inode)); UDF_I_DATA(inode) = NULL; } diff -rupX /home/jack/.kerndiffexclude linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/truncate.c linux-2.6.22-rc2-2-udf_block_leak/fs/udf/truncate.c --- linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/truncate.c 2007-05-24 18:00:05.000000000 +0200 +++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/truncate.c 2007-06-06 14:33:29.000000000 +0200 @@ -61,7 +61,11 @@ static void extent_trunc(struct inode * } } -void udf_discard_prealloc(struct inode * inode) +/* + * Truncate the last extent to match i_size. This function assumes + * that preallocation extent is already truncated. + */ +void udf_truncate_tail_extent(struct inode *inode) { struct extent_position epos = { NULL, 0, {0, 0}}; kernel_lb_addr eloc; @@ -71,7 +75,10 @@ void udf_discard_prealloc(struct inode * int adsize; if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB || - inode->i_size == UDF_I_LENEXTENTS(inode)) + inode->i_size == UDF_I_LENEXTENTS(inode)) + return; + /* Are we going to delete the file anyway? */ + if (inode->i_nlink == 0) return; if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_SHORT) @@ -79,25 +86,69 @@ void udf_discard_prealloc(struct inode * else if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_LONG) adsize = sizeof(long_ad); else - adsize = 0; - - epos.block = UDF_I_LOCATION(inode); + BUG(); /* Find the last extent in the file */ while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { etype = netype; lbcount += elen; - if (lbcount > inode->i_size && lbcount - elen < inode->i_size) - { - WARN_ON(lbcount - inode->i_size >= inode->i_sb->s_blocksize); + if (lbcount > inode->i_size) { + if (lbcount - inode->i_size >= inode->i_sb->s_blocksize) + printk(KERN_WARNING + "udf_truncate_tail_extent(): Too long " + "extent after EOF in inode %u: i_size: " + "%Ld lbcount: %Ld extent %u+%u\n", + (unsigned)inode->i_ino, + (long long)inode->i_size, + (long long)lbcount, + (unsigned)eloc.logicalBlockNum, + (unsigned)elen); nelen = elen - (lbcount - inode->i_size); epos.offset -= adsize; extent_trunc(inode, &epos, eloc, etype, elen, nelen); epos.offset += adsize; - lbcount = inode->i_size; + if (udf_next_aext(inode, &epos, &eloc, &elen, 1) != -1) + printk(KERN_ERR "udf_truncate_tail_extent(): " + "Extent after EOF in inode %u.\n", + (unsigned)inode->i_ino); + break; } } + /* This inode entry is in-memory only and thus we don't have to mark + * the inode dirty */ + UDF_I_LENEXTENTS(inode) = inode->i_size; + brelse(epos.bh); +} + +void udf_discard_prealloc(struct inode * inode) +{ + struct extent_position epos = { NULL, 0, {0, 0}}; + kernel_lb_addr eloc; + uint32_t elen; + uint64_t lbcount = 0; + int8_t etype = -1, netype; + int adsize; + + if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_IN_ICB || + inode->i_size == UDF_I_LENEXTENTS(inode)) + return; + + if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_SHORT) + adsize = sizeof(short_ad); + else if (UDF_I_ALLOCTYPE(inode) == ICBTAG_FLAG_AD_LONG) + adsize = sizeof(long_ad); + else + adsize = 0; + + epos.block = UDF_I_LOCATION(inode); + + /* Find the last extent in the file */ + while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) + { + etype = netype; + lbcount += elen; + } if (etype == (EXT_NOT_RECORDED_ALLOCATED >> 30)) { epos.offset -= adsize; lbcount -= elen; @@ -118,9 +169,9 @@ void udf_discard_prealloc(struct inode * mark_buffer_dirty_inode(epos.bh, inode); } } + /* This inode entry is in-memory only and thus we don't have to mark + * the inode dirty */ UDF_I_LENEXTENTS(inode) = lbcount; - - WARN_ON(lbcount != inode->i_size); brelse(epos.bh); } diff -rupX /home/jack/.kerndiffexclude linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/udfdecl.h linux-2.6.22-rc2-2-udf_block_leak/fs/udf/udfdecl.h --- linux-2.6.22-rc2-1-udf_data_corruption/fs/udf/udfdecl.h 2007-05-24 18:00:05.000000000 +0200 +++ linux-2.6.22-rc2-2-udf_block_leak/fs/udf/udfdecl.h 2007-06-07 16:32:54.000000000 +0200 @@ -146,6 +146,7 @@ extern void udf_free_inode(struct inode extern struct inode * udf_new_inode (struct inode *, int, int *); /* truncate.c */ +extern void udf_truncate_tail_extent(struct inode *); extern void udf_discard_prealloc(struct inode *); extern void udf_truncate_extents(struct inode *); Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v retrieving revision 1.2959 retrieving revision 1.2960 diff -u -r1.2959 -r1.2960 --- kernel-2.6.spec 12 Jun 2007 22:10:40 -0000 1.2959 +++ kernel-2.6.spec 13 Jun 2007 19:03:35 -0000 1.2960 @@ -525,6 +525,11 @@ # Device mapper / MD layer +# UDF from 2.6.22 +Patch1550: linux-2.6-mm-udf-fixes.patch +Patch1551: linux-2.6-udf-2.6.22-rc2-1-udf_data_corruption.patch +Patch1552: linux-2.6-udf-2.6.22-rc4-1-udf_block_leak.patch + # Misc bits. Patch1600: linux-2.6-module_version.patch Patch1601: linux-2.6-sha_alignment.patch @@ -566,8 +571,11 @@ Patch1806: linux-2.6-20.5t-dvb-bt8xx-autoload.patch Patch1808: linux-2.6-20.5z-mmap_dont_spam_logs.patch Patch1811: linux-2.6-20_bluetooth_broadcom_quirk.patch -Patch1812: linux-2.6-mm-udf-fixes.patch Patch1813: linux-2.6-proposed-i82875p-edac-fix.patch +# more dm_crypt fixes (BZ #243809) +Patch1814: linux-2.6-dm_crypt_fix_call_to_clone_init.patch +Patch1815: linux-2.6-dm_crypt_fix_avoid_cloned_bio_ref_after_free.patch +Patch1816: linux-2.6-dm_crypt_fix_remove_first_clone.patch # more post 2.6.20.6 Patch1821: linux-2.6-20.7a-fib_rules_fix_return_value.patch @@ -589,6 +597,9 @@ Patch1844: linux-2.6-20.12c-snd-resume-stac-fix.patch Patch1846: linux-2.6-20.12c-x86_64-off-by-two.patch +# trivial sysfs fix from 2.6.22 +Patch1847: linux-2.6-sysfs_fix_condition_in_drop_dentry.patch + # SELinux/audit patches. Patch1890: linux-2.6-selinux-mprotect-checks.patch @@ -1276,6 +1287,11 @@ # Device mapper / MD layer +# UDF from 2.6.22 +%patch1550 -p1 +%patch1551 -p1 +%patch1552 -p1 + # Misc fixes # Add missing MODULE_VERSION tags to some modules. %patch1600 -p1 @@ -1340,10 +1356,12 @@ %patch1808 -p1 # bluetooth quirk (sent to maintainer, ignored) %patch1811 -p1 -# UDF fixes from -mm -%patch1812 -p1 # i82875 edac unhide pci device %patch1813 -p1 +# more dm_crypt +%patch1814 -p1 +%patch1815 -p1 +%patch1816 -p1 # more post 2.6.20.6 fixes %patch1821 -p1 @@ -1364,6 +1382,8 @@ %patch1844 -p1 %patch1846 -p1 +%patch1847 -p1 + # Fix the SELinux mprotect checks on executable mappings %patch1890 -p1 @@ -2380,6 +2400,11 @@ %endif %changelog +* Wed Jun 13 2007 Chuck Ebbert 1.2960 +- sysfs: fix check in dentry drop code +- kcryptd: 3 patches from 2.6.22 (BZ #243809) +- UDF: 2 fixes from 2.6.22 for Fedora backport of that code + * Tue Jun 12 2007 Chuck Ebbert 1.2959 - 2.6.20.14 - GFS2 update From fedora-cvs-commits at redhat.com Wed Jun 13 20:25:06 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 16:25:06 -0400 Subject: rpms/libexif/FC-5 libexif-cve-2007-4168.patch, 1.1, 1.2 libexif.spec, 1.18, 1.19 Message-ID: <200706132025.l5DKP6Wt002539@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/libexif/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv2523 Modified Files: libexif-cve-2007-4168.patch libexif.spec Log Message: Fix another issues libexif-cve-2007-4168.patch: exif-data.c | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) Index: libexif-cve-2007-4168.patch =================================================================== RCS file: /cvs/dist/rpms/libexif/FC-5/libexif-cve-2007-4168.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- libexif-cve-2007-4168.patch 13 Jun 2007 14:45:41 -0000 1.1 +++ libexif-cve-2007-4168.patch 13 Jun 2007 20:24:58 -0000 1.2 @@ -1,6 +1,15 @@ ---- libexif-0.6.13/libexif/exif-data.c.cve-2007-4168 2005-08-22 16:32:02.000000000 -0400 -+++ libexif-0.6.13/libexif/exif-data.c 2007-06-12 12:14:35.000000000 -0400 -@@ -174,9 +174,15 @@ exif_data_load_data_entry (ExifData *dat +--- libexif-0.5.12/libexif/exif-data.c.cve-2007-4168 2007-06-13 15:33:05.000000000 -0400 ++++ libexif-0.5.12/libexif/exif-data.c 2007-06-13 15:36:47.000000000 -0400 +@@ -83,7 +83,7 @@ exif_data_new_from_data (const unsigned + return (edata); + } + +-static void ++static int + exif_data_load_data_entry (ExifData *data, ExifEntry *entry, + const unsigned char *d, + unsigned int size, unsigned int offset) +@@ -98,9 +98,15 @@ exif_data_load_data_entry (ExifData *dat * Size? If bigger than 4 bytes, the actual data is not * in the entry but somewhere else (offset). */ @@ -11,11 +20,42 @@ + * -> { 0x000000000 .. 0x7fffffff8 } */ + s = exif_format_get_size(entry->format) * entry->components; + if (s < entry->components) { -+ return; ++ return 0; + } + if (0 == s) -+ return; ++ return 0; + if (s > 4) doff = exif_get_long (d + offset + 8, data->priv->order); else +@@ -110,13 +116,15 @@ exif_data_load_data_entry (ExifData *dat + if ((doff + s < doff) || (doff + s < s)) + return 0; + if (size < doff + s) +- return; ++ return 0; + + entry->data = malloc (sizeof (char) * s); + if (!entry->data) +- return; ++ return 0; + entry->size = s; + memcpy (entry->data, d + doff, s); ++ ++ return 1; + } + + static void +@@ -244,9 +252,9 @@ exif_data_load_data_content (ExifData *d + break; + default: + entry = exif_entry_new (); +- exif_content_add_entry (ifd, entry); +- exif_data_load_data_entry (data, entry, d, ds, +- offset + 12 * i); ++ if (exif_data_load_data_entry (data, entry, d, ds, ++ offset + 12 * i)) ++ exif_content_add_entry (ifd, entry); + exif_entry_unref (entry); + break; + } Index: libexif.spec =================================================================== RCS file: /cvs/dist/rpms/libexif/FC-5/libexif.spec,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- libexif.spec 13 Jun 2007 14:45:41 -0000 1.18 +++ libexif.spec 13 Jun 2007 20:24:58 -0000 1.19 @@ -1,7 +1,7 @@ Summary: Library for extracting extra information from image files Name: libexif Version: 0.6.12 -Release: 4 +Release: 5 Group: System Environment/Libraries License: LGPL URL: http://libexif.sourceforge.net/ @@ -65,7 +65,7 @@ %{_libdir}/pkgconfig/libexif.pc %changelog -* Wed Jun 13 2007 Matthias Clasen - 0.6.12-4 +* Wed Jun 13 2007 Matthias Clasen - 0.6.12-5 -- Add patch for CVE-2007-4168. Fix bug #243891 * Fri Feb 10 2006 Jesse Keating - 0.6.12-3.2.1 From fedora-cvs-commits at redhat.com Wed Jun 13 20:34:31 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 13 Jun 2007 16:34:31 -0400 Subject: rpms/libexif/FC-5 libexif-cve-2007-4168.patch,1.2,1.3 Message-ID: <200706132034.l5DKYVN3002736@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/libexif/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv2717 Modified Files: libexif-cve-2007-4168.patch Log Message: fix patch libexif-cve-2007-4168.patch: exif-data.c | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) Index: libexif-cve-2007-4168.patch =================================================================== RCS file: /cvs/dist/rpms/libexif/FC-5/libexif-cve-2007-4168.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- libexif-cve-2007-4168.patch 13 Jun 2007 20:24:58 -0000 1.2 +++ libexif-cve-2007-4168.patch 13 Jun 2007 20:34:23 -0000 1.3 @@ -1,6 +1,6 @@ ---- libexif-0.5.12/libexif/exif-data.c.cve-2007-4168 2007-06-13 15:33:05.000000000 -0400 -+++ libexif-0.5.12/libexif/exif-data.c 2007-06-13 15:36:47.000000000 -0400 -@@ -83,7 +83,7 @@ exif_data_new_from_data (const unsigned +--- libexif-0.6.12/libexif/exif-data.c.cve-2007-4168 2007-06-13 16:27:09.000000000 -0400 ++++ libexif-0.6.12/libexif/exif-data.c 2007-06-13 16:28:04.000000000 -0400 +@@ -132,7 +132,7 @@ exif_data_new_from_data (const unsigned return (edata); } @@ -9,7 +9,7 @@ exif_data_load_data_entry (ExifData *data, ExifEntry *entry, const unsigned char *d, unsigned int size, unsigned int offset) -@@ -98,9 +98,15 @@ exif_data_load_data_entry (ExifData *dat +@@ -151,9 +151,15 @@ exif_data_load_data_entry (ExifData *dat * Size? If bigger than 4 bytes, the actual data is not * in the entry but somewhere else (offset). */ @@ -28,34 +28,31 @@ if (s > 4) doff = exif_get_long (d + offset + 8, data->priv->order); else -@@ -110,13 +116,15 @@ exif_data_load_data_entry (ExifData *dat - if ((doff + s < doff) || (doff + s < s)) - return 0; - if (size < doff + s) -- return; -+ return 0; +@@ -161,7 +167,7 @@ exif_data_load_data_entry (ExifData *dat - entry->data = malloc (sizeof (char) * s); - if (!entry->data) + /* Sanity check */ + if (size < doff + s) - return; + return 0; - entry->size = s; - memcpy (entry->data, d + doff, s); -+ -+ return 1; - } - static void -@@ -244,9 +252,9 @@ exif_data_load_data_content (ExifData *d - break; - default: - entry = exif_entry_new (); -- exif_content_add_entry (ifd, entry); + entry->data = exif_data_alloc (data, s); + if (entry->data) { +@@ -371,13 +377,15 @@ exif_data_load_data_content_recurse (Exi + return; + } + entry = exif_entry_new_mem (data->priv->mem); - exif_data_load_data_entry (data, entry, d, ds, - offset + 12 * i); +- exif_content_add_entry (ifd, entry); + if (exif_data_load_data_entry (data, entry, d, ds, + offset + 12 * i)) + exif_content_add_entry (ifd, entry); exif_entry_unref (entry); break; } + } ++ ++ return 1; + } + + static void From fedora-cvs-commits at redhat.com Thu Jun 14 04:13:57 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 14 Jun 2007 00:13:57 -0400 Subject: rpms/kasumi/FC-6 kasumi-2.2-fix-dict-breakage.patch, NONE, 1.1 kasumi.spec, 1.20, 1.21 Message-ID: <200706140413.l5E4DvWt012173@cvs.devel.redhat.com> Author: tagoh Update of /cvs/dist/rpms/kasumi/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12155 Modified Files: kasumi.spec Added Files: kasumi-2.2-fix-dict-breakage.patch Log Message: * Thu Jun 14 2007 Akira TAGOH - 2.2-3 - kasumi-2.2-fix-dict-breakage.patch: patch from Debian to fix the dictionary breakage when adding words to the personal dictionary against the bugfix version of anthy that the version contains non-numeric characters. kasumi-2.2-fix-dict-breakage.patch: KasumiDic.cxx | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) --- NEW FILE kasumi-2.2-fix-dict-breakage.patch --- diff -urNad kasumi-2.2~/KasumiDic.cxx kasumi-2.2/KasumiDic.cxx --- kasumi-2.2~/KasumiDic.cxx 2006-06-20 23:41:47.000000000 +0900 +++ kasumi-2.2/KasumiDic.cxx 2007-06-02 23:54:15.000000000 +0900 @@ -38,6 +38,7 @@ #include #include #include +#include using namespace std; @@ -72,6 +73,9 @@ const int FREQ_LBOUND = conf->getPropertyValueByInt("MinFrequency"); const int FREQ_UBOUND = conf->getPropertyValueByInt("MaxFrequency"); + int anthy_version = atoi(anthy_get_version_string()); + assert(anthy_version != 0); + try{ if(anthy_priv_dic_select_first_entry() == -1){ // no word @@ -79,7 +83,6 @@ } else if(anthy_priv_dic_select_first_entry() == -3) { - int anthy_version = str2int(string(anthy_get_version_string())); if(anthy_version >= 7716) { // do not throw exception in the case that this doesn't fail to @@ -109,16 +112,14 @@ KasumiWord *newWord = KasumiWord::createNewWord(conf); newWord->setSound(string(sound)); - int anthy_version = str2int(string(anthy_get_version_string())); - if(anthy_version >= 7710) + if (anthy_version < 7710 && spelling[0] == ' ') { + // Measures against a defect of anthy. + // "anthy_priv_dic_get_word()" function returns + // a string whose first character is an unwated + // white space. + newWord->setSpelling(string(spelling+1)); + } else newWord->setSpelling(string(spelling)); - else - { - // Measures against a defect of anthy. - // "anthy_priv_dic_get_word()" function returns a string - // whose first character is an unwated white space. - newWord->setSpelling(string(spelling+1)); - } newWord->setFrequency(freq); newWord->setWordType(KasumiWordType::getWordTypeFromCannaTab(string(wt))); appendWord(newWord); Index: kasumi.spec =================================================================== RCS file: /cvs/dist/rpms/kasumi/FC-6/kasumi.spec,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- kasumi.spec 2 Mar 2007 13:56:04 -0000 1.20 +++ kasumi.spec 14 Jun 2007 04:13:54 -0000 1.21 @@ -1,13 +1,13 @@ Name: kasumi Version: 2.2 -Release: 1%{?dist} +Release: 4%{?dist} License: GPL URL: http://kasumi.sourceforge.jp/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils, gtk2-devel gettext-devel anthy-devel automake autoconf Source0: %{name}-%{version}.tar.gz -#Patch0: kasumi-1.0-gcc41.patch +Patch0: kasumi-2.2-fix-dict-breakage.patch Summary: An anthy dictionary management tool. @@ -18,10 +18,7 @@ %prep %setup -q -#%%patch0 -p1 -b .gcc41 -#aclocal -#automake --add-missing -#autoconf +%patch0 -p1 %build %configure @@ -36,6 +33,7 @@ --vendor fedora \ --dir ${RPM_BUILD_ROOT}/%{_datadir}/applications \ --add-category X-Fedora \ + --add-category X-GNOME-PersonalSettings \ --delete-original \ $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop @@ -57,6 +55,14 @@ %changelog +* Thu Jun 14 2007 Akira TAGOH - 2.2-3 +- kasumi-2.2-fix-dict-breakage.patch: patch from Debian to fix the dictionary + breakage when adding words to the personal dictionary against the bugfix + version of anthy that the version contains non-numeric characters. + +* Wed Mar 28 2007 Akira TAGOH - 2.2-2 +- Add X-GNOME-PersonalSettings to the category. (#234169) + * Fri Mar 2 2007 Akira TAGOH - 2.2-1 - Updated to 2.2 - Remove kasumi-2.0.1-errorcode.patch. no longer needed. From fedora-cvs-commits at redhat.com Thu Jun 14 11:58:47 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 14 Jun 2007 07:58:47 -0400 Subject: rpms/qt/FC-6 qt-x11-free-3.3.8-bz#243722-mysql.patch, NONE, 1.1 qt.spec, 1.126, 1.127 Message-ID: <200706141158.l5EBwlEX019636@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/qt/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19620 Modified Files: qt.spec Added Files: qt-x11-free-3.3.8-bz#243722-mysql.patch Log Message: - backport to fix #bz243722, Applications using qt-mysql crash if database is removed before QApplication is destroyed qt-x11-free-3.3.8-bz#243722-mysql.patch: qsql_mysql.cpp | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) --- NEW FILE qt-x11-free-3.3.8-bz#243722-mysql.patch --- diff -Nur qt-x11-free-3.3.8/src/sql/drivers/mysql/qsql_mysql.cpp qt-x11-free-3.3.8-me/src/sql/drivers/mysql/qsql_mysql.cpp --- qt-x11-free-3.3.8/src/sql/drivers/mysql/qsql_mysql.cpp 2007-01-11 14:38:34.000000000 +0100 +++ qt-x11-free-3.3.8-snapshot-me/src/sql/drivers/mysql/qsql_mysql.cpp 2007-05-22 17:15:26.000000000 +0200 @@ -37,7 +37,6 @@ #include "qsql_mysql.h" #include -#include #include #include #include @@ -52,6 +51,9 @@ QPtrDict *qSqlOpenExtDict(); +static int qMySqlConnectionCount = 0; +static bool qMySqlInitHandledByUser = FALSE; + class QMYSQLOpenExtension : public QSqlOpenExtension { public: @@ -354,9 +356,8 @@ { #ifndef Q_NO_MYSQL_EMBEDDED # if MYSQL_VERSION_ID >= 40000 - static bool init = FALSE; - if ( init ) - return; + if ( qMySqlInitHandledByUser || qMySqlConnectionCount > 1 ) + return; // this should only be called once // has no effect on client/server library @@ -366,8 +367,6 @@ qWarning( "QMYSQLDriver::qServerInit: unable to start server." ); # endif } - qAddPostRoutine(qServerEnd); - init = TRUE; # endif // MYSQL_VERSION_ID #endif // Q_NO_MYSQL_EMBEDDED @@ -392,8 +391,10 @@ d->mysql = (MYSQL *) con; setOpen( TRUE ); setOpenError( FALSE ); + if (qMySqlConnectionCount == 1) + qMySqlInitHandledByUser = TRUE; } else { - qServerInit(); + qServerInit(); } } @@ -402,10 +403,15 @@ qSqlOpenExtDict()->insert( this, new QMYSQLOpenExtension(this) ); d = new QMYSQLDriverPrivate(); d->mysql = 0; + qMySqlConnectionCount++; } QMYSQLDriver::~QMYSQLDriver() { + qMySqlConnectionCount--; + if (qMySqlConnectionCount == 0 && !qMySqlInitHandledByUser) + qServerEnd(); + delete d; if ( !qSqlOpenExtDict()->isEmpty() ) { QSqlOpenExtension *ext = qSqlOpenExtDict()->take( this ); Index: qt.spec =================================================================== RCS file: /cvs/dist/rpms/qt/FC-6/qt.spec,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- qt.spec 5 Jun 2007 14:47:38 -0000 1.126 +++ qt.spec 14 Jun 2007 11:58:45 -0000 1.127 @@ -1,7 +1,7 @@ Summary: The shared library for the Qt GUI toolkit. Name: qt Version: 3.3.8 -Release: 0.1%{?dist} +Release: 1%{?dist} Epoch: 1 License: GPL/QPL Group: System Environment/Libraries @@ -61,6 +61,7 @@ # upstream patches Patch200: qt-x11-free-3.3.4-fullscreen.patch +Patch201: qt-x11-free-3.3.8-bz#243722-mysql.patch %define qt_dirname qt-3.3 %define qtdir %{_libdir}/%{qt_dirname} @@ -281,7 +282,9 @@ %patch105 -p0 -b .0073-xinerama-aware-qpopup %patch106 -p0 -b .0076-fix-qprocess %patch107 -p0 -b .0077-utf8-decoder-fixes + %patch200 -p1 -b .fullscreen +%patch201 -p1 -b .bz#243722-mysql # convert to UTF-8 iconv -f iso-8859-1 -t utf-8 < doc/man/man3/qdial.3qt > doc/man/man3/qdial.3qt_ @@ -543,6 +546,10 @@ %changelog +* Thu Jun 14 2007 Than Ngo - 1:3.3.8-1.fc6 +- backport to fix #bz243722, Applications using qt-mysql crash if database is + removed before QApplication is destroyed + * Tue Jun 05 2007 Than Ngo - 1:3.3.8-0.1.fc6 - 3.3.8 From fedora-cvs-commits at redhat.com Thu Jun 14 13:49:53 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 14 Jun 2007 09:49:53 -0400 Subject: rpms/selinux-policy/FC-6 policy-20061106.patch, 1.49, 1.50 selinux-policy.spec, 1.369, 1.370 Message-ID: <200706141349.l5EDnr8x021618@cvs.devel.redhat.com> Author: dwalsh Update of /cvs/dist/rpms/selinux-policy/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv21600 Modified Files: policy-20061106.patch selinux-policy.spec Log Message: * Thu May 31 2007 Dan Walsh 2.4.6-75 - Allow samba to remove log files policy-20061106.patch: Rules.modular | 10 config/appconfig-strict-mcs/seusers | 1 config/appconfig-strict-mls/default_contexts | 6 config/appconfig-strict-mls/seusers | 1 config/appconfig-strict/seusers | 1 man/man8/kerberos_selinux.8 | 2 policy/flask/access_vectors | 2 policy/global_tunables | 94 +++- policy/mls | 31 + policy/modules/admin/acct.te | 1 policy/modules/admin/amanda.if | 17 policy/modules/admin/amanda.te | 11 policy/modules/admin/amtu.fc | 3 policy/modules/admin/amtu.if | 57 ++ policy/modules/admin/amtu.te | 56 ++ policy/modules/admin/backup.te | 5 policy/modules/admin/bootloader.fc | 5 policy/modules/admin/bootloader.te | 14 policy/modules/admin/consoletype.te | 21 policy/modules/admin/ddcprobe.te | 10 policy/modules/admin/dmesg.te | 7 policy/modules/admin/dmidecode.te | 5 policy/modules/admin/firstboot.if | 24 - policy/modules/admin/kudzu.te | 14 policy/modules/admin/logrotate.te | 5 policy/modules/admin/logwatch.te | 22 policy/modules/admin/netutils.te | 19 policy/modules/admin/portage.te | 5 policy/modules/admin/prelink.te | 20 policy/modules/admin/quota.fc | 7 policy/modules/admin/quota.te | 24 - policy/modules/admin/readahead.te | 2 policy/modules/admin/rpm.fc | 3 policy/modules/admin/rpm.if | 86 +++ policy/modules/admin/rpm.te | 49 -- policy/modules/admin/su.if | 38 + policy/modules/admin/su.te | 2 policy/modules/admin/sudo.if | 13 policy/modules/admin/tripwire.te | 11 policy/modules/admin/usbmodules.te | 5 policy/modules/admin/usermanage.if | 2 policy/modules/admin/usermanage.te | 58 ++ policy/modules/admin/vpn.te | 1 policy/modules/apps/ethereal.te | 5 policy/modules/apps/evolution.if | 107 ++++ policy/modules/apps/evolution.te | 1 policy/modules/apps/games.fc | 1 policy/modules/apps/gnome.fc | 2 policy/modules/apps/gnome.if | 108 ++++ policy/modules/apps/gnome.te | 5 policy/modules/apps/gpg.if | 1 policy/modules/apps/java.fc | 2 policy/modules/apps/java.if | 70 +++ policy/modules/apps/java.te | 2 policy/modules/apps/loadkeys.if | 39 - policy/modules/apps/mozilla.if | 208 +++++++-- policy/modules/apps/mplayer.if | 84 +++ policy/modules/apps/mplayer.te | 1 policy/modules/apps/slocate.te | 7 policy/modules/apps/thunderbird.if | 81 +++ policy/modules/apps/userhelper.if | 20 policy/modules/apps/webalizer.te | 6 policy/modules/apps/wine.fc | 1 policy/modules/apps/yam.te | 5 policy/modules/kernel/corecommands.fc | 30 + policy/modules/kernel/corecommands.if | 77 +++ policy/modules/kernel/corenetwork.if.in | 140 ++++++ policy/modules/kernel/corenetwork.te.in | 16 policy/modules/kernel/devices.fc | 8 policy/modules/kernel/devices.if | 18 policy/modules/kernel/devices.te | 8 policy/modules/kernel/domain.if | 58 ++ policy/modules/kernel/domain.te | 22 policy/modules/kernel/files.fc | 2 policy/modules/kernel/files.if | 224 +++++++++ policy/modules/kernel/filesystem.if | 62 ++ policy/modules/kernel/filesystem.te | 30 + policy/modules/kernel/kernel.if | 84 +++ policy/modules/kernel/kernel.te | 22 policy/modules/kernel/mls.if | 28 + policy/modules/kernel/mls.te | 6 policy/modules/kernel/storage.fc | 3 policy/modules/kernel/storage.if | 2 policy/modules/kernel/terminal.fc | 1 policy/modules/kernel/terminal.if | 21 policy/modules/kernel/terminal.te | 1 policy/modules/services/aide.fc | 3 policy/modules/services/aide.te | 11 policy/modules/services/amavis.if | 19 policy/modules/services/amavis.te | 4 policy/modules/services/apache.fc | 17 policy/modules/services/apache.if | 157 ++++++ policy/modules/services/apache.te | 43 + policy/modules/services/apm.te | 3 policy/modules/services/arpwatch.te | 5 policy/modules/services/audioentropy.te | 4 policy/modules/services/automount.fc | 1 policy/modules/services/automount.te | 9 policy/modules/services/avahi.if | 40 + policy/modules/services/avahi.te | 10 policy/modules/services/bind.fc | 1 policy/modules/services/bind.te | 6 policy/modules/services/bluetooth.te | 10 policy/modules/services/ccs.fc | 1 policy/modules/services/ccs.te | 25 - policy/modules/services/clamav.te | 3 policy/modules/services/courier.te | 1 policy/modules/services/cron.fc | 6 policy/modules/services/cron.if | 92 ++- policy/modules/services/cron.te | 58 ++ policy/modules/services/cups.fc | 4 policy/modules/services/cups.te | 19 policy/modules/services/cvs.te | 2 policy/modules/services/cyrus.te | 5 policy/modules/services/dbus.fc | 1 policy/modules/services/dbus.if | 66 ++ policy/modules/services/dbus.te | 4 policy/modules/services/dcc.te | 9 policy/modules/services/dhcp.te | 2 policy/modules/services/dovecot.fc | 1 policy/modules/services/dovecot.if | 44 + policy/modules/services/dovecot.te | 64 ++ policy/modules/services/fail2ban.fc | 3 policy/modules/services/fail2ban.if | 80 +++ policy/modules/services/fail2ban.te | 74 +++ policy/modules/services/ftp.te | 21 policy/modules/services/hal.fc | 4 policy/modules/services/hal.if | 114 ++++ policy/modules/services/hal.te | 26 - policy/modules/services/inetd.te | 34 + policy/modules/services/irqbalance.te | 4 policy/modules/services/kerberos.if | 25 + policy/modules/services/kerberos.te | 15 policy/modules/services/ktalk.fc | 3 policy/modules/services/ktalk.te | 5 policy/modules/services/lpd.if | 75 ++- policy/modules/services/lpd.te | 5 policy/modules/services/mailman.if | 20 policy/modules/services/mailman.te | 1 policy/modules/services/mta.fc | 1 policy/modules/services/mta.if | 20 policy/modules/services/mta.te | 2 policy/modules/services/munin.te | 5 policy/modules/services/nagios.fc | 3 policy/modules/services/nagios.te | 8 policy/modules/services/networkmanager.fc | 2 policy/modules/services/networkmanager.te | 2 policy/modules/services/nis.fc | 7 policy/modules/services/nis.if | 8 policy/modules/services/nis.te | 38 + policy/modules/services/nscd.if | 20 policy/modules/services/nscd.te | 28 - policy/modules/services/ntp.te | 2 policy/modules/services/oav.te | 5 policy/modules/services/oddjob.te | 5 policy/modules/services/openca.if | 4 policy/modules/services/openca.te | 2 policy/modules/services/openct.te | 2 policy/modules/services/openvpn.te | 9 policy/modules/services/pcscd.fc | 9 policy/modules/services/pcscd.if | 62 ++ policy/modules/services/pcscd.te | 79 +++ policy/modules/services/pegasus.if | 31 + policy/modules/services/pegasus.te | 11 policy/modules/services/portmap.te | 5 policy/modules/services/portslave.te | 1 policy/modules/services/postfix.fc | 2 policy/modules/services/postfix.if | 45 + policy/modules/services/postfix.te | 92 +++ policy/modules/services/ppp.te | 2 policy/modules/services/procmail.te | 32 + policy/modules/services/pyzor.if | 18 policy/modules/services/pyzor.te | 13 policy/modules/services/radius.te | 2 policy/modules/services/radvd.te | 2 policy/modules/services/rhgb.if | 76 +++ policy/modules/services/rhgb.te | 3 policy/modules/services/ricci.te | 22 policy/modules/services/rlogin.te | 11 policy/modules/services/rpc.fc | 1 policy/modules/services/rpc.if | 3 policy/modules/services/rpc.te | 27 - policy/modules/services/rshd.te | 1 policy/modules/services/rsync.te | 1 policy/modules/services/samba.fc | 6 policy/modules/services/samba.if | 80 +++ policy/modules/services/samba.te | 82 ++- policy/modules/services/sasl.te | 14 policy/modules/services/sendmail.if | 22 policy/modules/services/sendmail.te | 8 policy/modules/services/setroubleshoot.if | 20 policy/modules/services/setroubleshoot.te | 2 policy/modules/services/smartmon.te | 1 policy/modules/services/snmp.if | 17 policy/modules/services/snmp.te | 17 policy/modules/services/spamassassin.fc | 2 policy/modules/services/spamassassin.if | 42 + policy/modules/services/spamassassin.te | 24 - policy/modules/services/squid.fc | 2 policy/modules/services/squid.if | 21 policy/modules/services/squid.te | 11 policy/modules/services/ssh.if | 83 +++ policy/modules/services/ssh.te | 14 policy/modules/services/telnet.te | 3 policy/modules/services/tftp.te | 2 policy/modules/services/uucp.fc | 1 policy/modules/services/uucp.if | 67 ++ policy/modules/services/uucp.te | 44 + policy/modules/services/uwimap.te | 1 policy/modules/services/xserver.fc | 2 policy/modules/services/xserver.if | 191 ++++++++ policy/modules/services/xserver.te | 12 policy/modules/system/authlogin.fc | 1 policy/modules/system/authlogin.if | 180 +++++++ policy/modules/system/authlogin.te | 43 + policy/modules/system/clock.te | 18 policy/modules/system/fstools.fc | 1 policy/modules/system/fstools.if | 19 policy/modules/system/fstools.te | 11 policy/modules/system/getty.te | 14 policy/modules/system/hostname.te | 19 policy/modules/system/init.if | 66 ++ policy/modules/system/init.te | 51 ++ policy/modules/system/ipsec.fc | 5 policy/modules/system/ipsec.if | 99 ++++ policy/modules/system/ipsec.te | 121 +++++ policy/modules/system/iptables.te | 27 - policy/modules/system/libraries.fc | 43 + policy/modules/system/libraries.te | 11 policy/modules/system/locallogin.if | 37 + policy/modules/system/locallogin.te | 11 policy/modules/system/logging.fc | 5 policy/modules/system/logging.if | 61 ++ policy/modules/system/logging.te | 33 + policy/modules/system/lvm.fc | 2 policy/modules/system/lvm.if | 44 + policy/modules/system/lvm.te | 92 +++ policy/modules/system/miscfiles.fc | 3 policy/modules/system/miscfiles.if | 79 +++ policy/modules/system/modutils.te | 26 - policy/modules/system/mount.te | 27 - policy/modules/system/netlabel.te | 10 policy/modules/system/pcmcia.te | 5 policy/modules/system/raid.te | 16 policy/modules/system/selinuxutil.fc | 10 policy/modules/system/selinuxutil.if | 124 +++++ policy/modules/system/selinuxutil.te | 138 ++--- policy/modules/system/sysnetwork.te | 13 policy/modules/system/tzdata.fc | 3 policy/modules/system/tzdata.if | 23 policy/modules/system/tzdata.te | 51 ++ policy/modules/system/udev.te | 5 policy/modules/system/unconfined.fc | 4 policy/modules/system/unconfined.if | 19 policy/modules/system/unconfined.te | 23 policy/modules/system/userdomain.if | 622 +++++++++++++++++++++++---- policy/modules/system/userdomain.te | 117 ++--- policy/modules/system/xen.fc | 1 policy/modules/system/xen.if | 1 policy/modules/system/xen.te | 59 ++ policy/support/*Warnings* | 189 ++++++++ policy/support/file_patterns.spt | 534 +++++++++++++++++++++++ policy/support/obj_perm_sets.spt | 144 ++++++ 263 files changed, 7650 insertions(+), 773 deletions(-) Index: policy-20061106.patch =================================================================== RCS file: /cvs/dist/rpms/selinux-policy/FC-6/policy-20061106.patch,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- policy-20061106.patch 29 May 2007 17:30:09 -0000 1.49 +++ policy-20061106.patch 14 Jun 2007 13:49:50 -0000 1.50 @@ -749,16 +749,8 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/admin/logwatch.te serefpolicy-2.4.6/policy/modules/admin/logwatch.te --- nsaserefpolicy/policy/modules/admin/logwatch.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/admin/logwatch.te 2007-05-22 12:40:26.000000000 -0400 -@@ -30,6 +30,7 @@ - allow logwatch_t self:process signal; - allow logwatch_t self:fifo_file rw_file_perms; - allow logwatch_t self:unix_stream_socket create_stream_socket_perms; -+allow logwatch_t self:netlink_route_socket r_netlink_socket_perms; - - allow logwatch_t logwatch_cache_t:dir create_dir_perms; - allow logwatch_t logwatch_cache_t:file create_file_perms; -@@ -53,10 +54,12 @@ ++++ serefpolicy-2.4.6/policy/modules/admin/logwatch.te 2007-06-04 12:20:20.000000000 -0400 +@@ -53,10 +53,12 @@ corecmd_exec_ls(logwatch_t) dev_read_urand(logwatch_t) @@ -771,7 +763,7 @@ files_read_etc_files(logwatch_t) files_read_etc_runtime_files(logwatch_t) files_read_usr_files(logwatch_t) -@@ -64,6 +67,8 @@ +@@ -64,6 +66,8 @@ files_search_mnt(logwatch_t) files_dontaudit_search_home(logwatch_t) files_dontaudit_search_boot(logwatch_t) @@ -780,7 +772,7 @@ fs_getattr_all_fs(logwatch_t) fs_dontaudit_list_auto_mountpoints(logwatch_t) -@@ -78,6 +83,7 @@ +@@ -78,13 +82,12 @@ libs_read_lib_files(logwatch_t) logging_read_all_logs(logwatch_t) @@ -788,10 +780,21 @@ miscfiles_read_localization(logwatch_t) -@@ -95,6 +101,10 @@ + selinux_dontaudit_getattr_dir(logwatch_t) + +-sysnet_dns_name_resolve(logwatch_t) +- + userdom_dontaudit_search_sysadm_home_dirs(logwatch_t) + userdom_dontaudit_getattr_sysadm_home_dirs(logwatch_t) + +@@ -95,6 +98,14 @@ ') optional_policy(` ++ auth_use_nsswitch(logwatch_t) ++') ++ ++optional_policy(` + avahi_dontaudit_search_pid(logwatch_t) +') + @@ -799,14 +802,25 @@ bind_read_config(logwatch_t) bind_read_zone(logwatch_t) ') -@@ -126,3 +136,7 @@ +@@ -112,10 +123,6 @@ + ') + + optional_policy(` +- nscd_socket_use(logwatch_t) +-') +- +-optional_policy(` + ntp_domtrans(logwatch_t) + ') + +@@ -125,4 +132,7 @@ + optional_policy(` samba_read_log(logwatch_t) ++ samba_read_share_files(logwatch_t) ') + -+optional_policy(` -+ nis_use_ypbind(logwatch_t) -+') ++ diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/admin/netutils.te serefpolicy-2.4.6/policy/modules/admin/netutils.te --- nsaserefpolicy/policy/modules/admin/netutils.te 2006-11-29 12:04:48.000000000 -0500 +++ serefpolicy-2.4.6/policy/modules/admin/netutils.te 2007-05-22 12:40:26.000000000 -0400 @@ -3102,7 +3116,7 @@ + diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/kernel/corenetwork.if.in serefpolicy-2.4.6/policy/modules/kernel/corenetwork.if.in --- nsaserefpolicy/policy/modules/kernel/corenetwork.if.in 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/kernel/corenetwork.if.in 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/kernel/corenetwork.if.in 2007-06-11 09:27:14.000000000 -0400 @@ -1292,6 +1292,25 @@ ######################################## @@ -3225,7 +3239,7 @@ +## +## +# -+interface(`corenet_port_type',` ++interface(`corenet_port',` + gen_require(` + attribute port_type; + ') @@ -3243,7 +3257,7 @@ +## +## +# -+interface(`corenet_reserved_port_type',` ++interface(`corenet_reserved_port',` + gen_require(` + attribute reserved_port_type; + ') @@ -3261,7 +3275,7 @@ +## +## +# -+interface(`corenet_rpc_port_type',` ++interface(`corenet_rpc_port',` + gen_require(` + attribute rpc_port_type; + ') @@ -3270,7 +3284,7 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/kernel/corenetwork.te.in serefpolicy-2.4.6/policy/modules/kernel/corenetwork.te.in --- nsaserefpolicy/policy/modules/kernel/corenetwork.te.in 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/kernel/corenetwork.te.in 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/kernel/corenetwork.te.in 2007-05-31 14:34:21.000000000 -0400 @@ -48,6 +48,11 @@ type reserved_port_t, port_type, reserved_port_type; @@ -3291,7 +3305,7 @@ network_port(asterisk, tcp,1720,s0, udp,2427,s0, udp,2727,s0, udp,4569,s0, udp,5060,s0) network_port(auth, tcp,113,s0) network_port(bgp, tcp,179,s0, udp,179,s0, tcp,2605,s0, udp,2605,s0) -@@ -85,7 +91,7 @@ +@@ -85,10 +91,10 @@ network_port(http_cache, tcp,3128,s0, udp,3130,s0, tcp,8080,s0, tcp,8118,s0) # 8118 is for privoxy network_port(http, tcp,80,s0, tcp,443,s0, tcp,488,s0, tcp,8008,s0, tcp,8009,s0, tcp,8443,s0) #8443 is mod_nss default port network_port(howl, tcp,5335,s0, udp,5353,s0) @@ -3299,7 +3313,11 @@ +network_port(hplip, tcp,1782,s0, tcp,2207,s0, tcp,2208,s0, tcp, 8290,s0, tcp,50000,s0, tcp,50002,s0, tcp,8292,s0, tcp,9100,s0, tcp,9101,s0, tcp,9102,s0, tcp,9220,s0, tcp,9221,s0, tcp,9222,s0, tcp,9280,s0, tcp,9281,s0, tcp,9282,s0, tcp,9290,s0, tcp,9291,s0, tcp,9292,s0) network_port(i18n_input, tcp,9010,s0) network_port(imaze, tcp,5323,s0, udp,5323,s0) - network_port(inetd_child, tcp,7,s0, udp,7,s0, tcp,9,s0, udp,9,s0, tcp,13,s0, udp,13,s0, tcp,19,s0, udp,19,s0, tcp,37,s0, udp,37,s0, tcp,512,s0, tcp,543,s0, tcp,544,s0, tcp,891,s0, udp,891,s0, tcp,892,s0, udp,892,s0, tcp,2105,s0, tcp,5666,s0) +-network_port(inetd_child, tcp,7,s0, udp,7,s0, tcp,9,s0, udp,9,s0, tcp,13,s0, udp,13,s0, tcp,19,s0, udp,19,s0, tcp,37,s0, udp,37,s0, tcp,512,s0, tcp,543,s0, tcp,544,s0, tcp,891,s0, udp,891,s0, tcp,892,s0, udp,892,s0, tcp,2105,s0, tcp,5666,s0) ++network_port(inetd_child, tcp,1,s0, udp,1,s0, tcp,7,s0, udp,7,s0, tcp,9,s0, udp,9,s0, tcp,13,s0, udp,13,s0, tcp,19,s0, udp,19,s0, tcp,37,s0, udp,37,s0, tcp,512,s0, tcp,543,s0, tcp,544,s0, tcp,891,s0, udp,891,s0, tcp,892,s0, udp,892,s0, tcp,2105,s0, tcp,5666,s0) + network_port(innd, tcp,119,s0) + network_port(ipp, tcp,631,s0, udp,631,s0) + network_port(ircd, tcp,6667,s0) @@ -110,7 +116,8 @@ network_port(netsupport, tcp,5405,s0, udp,5405,s0) network_port(nmbd, udp,137,s0, udp,138,s0, udp,139,s0) @@ -4338,7 +4356,7 @@ /dev/tty -c gen_context(system_u:object_r:devtty_t,s0) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/kernel/terminal.if serefpolicy-2.4.6/policy/modules/kernel/terminal.if --- nsaserefpolicy/policy/modules/kernel/terminal.if 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/kernel/terminal.if 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/kernel/terminal.if 2007-06-01 09:35:58.000000000 -0400 @@ -284,6 +284,25 @@ ######################################## @@ -4456,7 +4474,7 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/amavis.te serefpolicy-2.4.6/policy/modules/services/amavis.te --- nsaserefpolicy/policy/modules/services/amavis.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/amavis.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/amavis.te 2007-05-31 10:50:34.000000000 -0400 @@ -50,6 +50,7 @@ allow amavis_t self:unix_stream_socket create_stream_socket_perms; allow amavis_t self:unix_dgram_socket create_socket_perms; @@ -4473,7 +4491,15 @@ allow amavis_t amavis_var_lib_t:file create_file_perms; allow amavis_t amavis_var_lib_t:sock_file create_file_perms; allow amavis_t amavis_var_lib_t:dir create_dir_perms; -@@ -181,4 +183,5 @@ +@@ -172,6 +174,7 @@ + + optional_policy(` + pyzor_domtrans(amavis_t) ++ pyzor_signal(amavis_t) + ') + + optional_policy(` +@@ -181,4 +184,5 @@ optional_policy(` spamassassin_exec(amavis_t) spamassassin_exec_client(amavis_t) @@ -4893,6 +4919,27 @@ ') optional_policy(` +diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/audioentropy.te serefpolicy-2.4.6/policy/modules/services/audioentropy.te +--- nsaserefpolicy/policy/modules/services/audioentropy.te 2006-11-29 12:04:51.000000000 -0500 ++++ serefpolicy-2.4.6/policy/modules/services/audioentropy.te 2007-06-11 14:19:47.000000000 -0400 +@@ -18,7 +18,7 @@ + # Local policy + # + +-allow entropyd_t self:capability { ipc_lock sys_admin }; ++allow entropyd_t self:capability { dac_override ipc_lock sys_admin }; + dontaudit entropyd_t self:capability sys_tty_config; + allow entropyd_t self:process signal_perms; + +@@ -33,6 +33,8 @@ + dev_read_sysfs(entropyd_t) + dev_read_urand(entropyd_t) + dev_write_urand(entropyd_t) ++dev_read_rand(entropyd_t) ++dev_write_rand(entropyd_t) + dev_read_sound(entropyd_t) + + fs_getattr_all_fs(entropyd_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/automount.fc serefpolicy-2.4.6/policy/modules/services/automount.fc --- nsaserefpolicy/policy/modules/services/automount.fc 2006-11-29 12:04:49.000000000 -0500 +++ serefpolicy-2.4.6/policy/modules/services/automount.fc 2007-05-22 12:40:26.000000000 -0400 @@ -5414,7 +5461,7 @@ ## diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/cron.te serefpolicy-2.4.6/policy/modules/services/cron.te --- nsaserefpolicy/policy/modules/services/cron.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/cron.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/cron.te 2007-05-30 13:14:32.000000000 -0400 @@ -11,9 +11,6 @@ # attribute cron_spool_type; @@ -6602,7 +6649,7 @@ libs_use_shared_libs(hald_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/inetd.te serefpolicy-2.4.6/policy/modules/services/inetd.te --- nsaserefpolicy/policy/modules/services/inetd.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/inetd.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/inetd.te 2007-05-31 14:33:45.000000000 -0400 @@ -37,10 +37,11 @@ allow inetd_t self:capability { setuid setgid }; @@ -6625,15 +6672,32 @@ # base networking: corenet_non_ipsec_sendrecv(inetd_t) -@@ -88,6 +91,7 @@ +@@ -76,18 +79,23 @@ + corenet_udp_bind_comsat_port(inetd_t) + corenet_tcp_bind_dbskkd_port(inetd_t) + corenet_udp_bind_dbskkd_port(inetd_t) ++corenet_tcp_bind_ftp_port(inetd_t) + corenet_udp_bind_ftp_port(inetd_t) + corenet_tcp_bind_inetd_child_port(inetd_t) +-corenet_tcp_bind_inetd_child_port(inetd_t) ++corenet_udp_bind_inetd_child_port(inetd_t) + corenet_udp_bind_ktalkd_port(inetd_t) + corenet_tcp_bind_printer_port(inetd_t) ++corenet_udp_bind_rlogind_port(inetd_t) + corenet_udp_bind_rsh_port(inetd_t) + corenet_tcp_bind_rsync_port(inetd_t) ++corenet_tcp_bind_rsync_port(inetd_t) + corenet_udp_bind_rsync_port(inetd_t) + #corenet_tcp_bind_stunnel_port(inetd_t) corenet_tcp_bind_swat_port(inetd_t) corenet_udp_bind_swat_port(inetd_t) ++corenet_tcp_bind_telnetd_port(inetd_t) corenet_udp_bind_tftp_port(inetd_t) +corenet_tcp_bind_ssh_port(inetd_t) # service port packets: corenet_sendrecv_amanda_server_packets(inetd_t) -@@ -109,6 +113,9 @@ +@@ -109,6 +117,9 @@ fs_getattr_all_fs(inetd_t) fs_search_auto_mountpoints(inetd_t) @@ -6643,7 +6707,7 @@ term_dontaudit_use_console(inetd_t) # Run other daemons in the inetd_child_t domain. -@@ -129,6 +136,12 @@ +@@ -129,6 +140,12 @@ miscfiles_read_localization(inetd_t) @@ -6656,7 +6720,7 @@ sysnet_read_config(inetd_t) userdom_dontaudit_use_unpriv_user_fds(inetd_t) -@@ -212,10 +225,11 @@ +@@ -212,10 +229,11 @@ sysnet_read_config(inetd_child_t) @@ -6672,7 +6736,7 @@ ') optional_policy(` -@@ -236,3 +250,7 @@ +@@ -236,3 +254,7 @@ optional_policy(` nscd_socket_use(inetd_child_t) ') @@ -6819,7 +6883,7 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/lpd.if serefpolicy-2.4.6/policy/modules/services/lpd.if --- nsaserefpolicy/policy/modules/services/lpd.if 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/lpd.if 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/lpd.if 2007-06-06 12:03:44.000000000 -0400 @@ -64,33 +64,35 @@ allow $1_lpr_t self:udp_socket create_socket_perms; allow $1_lpr_t self:netlink_route_socket r_netlink_socket_perms; @@ -6897,6 +6961,28 @@ # Allow per user lpr domain read acces for specific user. tunable_policy(`read_untrusted_content',` userdom_read_all_untrusted_content($1_lpr_t) +@@ -404,3 +411,21 @@ + allow $1_lpr_t $2:process sigchld; + ') + ++######################################## ++## ++## Allow the specified domain to execute lpr ++## in the caller domain. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`lpd_exec_lpr',` ++ gen_require(` ++ type lpr_exec_t; ++ ') ++ ++ can_exec($1,lpr_exec_t) ++') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/lpd.te serefpolicy-2.4.6/policy/modules/services/lpd.te --- nsaserefpolicy/policy/modules/services/lpd.te 2006-11-29 12:04:49.000000000 -0500 +++ serefpolicy-2.4.6/policy/modules/services/lpd.te 2007-05-22 12:40:26.000000000 -0400 @@ -6960,7 +7046,7 @@ +/usr/sbin/exim -- gen_context(system_u:object_r:sendmail_exec_t,s0) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/mta.if serefpolicy-2.4.6/policy/modules/services/mta.if --- nsaserefpolicy/policy/modules/services/mta.if 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/mta.if 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/mta.if 2007-06-05 08:46:52.000000000 -0400 @@ -820,11 +820,31 @@ type mqueue_spool_t; ') @@ -7149,7 +7235,18 @@ allow ypxfr_t $1:process sigchld; diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/nis.te serefpolicy-2.4.6/policy/modules/services/nis.te --- nsaserefpolicy/policy/modules/services/nis.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/nis.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/nis.te 2007-06-04 11:06:56.000000000 -0400 +@@ -170,8 +170,8 @@ + corenet_udp_sendrecv_all_ports(yppasswdd_t) + corenet_tcp_bind_all_nodes(yppasswdd_t) + corenet_udp_bind_all_nodes(yppasswdd_t) +-corenet_tcp_bind_reserved_port(yppasswdd_t) +-corenet_udp_bind_reserved_port(yppasswdd_t) ++corenet_tcp_bind_all_rpc_ports(yppasswdd_t) ++corenet_udp_bind_all_rpc_ports(yppasswdd_t) + corenet_dontaudit_tcp_bind_all_reserved_ports(yppasswdd_t) + corenet_dontaudit_udp_bind_all_reserved_ports(yppasswdd_t) + corenet_sendrecv_generic_server_packets(yppasswdd_t) @@ -275,6 +275,8 @@ corenet_udp_bind_all_nodes(ypserv_t) corenet_tcp_bind_reserved_port(ypserv_t) @@ -7246,7 +7343,7 @@ + diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/nscd.te serefpolicy-2.4.6/policy/modules/services/nscd.te --- nsaserefpolicy/policy/modules/services/nscd.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/nscd.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/nscd.te 2007-06-04 14:59:43.000000000 -0400 @@ -28,15 +28,14 @@ # Local policy # @@ -7320,8 +7417,16 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/ntp.te serefpolicy-2.4.6/policy/modules/services/ntp.te --- nsaserefpolicy/policy/modules/services/ntp.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/ntp.te 2007-05-22 12:40:26.000000000 -0400 -@@ -137,6 +137,7 @@ ++++ serefpolicy-2.4.6/policy/modules/services/ntp.te 2007-06-11 08:11:46.000000000 -0400 +@@ -36,6 +36,7 @@ + dontaudit ntpd_t self:capability { net_admin sys_tty_config fsetid sys_nice }; + allow ntpd_t self:process { signal_perms setcap setsched setrlimit }; + allow ntpd_t self:fifo_file { read write getattr }; ++allow ntpd_t self:shm rw_shm_perms; + allow ntpd_t self:unix_dgram_socket create_socket_perms; + allow ntpd_t self:unix_stream_socket create_socket_perms; + allow ntpd_t self:tcp_socket create_stream_socket_perms; +@@ -137,6 +138,7 @@ optional_policy(` firstboot_dontaudit_use_fds(ntpd_t) @@ -7401,7 +7506,7 @@ files_pid_filetrans(openct_t,openct_var_run_t,file) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/openvpn.te serefpolicy-2.4.6/policy/modules/services/openvpn.te --- nsaserefpolicy/policy/modules/services/openvpn.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/openvpn.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/openvpn.te 2007-06-11 14:45:50.000000000 -0400 @@ -28,11 +28,11 @@ # openvpn local policy # @@ -7416,6 +7521,25 @@ allow openvpn_t self:netlink_route_socket rw_netlink_socket_perms; allow openvpn_t openvpn_etc_t:dir r_dir_perms; +@@ -42,8 +42,8 @@ + allow openvpn_t openvpn_var_log_t:file create_file_perms; + logging_log_filetrans(openvpn_t,openvpn_var_log_t,file) + +-allow openvpn_t openvpn_var_run_t:file create_file_perms; +-files_pid_filetrans(openvpn_t, openvpn_var_run_t, file) ++manage_files_pattern(openvpn_t,openvpn_var_run_t,openvpn_var_run_t) ++files_pid_filetrans(openvpn_t, openvpn_var_run_t, { file dir }) + + kernel_read_kernel_sysctls(openvpn_t) + kernel_read_net_sysctls(openvpn_t) +@@ -67,6 +67,7 @@ + corenet_udp_bind_openvpn_port(openvpn_t) + corenet_sendrecv_openvpn_server_packets(openvpn_t) + corenet_rw_tun_tap_dev(openvpn_t) ++corenet_tcp_connect_openvpn_port(openvpn_t) + + dev_search_sysfs(openvpn_t) + dev_read_rand(openvpn_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/pcscd.fc serefpolicy-2.4.6/policy/modules/services/pcscd.fc --- nsaserefpolicy/policy/modules/services/pcscd.fc 1969-12-31 19:00:00.000000000 -0500 +++ serefpolicy-2.4.6/policy/modules/services/pcscd.fc 2007-05-22 12:40:26.000000000 -0400 @@ -7683,8 +7807,8 @@ init_rw_utmp(portslave_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/postfix.fc serefpolicy-2.4.6/policy/modules/services/postfix.fc --- nsaserefpolicy/policy/modules/services/postfix.fc 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/postfix.fc 2007-05-22 12:40:26.000000000 -0400 -@@ -9,6 +9,7 @@ ++++ serefpolicy-2.4.6/policy/modules/services/postfix.fc 2007-06-14 09:48:37.000000000 -0400 +@@ -9,10 +9,12 @@ /usr/libexec/postfix/(n)?qmgr -- gen_context(system_u:object_r:postfix_qmgr_exec_t,s0) /usr/libexec/postfix/showq -- gen_context(system_u:object_r:postfix_showq_exec_t,s0) /usr/libexec/postfix/smtp -- gen_context(system_u:object_r:postfix_smtp_exec_t,s0) @@ -7692,9 +7816,14 @@ /usr/libexec/postfix/scache -- gen_context(system_u:object_r:postfix_smtp_exec_t,s0) /usr/libexec/postfix/smtpd -- gen_context(system_u:object_r:postfix_smtpd_exec_t,s0) /usr/libexec/postfix/bounce -- gen_context(system_u:object_r:postfix_bounce_exec_t,s0) + /usr/libexec/postfix/pipe -- gen_context(system_u:object_r:postfix_pipe_exec_t,s0) ++/usr/libexec/postfix/virtual -- gen_context(system_u:object_r:postfix_virtual_exec_t,s0) + ', ` + /usr/lib/postfix/.* -- gen_context(system_u:object_r:postfix_exec_t,s0) + /usr/lib/postfix/cleanup -- gen_context(system_u:object_r:postfix_cleanup_exec_t,s0) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/postfix.if serefpolicy-2.4.6/policy/modules/services/postfix.if --- nsaserefpolicy/policy/modules/services/postfix.if 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/postfix.if 2007-05-29 13:29:43.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/postfix.if 2007-06-04 13:46:25.000000000 -0400 @@ -48,8 +48,6 @@ can_exec(postfix_$1_t, postfix_$1_exec_t) @@ -7716,7 +7845,34 @@ ') ') -@@ -484,3 +480,22 @@ +@@ -468,6 +464,26 @@ + + ######################################## + ## ++## Read postfix mail spool files. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`postfix_read_spool_files',` ++ gen_require(` ++ type postfix_spool_t; ++ ') ++ ++ files_search_spool($1) ++ allow $1 postfix_spool_t:dir r_dir_perms; ++ allow $1 postfix_spool_t:file r_file_perms; ++') ++ ++######################################## ++## + ## Execute postfix user mail programs + ## in their respective domains. + ## +@@ -484,3 +500,22 @@ typeattribute $1 postfix_user_domtrans; ') @@ -7741,16 +7897,39 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/postfix.te serefpolicy-2.4.6/policy/modules/services/postfix.te --- nsaserefpolicy/policy/modules/services/postfix.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/postfix.te 2007-05-29 11:52:01.000000000 -0400 -@@ -171,12 +171,18 @@ ++++ serefpolicy-2.4.6/policy/modules/services/postfix.te 2007-06-14 09:48:13.000000000 -0400 +@@ -84,6 +84,12 @@ + type postfix_var_run_t; + files_pid_file(postfix_var_run_t) + ++postfix_server_domain_template(virtual) ++mta_mailserver_delivery(postfix_virtual_t) ++ ++type postfix_virtual_tmp_t; ++files_tmp_file(postfix_virtual_tmp_t) ++ + ######################################## + # + # Postfix master process local policy +@@ -91,6 +97,7 @@ + + # chown is to set the correct ownership of queue dirs + allow postfix_master_t self:capability { chown dac_override kill setgid setuid net_bind_service sys_tty_config }; ++allow postfix_master_t self:process setrlimit; + allow postfix_master_t self:fifo_file rw_file_perms; + allow postfix_master_t self:tcp_socket create_stream_socket_perms; + allow postfix_master_t self:udp_socket create_socket_perms; +@@ -170,6 +177,9 @@ + mta_rw_aliases(postfix_master_t) mta_read_sendmail_bin(postfix_master_t) - -+term_search_ptys(postfix_master_t) ++mta_getattr_spool(postfix_master_t) + ++term_search_ptys(postfix_master_t) + ifdef(`targeted_policy',` term_dontaudit_use_unallocated_ttys(postfix_master_t) - term_dontaudit_use_generic_ptys(postfix_master_t) +@@ -177,6 +187,10 @@ ') optional_policy(` @@ -7761,7 +7940,7 @@ cyrus_stream_connect(postfix_master_t) ') -@@ -186,6 +192,10 @@ +@@ -186,6 +200,10 @@ ') optional_policy(` @@ -7772,7 +7951,7 @@ nis_use_ypbind(postfix_master_t) ') -@@ -222,6 +232,7 @@ +@@ -222,6 +240,7 @@ allow postfix_bounce_t self:capability dac_read_search; allow postfix_bounce_t self:tcp_socket create_socket_perms; @@ -7780,7 +7959,7 @@ allow postfix_bounce_t postfix_public_t:sock_file write; allow postfix_bounce_t postfix_public_t:dir search; -@@ -240,6 +251,7 @@ +@@ -240,6 +259,7 @@ # allow postfix_cleanup_t self:process setrlimit; @@ -7788,7 +7967,7 @@ # connect to master process allow postfix_cleanup_t postfix_master_t:unix_stream_socket connectto; -@@ -265,6 +277,7 @@ +@@ -265,6 +285,7 @@ allow postfix_local_t self:fifo_file rw_file_perms; allow postfix_local_t self:process { setsched setrlimit }; @@ -7796,7 +7975,7 @@ allow postfix_local_t postfix_local_tmp_t:dir create_dir_perms; allow postfix_local_t postfix_local_tmp_t:file create_file_perms; -@@ -298,6 +311,7 @@ +@@ -298,6 +319,7 @@ optional_policy(` # for postalias mailman_manage_data_files(postfix_local_t) @@ -7804,7 +7983,7 @@ ') optional_policy(` -@@ -382,6 +396,10 @@ +@@ -382,6 +404,10 @@ locallogin_dontaudit_use_fds(postfix_map_t) ') @@ -7815,7 +7994,7 @@ # a "run" interface needs to be # added, and have sysadm_t use it # in a optional_policy block. -@@ -394,6 +412,7 @@ +@@ -394,6 +420,7 @@ allow postfix_pickup_t self:tcp_socket create_socket_perms; allow postfix_pickup_t postfix_master_t:unix_stream_socket connectto; @@ -7823,7 +8002,7 @@ allow postfix_pickup_t postfix_private_t:dir search; allow postfix_pickup_t postfix_private_t:sock_file write; -@@ -412,7 +431,7 @@ +@@ -412,7 +439,7 @@ # Postfix pipe local policy # @@ -7832,7 +8011,7 @@ allow postfix_pipe_t postfix_private_t:dir search; allow postfix_pipe_t postfix_private_t:sock_file write; -@@ -423,6 +442,12 @@ +@@ -423,6 +450,12 @@ allow postfix_pipe_t postfix_spool_t:dir search; allow postfix_pipe_t postfix_spool_t:file rw_file_perms; @@ -7845,7 +8024,7 @@ optional_policy(` procmail_domtrans(postfix_pipe_t) ') -@@ -431,6 +456,14 @@ +@@ -431,6 +464,14 @@ mailman_domtrans_queue(postfix_pipe_t) ') @@ -7860,7 +8039,7 @@ ######################################## # # Postfix postdrop local policy -@@ -468,6 +501,10 @@ +@@ -468,6 +509,10 @@ ') optional_policy(` @@ -7871,7 +8050,7 @@ ppp_use_fds(postfix_postqueue_t) ppp_sigchld(postfix_postqueue_t) ') -@@ -515,6 +552,7 @@ +@@ -515,6 +560,7 @@ # allow postfix_qmgr_t postfix_master_t:unix_stream_socket connectto; @@ -7879,7 +8058,7 @@ allow postfix_qmgr_t postfix_private_t:dir search; allow postfix_qmgr_t postfix_private_t:sock_file rw_file_perms; -@@ -574,9 +612,14 @@ +@@ -574,9 +620,14 @@ allow postfix_smtp_t postfix_master_t:unix_stream_socket connectto; allow postfix_smtp_t { postfix_private_t postfix_public_t }:dir search; allow postfix_smtp_t { postfix_private_t postfix_public_t }:sock_file write; @@ -7894,7 +8073,7 @@ ######################################## # # Postfix smtpd local policy -@@ -594,9 +637,19 @@ +@@ -594,9 +645,19 @@ corecmd_exec_bin(postfix_smtpd_t) @@ -7914,11 +8093,39 @@ optional_policy(` postgrey_stream_connect(postfix_smtpd_t) -@@ -605,3 +658,4 @@ +@@ -605,3 +666,32 @@ optional_policy(` sasl_connect(postfix_smtpd_t) ') + ++######################################## ++# ++# Postfix virtual local policy ++# ++ ++allow postfix_virtual_t self:fifo_file rw_fifo_file_perms; ++allow postfix_virtual_t self:process { setsched setrlimit }; ++allow postfix_virtual_t postfix_master_t:file read; ++ ++manage_dirs_pattern(postfix_virtual_t,postfix_virtual_tmp_t,postfix_virtual_tmp_t) ++manage_files_pattern(postfix_virtual_t,postfix_virtual_tmp_t,postfix_virtual_tmp_t) ++files_tmp_filetrans(postfix_virtual_t, postfix_virtual_tmp_t, { file dir }) ++ ++# connect to master process ++stream_connect_pattern(postfix_virtual_t,postfix_public_t,postfix_public_t,postfix_master_t) ++ ++allow postfix_virtual_t postfix_spool_t:file rw_file_perms; ++ ++corecmd_exec_shell(postfix_virtual_t) ++corecmd_exec_bin(postfix_virtual_t) ++ ++files_read_etc_files(postfix_virtual_t) ++ ++mta_read_aliases(postfix_virtual_t) ++mta_delete_spool(postfix_virtual_t) ++# For reading spamassasin ++mta_read_config(postfix_virtual_t) ++mta_manage_spool(postfix_virtual_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/ppp.te serefpolicy-2.4.6/policy/modules/services/ppp.te --- nsaserefpolicy/policy/modules/services/ppp.te 2006-11-29 12:04:51.000000000 -0500 +++ serefpolicy-2.4.6/policy/modules/services/ppp.te 2007-05-22 12:40:26.000000000 -0400 @@ -7940,8 +8147,8 @@ userdom_dontaudit_search_sysadm_home_dirs(pppd_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/procmail.te serefpolicy-2.4.6/policy/modules/services/procmail.te --- nsaserefpolicy/policy/modules/services/procmail.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/procmail.te 2007-05-22 12:40:26.000000000 -0400 -@@ -10,15 +10,19 @@ ++++ serefpolicy-2.4.6/policy/modules/services/procmail.te 2007-06-12 11:07:42.000000000 -0400 +@@ -10,21 +10,27 @@ type procmail_exec_t; domain_type(procmail_t) domain_entry_file(procmail_t,procmail_exec_t) @@ -7962,7 +8169,15 @@ allow procmail_t self:fifo_file rw_file_perms; allow procmail_t self:unix_stream_socket create_socket_perms; allow procmail_t self:unix_dgram_socket create_socket_perms; -@@ -50,6 +54,10 @@ + allow procmail_t self:tcp_socket create_stream_socket_perms; + allow procmail_t self:udp_socket create_socket_perms; + ++can_exec(procmail_t,procmail_exec_t) ++ + kernel_read_system_state(procmail_t) + kernel_read_kernel_sysctls(procmail_t) + +@@ -50,6 +56,10 @@ corecmd_exec_bin(procmail_t) corecmd_exec_shell(procmail_t) corecmd_dontaudit_search_sbin(procmail_t) @@ -7973,7 +8188,7 @@ files_read_etc_files(procmail_t) files_read_etc_runtime_files(procmail_t) -@@ -64,6 +72,21 @@ +@@ -64,6 +74,21 @@ # only works until we define a different type for maildir userdom_priveleged_home_dir_manager(procmail_t) @@ -7995,7 +8210,15 @@ # Do not audit attempts to access /root. userdom_dontaudit_search_sysadm_home_dirs(procmail_t) userdom_dontaudit_search_staff_home_dirs(procmail_t) -@@ -102,9 +125,9 @@ +@@ -87,6 +112,7 @@ + # for a bug in the postfix local program + postfix_dontaudit_rw_local_tcp_sockets(procmail_t) + postfix_dontaudit_use_fds(procmail_t) ++ postfix_read_spool_files(procmail_t) + ') + + optional_policy(` +@@ -102,9 +128,9 @@ optional_policy(` corenet_udp_bind_generic_port(procmail_t) @@ -8476,7 +8699,7 @@ diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/samba.if serefpolicy-2.4.6/policy/modules/services/samba.if --- nsaserefpolicy/policy/modules/services/samba.if 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/samba.if 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/samba.if 2007-06-11 14:33:13.000000000 -0400 @@ -140,6 +140,7 @@ ') @@ -8549,7 +8772,7 @@ ## Allow the specified domain to write to smbmount tcp sockets. ## ## -@@ -395,3 +439,21 @@ +@@ -395,3 +439,39 @@ allow $1 winbind_var_run_t:sock_file { getattr read write }; allow $1 winbind_t:unix_stream_socket connectto; ') @@ -8571,9 +8794,27 @@ + + dontaudit $1 smbd_t:fd use; +') ++ ++######################################## ++## ++## Allow the specified domain to read samba's shares ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`samba_read_share_files',` ++ gen_require(` ++ type samba_share_t; ++ ') ++ ++ read_files_pattern($1, samba_share_t, samba_share_t) ++') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/samba.te serefpolicy-2.4.6/policy/modules/services/samba.te --- nsaserefpolicy/policy/modules/services/samba.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/samba.te 2007-05-29 08:53:18.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/samba.te 2007-06-11 09:42:56.000000000 -0400 @@ -10,6 +10,13 @@ type nmbd_exec_t; init_daemon_domain(nmbd_t,nmbd_exec_t) @@ -8599,7 +8840,26 @@ kernel_read_proc_symlinks(samba_net_t) -@@ -235,6 +240,10 @@ +@@ -180,7 +185,7 @@ + allow smbd_t samba_etc_t:dir rw_dir_perms; + allow smbd_t samba_etc_t:file { rw_file_perms setattr }; + +-allow smbd_t samba_log_t:dir { create ra_dir_perms setattr }; ++allow smbd_t samba_log_t:dir create_dir_perms; + dontaudit smbd_t samba_log_t:dir remove_name; + allow smbd_t samba_log_t:file { create ra_file_perms }; + +@@ -210,7 +215,8 @@ + allow smbd_t smbd_var_run_t:sock_file create_file_perms; + files_pid_filetrans(smbd_t,smbd_var_run_t,file) + +-allow smbd_t winbind_var_run_t:sock_file { read write getattr }; ++allow smbd_t winbind_var_run_t:sock_file rw_sock_file_perms; ++read_files_pattern(smbd_t,winbind_tmp_t,winbind_tmp_t) + + kernel_getattr_core_if(smbd_t) + kernel_getattr_message_if(smbd_t) +@@ -235,6 +241,10 @@ corenet_tcp_connect_ipp_port(smbd_t) corenet_tcp_connect_smbd_port(smbd_t) @@ -8610,7 +8870,7 @@ dev_read_sysfs(smbd_t) dev_read_urand(smbd_t) dev_getattr_mtrr_dev(smbd_t) -@@ -244,11 +253,13 @@ +@@ -244,11 +254,13 @@ fs_get_xattr_fs_quotas(smbd_t) fs_search_auto_mountpoints(smbd_t) fs_getattr_rpc_dirs(smbd_t) @@ -8624,7 +8884,7 @@ domain_use_interactive_fds(smbd_t) -@@ -279,6 +290,12 @@ +@@ -279,6 +291,12 @@ userdom_dontaudit_use_unpriv_user_fds(smbd_t) userdom_use_unpriv_users_fds(smbd_t) @@ -8637,16 +8897,29 @@ ifdef(`hide_broken_symptoms', ` files_dontaudit_getattr_default_dirs(smbd_t) files_dontaudit_getattr_boot_dirs(smbd_t) -@@ -349,7 +366,7 @@ +@@ -302,6 +320,10 @@ + ') + + optional_policy(` ++ lpd_exec_lpr(smbd_t) ++') ++ ++optional_policy(` + cups_read_rw_config(smbd_t) + cups_stream_connect(smbd_t) + ') +@@ -348,8 +370,8 @@ + allow nmbd_t samba_etc_t:dir { search getattr }; allow nmbd_t samba_etc_t:file { getattr read }; - allow nmbd_t samba_log_t:dir { create ra_dir_perms setattr }; +-allow nmbd_t samba_log_t:dir { create ra_dir_perms setattr }; -allow nmbd_t samba_log_t:file { create ra_file_perms }; ++allow nmbd_t samba_log_t:dir create_dir_perms; +allow nmbd_t samba_log_t:file { create ra_file_perms unlink }; allow nmbd_t samba_var_t:dir rw_dir_perms; allow nmbd_t samba_var_t:file { lock unlink create write setattr read getattr rename }; -@@ -374,6 +391,7 @@ +@@ -374,6 +396,7 @@ corenet_udp_bind_nmbd_port(nmbd_t) corenet_sendrecv_nmbd_server_packets(nmbd_t) corenet_sendrecv_nmbd_client_packets(nmbd_t) @@ -8654,7 +8927,7 @@ dev_read_sysfs(nmbd_t) dev_getattr_mtrr_dev(nmbd_t) -@@ -387,6 +405,7 @@ +@@ -387,6 +410,7 @@ files_read_usr_files(nmbd_t) files_read_etc_files(nmbd_t) @@ -8662,7 +8935,7 @@ init_use_fds(nmbd_t) init_use_script_ptys(nmbd_t) -@@ -449,6 +468,8 @@ +@@ -449,6 +473,8 @@ allow smbmount_t samba_var_t:file create_file_perms; allow smbmount_t samba_var_t:lnk_file create_lnk_perms; @@ -8671,7 +8944,7 @@ kernel_read_system_state(smbmount_t) corenet_tcp_sendrecv_all_if(smbmount_t) -@@ -502,7 +523,7 @@ +@@ -502,7 +528,7 @@ userdom_use_sysadm_ttys(smbmount_t) optional_policy(` @@ -8680,7 +8953,7 @@ ') optional_policy(` -@@ -522,10 +543,9 @@ +@@ -522,10 +548,9 @@ allow swat_t self:process signal_perms; allow swat_t self:fifo_file rw_file_perms; allow swat_t self:netlink_tcpdiag_socket r_netlink_socket_perms; @@ -8692,7 +8965,7 @@ allow swat_t nmbd_exec_t:file { execute read }; -@@ -533,7 +553,7 @@ +@@ -533,7 +558,7 @@ allow swat_t samba_etc_t:file { getattr write read }; allow swat_t samba_log_t:dir search; @@ -8701,7 +8974,7 @@ allow swat_t smbd_exec_t:file execute ; -@@ -566,9 +586,8 @@ +@@ -566,9 +591,8 @@ corenet_raw_sendrecv_all_nodes(swat_t) corenet_tcp_sendrecv_all_ports(swat_t) corenet_udp_sendrecv_all_ports(swat_t) @@ -8712,7 +8985,7 @@ dev_read_urand(swat_t) -@@ -578,6 +597,7 @@ +@@ -578,6 +602,7 @@ fs_getattr_xattr_fs(swat_t) auth_domtrans_chk_passwd(swat_t) @@ -8720,7 +8993,7 @@ libs_use_ld_so(swat_t) libs_use_shared_libs(swat_t) -@@ -591,6 +611,7 @@ +@@ -591,6 +616,7 @@ optional_policy(` cups_read_rw_config(swat_t) @@ -8728,7 +9001,7 @@ ') optional_policy(` -@@ -614,6 +635,8 @@ +@@ -614,6 +640,8 @@ # Winbind local policy # @@ -8737,7 +9010,7 @@ dontaudit winbind_t self:capability sys_tty_config; allow winbind_t self:process signal_perms; allow winbind_t self:fifo_file { read write }; -@@ -623,6 +646,9 @@ +@@ -623,6 +651,9 @@ allow winbind_t self:tcp_socket create_stream_socket_perms; allow winbind_t self:udp_socket create_socket_perms; @@ -8747,7 +9020,7 @@ allow winbind_t samba_etc_t:dir r_dir_perms; allow winbind_t samba_etc_t:lnk_file { getattr read }; allow winbind_t samba_etc_t:file r_file_perms; -@@ -677,10 +703,12 @@ +@@ -677,10 +708,12 @@ term_dontaudit_use_console(winbind_t) auth_domtrans_chk_passwd(winbind_t) @@ -8760,7 +9033,7 @@ init_use_fds(winbind_t) init_use_script_ptys(winbind_t) -@@ -743,6 +771,8 @@ +@@ -743,6 +776,8 @@ domain_use_interactive_fds(winbind_helper_t) @@ -8769,7 +9042,7 @@ libs_use_ld_so(winbind_helper_t) libs_use_shared_libs(winbind_helper_t) -@@ -763,3 +793,24 @@ +@@ -763,3 +798,24 @@ squid_read_log(winbind_helper_t) squid_append_log(winbind_helper_t) ') @@ -10267,7 +10540,7 @@ + diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/authlogin.te serefpolicy-2.4.6/policy/modules/system/authlogin.te --- nsaserefpolicy/policy/modules/system/authlogin.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/system/authlogin.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/system/authlogin.te 2007-06-04 11:28:31.000000000 -0400 @@ -9,6 +9,13 @@ attribute can_read_shadow_passwords; attribute can_write_shadow_passwords; @@ -10290,7 +10563,16 @@ kernel_read_kernel_sysctls(pam_console_t) kernel_use_fds(pam_console_t) -@@ -172,8 +180,6 @@ +@@ -162,6 +170,8 @@ + dev_setattr_mouse_dev(pam_console_t) + dev_getattr_power_mgmt_dev(pam_console_t) + dev_setattr_power_mgmt_dev(pam_console_t) ++dev_getattr_printer_dev(pam_console_t) ++dev_setattr_printer_dev(pam_console_t) + dev_getattr_scanner_dev(pam_console_t) + dev_setattr_scanner_dev(pam_console_t) + dev_getattr_sound_dev(pam_console_t) +@@ -172,8 +182,6 @@ dev_setattr_xserver_misc_dev(pam_console_t) dev_read_urand(pam_console_t) @@ -10299,7 +10581,7 @@ mls_file_read_up(pam_console_t) mls_file_write_down(pam_console_t) -@@ -203,6 +209,7 @@ +@@ -203,6 +211,7 @@ files_read_etc_runtime_files(pam_console_t) fs_list_auto_mountpoints(pam_console_t) @@ -10307,7 +10589,7 @@ init_use_fds(pam_console_t) init_use_script_ptys(pam_console_t) -@@ -252,7 +259,7 @@ +@@ -252,7 +261,7 @@ # System check password local policy # @@ -10316,7 +10598,7 @@ allow system_chkpwd_t shadow_t:file { getattr read }; -@@ -265,6 +272,7 @@ +@@ -265,6 +274,7 @@ userdom_dontaudit_use_unpriv_users_ttys(system_chkpwd_t) userdom_dontaudit_use_unpriv_users_ptys(system_chkpwd_t) @@ -10324,7 +10606,7 @@ ######################################## # -@@ -306,3 +314,30 @@ +@@ -306,3 +316,30 @@ xserver_use_xdm_fds(utempter_t) xserver_rw_xdm_pipes(utempter_t) ') @@ -10548,7 +10830,7 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/init.if serefpolicy-2.4.6/policy/modules/system/init.if --- nsaserefpolicy/policy/modules/system/init.if 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/system/init.if 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/system/init.if 2007-06-07 15:57:22.000000000 -0400 @@ -221,11 +221,14 @@ gen_require(` type initrc_t; @@ -10572,6 +10854,15 @@ ') ######################################## +@@ -1290,7 +1294,7 @@ + type initrc_var_run_t; + ') + +- dontaudit $1 initrc_var_run_t:file { getattr read write append }; ++ dontaudit $1 initrc_var_run_t:file rw_file_perms; + ') + + ######################################## @@ -1311,3 +1315,63 @@ files_search_pids($1) allow $1 initrc_var_run_t:file create_file_perms; @@ -11627,7 +11918,7 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/lvm.te serefpolicy-2.4.6/policy/modules/system/lvm.te --- nsaserefpolicy/policy/modules/system/lvm.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/system/lvm.te 2007-05-23 13:28:49.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/system/lvm.te 2007-06-11 09:18:26.000000000 -0400 @@ -13,6 +13,9 @@ type clvmd_var_run_t; files_pid_file(clvmd_var_run_t) @@ -11744,15 +12035,16 @@ dontaudit lvm_t self:capability sys_tty_config; allow lvm_t self:process { sigchld sigkill sigstop signull signal }; # LVM will complain a lot if it cannot set its priority. -@@ -130,6 +171,7 @@ +@@ -130,6 +171,8 @@ allow lvm_t self:fifo_file rw_file_perms; allow lvm_t self:unix_dgram_socket create_socket_perms; allow lvm_t self:netlink_kobject_uevent_socket create_socket_perms; ++allow lvm_t self:unix_stream_socket { connectto create_stream_socket_perms }; +allow lvm_t clvmd_t:unix_stream_socket connectto; allow lvm_t lvm_tmp_t:dir create_dir_perms; allow lvm_t lvm_tmp_t:file create_file_perms; -@@ -147,6 +189,10 @@ +@@ -147,6 +190,10 @@ allow lvm_t lvm_lock_t:file create_file_perms; files_lock_filetrans(lvm_t,lvm_lock_t,file) @@ -11763,7 +12055,7 @@ allow lvm_t lvm_var_run_t:file manage_file_perms; allow lvm_t lvm_var_run_t:sock_file manage_file_perms; allow lvm_t lvm_var_run_t:dir manage_dir_perms; -@@ -176,6 +222,7 @@ +@@ -176,6 +223,7 @@ selinux_compute_user_contexts(lvm_t) dev_create_generic_chr_files(lvm_t) @@ -11771,7 +12063,7 @@ dev_read_rand(lvm_t) dev_read_urand(lvm_t) dev_rw_lvm_control(lvm_t) -@@ -195,12 +242,15 @@ +@@ -195,12 +243,15 @@ dev_dontaudit_getattr_generic_blk_files(lvm_t) dev_dontaudit_getattr_generic_pipes(lvm_t) dev_create_generic_dirs(lvm_t) @@ -11787,7 +12079,7 @@ storage_relabel_fixed_disk(lvm_t) storage_dontaudit_read_removable_device(lvm_t) -@@ -212,15 +262,17 @@ +@@ -212,15 +263,17 @@ storage_dev_filetrans_fixed_disk(lvm_t) # Access raw devices and old /dev/lvm (c 109,0). Is this needed? storage_manage_fixed_disk(lvm_t) @@ -11809,7 +12101,7 @@ files_read_etc_files(lvm_t) files_read_etc_runtime_files(lvm_t) # for when /usr is not mounted: -@@ -248,8 +300,8 @@ +@@ -248,8 +301,8 @@ ') ifdef(`targeted_policy', ` @@ -11820,7 +12112,7 @@ files_dontaudit_read_root_files(lvm_t) ') -@@ -259,9 +311,28 @@ +@@ -259,9 +312,28 @@ ') optional_policy(` @@ -12401,7 +12693,7 @@ + diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/selinuxutil.te serefpolicy-2.4.6/policy/modules/system/selinuxutil.te --- nsaserefpolicy/policy/modules/system/selinuxutil.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/system/selinuxutil.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/system/selinuxutil.te 2007-06-14 08:16:59.000000000 -0400 @@ -107,6 +107,19 @@ type semanage_exec_t; domain_entry_file(semanage_t, semanage_exec_t) @@ -12491,7 +12783,7 @@ mls_file_read_up(restorecon_t) mls_file_write_down(restorecon_t) -@@ -407,6 +428,14 @@ +@@ -407,10 +428,22 @@ fs_rw_tmpfs_blk_files(restorecon_t) fs_relabel_tmpfs_blk_file(restorecon_t) fs_relabel_tmpfs_chr_file(restorecon_t) @@ -12506,7 +12798,15 @@ ') ifdef(`hide_broken_symptoms',` -@@ -419,6 +448,10 @@ + optional_policy(` ++ ppp_dontaudit_use_fds(restorecon_t) ++ ') ++ ++ optional_policy(` + udev_dontaudit_rw_dgram_sockets(restorecon_t) + ') + ') +@@ -419,6 +452,10 @@ hotplug_use_fds(restorecon_t) ') @@ -12517,7 +12817,7 @@ ######################################## # # Restorecond local policy -@@ -449,6 +482,7 @@ +@@ -449,6 +486,7 @@ auth_relabel_all_files_except_shadow(restorecond_t ) auth_read_all_files_except_shadow(restorecond_t) @@ -12525,7 +12825,7 @@ init_use_fds(restorecond_t) init_dontaudit_use_script_ptys(restorecond_t) -@@ -485,7 +519,7 @@ +@@ -485,7 +523,7 @@ allow run_init_t self:process setexec; allow run_init_t self:capability setuid; allow run_init_t self:fifo_file rw_file_perms; @@ -12534,7 +12834,7 @@ # often the administrator runs such programs from a directory that is owned # by a different user or has restrictive SE permissions, do not want to audit -@@ -499,6 +533,7 @@ +@@ -499,6 +537,7 @@ term_dontaudit_list_ptys(run_init_t) auth_domtrans_chk_passwd(run_init_t) @@ -12542,7 +12842,7 @@ auth_dontaudit_read_shadow(run_init_t) corecmd_exec_bin(run_init_t) -@@ -549,81 +584,14 @@ +@@ -549,81 +588,14 @@ ######################################## # @@ -12630,7 +12930,7 @@ ') ######################################## -@@ -672,6 +640,7 @@ +@@ -672,6 +644,7 @@ init_use_fds(setfiles_t) init_use_script_fds(setfiles_t) init_use_script_ptys(setfiles_t) @@ -12638,7 +12938,7 @@ domain_use_interactive_fds(setfiles_t) -@@ -691,3 +660,16 @@ +@@ -691,3 +664,16 @@ userdom_use_all_users_fds(setfiles_t) # for config files in a home directory userdom_read_all_users_home_content_files(setfiles_t) @@ -12785,6 +13085,30 @@ + ssh_sigchld(tzdata_t) + ssh_rw_stream_sockets(tzdata_t) +') +diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/udev.te serefpolicy-2.4.6/policy/modules/system/udev.te +--- nsaserefpolicy/policy/modules/system/udev.te 2006-11-29 12:04:51.000000000 -0500 ++++ serefpolicy-2.4.6/policy/modules/system/udev.te 2007-06-12 11:13:55.000000000 -0400 +@@ -70,7 +70,7 @@ + + allow udev_t udev_var_run_t:file create_file_perms; + allow udev_t udev_var_run_t:dir rw_dir_perms; +-files_pid_filetrans(udev_t,udev_var_run_t,file) ++files_pid_filetrans(udev_t,udev_var_run_t,{ file dir }) + + kernel_read_system_state(udev_t) + kernel_getattr_core_if(udev_t) +@@ -144,8 +144,11 @@ + seutil_read_file_contexts(udev_t) + seutil_domtrans_restorecon(udev_t) + ++sysnet_read_dhcpc_pid(udev_t) ++sysnet_delete_dhcpc_pid(udev_t) + sysnet_domtrans_ifconfig(udev_t) + sysnet_domtrans_dhcpc(udev_t) ++sysnet_signal_dhcpc(udev_t) + + userdom_use_sysadm_ttys(udev_t) + userdom_dontaudit_search_all_users_home_content(udev_t) diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/unconfined.fc serefpolicy-2.4.6/policy/modules/system/unconfined.fc --- nsaserefpolicy/policy/modules/system/unconfined.fc 2006-11-29 12:04:51.000000000 -0500 +++ serefpolicy-2.4.6/policy/modules/system/unconfined.fc 2007-05-22 12:40:26.000000000 -0400 @@ -13802,7 +14126,7 @@ + diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/userdomain.te serefpolicy-2.4.6/policy/modules/system/userdomain.te --- nsaserefpolicy/policy/modules/system/userdomain.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/system/userdomain.te 2007-05-22 12:40:26.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/system/userdomain.te 2007-06-11 10:22:56.000000000 -0400 @@ -24,6 +24,9 @@ # users home directory contents attribute home_type; @@ -13995,7 +14319,26 @@ usermanage_run_admin_passwd(sysadm_t,sysadm_r,admin_terminal) usermanage_run_groupadd(sysadm_t,sysadm_r,admin_terminal) usermanage_run_useradd(sysadm_t,sysadm_r,admin_terminal) -@@ -500,3 +503,7 @@ +@@ -488,6 +491,18 @@ + type_transition privhome user_home_dir_t:{ dir file lnk_file fifo_file sock_file } user_home_t; + files_search_home(privhome) + ++ tunable_policy(`use_nfs_home_dirs',` ++ fs_manage_nfs_dirs(privhome) ++ fs_manage_nfs_files(privhome) ++ fs_manage_nfs_symlinks(privhome) ++ ') ++ ++ tunable_policy(`use_samba_home_dirs',` ++ fs_manage_cifs_dirs(privhome) ++ fs_manage_cifs_files(privhome) ++ fs_manage_cifs_symlinks(privhome) ++ ') ++ + ifdef(`enable_mls',` + allow secadm_r system_r; + allow auditadm_r system_r; +@@ -500,3 +515,7 @@ samba_per_role_template(user) ') ') @@ -14014,9 +14357,20 @@ /var/lib/xend(/.*)? gen_context(system_u:object_r:xend_var_lib_t,s0) /var/lib/xenstored(/.*)? gen_context(system_u:object_r:xenstored_var_lib_t,s0) +diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/xen.if serefpolicy-2.4.6/policy/modules/system/xen.if +--- nsaserefpolicy/policy/modules/system/xen.if 2006-11-29 12:04:51.000000000 -0500 ++++ serefpolicy-2.4.6/policy/modules/system/xen.if 2007-06-11 08:26:34.000000000 -0400 +@@ -77,6 +77,7 @@ + ') + + logging_search_logs($1) ++ allow $1 xend_var_log_t:dir rw_dir_perms; + allow $1 xend_var_log_t:file { getattr append }; + dontaudit $1 xend_var_log_t:file write; + ') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/system/xen.te serefpolicy-2.4.6/policy/modules/system/xen.te --- nsaserefpolicy/policy/modules/system/xen.te 2006-11-29 12:04:51.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/system/xen.te 2007-05-29 13:00:17.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/system/xen.te 2007-06-11 08:20:44.000000000 -0400 @@ -20,12 +20,15 @@ type xenctl_t; files_type(xenctl_t) @@ -14045,6 +14399,15 @@ allow xend_t xen_image_t:blk_file rw_file_perms; allow xend_t xenctl_t:fifo_file create_file_perms; +@@ -97,7 +100,7 @@ + allow xend_t xend_var_run_t:file manage_file_perms; + allow xend_t xend_var_run_t:sock_file manage_file_perms; + allow xend_t xend_var_run_t:dir { setattr rw_dir_perms }; +-files_pid_filetrans(xend_t,xend_var_run_t, { file sock_file }) ++files_pid_filetrans(xend_t,xend_var_run_t, { file dir sock_file }) + + # log files + allow xend_t xend_var_log_t:file create_file_perms; @@ -105,6 +108,10 @@ allow xend_t xend_var_log_t:dir { rw_dir_perms setattr }; logging_log_filetrans(xend_t,xend_var_log_t,{ sock_file file dir }) @@ -14150,7 +14513,7 @@ corenet_tcp_sendrecv_generic_if(xm_t) corenet_tcp_sendrecv_all_nodes(xm_t) -@@ -353,3 +388,12 @@ +@@ -353,3 +388,17 @@ xen_append_log(xm_t) xen_stream_connect(xm_t) xen_stream_connect_xenstore(xm_t) @@ -14158,11 +14521,16 @@ +#Should have a boolean wrapping these +fs_list_auto_mountpoints(xend_t) +files_search_mnt(xend_t) -+fs_write_nfs_files(xend_t) -+fs_read_nfs_files(xend_t) +fs_getattr_all_fs(xend_t) +fs_read_dos_files(xend_t) + ++fs_write_nfs_files(xend_t) ++fs_read_nfs_files(xend_t) ++fs_read_nfs_symlinks(xend_t) ++ ++ifdef(`targeted_policy',` ++ unconfined_domain(xend_t) ++') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/support/file_patterns.spt serefpolicy-2.4.6/policy/support/file_patterns.spt --- nsaserefpolicy/policy/support/file_patterns.spt 1969-12-31 19:00:00.000000000 -0500 +++ serefpolicy-2.4.6/policy/support/file_patterns.spt 2007-05-22 12:40:26.000000000 -0400 Index: selinux-policy.spec =================================================================== RCS file: /cvs/dist/rpms/selinux-policy/FC-6/selinux-policy.spec,v retrieving revision 1.369 retrieving revision 1.370 diff -u -r1.369 -r1.370 --- selinux-policy.spec 29 May 2007 17:13:36 -0000 1.369 +++ selinux-policy.spec 14 Jun 2007 13:49:50 -0000 1.370 @@ -17,7 +17,7 @@ Summary: SELinux policy configuration Name: selinux-policy Version: 2.4.6 -Release: 74%{?dist} +Release: 75%{?dist} License: GPL Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -360,6 +360,9 @@ %endif %changelog +* Thu May 31 2007 Dan Walsh 2.4.6-75 +- Allow samba to remove log files + * Tue May 29 2007 Dan Walsh 2.4.6-74 - Fixes for nagios, postfix, procmail, saslauthd, arpwatch, avahi, dovecot From fedora-cvs-commits at redhat.com Thu Jun 14 13:56:39 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 14 Jun 2007 09:56:39 -0400 Subject: rpms/selinux-policy/FC-6 policy-20061106.patch,1.50,1.51 Message-ID: <200706141356.l5EDudjF021822@cvs.devel.redhat.com> Author: dwalsh Update of /cvs/dist/rpms/selinux-policy/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv21803 Modified Files: policy-20061106.patch Log Message: * Thu May 31 2007 Dan Walsh 2.4.6-75 - Allow samba to remove log files policy-20061106.patch: Rules.modular | 10 config/appconfig-strict-mcs/seusers | 1 config/appconfig-strict-mls/default_contexts | 6 config/appconfig-strict-mls/seusers | 1 config/appconfig-strict/seusers | 1 man/man8/kerberos_selinux.8 | 2 policy/flask/access_vectors | 2 policy/global_tunables | 94 +++- policy/mls | 31 + policy/modules/admin/acct.te | 1 policy/modules/admin/amanda.if | 17 policy/modules/admin/amanda.te | 11 policy/modules/admin/amtu.fc | 3 policy/modules/admin/amtu.if | 57 ++ policy/modules/admin/amtu.te | 56 ++ policy/modules/admin/backup.te | 5 policy/modules/admin/bootloader.fc | 5 policy/modules/admin/bootloader.te | 14 policy/modules/admin/consoletype.te | 21 policy/modules/admin/ddcprobe.te | 10 policy/modules/admin/dmesg.te | 7 policy/modules/admin/dmidecode.te | 5 policy/modules/admin/firstboot.if | 24 - policy/modules/admin/kudzu.te | 14 policy/modules/admin/logrotate.te | 5 policy/modules/admin/logwatch.te | 22 policy/modules/admin/netutils.te | 19 policy/modules/admin/portage.te | 5 policy/modules/admin/prelink.te | 20 policy/modules/admin/quota.fc | 7 policy/modules/admin/quota.te | 24 - policy/modules/admin/readahead.te | 2 policy/modules/admin/rpm.fc | 3 policy/modules/admin/rpm.if | 86 +++ policy/modules/admin/rpm.te | 49 -- policy/modules/admin/su.if | 38 + policy/modules/admin/su.te | 2 policy/modules/admin/sudo.if | 13 policy/modules/admin/tripwire.te | 11 policy/modules/admin/usbmodules.te | 5 policy/modules/admin/usermanage.if | 2 policy/modules/admin/usermanage.te | 58 ++ policy/modules/admin/vpn.te | 1 policy/modules/apps/ethereal.te | 5 policy/modules/apps/evolution.if | 107 ++++ policy/modules/apps/evolution.te | 1 policy/modules/apps/games.fc | 1 policy/modules/apps/gnome.fc | 2 policy/modules/apps/gnome.if | 108 ++++ policy/modules/apps/gnome.te | 5 policy/modules/apps/gpg.if | 1 policy/modules/apps/java.fc | 2 policy/modules/apps/java.if | 70 +++ policy/modules/apps/java.te | 2 policy/modules/apps/loadkeys.if | 39 - policy/modules/apps/mozilla.if | 208 +++++++-- policy/modules/apps/mplayer.if | 84 +++ policy/modules/apps/mplayer.te | 1 policy/modules/apps/slocate.te | 7 policy/modules/apps/thunderbird.if | 81 +++ policy/modules/apps/userhelper.if | 20 policy/modules/apps/webalizer.te | 6 policy/modules/apps/wine.fc | 1 policy/modules/apps/yam.te | 5 policy/modules/kernel/corecommands.fc | 30 + policy/modules/kernel/corecommands.if | 77 +++ policy/modules/kernel/corenetwork.if.in | 140 ++++++ policy/modules/kernel/corenetwork.te.in | 16 policy/modules/kernel/devices.fc | 8 policy/modules/kernel/devices.if | 18 policy/modules/kernel/devices.te | 8 policy/modules/kernel/domain.if | 58 ++ policy/modules/kernel/domain.te | 22 policy/modules/kernel/files.fc | 2 policy/modules/kernel/files.if | 224 +++++++++ policy/modules/kernel/filesystem.if | 62 ++ policy/modules/kernel/filesystem.te | 30 + policy/modules/kernel/kernel.if | 84 +++ policy/modules/kernel/kernel.te | 22 policy/modules/kernel/mls.if | 28 + policy/modules/kernel/mls.te | 6 policy/modules/kernel/storage.fc | 3 policy/modules/kernel/storage.if | 2 policy/modules/kernel/terminal.fc | 1 policy/modules/kernel/terminal.if | 21 policy/modules/kernel/terminal.te | 1 policy/modules/services/aide.fc | 3 policy/modules/services/aide.te | 11 policy/modules/services/amavis.if | 19 policy/modules/services/amavis.te | 4 policy/modules/services/apache.fc | 17 policy/modules/services/apache.if | 157 ++++++ policy/modules/services/apache.te | 43 + policy/modules/services/apm.te | 3 policy/modules/services/arpwatch.te | 5 policy/modules/services/audioentropy.te | 4 policy/modules/services/automount.fc | 1 policy/modules/services/automount.te | 9 policy/modules/services/avahi.if | 40 + policy/modules/services/avahi.te | 10 policy/modules/services/bind.fc | 1 policy/modules/services/bind.te | 6 policy/modules/services/bluetooth.te | 10 policy/modules/services/ccs.fc | 1 policy/modules/services/ccs.te | 25 - policy/modules/services/clamav.te | 3 policy/modules/services/courier.te | 1 policy/modules/services/cron.fc | 6 policy/modules/services/cron.if | 92 ++- policy/modules/services/cron.te | 58 ++ policy/modules/services/cups.fc | 4 policy/modules/services/cups.te | 19 policy/modules/services/cvs.te | 2 policy/modules/services/cyrus.te | 5 policy/modules/services/dbus.fc | 1 policy/modules/services/dbus.if | 66 ++ policy/modules/services/dbus.te | 4 policy/modules/services/dcc.te | 9 policy/modules/services/dhcp.te | 2 policy/modules/services/dovecot.fc | 1 policy/modules/services/dovecot.if | 44 + policy/modules/services/dovecot.te | 64 ++ policy/modules/services/fail2ban.fc | 3 policy/modules/services/fail2ban.if | 80 +++ policy/modules/services/fail2ban.te | 74 +++ policy/modules/services/ftp.te | 21 policy/modules/services/hal.fc | 4 policy/modules/services/hal.if | 114 ++++ policy/modules/services/hal.te | 26 - policy/modules/services/inetd.te | 34 + policy/modules/services/irqbalance.te | 4 policy/modules/services/kerberos.if | 25 + policy/modules/services/kerberos.te | 15 policy/modules/services/ktalk.fc | 3 policy/modules/services/ktalk.te | 5 policy/modules/services/lpd.if | 75 ++- policy/modules/services/lpd.te | 5 policy/modules/services/mailman.if | 20 policy/modules/services/mailman.te | 1 policy/modules/services/mta.fc | 1 policy/modules/services/mta.if | 20 policy/modules/services/mta.te | 2 policy/modules/services/munin.te | 5 policy/modules/services/nagios.fc | 3 policy/modules/services/nagios.te | 8 policy/modules/services/networkmanager.fc | 2 policy/modules/services/networkmanager.te | 2 policy/modules/services/nis.fc | 7 policy/modules/services/nis.if | 8 policy/modules/services/nis.te | 38 + policy/modules/services/nscd.if | 20 policy/modules/services/nscd.te | 28 - policy/modules/services/ntp.te | 2 policy/modules/services/oav.te | 5 policy/modules/services/oddjob.te | 5 policy/modules/services/openca.if | 4 policy/modules/services/openca.te | 2 policy/modules/services/openct.te | 2 policy/modules/services/openvpn.te | 9 policy/modules/services/pcscd.fc | 9 policy/modules/services/pcscd.if | 62 ++ policy/modules/services/pcscd.te | 79 +++ policy/modules/services/pegasus.if | 31 + policy/modules/services/pegasus.te | 11 policy/modules/services/portmap.te | 5 policy/modules/services/portslave.te | 1 policy/modules/services/postfix.fc | 2 policy/modules/services/postfix.if | 45 + policy/modules/services/postfix.te | 94 ++++ policy/modules/services/ppp.te | 2 policy/modules/services/procmail.te | 32 + policy/modules/services/pyzor.if | 18 policy/modules/services/pyzor.te | 13 policy/modules/services/radius.te | 2 policy/modules/services/radvd.te | 2 policy/modules/services/rhgb.if | 76 +++ policy/modules/services/rhgb.te | 3 policy/modules/services/ricci.te | 22 policy/modules/services/rlogin.te | 11 policy/modules/services/rpc.fc | 1 policy/modules/services/rpc.if | 3 policy/modules/services/rpc.te | 27 - policy/modules/services/rshd.te | 1 policy/modules/services/rsync.te | 1 policy/modules/services/samba.fc | 6 policy/modules/services/samba.if | 80 +++ policy/modules/services/samba.te | 82 ++- policy/modules/services/sasl.te | 14 policy/modules/services/sendmail.if | 22 policy/modules/services/sendmail.te | 8 policy/modules/services/setroubleshoot.if | 20 policy/modules/services/setroubleshoot.te | 2 policy/modules/services/smartmon.te | 1 policy/modules/services/snmp.if | 17 policy/modules/services/snmp.te | 17 policy/modules/services/spamassassin.fc | 2 policy/modules/services/spamassassin.if | 42 + policy/modules/services/spamassassin.te | 24 - policy/modules/services/squid.fc | 2 policy/modules/services/squid.if | 21 policy/modules/services/squid.te | 11 policy/modules/services/ssh.if | 83 +++ policy/modules/services/ssh.te | 14 policy/modules/services/telnet.te | 3 policy/modules/services/tftp.te | 2 policy/modules/services/uucp.fc | 1 policy/modules/services/uucp.if | 67 ++ policy/modules/services/uucp.te | 44 + policy/modules/services/uwimap.te | 1 policy/modules/services/xserver.fc | 2 policy/modules/services/xserver.if | 191 ++++++++ policy/modules/services/xserver.te | 12 policy/modules/system/authlogin.fc | 1 policy/modules/system/authlogin.if | 180 +++++++ policy/modules/system/authlogin.te | 43 + policy/modules/system/clock.te | 18 policy/modules/system/fstools.fc | 1 policy/modules/system/fstools.if | 19 policy/modules/system/fstools.te | 11 policy/modules/system/getty.te | 14 policy/modules/system/hostname.te | 19 policy/modules/system/init.if | 66 ++ policy/modules/system/init.te | 51 ++ policy/modules/system/ipsec.fc | 5 policy/modules/system/ipsec.if | 99 ++++ policy/modules/system/ipsec.te | 121 +++++ policy/modules/system/iptables.te | 27 - policy/modules/system/libraries.fc | 43 + policy/modules/system/libraries.te | 11 policy/modules/system/locallogin.if | 37 + policy/modules/system/locallogin.te | 11 policy/modules/system/logging.fc | 5 policy/modules/system/logging.if | 61 ++ policy/modules/system/logging.te | 33 + policy/modules/system/lvm.fc | 2 policy/modules/system/lvm.if | 44 + policy/modules/system/lvm.te | 92 +++ policy/modules/system/miscfiles.fc | 3 policy/modules/system/miscfiles.if | 79 +++ policy/modules/system/modutils.te | 26 - policy/modules/system/mount.te | 27 - policy/modules/system/netlabel.te | 10 policy/modules/system/pcmcia.te | 5 policy/modules/system/raid.te | 16 policy/modules/system/selinuxutil.fc | 10 policy/modules/system/selinuxutil.if | 124 +++++ policy/modules/system/selinuxutil.te | 138 ++--- policy/modules/system/sysnetwork.te | 13 policy/modules/system/tzdata.fc | 3 policy/modules/system/tzdata.if | 23 policy/modules/system/tzdata.te | 51 ++ policy/modules/system/udev.te | 5 policy/modules/system/unconfined.fc | 4 policy/modules/system/unconfined.if | 19 policy/modules/system/unconfined.te | 23 policy/modules/system/userdomain.if | 622 +++++++++++++++++++++++---- policy/modules/system/userdomain.te | 117 ++--- policy/modules/system/xen.fc | 1 policy/modules/system/xen.if | 1 policy/modules/system/xen.te | 59 ++ policy/support/*Warnings* | 189 ++++++++ policy/support/file_patterns.spt | 534 +++++++++++++++++++++++ policy/support/obj_perm_sets.spt | 144 ++++++ 263 files changed, 7652 insertions(+), 773 deletions(-) Index: policy-20061106.patch =================================================================== RCS file: /cvs/dist/rpms/selinux-policy/FC-6/policy-20061106.patch,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- policy-20061106.patch 14 Jun 2007 13:49:50 -0000 1.50 +++ policy-20061106.patch 14 Jun 2007 13:56:37 -0000 1.51 @@ -7897,7 +7897,7 @@ +') diff --exclude-from=exclude -N -u -r nsaserefpolicy/policy/modules/services/postfix.te serefpolicy-2.4.6/policy/modules/services/postfix.te --- nsaserefpolicy/policy/modules/services/postfix.te 2006-11-29 12:04:49.000000000 -0500 -+++ serefpolicy-2.4.6/policy/modules/services/postfix.te 2007-06-14 09:48:13.000000000 -0400 ++++ serefpolicy-2.4.6/policy/modules/services/postfix.te 2007-06-14 09:55:45.000000000 -0400 @@ -84,6 +84,12 @@ type postfix_var_run_t; files_pid_file(postfix_var_run_t) @@ -8093,7 +8093,7 @@ optional_policy(` postgrey_stream_connect(postfix_smtpd_t) -@@ -605,3 +666,32 @@ +@@ -605,3 +666,34 @@ optional_policy(` sasl_connect(postfix_smtpd_t) ') @@ -8112,7 +8112,9 @@ +files_tmp_filetrans(postfix_virtual_t, postfix_virtual_tmp_t, { file dir }) + +# connect to master process -+stream_connect_pattern(postfix_virtual_t,postfix_public_t,postfix_public_t,postfix_master_t) ++allow postfix_virtual_t postfix_master_t:unix_stream_socket connectto; ++allow postfix_virtual_t postfix_public_t:dir search; ++allow postfix_virtual_t postfix_public_t:sock_file rw_file_perms; + +allow postfix_virtual_t postfix_spool_t:file rw_file_perms; + From fedora-cvs-commits at redhat.com Fri Jun 15 09:12:35 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 05:12:35 -0400 Subject: rpms/netatalk/devel netatalk.spec,1.33,1.34 Message-ID: <200706150912.l5F9CZeq014678@cvs.devel.redhat.com> Author: mbarabas Update of /cvs/dist/rpms/netatalk/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv14664 Modified Files: netatalk.spec Log Message: Fix from merge review Index: netatalk.spec =================================================================== RCS file: /cvs/dist/rpms/netatalk/devel/netatalk.spec,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- netatalk.spec 17 Apr 2007 10:17:43 -0000 1.33 +++ netatalk.spec 15 Jun 2007 09:12:32 -0000 1.34 @@ -1,16 +1,13 @@ Summary: AppleTalk networking programs Name: netatalk Version: 2.0.3 -Release: 10%{?dist} +Release: 11%{?dist} Epoch: 4 License: GPL Group: System Environment/Daemons Source0: http://download.sourceforge.net/netatalk/netatalk-%{version}.tar.bz2 Source1: atalk.init -#Source2: netatalk.config -#Source3: AppleVolumes.system -Source4: ICDumpSuffixMap -Source5: netatalk.pam-system-auth +Source2: netatalk.pam-system-auth #Patch0: netatalk-1.6.3-norc.patch #Patch1: netatalk-1.5.5-openssl097.patch #Patch2: netatalk-1.5.5-pathcat.patch @@ -34,12 +31,12 @@ to act as a file server over EtherTalk or IP for Mac's. %package devel -Summary: Headers and static libraries for Appletalk development +Summary: Headers for Appletalk development Group: Development/Libraries %description devel -This package contains the header files, and static libraries for building -Appletalk networking programs. +This package contains the header files for building Appletalk networking +programs. %prep %setup -q @@ -120,15 +117,22 @@ #cp sys/netatalk/*.h $RPM_BUILD_ROOT/usr/include/netatalk/ chmod a-x bin/afile/acleandir.rc rm -f $RPM_BUILD_ROOT/usr/bin/acleandir.rc $RPM_BUILD_ROOT/usr/share/man/man1/acleandir* -install -m644 %{SOURCE4} . # # install example config files in doc mkdir config.example cp -fp `ls config/* | egrep -v 'tmpl$|Makefile' | tr '\n' ' '` config.example -cp -fp %{SOURCE5} config.example +cp -fp %{SOURCE2} config.example # XXX bad hack until this file is updated in glibc-headers: rm -f $RPM_BUILD_ROOT/usr/include/netatalk/at.h +# Fix up ICDumpSuffixMap +sed -e 's/\r/\n/' -e 's:#!perl:#!%{__perl}:' contrib/ICDumpSuffixMap > ICDumpSuffixMap +touch -r contrib/ICDumpSuffixMap ICDumpSuffixMap + +# Clean up .a and .la files +find $RPM_BUILD_ROOT -name \*.a -exec rm {} \; +find $RPM_BUILD_ROOT -name \*.la -exec rm {} \; + %clean rm -rf $RPM_BUILD_ROOT @@ -155,7 +159,7 @@ %doc bin/afile/acleandir.rc %doc config.example %dir /etc/atalk -%attr(755,root,root) %config %{_initrddir}/atalk +%attr(755,root,root) %{_initrddir}/atalk %config(noreplace) /etc/atalk/AppleVolumes.default %config(noreplace) /etc/atalk/AppleVolumes.system %config(noreplace) /etc/atalk/netatalk.conf @@ -165,7 +169,9 @@ %config(noreplace) /etc/pam.d/netatalk %{_sbindir}/* %{_bindir}/* +%exclude %{_bindir}/netatalk-config %{_mandir}/man*/* +%exclude %{_mandir}/man*/netatalk-config* %{_datadir}/netatalk %{_libdir}/atalk/*.so %{_libexecdir}/* @@ -173,15 +179,17 @@ %files devel %defattr(-,root,root) %dir %{_includedir}/atalk -%{_libdir}/*.a -%{_libdir}/*.la %attr(0644,root,root) %{_includedir}/atalk/* %attr(0644,root,root) %{_includedir}/netatalk/* %{_datadir}/aclocal/netatalk.m4 -%{_libdir}/atalk/*.a -%{_libdir}/atalk/*.la %{_bindir}/netatalk-config +%{_mandir}/man*/netatalk-config.1* + %changelog +* Thu May 10 2007 Maros Barabas - 4:2.0.4-11 +- fix from merge review +- Resolves #226190 + * Tue Apr 17 2007 Maros Barabas - 4:2.0.3-10 - fix fiew problems in spec From fedora-cvs-commits at redhat.com Fri Jun 15 13:17:31 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 09:17:31 -0400 Subject: rpms/urw-fonts/FC-6 .cvsignore, 1.8, 1.9 sources, 1.10, 1.11 urw-fonts.spec, 1.26, 1.27 n022003l.afm, 1.1, NONE n022003l.pfb, 1.1, NONE n022004l.afm, 1.1, NONE n022004l.pfb, 1.1, NONE n022023l.afm, 1.1, NONE n022023l.pfb, 1.1, NONE n022024l.afm, 1.1, NONE n022024l.pfb, 1.1, NONE Message-ID: <200706151317.l5FDHVUl019205@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/urw-fonts/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19188 Modified Files: .cvsignore sources urw-fonts.spec Removed Files: n022003l.afm n022003l.pfb n022004l.afm n022004l.pfb n022023l.afm n022023l.pfb n022024l.afm n022024l.pfb Log Message: - update to 1.0.7pre41, changed Roman glyphs in all fonts back to original metrics. Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/urw-fonts/FC-6/.cvsignore,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- .cvsignore 24 Feb 2005 11:54:02 -0000 1.8 +++ .cvsignore 15 Jun 2007 13:17:29 -0000 1.9 @@ -1,2 +1,3 @@ urw-fonts-1.0.7pre38.tar.bz2 urw-fonts-1.0.7pre40.tar.bz2 +urw-fonts-1.0.7pre41.tar.bz2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/urw-fonts/FC-6/sources,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- sources 24 Feb 2005 11:54:02 -0000 1.10 +++ sources 15 Jun 2007 13:17:29 -0000 1.11 @@ -1 +1 @@ -316c05d15d84e3b9aa4e862eb5b7b651 urw-fonts-1.0.7pre40.tar.bz2 +eb088831196b4bf0138e43b68e884f63 urw-fonts-1.0.7pre41.tar.bz2 Index: urw-fonts.spec =================================================================== RCS file: /cvs/dist/rpms/urw-fonts/FC-6/urw-fonts.spec,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- urw-fonts.spec 12 Jul 2006 08:37:35 -0000 1.26 +++ urw-fonts.spec 15 Jun 2007 13:17:29 -0000 1.27 @@ -1,23 +1,15 @@ -%define filippov_version 1.0.7pre40 +%define filippov_version 1.0.7pre41 %define fontdir %{_datadir}/fonts/default/Type1 Summary: Free versions of the 35 standard PostScript fonts. Name: urw-fonts Version: 2.3 -Release: 6.1.1 +Release: 7%{?dist} Source: ftp://ftp.gnome.ru/fonts/urw/release/urw-fonts-%{filippov_version}.tar.bz2 -Source1: n022003l.afm -Source2: n022003l.pfb -Source3: n022004l.afm -Source4: n022004l.pfb -Source5: n022023l.afm -Source6: n022023l.pfb -Source7: n022024l.afm -Source8: n022024l.pfb URL: ftp://ftp.gnome.ru/fonts/urw/release/ License: GPL, URW holds copyright Group: User Interface/X -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArchitectures: noarch Requires(post): chkfontpath, fontconfig, mkfontscale, mkfontdir @@ -81,6 +73,10 @@ %{fontdir}/*.pfb %changelog +* Fri Jun 15 2007 Than Ngo - 2.3-7.fc6 +- update to 1.0.7pre41, changed Roman glyphs in all fonts back + to original metrics. + * Wed Jul 12 2006 Jesse Keating - 2.3-6.1.1 - rebuild --- n022003l.afm DELETED --- --- n022003l.pfb DELETED --- --- n022004l.afm DELETED --- --- n022004l.pfb DELETED --- --- n022023l.afm DELETED --- --- n022023l.pfb DELETED --- --- n022024l.afm DELETED --- --- n022024l.pfb DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 15 13:41:51 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 09:41:51 -0400 Subject: rpms/urw-fonts/FC-6 urw-fonts.spec,1.27,1.28 Message-ID: <200706151341.l5FDfpCw019624@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/urw-fonts/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19610 Modified Files: urw-fonts.spec Log Message: - update to 1.0.7pre41, changed Roman glyphs in all fonts back to original metrics. bz#243180, bz#138896, bz#140584 - cleanup BR, bz#227297 Index: urw-fonts.spec =================================================================== RCS file: /cvs/dist/rpms/urw-fonts/FC-6/urw-fonts.spec,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- urw-fonts.spec 15 Jun 2007 13:17:29 -0000 1.27 +++ urw-fonts.spec 15 Jun 2007 13:41:48 -0000 1.28 @@ -12,8 +12,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArchitectures: noarch -Requires(post): chkfontpath, fontconfig, mkfontscale, mkfontdir -Requires(postun): chkfontpath, fontconfig +Requires(post): fontconfig +Requires(postun): fontconfig %description Free, good quality versions of the 35 standard PostScript(TM) fonts, @@ -43,9 +43,9 @@ %post { umask 133 - mkfontscale %{fontdir} - `which mkfontdir` %{fontdir} - /usr/sbin/chkfontpath -q -a %{fontdir} + mkfontscale %{fontdir} || : + `which mkfontdir` %{fontdir} || : + /usr/sbin/chkfontpath -q -a %{fontdir} || : fc-cache %{_datadir}/fonts } &> /dev/null || : @@ -75,7 +75,8 @@ %changelog * Fri Jun 15 2007 Than Ngo - 2.3-7.fc6 - update to 1.0.7pre41, changed Roman glyphs in all fonts back - to original metrics. + to original metrics. bz#243180, bz#138896, bz#140584 +- cleanup BR, bz#227297 * Wed Jul 12 2006 Jesse Keating - 2.3-6.1.1 - rebuild From fedora-cvs-commits at redhat.com Fri Jun 15 13:47:26 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 09:47:26 -0400 Subject: rpms/urw-fonts/FC-6 urw-fonts.spec,1.28,1.29 Message-ID: <200706151347.l5FDlQtG019748@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/urw-fonts/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19733 Modified Files: urw-fonts.spec Log Message: - update to 1.0.7pre41, changed Roman glyphs in all fonts back to original metrics. bz#243180, bz#138896, bz#140584 - cleanup BR, bz#227297 Index: urw-fonts.spec =================================================================== RCS file: /cvs/dist/rpms/urw-fonts/FC-6/urw-fonts.spec,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- urw-fonts.spec 15 Jun 2007 13:41:48 -0000 1.28 +++ urw-fonts.spec 15 Jun 2007 13:47:22 -0000 1.29 @@ -33,10 +33,6 @@ mkdir -p $RPM_BUILD_ROOT%{fontdir} install -m 0644 *.afm *.pfb $RPM_BUILD_ROOT%{fontdir}/ -# resize NimbusMonL -install -m 0644 %{SOURCE1} %{SOURCE2} %{SOURCE3} \ - %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} %{SOURCE8} $RPM_BUILD_ROOT%{fontdir}/ - # Touch ghosted files touch $RPM_BUILD_ROOT%{fontdir}/{fonts.{dir,scale,cache-1},encodings.dir} From fedora-cvs-commits at redhat.com Fri Jun 15 16:25:11 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 12:25:11 -0400 Subject: rpms/kdemultimedia/FC-6 kdemultimedia-3.5.6-config.patch, NONE, 1.1 .cvsignore, 1.37, 1.38 kdemultimedia.spec, 1.78, 1.79 sources, 1.39, 1.40 kdemultimedia-3.5.3-noatun.patch, 1.1, NONE Message-ID: <200706151625.l5FGPBjF022761@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdemultimedia/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22740 Modified Files: .cvsignore kdemultimedia.spec sources Added Files: kdemultimedia-3.5.6-config.patch Removed Files: kdemultimedia-3.5.3-noatun.patch Log Message: 3.5.7 kdemultimedia-3.5.6-config.patch: kdemultimedia-3.4.0-patched/kscd/libwm/Makefile.am | 4 ++-- kdemultimedia-3.5.6/configure.in | 2 +- kdemultimedia-3.5.6/configure.in.in | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) --- NEW FILE kdemultimedia-3.5.6-config.patch --- --- kdemultimedia-3.5.6/configure.in.in.orig 2007-04-18 18:57:41.000000000 +0200 +++ kdemultimedia-3.5.6/configure.in.in 2007-04-18 18:58:05.000000000 +0200 @@ -542,7 +542,7 @@ if test "x$build_arts" = "xyes" && test "x$ARTSCCONFIG" != "xno" ; then LIB_ARTS="-lartskde" ARTS_PREFIX=[`$ARTSCCONFIG --arts-prefix`] - ARTS_CFLAGS="-I$ARTS_PREFIX/include/arts" + ARTS_CFLAGS="-I$ARTS_PREFIX/include/kde/arts" AC_DEFINE(HAVE_ARTS, 1, [have arts support in juk]) else build_arts="no" --- kdemultimedia-3.5.6/configure.in.orig 2007-04-18 18:58:18.000000000 +0200 +++ kdemultimedia-3.5.6/configure.in 2007-04-18 18:58:43.000000000 +0200 @@ -607,7 +607,7 @@ if test "x$build_arts" = "xyes" && test "x$ARTSCCONFIG" != "xno" ; then LIB_ARTS="-lartskde" ARTS_PREFIX=[`$ARTSCCONFIG --arts-prefix`] - ARTS_CFLAGS="-I$ARTS_PREFIX/include/arts" + ARTS_CFLAGS="-I$ARTS_PREFIX/include/kde/arts" AC_DEFINE(HAVE_ARTS, 1, [have arts support in juk]) else build_arts="no" --- kdemultimedia-3.4.0-patched/kscd/libwm/Makefile.am.config 2005-02-03 23:48:26.000000000 +0100 +++ kdemultimedia-3.4.0-patched/kscd/libwm/Makefile.am 2005-02-28 20:47:00.223979671 +0100 @@ -9,8 +9,8 @@ noinst_LTLIBRARIES = libworkman.la -libworkman_la_LDFLAGS = $(ARTSC_LIBS) $(all_libraries) -libworkman_la_LIBADD = audio/libworkmanaudio.la $(ARTS_LIBASOUND) +libworkman_la_LDFLAGS = $(all_libraries) +libworkman_la_LIBADD = audio/libworkmanaudio.la $(ARTSC_LIBS) $(ARTS_LIBASOUND) libworkman_la_SOURCES = cddb.c cdinfo.c cdrom.c wm_helpers.c cdtext.c\ database.c index.c scsi.c cdda.c plat_linux_cdda.c plat_sun_cdda.c\ Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdemultimedia/FC-6/.cvsignore,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- .cvsignore 31 Jan 2007 20:34:05 -0000 1.37 +++ .cvsignore 15 Jun 2007 16:25:09 -0000 1.38 @@ -14,3 +14,4 @@ kdemultimedia-3.5.3-patched.tar.bz2 kdemultimedia-3.5.4-patched.tar.bz2 kdemultimedia-3.5.6-patched.tar.bz2 +kdemultimedia-3.5.7-patched.tar.bz2 Index: kdemultimedia.spec =================================================================== RCS file: /cvs/dist/rpms/kdemultimedia/FC-6/kdemultimedia.spec,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- kdemultimedia.spec 31 Jan 2007 20:34:05 -0000 1.78 +++ kdemultimedia.spec 15 Jun 2007 16:25:09 -0000 1.79 @@ -2,7 +2,7 @@ %define final 0 %define make_cvs 1 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define libtool 1 %define arts 1 @@ -11,8 +11,8 @@ %define appdir %{_datadir}/applications/kde -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Epoch: 6 Name: kdemultimedia Summary: Multimedia applications for the K Desktop Environment (KDE). @@ -26,7 +26,7 @@ Patch4: kdemultimedia-3.5.3-examples.patch # upstream patches -Patch100: kdemultimedia-3.5.3-noatun.patch +Patch100: kdemultimedia-3.5.6-noatun.patch Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -211,6 +211,9 @@ %exclude %{_libdir}/libwinskinvis.so %changelog +* Fri Jun 15 2007 Than Ngo - 6:3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 6:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdemultimedia/FC-6/sources,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- sources 31 Jan 2007 20:34:05 -0000 1.39 +++ sources 15 Jun 2007 16:25:09 -0000 1.40 @@ -1 +1 @@ -b2af43b14a5ec638af66ef9ce4810709 kdemultimedia-3.5.6-patched.tar.bz2 +ae3583937e8737a63cf86c43efa2f641 kdemultimedia-3.5.7-patched.tar.bz2 --- kdemultimedia-3.5.3-noatun.patch DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 15 16:31:34 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 12:31:34 -0400 Subject: rpms/evolution-data-server/FC-6 evolution-data-server-1.8.3-camel-imap-folder.patch, NONE, 1.1 evolution-data-server.spec, 1.142, 1.143 Message-ID: <200706151631.l5FGVYZc023075@cvs.devel.redhat.com> Author: mbarnes Update of /cvs/dist/rpms/evolution-data-server/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv23054 Modified Files: evolution-data-server.spec Added Files: evolution-data-server-1.8.3-camel-imap-folder.patch Log Message: * Fri Jun 15 2007 Matthew Barnes - 1.8.3-7.fc6 - Add patch for RH bug #244287 (Camel IMAP security flaw). evolution-data-server-1.8.3-camel-imap-folder.patch: camel-imap-folder.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- NEW FILE evolution-data-server-1.8.3-camel-imap-folder.patch --- --- evolution-data-server-1.8.3/camel/providers/imap/camel-imap-folder.c.camel-imap-folder 2007-01-29 04:44:20.000000000 -0500 +++ evolution-data-server-1.8.3/camel/providers/imap/camel-imap-folder.c 2007-06-15 12:28:54.000000000 -0400 @@ -658,7 +658,7 @@ imap_rescan (CamelFolder *folder, int ex uid = g_datalist_get_data (&data, "UID"); flags = GPOINTER_TO_UINT (g_datalist_get_data (&data, "FLAGS")); - if (!uid || !seq || seq > summary_len) { + if (!uid || !seq || seq > summary_len || seq < 0) { g_datalist_clear (&data); continue; } @@ -2781,7 +2781,7 @@ parse_fetch_response (CamelImapFolder *i if (*response != '*' || *(response + 1) != ' ') return NULL; - seq = strtol (response + 2, &response, 10); + seq = strtoul (response + 2, &response, 10); if (seq == 0) return NULL; if (g_ascii_strncasecmp (response, " FETCH (", 8) != 0) Index: evolution-data-server.spec =================================================================== RCS file: /cvs/dist/rpms/evolution-data-server/FC-6/evolution-data-server.spec,v retrieving revision 1.142 retrieving revision 1.143 diff -u -r1.142 -r1.143 --- evolution-data-server.spec 30 Apr 2007 21:03:29 -0000 1.142 +++ evolution-data-server.spec 15 Jun 2007 16:31:32 -0000 1.143 @@ -25,7 +25,7 @@ Name: evolution-data-server Version: 1.8.3 -Release: 6%{?dist} +Release: 7%{?dist} License: LGPL Group: System Environment/Libraries Summary: Backend data server for Evolution @@ -71,6 +71,9 @@ # RH bug #235290 / GNOME bug #424373 Patch23: evolution-data-server-1.8.3-apop-auth-vulnerability.patch +# RH bug #244287 / GNOME bug #447414 +Patch24: evolution-data-server-1.8.3-camel-imap-folder.patch + ### Dependencies ### Requires: GConf2 @@ -162,6 +165,7 @@ %patch21 -p1 -b .local-calendar-crasher %patch22 -p1 -b .isa-support %patch23 -p1 -b .apop-auth-vulnerability +%patch24 -p1 -b .camel-imap-folder mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/lib @@ -379,6 +383,9 @@ %{_libdir}/pkgconfig/libexchange-storage-%{eds_api_version}.pc %changelog +* Fri Jun 15 2007 Matthew Barnes - 1.8.3-7.fc6 +- Add patch for RH bug #244287 (Camel IMAP security flaw). + * Mon Apr 30 2007 Matthew Barnes - 1.8.3-6.fc6 - Revise patch for RH bug #235290 to not break string freeze. From fedora-cvs-commits at redhat.com Fri Jun 15 16:35:38 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 12:35:38 -0400 Subject: rpms/evolution-data-server/FC-5 evolution-data-server-1.6.3-camel-imap-folder.patch, NONE, 1.1 evolution-data-server.spec, 1.96, 1.97 Message-ID: <200706151635.l5FGZcZX023482@cvs.devel.redhat.com> Author: mbarnes Update of /cvs/dist/rpms/evolution-data-server/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv23434 Modified Files: evolution-data-server.spec Added Files: evolution-data-server-1.6.3-camel-imap-folder.patch Log Message: * Fri Jun 15 2007 Matthew Barnes - 1.6.3-5.fc5 - Add patch for RH bug #244285 (Camel IMAP security flaw). evolution-data-server-1.6.3-camel-imap-folder.patch: camel-imap-folder.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- NEW FILE evolution-data-server-1.6.3-camel-imap-folder.patch --- --- evolution-data-server-1.6.3/camel/providers/imap/camel-imap-folder.c.camel-imap-folder 2006-06-22 00:44:50.000000000 -0400 +++ evolution-data-server-1.6.3/camel/providers/imap/camel-imap-folder.c 2007-06-15 12:33:28.000000000 -0400 @@ -647,7 +647,7 @@ imap_rescan (CamelFolder *folder, int ex uid = g_datalist_get_data (&data, "UID"); flags = GPOINTER_TO_UINT (g_datalist_get_data (&data, "FLAGS")); - if (!uid || !seq || seq > summary_len) { + if (!uid || !seq || seq > summary_len || seq < 0) { g_datalist_clear (&data); continue; } @@ -2748,7 +2748,7 @@ parse_fetch_response (CamelImapFolder *i if (*response != '*' || *(response + 1) != ' ') return NULL; - seq = strtol (response + 2, &response, 10); + seq = strtoul (response + 2, &response, 10); if (seq == 0) return NULL; if (g_ascii_strncasecmp (response, " FETCH (", 8) != 0) Index: evolution-data-server.spec =================================================================== RCS file: /cvs/dist/rpms/evolution-data-server/FC-5/evolution-data-server.spec,v retrieving revision 1.96 retrieving revision 1.97 diff -u -r1.96 -r1.97 --- evolution-data-server.spec 30 Apr 2007 21:07:30 -0000 1.96 +++ evolution-data-server.spec 15 Jun 2007 16:35:36 -0000 1.97 @@ -22,7 +22,7 @@ Name: evolution-data-server Version: 1.6.3 -Release: 4%{?dist} +Release: 5%{?dist} License: LGPL Group: System Environment/Libraries Summary: Backend data server for evolution @@ -45,6 +45,9 @@ # RH bug #235290 / GNOME bug #424373 Patch17: evolution-data-server-1.6.3-apop-auth-vulnerability.patch +# RH bug #244285 / GNOME bug #447414 +Patch18: evolution-data-server-1.6.3-camel-imap-folder.patch + ### Dependencies ### Requires: GConf2 @@ -127,6 +130,7 @@ %patch15 -p1 -b .make_imap4_optional %patch16 -p1 -b .updated-zoneinfo %patch17 -p1 -b .apop-auth-vulnerability +%patch18 -p1 -b .camel-imap-folder mkdir -p krb5-fakeprefix/include mkdir -p krb5-fakeprefix/lib @@ -327,6 +331,9 @@ %changelog +* Fri Jun 15 2007 Matthew Barnes - 1.6.3-5.fc5 +- Add patch for RH bug #244285 (Camel IMAP security flaw). + * Mon Apr 30 2007 Matthew Barnes - 1.6.3-4.fc5 - Revise patch for RH bug #235290 to not break string freeze. From fedora-cvs-commits at redhat.com Fri Jun 15 16:46:20 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 12:46:20 -0400 Subject: rpms/kdemultimedia/FC-6 kdemultimedia-3.5.3-noatun.patch, 1.2, 1.3 kdemultimedia.spec, 1.79, 1.80 kdemultimedia-3.5.3-config.patch, 1.1, NONE Message-ID: <200706151646.l5FGkK7R024056@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdemultimedia/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv24040 Modified Files: kdemultimedia.spec Added Files: kdemultimedia-3.5.3-noatun.patch Removed Files: kdemultimedia-3.5.3-config.patch Log Message: 3.5.7 kdemultimedia-3.5.3-noatun.patch: Makefile.am | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: kdemultimedia-3.5.3-noatun.patch =================================================================== RCS file: kdemultimedia-3.5.3-noatun.patch diff -N kdemultimedia-3.5.3-noatun.patch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ kdemultimedia-3.5.3-noatun.patch 15 Jun 2007 16:46:18 -0000 1.3 @@ -0,0 +1,15 @@ +--- kdemultimedia-3.5.3/noatun/Makefile.am.tn 2006-07-11 22:46:50.000000000 +0200 ++++ kdemultimedia-3.5.3/noatun/Makefile.am 2006-07-11 23:12:32.000000000 +0200 +@@ -9,9 +9,11 @@ + presetsdir = $(kde_datadir)/noatun/eq.preset + presets_DATA = preset.dance preset.jazz preset.metal preset.trance preset.zero + ++kconf_PROGRAMS = noatun20update ++kconfdir = $(libdir)/kconf_update_bin ++ + updatedir = $(kde_datadir)/kconf_update + update_DATA = noatun.upd +-update_PROGRAMS = noatun20update + + noatun20update_SOURCES = noatun20update.cpp + noatun20update_LDFLAGS = $(all_libraries) $(KDE_RPATH) Index: kdemultimedia.spec =================================================================== RCS file: /cvs/dist/rpms/kdemultimedia/FC-6/kdemultimedia.spec,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- kdemultimedia.spec 15 Jun 2007 16:25:09 -0000 1.79 +++ kdemultimedia.spec 15 Jun 2007 16:46:18 -0000 1.80 @@ -21,12 +21,12 @@ License: GPL Url: http://www.kde.org Source: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/%{name}-%{version}-patched.tar.bz2 -Patch2: kdemultimedia-3.5.3-config.patch +Patch2: kdemultimedia-3.5.6-config.patch Patch3: kdemultimedia-3.4.0-xdg.patch Patch4: kdemultimedia-3.5.3-examples.patch # upstream patches -Patch100: kdemultimedia-3.5.6-noatun.patch +Patch100: kdemultimedia-3.5.3-noatun.patch Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig --- kdemultimedia-3.5.3-config.patch DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 15 16:57:43 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 12:57:43 -0400 Subject: rpms/kdepim/FC-6 .cvsignore, 1.34, 1.35 kdepim.spec, 1.115, 1.116 sources, 1.38, 1.39 kdepim-3.5.5-kde#135513.patch, 1.1, NONE kdepim-3.5.6-kmail-kde#140660.patch, 1.1, NONE kdepim-3.5.6-kmail-templates.patch, 1.1, NONE kdepim-3.5.6-security.patch, 1.1, NONE Message-ID: <200706151657.l5FGvhLx024446@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdepim/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv24427 Modified Files: .cvsignore kdepim.spec sources Removed Files: kdepim-3.5.5-kde#135513.patch kdepim-3.5.6-kmail-kde#140660.patch kdepim-3.5.6-kmail-templates.patch kdepim-3.5.6-security.patch Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/.cvsignore,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- .cvsignore 30 Jan 2007 15:28:12 -0000 1.34 +++ .cvsignore 15 Jun 2007 16:57:41 -0000 1.35 @@ -13,3 +13,4 @@ kdepim-3.5.3.tar.bz2 kdepim-3.5.4.tar.bz2 kdepim-3.5.6.tar.bz2 +kdepim-3.5.7.tar.bz2 Index: kdepim.spec =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/kdepim.spec,v retrieving revision 1.115 retrieving revision 1.116 diff -u -r1.115 -r1.116 --- kdepim.spec 8 Feb 2007 16:37:59 -0000 1.115 +++ kdepim.spec 15 Jun 2007 16:57:41 -0000 1.116 @@ -3,14 +3,14 @@ %define kdelibs_epoch 6 %define kdebase_epoch 6 -%define qt_version 1:3.3.7 -%define arts_version 8:1.5.6 +%define qt_version 1:3.3.8 +%define arts_version 8:1.5.7 %define make_cvs 1 %define appdir %{_datadir}/applications/kde -Version: 3.5.6 -Release: 0.2%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Name: kdepim Summary: PIM (Personal Information Manager) for KDE Epoch: 6 @@ -28,11 +28,6 @@ Patch3: kdepim-3.4.0-kandy-icons.patch Patch4: kdepim-3.4.92-libz.patch -# upstream patches -Patch100: kdepim-3.5.6-kmail-kde#140660.patch -Patch101: kdepim-3.5.6-kmail-templates.patch -Patch102: kdepim-3.5.6-security.patch - Requires: kdebase >= %{kdebase_epoch}:%{version} Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -83,11 +78,6 @@ %patch3 -p1 -b .kandy-icons %patch4 -p1 -b .libz -# upstream patches -%patch100 -p1 -b .kde#140660 -%patch101 -p1 -b .kmail-templates -%patch102 -p0 -b .security - %build unset QTDIR || : ; . /etc/profile.d/qt.sh @@ -160,13 +150,8 @@ %{_bindir}/* %{_libdir}/lib*.so.* %{_libdir}/libakregatorprivate.so -%{_libdir}/libkabckonnector.so -%{_libdir}/libkcalkonnector.so %{_libdir}/libkmailprivate.so %{_libdir}/libknodecommon.so -%{_libdir}/liblocalkonnector.so -%{_libdir}/libqtopiakonnector.so -%{_libdir}/libremotekonnector.so %{_libdir}/lib*.la %{_libdir}/kde3/* %{_libdir}/kconf_update_bin/* @@ -189,20 +174,18 @@ %{_includedir}/kde/* %{_libdir}/lib*.so %exclude %{_libdir}/libakregatorprivate.so -%exclude %{_libdir}/libkabckonnector.so -%exclude %{_libdir}/libkcalkonnector.so %exclude %{_libdir}/libkmailprivate.so %exclude %{_libdir}/libknodecommon.so -%exclude %{_libdir}/liblocalkonnector.so -%exclude %{_libdir}/libqtopiakonnector.so -%exclude %{_libdir}/libremotekonnector.so %changelog -* Thu Feb 08 2007 Than Ngo - 6:3.5.6-0.2.fc7 +* Fri Jun 15 2007 Than Ngo - 6:3.5.7-1.fc6 +- 3.5.7 + +* Thu Feb 08 2007 Than Ngo - 6:3.5.6-0.2.fc6 - apply upstream patch to fix a debugging leftover which logs passwords clear text. -* Tue Jan 30 2007 Than Ngo - 6:3.5.6-0.1.fc7 +* Tue Jan 30 2007 Than Ngo - 6:3.5.6-0.1.fc6 - 3.5.6 * Fri Nov 10 2006 Than Ngo 6:3.5.5-0.2.fc6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/sources,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- sources 30 Jan 2007 15:28:12 -0000 1.38 +++ sources 15 Jun 2007 16:57:41 -0000 1.39 @@ -1 +1 @@ -e37e6173fe9fd7f242c9502a4ae1d7de kdepim-3.5.6.tar.bz2 +8571db6dcf4168614c96bb72c493f931 kdepim-3.5.7.tar.bz2 --- kdepim-3.5.5-kde#135513.patch DELETED --- --- kdepim-3.5.6-kmail-kde#140660.patch DELETED --- --- kdepim-3.5.6-kmail-templates.patch DELETED --- --- kdepim-3.5.6-security.patch DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 15 19:57:14 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 15:57:14 -0400 Subject: rpms/kdepim/FC-6 kdepim-3.5.7-pilot-link-0.12.patch, NONE, 1.1 pilot-link-0.12.1-var.patch, NONE, 1.1 pilot-link-0.12.2-m4.patch, NONE, 1.1 .cvsignore, 1.35, 1.36 kdepim.spec, 1.116, 1.117 sources, 1.39, 1.40 Message-ID: <200706151957.l5FJvEt3028887@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdepim/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv28863 Modified Files: .cvsignore kdepim.spec sources Added Files: kdepim-3.5.7-pilot-link-0.12.patch pilot-link-0.12.1-var.patch pilot-link-0.12.2-m4.patch Log Message: 3.5.7 kdepim-3.5.7-pilot-link-0.12.patch: configure | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) --- NEW FILE kdepim-3.5.7-pilot-link-0.12.patch --- --- kdepim-3.5.7/configure.orig 2007-06-15 21:04:53.000000000 +0200 +++ kdepim-3.5.7/configure 2007-06-15 21:30:31.000000000 +0200 @@ -46224,7 +46224,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpisock $LIBS" +LIBS="-lpisock -lusb -lpthread -lbluetooth $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -46296,7 +46296,7 @@ { echo "$as_me:$LINENO: result: $ac_cv_lib_pisock_pi_accept" >&5 echo "${ECHO_T}$ac_cv_lib_pisock_pi_accept" >&6; } if test $ac_cv_lib_pisock_pi_accept = yes; then - PISOCK_LIB="-lpisock" + PISOCK_LIB="-lpisock -lusb -lpthread -lbluetooth" HAVE_PISOCK=1 else @@ -46308,7 +46308,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpisock -lsocket +LIBS="-lpisock -lsocket -lusb -lpthread -lbluetooth $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -46381,7 +46381,7 @@ { echo "$as_me:$LINENO: result: $ac_cv_lib_pisock_pi_accept" >&5 echo "${ECHO_T}$ac_cv_lib_pisock_pi_accept" >&6; } if test $ac_cv_lib_pisock_pi_accept = yes; then - PISOCK_LIB="-lpisock -lsocket" + PISOCK_LIB="-lpisock -lsocket -lusb -lpthread -lbluetooth" HAVE_PISOCK=1 else @@ -46393,7 +46393,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpisock -lsocket -lxnet +LIBS="-lpisock -lsocket -lusb -lpthread -lbluetooth -lxnet $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -46466,7 +46466,7 @@ { echo "$as_me:$LINENO: result: $ac_cv_lib_pisock_pi_accept" >&5 echo "${ECHO_T}$ac_cv_lib_pisock_pi_accept" >&6; } if test $ac_cv_lib_pisock_pi_accept = yes; then - PISOCK_LIB="-lpisock -lsocket -lxnet" + PISOCK_LIB="-lpisock -lsocket -lusb -lpthread -lbluetooth -lxnet" HAVE_PISOCK=1 else @@ -46477,7 +46477,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpisock $LIBS" +LIBS="-lpisock -lusb -lpthread -lbluetooth $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -46549,7 +46549,7 @@ { echo "$as_me:$LINENO: result: $ac_cv_lib_pisock_pi_accept" >&5 echo "${ECHO_T}$ac_cv_lib_pisock_pi_accept" >&6; } if test $ac_cv_lib_pisock_pi_accept = yes; then - PISOCK_LIB="-lpisock -lnsl -lsocket" + PISOCK_LIB="-lpisock -lusb -lpthread -lbluetooth -lnsl -lsocket" HAVE_PISOCK=1 else @@ -46589,7 +46589,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpisock $LIBS" +LIBS="-lpisock -lusb -lpthread -lbluetooth $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -46662,7 +46662,7 @@ echo "${ECHO_T}$ac_cv_lib_pisock_pi_accept" >&6; } if test $ac_cv_lib_pisock_pi_accept = yes; then PISOCK_LDFLAGS="-L$i -R$i" - PISOCK_LIB="-lpisock" + PISOCK_LIB="-lpisock -lusb -lpthread -lbluetooth" HAVE_PISOCK=1 fi @@ -46679,7 +46679,7 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpisock $LIBS" +LIBS="-lpisock -lusb -lpthread -lbluetooth $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -46752,7 +46752,7 @@ echo "${ECHO_T}$ac_cv_lib_pisock_pi_accept" >&6; } if test $ac_cv_lib_pisock_pi_accept = yes; then PISOCK_LDFLAGS="-L$with_pilot_link/lib -R$with_pilot_link/lib" - PISOCK_LIB="-lpisock" + PISOCK_LIB="-lpisock -lusb -lpthread -lbluetooth" HAVE_PISOCK=1 fi pilot-link-0.12.1-var.patch: dlp.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE pilot-link-0.12.1-var.patch --- --- pilot-link-0.12.1/libpisock/dlp.c.pom 2006-08-27 18:20:17.000000000 +0200 +++ pilot-link-0.12.1/libpisock/dlp.c 2006-11-30 13:39:29.000000000 +0100 @@ -2268,7 +2268,7 @@ if (errCode) { LOG((PI_DBG_DLP, PI_DBG_LVL_INFO, "DLP ReadFeature FtrGet error 0x%8.8lX\n", - res)); + errCode)); pi_set_palmos_error(sd, (int)errCode); return pi_set_error(sd, PI_ERR_DLP_PALMOS); } pilot-link-0.12.2-m4.patch: pilot-link.m4.in | 1 - 1 files changed, 1 deletion(-) --- NEW FILE pilot-link-0.12.2-m4.patch --- --- pilot-link-0.12.2/pilot-link.m4.in.pom 2007-02-02 11:54:32.000000000 +0100 +++ pilot-link-0.12.2/pilot-link.m4.in 2007-06-06 13:30:01.000000000 +0200 @@ -1,4 +1,3 @@ -AC_DEFUN([IT_PROG_INTLTOOL], [AC_PREREQ([2.50])dnl AC_DEFUN([AC_PILOT_LINK_HOOK], [ Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/.cvsignore,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- .cvsignore 15 Jun 2007 16:57:41 -0000 1.35 +++ .cvsignore 15 Jun 2007 19:57:12 -0000 1.36 @@ -14,3 +14,4 @@ kdepim-3.5.4.tar.bz2 kdepim-3.5.6.tar.bz2 kdepim-3.5.7.tar.bz2 +pilot-link-0.12.2.tar.bz2 Index: kdepim.spec =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/kdepim.spec,v retrieving revision 1.116 retrieving revision 1.117 diff -u -r1.116 -r1.117 --- kdepim.spec 15 Jun 2007 16:57:41 -0000 1.116 +++ kdepim.spec 15 Jun 2007 19:57:12 -0000 1.117 @@ -5,7 +5,8 @@ %define kdebase_epoch 6 %define qt_version 1:3.3.8 %define arts_version 8:1.5.7 -%define make_cvs 1 +%define make_cvs 0 +%define pilot_version 0.12.2 %define appdir %{_datadir}/applications/kde @@ -23,10 +24,16 @@ Source1: cr48-app-kandy.png Source2: cr32-app-kandy.png Source3: cr16-app-kandy.png +Source4: pilot-link-%{pilot_version}.tar.bz2 Patch2: kdepim-3.4.0-s390.patch Patch3: kdepim-3.4.0-kandy-icons.patch Patch4: kdepim-3.4.92-libz.patch +Patch5: kdepim-3.5.7-pilot-link-0.12.patch + +# pilot link +Patch100: pilot-link-0.12.1-var.patch +Patch101: pilot-link-0.12.2-m4.patch Requires: kdebase >= %{kdebase_epoch}:%{version} Requires(post): /sbin/ldconfig @@ -48,7 +55,6 @@ BuildRequires: arts-devel >= %{arts_version} %ifnarch s390 s390x BuildRequires: bluez-libs-devel -BuildRequires: pilot-link-devel >= 0.11 %endif BuildRequires: autoconf BuildRequires: automake @@ -77,8 +83,33 @@ %patch3 -p1 -b .kandy-icons %patch4 -p1 -b .libz +%patch5 -p1 -b .pilot-link %build +%ifnarch s390 s390x +# pilot-link +tar jxf %{SOURCE4} +pushd pilot-link-%{pilot_version} +patch -p1 < %{PATCH100} +patch -p1 < %{PATCH101} +autoreconf -is +%configure \ + --with-python=no \ + --with-itcl=no \ + --with-tk=no \ + --with-tcl=no \ + --with-java=no \ + --with-cpp=yes \ + --with-perl=no \ + --enable-conduits \ + --enable-libusb \ + --enable-static \ + --disable-shared +make %{?_smp_mflags} +make install DESTDIR=`pwd`/pilot-build install +popd +%endif + unset QTDIR || : ; . /etc/profile.d/qt.sh cp -f %{SOURCE1} %{SOURCE2} %{SOURCE3} kandy/src @@ -92,6 +123,11 @@ --disable-dependency-tracking \ --disable-rpath \ --disable-gcc-hidden-visibility \ +%ifnarch s390 s390x + --with-pilot-link=`pwd`/pilot-link-%{pilot_version}/pilot-build/usr \ + --with-extra-includes=`pwd`/pilot-link-%{pilot_version}/pilot-build/usr/include \ + --with-extra-libs=`pwd`/pilot-link-%{pilot_version}/pilot-build/usr/lib \ +%endif %if %{debug} == 0 --disable-debug \ --disable-warnings \ Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/sources,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- sources 15 Jun 2007 16:57:41 -0000 1.39 +++ sources 15 Jun 2007 19:57:12 -0000 1.40 @@ -1 +1,2 @@ 8571db6dcf4168614c96bb72c493f931 kdepim-3.5.7.tar.bz2 +c1f4db8f32a2ee916fedb9a2dac8aa26 pilot-link-0.12.2.tar.bz2 From fedora-cvs-commits at redhat.com Fri Jun 15 20:43:47 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 16:43:47 -0400 Subject: rpms/kdepim/FC-6 kdepim.spec,1.117,1.118 Message-ID: <200706152043.l5FKhlal029952@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdepim/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv29938 Modified Files: kdepim.spec Log Message: 3.5.7 Index: kdepim.spec =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/kdepim.spec,v retrieving revision 1.117 retrieving revision 1.118 diff -u -r1.117 -r1.118 --- kdepim.spec 15 Jun 2007 19:57:12 -0000 1.117 +++ kdepim.spec 15 Jun 2007 20:43:45 -0000 1.118 @@ -114,8 +114,8 @@ cp -f %{SOURCE1} %{SOURCE2} %{SOURCE3} kandy/src -%if %{make_cvs} - make -f admin/Makefile.common cvs +%ifarch s390 s390x + make -f admin/Makefile.common cvs %endif %configure \ From fedora-cvs-commits at redhat.com Fri Jun 15 22:53:27 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 15 Jun 2007 18:53:27 -0400 Subject: rpms/kdepim/FC-6 kdepim.spec,1.118,1.119 Message-ID: <200706152253.l5FMrRbA002063@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdepim/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv2049 Modified Files: kdepim.spec Log Message: add BR on libusb-devel Index: kdepim.spec =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/kdepim.spec,v retrieving revision 1.118 retrieving revision 1.119 diff -u -r1.118 -r1.119 --- kdepim.spec 15 Jun 2007 20:43:45 -0000 1.118 +++ kdepim.spec 15 Jun 2007 22:53:24 -0000 1.119 @@ -11,7 +11,7 @@ %define appdir %{_datadir}/applications/kde Version: 3.5.7 -Release: 1%{?dist} +Release: 1%{?dist}.1 Name: kdepim Summary: PIM (Personal Information Manager) for KDE Epoch: 6 @@ -55,6 +55,7 @@ BuildRequires: arts-devel >= %{arts_version} %ifnarch s390 s390x BuildRequires: bluez-libs-devel +BuildRequires: libusb-devel %endif BuildRequires: autoconf BuildRequires: automake @@ -214,6 +215,9 @@ %exclude %{_libdir}/libknodecommon.so %changelog +* Sat Jun 16 2007 Than Ngo 3.5.7-1.fc6.1 +- add BR on libusb-devel + * Fri Jun 15 2007 Than Ngo - 6:3.5.7-1.fc6 - 3.5.7 From fedora-cvs-commits at redhat.com Sat Jun 16 08:30:16 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 04:30:16 -0400 Subject: rpms/kdepim/FC-6 pilot-link-0.12.2-fpic.patch, NONE, 1.1 kdepim.spec, 1.119, 1.120 Message-ID: <200706160830.l5G8UGsJ009175@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdepim/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv9155 Modified Files: kdepim.spec Added Files: pilot-link-0.12.2-fpic.patch Log Message: rebuild pilot-link-0.12.2-fpic.patch: configure.ac | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE pilot-link-0.12.2-fpic.patch --- --- pilot-link-0.12.2/configure.ac.orig 2007-06-16 09:20:34.000000000 +0200 +++ pilot-link-0.12.2/configure.ac 2007-06-16 09:23:36.000000000 +0200 @@ -124,7 +124,7 @@ AC_MSG_RESULT(no) fi ;; - amd64*freebsd*) + amd64*freebsd*|*linux*) dnl Need -fPIC for shared libs PIC_LIBS="-fPIC" ;; Index: kdepim.spec =================================================================== RCS file: /cvs/dist/rpms/kdepim/FC-6/kdepim.spec,v retrieving revision 1.119 retrieving revision 1.120 diff -u -r1.119 -r1.120 --- kdepim.spec 15 Jun 2007 22:53:24 -0000 1.119 +++ kdepim.spec 16 Jun 2007 08:30:13 -0000 1.120 @@ -11,7 +11,7 @@ %define appdir %{_datadir}/applications/kde Version: 3.5.7 -Release: 1%{?dist}.1 +Release: 1%{?dist}.2 Name: kdepim Summary: PIM (Personal Information Manager) for KDE Epoch: 6 @@ -34,6 +34,7 @@ # pilot link Patch100: pilot-link-0.12.1-var.patch Patch101: pilot-link-0.12.2-m4.patch +Patch102: pilot-link-0.12.2-fpic.patch Requires: kdebase >= %{kdebase_epoch}:%{version} Requires(post): /sbin/ldconfig @@ -93,6 +94,7 @@ pushd pilot-link-%{pilot_version} patch -p1 < %{PATCH100} patch -p1 < %{PATCH101} +patch -p1 < %{PATCH102} autoreconf -is %configure \ --with-python=no \ @@ -215,6 +217,9 @@ %exclude %{_libdir}/libknodecommon.so %changelog +* Sat Jun 16 2007 Than Ngo 3.5.7-1.fc6.2 +- rebuild + * Sat Jun 16 2007 Than Ngo 3.5.7-1.fc6.1 - add BR on libusb-devel From fedora-cvs-commits at redhat.com Sat Jun 16 13:22:44 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 09:22:44 -0400 Subject: rpms/kdeaddons/FC-6 .cvsignore, 1.33, 1.34 kdeaddons.spec, 1.59, 1.60 sources, 1.36, 1.37 kdeaddons-3.5.6-security.patch, 1.1, NONE Message-ID: <200706161322.l5GDMi38012022@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdeaddons/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12005 Modified Files: .cvsignore kdeaddons.spec sources Removed Files: kdeaddons-3.5.6-security.patch Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdeaddons/FC-6/.cvsignore,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- .cvsignore 2 Feb 2007 20:34:45 -0000 1.33 +++ .cvsignore 16 Jun 2007 13:22:41 -0000 1.34 @@ -13,3 +13,4 @@ kdeaddons-3.5.4.tar.bz2 kdeaddons-3.5.6.tar.bz2 metabar-fedora.tar.bz2 +kdeaddons-3.5.7.tar.bz2 Index: kdeaddons.spec =================================================================== RCS file: /cvs/dist/rpms/kdeaddons/FC-6/kdeaddons.spec,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- kdeaddons.spec 9 Feb 2007 13:10:51 -0000 1.59 +++ kdeaddons.spec 16 Jun 2007 13:22:42 -0000 1.60 @@ -3,8 +3,8 @@ %define final 1 %define make_cvs 0 -%define qt_version 3.3.7 -%define arts_version 1.5.6 +%define qt_version 3.3.8 +%define arts_version 1.5.7 %define sdl_version 1.2.0 %define kdelibs_epoch 6 @@ -12,8 +12,8 @@ %define arts_epoch 8 %define arts 1 -Version: 3.5.6 -Release: 0.3%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Name: kdeaddons Summary: K Desktop Environment - Plugins Group: User Interface/Desktops @@ -26,9 +26,6 @@ Patch2: kdeaddons-3.5.1-rgb.txt-path.patch Patch3: kdeaddons-3.5.3-sdl.patch -# upstream -Patch1000: kdeaddons-3.5.6-security.patch - Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig Requires: kdebase >= %{kdebase_epoch}:%{version} @@ -84,9 +81,6 @@ %patch2 -p0 -b .rgb.txt-path %patch3 -p1 -b .sdl -# upstream -%patch1000 -p0 -b .security - %if %{make_cvs} make -f admin/Makefile.common cvs %endif @@ -196,6 +190,9 @@ %endif %changelog +* Sat Jun 16 2007 Than Ngo - 3.5.7-1.fc6 +- 3.5.7 + * Fri Feb 09 2007 Than Ngo - 3.5.6-0.3.fc6 - apply upstream patch to fix minor security issue Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdeaddons/FC-6/sources,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- sources 2 Feb 2007 20:34:45 -0000 1.36 +++ sources 16 Jun 2007 13:22:42 -0000 1.37 @@ -1,2 +1,2 @@ -96d6d2a76da2a5232b3b46318456a5bc kdeaddons-3.5.6.tar.bz2 0bec436d63d3d04878c1231061326d4a metabar-fedora.tar.bz2 +7b50fa8e103bd722dfcdfc329126ff28 kdeaddons-3.5.7.tar.bz2 --- kdeaddons-3.5.6-security.patch DELETED --- From fedora-cvs-commits at redhat.com Sat Jun 16 13:30:11 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 09:30:11 -0400 Subject: rpms/kdegames/FC-6 .cvsignore, 1.36, 1.37 kdegames.spec, 1.57, 1.58 sources, 1.39, 1.40 Message-ID: <200706161330.l5GDUBhY012143@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdegames/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12114 Modified Files: .cvsignore kdegames.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdegames/FC-6/.cvsignore,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- .cvsignore 31 Jan 2007 21:31:29 -0000 1.36 +++ .cvsignore 16 Jun 2007 13:30:03 -0000 1.37 @@ -14,3 +14,4 @@ kdegames-3.5.3-patched.tar.bz2 kdegames-3.5.4-patched.tar.bz2 kdegames-3.5.6-patched.tar.bz2 +kdegames-3.5.7.tar.bz2 Index: kdegames.spec =================================================================== RCS file: /cvs/dist/rpms/kdegames/FC-6/kdegames.spec,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- kdegames.spec 31 Jan 2007 21:31:29 -0000 1.57 +++ kdegames.spec 16 Jun 2007 13:30:03 -0000 1.58 @@ -3,21 +3,21 @@ %define make_cvs 1 %define arts 1 -%define redhatify 1 +%define rhel 0 -%if %{redhatify} +%if %{rhel} %define patch_name -patched %else %define patch_name %{nil} %endif -%define qt_version 3.3.6 +%define qt_version 3.3.8 %define qt_epoch 1 %define kdelibs_epoch 6 %define kdebase_epoch 6 -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Epoch: 6 Summary: K Desktop Environment - Games Name: kdegames @@ -93,7 +93,7 @@ --disable-warnings \ %endif --includedir=%{_includedir}/kde \ - --with-qt-libraries=$QTDIR/lib + --disable-setgid make %{?_smp_mflags} @@ -154,6 +154,9 @@ %exclude %{_libdir}/libkdeinit_*.so %changelog +* Sat Jun 16 2007 Than Ngo - 6:3.5.7-0.1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 6:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdegames/FC-6/sources,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- sources 31 Jan 2007 21:31:29 -0000 1.39 +++ sources 16 Jun 2007 13:30:03 -0000 1.40 @@ -1 +1 @@ -b9202b9d3fd07484cab1cb87cbab15d0 kdegames-3.5.6-patched.tar.bz2 +49ada123885195673d8bcbada4e9c82c kdegames-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 13:33:24 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 09:33:24 -0400 Subject: rpms/kdeaccessibility/FC-6 .cvsignore, 1.13, 1.14 kdeaccessibility.spec, 1.26, 1.27 sources, 1.16, 1.17 Message-ID: <200706161333.l5GDXOhj012252@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdeaccessibility/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12237 Modified Files: .cvsignore kdeaccessibility.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdeaccessibility/FC-6/.cvsignore,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- .cvsignore 31 Jan 2007 22:39:46 -0000 1.13 +++ .cvsignore 16 Jun 2007 13:33:22 -0000 1.14 @@ -10,3 +10,4 @@ kdeaccessibility-3.5.3.tar.bz2 kdeaccessibility-3.5.4.tar.bz2 kdeaccessibility-3.5.6.tar.bz2 +kdeaccessibility-3.5.7.tar.bz2 Index: kdeaccessibility.spec =================================================================== RCS file: /cvs/dist/rpms/kdeaccessibility/FC-6/kdeaccessibility.spec,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- kdeaccessibility.spec 31 Jan 2007 22:37:56 -0000 1.26 +++ kdeaccessibility.spec 16 Jun 2007 13:33:22 -0000 1.27 @@ -1,11 +1,11 @@ %define debug 0 %define final 1 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define kdebase_epoch 6 -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Epoch: 1 Summary: K Desktop Environment - Accessibility Name: kdeaccessibility @@ -125,6 +125,9 @@ %{_libdir}/lib*.so %changelog +* Sat Jun 16 2007 Than Ngo - 1:3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 1:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdeaccessibility/FC-6/sources,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- sources 31 Jan 2007 22:39:46 -0000 1.16 +++ sources 16 Jun 2007 13:33:22 -0000 1.17 @@ -1 +1 @@ -03d3c9f4d8c2fd12b7d0e020e11cd88e kdeaccessibility-3.5.6.tar.bz2 +49a3ffc5303a0c59abf9dcfef185f8bc kdeaccessibility-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 16:25:30 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 12:25:30 -0400 Subject: rpms/kdeadmin/FC-6 .cvsignore, 1.36, 1.37 kdeadmin.spec, 1.68, 1.69 sources, 1.38, 1.39 Message-ID: <200706161625.l5GGPUPb013895@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdeadmin/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv13878 Modified Files: .cvsignore kdeadmin.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdeadmin/FC-6/.cvsignore,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- .cvsignore 31 Jan 2007 22:46:04 -0000 1.36 +++ .cvsignore 16 Jun 2007 16:25:27 -0000 1.37 @@ -12,3 +12,4 @@ kdeadmin-3.5.3.tar.bz2 kdeadmin-3.5.4.tar.bz2 kdeadmin-3.5.6.tar.bz2 +kdeadmin-3.5.7.tar.bz2 Index: kdeadmin.spec =================================================================== RCS file: /cvs/dist/rpms/kdeadmin/FC-6/kdeadmin.spec,v retrieving revision 1.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- kdeadmin.spec 31 Jan 2007 22:46:04 -0000 1.68 +++ kdeadmin.spec 16 Jun 2007 16:25:27 -0000 1.69 @@ -18,13 +18,13 @@ %define arts 1 %define knetworkconf 1 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define kdelibs_epoch 6 %define kdebase_epoch 6 %define appdir %{_datadir}/applications/kde -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Name: kdeadmin Summary: Administrative tools for KDE. Epoch: 7 @@ -316,6 +316,9 @@ %endif %changelog +* Sat Jun 16 2007 Than Ngo - 7:3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 7:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdeadmin/FC-6/sources,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- sources 31 Jan 2007 22:46:04 -0000 1.38 +++ sources 16 Jun 2007 16:25:27 -0000 1.39 @@ -1 +1 @@ -13654a93e83b7c8fd2ccce3aceb2d535 kdeadmin-3.5.6.tar.bz2 +fdf4e7e230d9b5688d72f0e1a8039e12 kdeadmin-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 16:38:25 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 12:38:25 -0400 Subject: rpms/kdeartwork/FC-6 .cvsignore, 1.33, 1.34 kdeartwork.spec, 1.54, 1.55 sources, 1.35, 1.36 Message-ID: <200706161638.l5GGcPE7014074@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdeartwork/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14058 Modified Files: .cvsignore kdeartwork.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdeartwork/FC-6/.cvsignore,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- .cvsignore 31 Jan 2007 22:14:46 -0000 1.33 +++ .cvsignore 16 Jun 2007 16:38:23 -0000 1.34 @@ -13,3 +13,4 @@ kdeartwork-3.5.3.tar.bz2 kdeartwork-3.5.4.tar.bz2 kdeartwork-3.5.6.tar.bz2 +kdeartwork-3.5.7.tar.bz2 Index: kdeartwork.spec =================================================================== RCS file: /cvs/dist/rpms/kdeartwork/FC-6/kdeartwork.spec,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- kdeartwork.spec 31 Jan 2007 22:14:46 -0000 1.54 +++ kdeartwork.spec 16 Jun 2007 16:38:23 -0000 1.55 @@ -3,16 +3,16 @@ %define make_cvs 1 -%define qt_version 3.3.7 -%define arts_version 1.5.6 +%define qt_version 3.3.8 +%define arts_version 1.5.8 %define kdelibs_epoch 6 %define kdebase_epoch 6 %define qt_epoch 1 %define arts 1 Name: kdeartwork -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Summary: Additional artwork (themes, sound themes, ...) for KDE URL: http://www.kde.org/ License: GPL @@ -124,6 +124,9 @@ %{_datadir}/icons/* %changelog +* Sat Jun 16 2007 Than Ngo -3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdeartwork/FC-6/sources,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- sources 31 Jan 2007 22:14:46 -0000 1.35 +++ sources 16 Jun 2007 16:38:23 -0000 1.36 @@ -1 +1 @@ -4c817eab517fba30fce8f3b40a6f019d kdeartwork-3.5.6.tar.bz2 +4ce75cd6f98b8662e450be735bc0b060 kdeartwork-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 16:41:30 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 12:41:30 -0400 Subject: rpms/kdebindings/FC-6 .cvsignore, 1.32, 1.33 kdebindings.spec, 1.61, 1.62 sources, 1.34, 1.35 Message-ID: <200706161641.l5GGfUIb014170@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdebindings/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14153 Modified Files: .cvsignore kdebindings.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdebindings/FC-6/.cvsignore,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- .cvsignore 1 Feb 2007 00:04:09 -0000 1.32 +++ .cvsignore 16 Jun 2007 16:41:28 -0000 1.33 @@ -12,3 +12,4 @@ kdebindings-3.5.3.tar.bz2 kdebindings-3.5.4.tar.bz2 kdebindings-3.5.6.tar.bz2 +kdebindings-3.5.7.tar.bz2 Index: kdebindings.spec =================================================================== RCS file: /cvs/dist/rpms/kdebindings/FC-6/kdebindings.spec,v retrieving revision 1.61 retrieving revision 1.62 diff -u -r1.61 -r1.62 --- kdebindings.spec 1 Feb 2007 17:19:43 -0000 1.61 +++ kdebindings.spec 16 Jun 2007 16:41:28 -0000 1.62 @@ -4,8 +4,8 @@ %define appdir %{_datadir}/applications/kde %{expand: %%define pythonver %(python -c 'import sys;print(sys.version[0:3])')} -%define qt_version 3.3.7 -%define arts_version 1.5.6 +%define qt_version 3.3.8 +%define arts_version 1.5.7 %define kdelibs_epoch 6 %define kdebase_epoch 6 %define perlver 5.8 @@ -18,8 +18,8 @@ %define ruby 1 %define pyqt 0 -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Name: kdebindings Summary: KDE bindings to non-C++ languages URL: http://www.kde.org/ @@ -202,6 +202,9 @@ %{_mandir}/man*/* %changelog +* Sat Jun 16 2007 Than Ngo - 3.5.7-1.fc6 +- 3.5.7 + * Thu Feb 01 2007 Than Ngo 3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdebindings/FC-6/sources,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- sources 1 Feb 2007 00:04:09 -0000 1.34 +++ sources 16 Jun 2007 16:41:28 -0000 1.35 @@ -1 +1 @@ -d26b5f54f062b765a949d66657c2ab3c kdebindings-3.5.6.tar.bz2 +bc8a95f0cfd52ad0559a775cf045f230 kdebindings-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 16:46:19 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 12:46:19 -0400 Subject: rpms/kdeedu/FC-6 .cvsignore, 1.30, 1.31 kdeedu.spec, 1.54, 1.55 sources, 1.33, 1.34 Message-ID: <200706161646.l5GGkJQS014275@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdeedu/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14260 Modified Files: .cvsignore kdeedu.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdeedu/FC-6/.cvsignore,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- .cvsignore 31 Jan 2007 22:32:39 -0000 1.30 +++ .cvsignore 16 Jun 2007 16:46:16 -0000 1.31 @@ -14,3 +14,4 @@ kdeedu-3.5.3.tar.bz2 kdeedu-3.5.4.tar.bz2 kdeedu-3.5.6.tar.bz2 +kdeedu-3.5.7.tar.bz2 Index: kdeedu.spec =================================================================== RCS file: /cvs/dist/rpms/kdeedu/FC-6/kdeedu.spec,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- kdeedu.spec 31 Jan 2007 22:32:40 -0000 1.54 +++ kdeedu.spec 16 Jun 2007 16:46:16 -0000 1.55 @@ -4,14 +4,14 @@ %define arts 1 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define kdelibs_epoch 6 %define kdebase_epoch 6 %define qt_epoch 1 Name: kdeedu -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Summary: Educational/Edutainment applications for KDE URL: http://www.kde.org/ License: GPL @@ -148,6 +148,9 @@ %{_libdir}/*.so %changelog +* Sat Jun 16 2007 Than Ngo - 3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdeedu/FC-6/sources,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- sources 31 Jan 2007 22:32:40 -0000 1.33 +++ sources 16 Jun 2007 16:46:16 -0000 1.34 @@ -1 +1 @@ -6017317b133d973e7fc8a279a81f37a1 kdeedu-3.5.6.tar.bz2 +e2568148df3bf5aecec2ed21c4a0e0a1 kdeedu-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 16:53:38 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 12:53:38 -0400 Subject: rpms/kdegraphics/FC-6 .cvsignore, 1.34, 1.35 kdegraphics.spec, 1.97, 1.98 sources, 1.37, 1.38 kdegraphics-3.5.2-kpdf-xft.patch, 1.1, NONE Message-ID: <200706161653.l5GGrcDj014414@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdegraphics/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14390 Modified Files: .cvsignore kdegraphics.spec sources Removed Files: kdegraphics-3.5.2-kpdf-xft.patch Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdegraphics/FC-6/.cvsignore,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- .cvsignore 30 Jan 2007 22:35:21 -0000 1.34 +++ .cvsignore 16 Jun 2007 16:53:35 -0000 1.35 @@ -13,3 +13,4 @@ kdegraphics-3.5.3.tar.bz2 kdegraphics-3.5.4.tar.bz2 kdegraphics-3.5.6.tar.bz2 +kdegraphics-3.5.7.tar.bz2 Index: kdegraphics.spec =================================================================== RCS file: /cvs/dist/rpms/kdegraphics/FC-6/kdegraphics.spec,v retrieving revision 1.97 retrieving revision 1.98 diff -u -r1.97 -r1.98 --- kdegraphics.spec 30 Jan 2007 22:35:21 -0000 1.97 +++ kdegraphics.spec 16 Jun 2007 16:53:35 -0000 1.98 @@ -15,8 +15,8 @@ %define no_scanner_archs s390 s390x -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Name: kdegraphics Summary: K Desktop Environment - Graphics Applications Epoch: 7 @@ -29,7 +29,6 @@ Patch1: kdegraphics-3.3.0-misc.patch Patch2: kdegraphics-3.3.1-xorg.patch Patch3: kdegraphics-3.5.1-warning.patch -Patch4: kdegraphics-3.5.2-kpdf-xft.patch %ifnarch %{no_scanner_archs} BuildRequires: sane-backends-devel >= 1.0.3-10 @@ -199,7 +198,10 @@ %exclude %{_libdir}/libkfaximage.so %changelog -* Wed Jan 31 2007 Than Ngo 7:3.5.6--0.1.fc6 +* Sat Jun 16 2007 Than Ngo - 7:3.5.7-1.fc6 +- 3.5.7 + +* Wed Jan 31 2007 Than Ngo 7:3.5.6-0.1.fc6 - 3.5.6 * Tue Sep 12 2006 Than Ngo 7:3.5.4-2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdegraphics/FC-6/sources,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- sources 30 Jan 2007 22:35:21 -0000 1.37 +++ sources 16 Jun 2007 16:53:35 -0000 1.38 @@ -1 +1 @@ -79a1ffb7ae89bede1410411a30be3210 kdegraphics-3.5.6.tar.bz2 +eae753e80c5f8dd304e7fd0dca84ae67 kdegraphics-3.5.7.tar.bz2 --- kdegraphics-3.5.2-kpdf-xft.patch DELETED --- From fedora-cvs-commits at redhat.com Sat Jun 16 16:53:58 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 12:53:58 -0400 Subject: rpms/kdegraphics/FC-6 kdegraphics.spec,1.98,1.99 Message-ID: <200706161653.l5GGrw2Y014477@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdegraphics/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14463 Modified Files: kdegraphics.spec Log Message: 3.5.7 Index: kdegraphics.spec =================================================================== RCS file: /cvs/dist/rpms/kdegraphics/FC-6/kdegraphics.spec,v retrieving revision 1.98 retrieving revision 1.99 diff -u -r1.98 -r1.99 --- kdegraphics.spec 16 Jun 2007 16:53:35 -0000 1.98 +++ kdegraphics.spec 16 Jun 2007 16:53:56 -0000 1.99 @@ -87,7 +87,6 @@ %patch1 -p1 -b .misc %patch2 -p1 -b .xorg %patch3 -p1 -b .gcc-warning -%patch4 -p1 -b .kpdf-xft %if %{rhel} echo "DO_NOT_COMPILE=\"\$DO_NOT_COMPILE kfax\"" >kfax/configure.in.in From fedora-cvs-commits at redhat.com Sat Jun 16 17:39:24 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 13:39:24 -0400 Subject: rpms/kdenetwork/FC-6 .cvsignore, 1.39, 1.40 kdenetwork.spec, 1.95, 1.96 sources, 1.45, 1.46 Message-ID: <200706161739.l5GHdOXg015070@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdenetwork/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15052 Modified Files: .cvsignore kdenetwork.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdenetwork/FC-6/.cvsignore,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- .cvsignore 31 Jan 2007 22:54:30 -0000 1.39 +++ .cvsignore 16 Jun 2007 17:39:22 -0000 1.40 @@ -12,3 +12,4 @@ kdenetwork-3.5.3.tar.bz2 kdenetwork-3.5.4.tar.bz2 kdenetwork-3.5.6.tar.bz2 +kdenetwork-3.5.7.tar.bz2 Index: kdenetwork.spec =================================================================== RCS file: /cvs/dist/rpms/kdenetwork/FC-6/kdenetwork.spec,v retrieving revision 1.95 retrieving revision 1.96 diff -u -r1.95 -r1.96 --- kdenetwork.spec 31 Jan 2007 22:54:30 -0000 1.95 +++ kdenetwork.spec 16 Jun 2007 17:39:22 -0000 1.96 @@ -4,7 +4,7 @@ %define libidn 1 %define make_cvs 1 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define kdelibs_epoch 6 %define kdebase_epoch 6 %define qt_epoch 1 @@ -12,8 +12,8 @@ %define appdir %{_datadir}/applications/kde Name: kdenetwork -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Summary: K Desktop Environment - Network Applications Epoch: 7 Group: Applications/Internet @@ -216,6 +216,9 @@ %endif %changelog +* Sat Jun 16 2007 Than Ngo - 7:3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 7:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdenetwork/FC-6/sources,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- sources 31 Jan 2007 22:54:30 -0000 1.45 +++ sources 16 Jun 2007 17:39:22 -0000 1.46 @@ -1 +1 @@ -0f428cccc4ea16aa53c427530874c591 kdenetwork-3.5.6.tar.bz2 +d7f2a05a7e304b33128123c3f67ea636 kdenetwork-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 17:44:40 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 13:44:40 -0400 Subject: rpms/kdeutils/FC-6 .cvsignore, 1.35, 1.36 kdeutils.spec, 1.80, 1.81 sources, 1.37, 1.38 Message-ID: <200706161744.l5GHieNh015249@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdeutils/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15229 Modified Files: .cvsignore kdeutils.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdeutils/FC-6/.cvsignore,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- .cvsignore 30 Jan 2007 22:59:54 -0000 1.35 +++ .cvsignore 16 Jun 2007 17:44:38 -0000 1.36 @@ -12,3 +12,4 @@ kdeutils-3.5.3.tar.bz2 kdeutils-3.5.4.tar.bz2 kdeutils-3.5.6.tar.bz2 +kdeutils-3.5.7.tar.bz2 Index: kdeutils.spec =================================================================== RCS file: /cvs/dist/rpms/kdeutils/FC-6/kdeutils.spec,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- kdeutils.spec 30 Jan 2007 22:59:54 -0000 1.80 +++ kdeutils.spec 16 Jun 2007 17:44:38 -0000 1.81 @@ -4,14 +4,14 @@ %define arts 1 %define redhatify 1 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define kdelibs_epoch 6 %define kdebase_epoch 6 %define appdir %{_datadir}/applications/kde -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Name: kdeutils Summary: K Desktop Environment - Utilities Epoch: 6 @@ -205,6 +205,9 @@ %exclude %{_libdir}/libkdeinit*.so %changelog +* Sat Jun 16 2007 Than Ngo - 6:3.5.7-1.fc6 +- 3.5.7 + * Wed Jan 31 2007 Than Ngo 6:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdeutils/FC-6/sources,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- sources 30 Jan 2007 22:59:54 -0000 1.37 +++ sources 16 Jun 2007 17:44:38 -0000 1.38 @@ -1 +1 @@ -e0ea2c15ccf2bd3d8be5f2bf57cfe14a kdeutils-3.5.6.tar.bz2 +5f167f53bdbf0b8c71c2d0f0ff7593fd kdeutils-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 17:45:59 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 13:45:59 -0400 Subject: rpms/kde-i18n/FC-6 .cvsignore, 1.38, 1.39 kde-i18n.spec, 1.71, 1.72 sources, 1.41, 1.42 Message-ID: <200706161745.l5GHjxmi015338@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kde-i18n/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15321 Modified Files: .cvsignore kde-i18n.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kde-i18n/FC-6/.cvsignore,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- .cvsignore 30 Jan 2007 15:06:31 -0000 1.38 +++ .cvsignore 16 Jun 2007 17:45:56 -0000 1.39 @@ -375,3 +375,42 @@ kde-i18n-uk-3.5.6.tar.bz2 kde-i18n-zh_CN-3.5.6.tar.bz2 kde-i18n-zh_TW-3.5.6.tar.bz2 +kde-i18n-ar-3.5.7.tar.bz2 +kde-i18n-bg-3.5.7.tar.bz2 +kde-i18n-bn-3.5.7.tar.bz2 +kde-i18n-ca-3.5.7.tar.bz2 +kde-i18n-cs-3.5.7.tar.bz2 +kde-i18n-da-3.5.7.tar.bz2 +kde-i18n-de-3.5.7.tar.bz2 +kde-i18n-el-3.5.7.tar.bz2 +kde-i18n-en_GB-3.5.7.tar.bz2 +kde-i18n-es-3.5.7.tar.bz2 +kde-i18n-et-3.5.7.tar.bz2 +kde-i18n-fi-3.5.7.tar.bz2 +kde-i18n-fr-3.5.7.tar.bz2 +kde-i18n-he-3.5.7.tar.bz2 +kde-i18n-hi-3.5.7.tar.bz2 +kde-i18n-hu-3.5.7.tar.bz2 +kde-i18n-is-3.5.7.tar.bz2 +kde-i18n-it-3.5.7.tar.bz2 +kde-i18n-ja-3.5.7.tar.bz2 +kde-i18n-ko-3.5.7.tar.bz2 +kde-i18n-lt-3.5.7.tar.bz2 +kde-i18n-nb-3.5.7.tar.bz2 +kde-i18n-nl-3.5.7.tar.bz2 +kde-i18n-nn-3.5.7.tar.bz2 +kde-i18n-pa-3.5.7.tar.bz2 +kde-i18n-pl-3.5.7.tar.bz2 +kde-i18n-pt-3.5.7.tar.bz2 +kde-i18n-pt_BR-3.5.7.tar.bz2 +kde-i18n-ro-3.5.7.tar.bz2 +kde-i18n-ru-3.5.7.tar.bz2 +kde-i18n-sk-3.5.7.tar.bz2 +kde-i18n-sl-3.5.7.tar.bz2 +kde-i18n-sr-3.5.7.tar.bz2 +kde-i18n-sv-3.5.7.tar.bz2 +kde-i18n-ta-3.5.7.tar.bz2 +kde-i18n-tr-3.5.7.tar.bz2 +kde-i18n-uk-3.5.7.tar.bz2 +kde-i18n-zh_CN-3.5.7.tar.bz2 +kde-i18n-zh_TW-3.5.7.tar.bz2 Index: kde-i18n.spec =================================================================== RCS file: /cvs/dist/rpms/kde-i18n/FC-6/kde-i18n.spec,v retrieving revision 1.71 retrieving revision 1.72 diff -u -r1.71 -r1.72 --- kde-i18n.spec 30 Jan 2007 22:11:46 -0000 1.71 +++ kde-i18n.spec 16 Jun 2007 17:45:56 -0000 1.72 @@ -3,8 +3,8 @@ %define redhatify 1 Name: kde-i18n -Version: 3.5.6 -Release: 0.1%{dist} +Version: 3.5.7 +Release: 1%{dist} Url: http://www.kde.org Summary: Internationalization support for KDE Epoch: 1 @@ -1154,6 +1154,9 @@ %lang(zh_TW) %doc %{_docdir}/HTML/zh_TW %changelog +* Sat Jun 16 2007 Than Ngo - 1:3.5.7-1.fc6 +- 3.5.7 + * Tue Jan 30 2007 Than Ngo - 1:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kde-i18n/FC-6/sources,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- sources 30 Jan 2007 15:06:31 -0000 1.41 +++ sources 16 Jun 2007 17:45:56 -0000 1.42 @@ -1,39 +1,39 @@ -e79ef203dfc9196ea75089dfcd99339d kde-i18n-ar-3.5.6.tar.bz2 -a34d5e307d418fc87bcbb6ab150bc046 kde-i18n-bg-3.5.6.tar.bz2 -f5153ad329e8d7305aefa12f7ddfdfa3 kde-i18n-bn-3.5.6.tar.bz2 -84b3a011b9d594ce26fdee77cccdfb52 kde-i18n-ca-3.5.6.tar.bz2 -b2dab45ea572efbb2569781211c2a7fc kde-i18n-cs-3.5.6.tar.bz2 -913550e6604b9423cea605d95a8a664f kde-i18n-da-3.5.6.tar.bz2 -c8a52e825c610ae5779ef84d1bf7e3c5 kde-i18n-de-3.5.6.tar.bz2 -f395db170010c2a4ee9a7e27b1c8772e kde-i18n-el-3.5.6.tar.bz2 -6b81bfa733c5e1c8ae4d16208093f648 kde-i18n-en_GB-3.5.6.tar.bz2 -75f2b236131bcf89b6f2302c1fb8780f kde-i18n-es-3.5.6.tar.bz2 -55647fdaf91b9626618015017be954b4 kde-i18n-et-3.5.6.tar.bz2 -227d47ad0232daf190653b4f8d9cd508 kde-i18n-fi-3.5.6.tar.bz2 -f700524f68cf6d34770784c69f9cc293 kde-i18n-fr-3.5.6.tar.bz2 -b416073a3503a01056e14107fc797dae kde-i18n-he-3.5.6.tar.bz2 -25f0b08c99c952f443f32a86d5d4d4ad kde-i18n-hi-3.5.6.tar.bz2 -575734a98fa2984f47adb49d6c023cc0 kde-i18n-hu-3.5.6.tar.bz2 -f41752647ef59cb9fd179e2e1f77738c kde-i18n-is-3.5.6.tar.bz2 -3a9bea48fb5ac7d3703abfdaa8a50c3c kde-i18n-it-3.5.6.tar.bz2 -79b62e00ae4bbcc0d874588ccba177be kde-i18n-ja-3.5.6.tar.bz2 -eb47d4c6f46c161835c5255f399e1ac9 kde-i18n-ko-3.5.6.tar.bz2 -2769c90376add2e49addcaa2f39df577 kde-i18n-lt-3.5.6.tar.bz2 -bf087b3c116770dcffa008da74e767e2 kde-i18n-nb-3.5.6.tar.bz2 -6f4eea25839984463e70d1c635813a11 kde-i18n-nl-3.5.6.tar.bz2 -9dc810b75c2cb7c864ec5bf82a2bed2f kde-i18n-nn-3.5.6.tar.bz2 -6a9be2176930ceb07600913cbee525e3 kde-i18n-pa-3.5.6.tar.bz2 -71852ce8f2549cfc19ffe71468a82349 kde-i18n-pl-3.5.6.tar.bz2 -ee8322ab521d796fbfafef471d845d6d kde-i18n-pt-3.5.6.tar.bz2 -29836d3d914f41a2cab1567d1df6feff kde-i18n-pt_BR-3.5.6.tar.bz2 -af2fc2dbc745614c7286a430a7874a54 kde-i18n-ro-3.5.6.tar.bz2 -348d72dfa83d51cbb65f6c7e964d64b3 kde-i18n-ru-3.5.6.tar.bz2 -3a7b1b8bd44c92713d5e4db52655915b kde-i18n-sk-3.5.6.tar.bz2 -2064f33c3f76ee60ddf1aef010d92399 kde-i18n-sl-3.5.6.tar.bz2 -e38ff9abe6f68bc69e0df5891e7bce69 kde-i18n-sr-3.5.6.tar.bz2 -a826fb26b9378b12dae31b15ac22d995 kde-i18n-sv-3.5.6.tar.bz2 -11da7704ec348481c392cfd47af85caa kde-i18n-ta-3.5.6.tar.bz2 -b56062b9908ecb6909bc4a7e4c4bb62a kde-i18n-tr-3.5.6.tar.bz2 -82f0f3f3567d551307c03ebad12f3a1c kde-i18n-uk-3.5.6.tar.bz2 -a74fb6fee6d36a8bd975bb7b1b97fb4c kde-i18n-zh_CN-3.5.6.tar.bz2 -f6211661d09cf7dcc381147d084537a7 kde-i18n-zh_TW-3.5.6.tar.bz2 +d2d0628ce887766965b6bca2015f99c8 kde-i18n-ar-3.5.7.tar.bz2 +f865993d0be0eef709e86fcefd4e9d01 kde-i18n-bg-3.5.7.tar.bz2 +9e329981b6938e358c9b6647fb07b8c2 kde-i18n-bn-3.5.7.tar.bz2 +4ca083e7a1702365f2de35ff79fd41e0 kde-i18n-ca-3.5.7.tar.bz2 +350a29c5166640bb7f4030dc45da6c48 kde-i18n-cs-3.5.7.tar.bz2 +a13e84cbdb6b6fd89034efa33ea87266 kde-i18n-da-3.5.7.tar.bz2 +ffba95578d4ffd07dd5488a6610cb3c8 kde-i18n-de-3.5.7.tar.bz2 +995d8c13bc0eccacc5c53d40b948e03e kde-i18n-el-3.5.7.tar.bz2 +1efad85761ec1fa03290204e562adac4 kde-i18n-en_GB-3.5.7.tar.bz2 +cc0c23885bc71637cb045069896545b5 kde-i18n-es-3.5.7.tar.bz2 +4103433d895c818c4213993ec818aad1 kde-i18n-et-3.5.7.tar.bz2 +18682d8351c70d2b483c2b55706025f0 kde-i18n-fi-3.5.7.tar.bz2 +f6ddf4a9eeb3748fcbf781ff4c3c4edb kde-i18n-fr-3.5.7.tar.bz2 +0f2fb7c7538ce15fbbfb5a4f19e78b73 kde-i18n-he-3.5.7.tar.bz2 +46cc5b60e42f260a6ee4d4b5cc53851b kde-i18n-hi-3.5.7.tar.bz2 +f10056e1dbb1955f2ba3cbba8a50a08b kde-i18n-hu-3.5.7.tar.bz2 +b86b28fec7ff948c97df15c972553900 kde-i18n-is-3.5.7.tar.bz2 +a04a26135303cef25f74373e07df0157 kde-i18n-it-3.5.7.tar.bz2 +797df078ef3dc7f3cd095311a62c56e2 kde-i18n-ja-3.5.7.tar.bz2 +32ede9542bdc84f33ea56d5d4b33c7f2 kde-i18n-ko-3.5.7.tar.bz2 +6774803f35f4accba712a7fa1fce50d8 kde-i18n-lt-3.5.7.tar.bz2 +0b66b0265556c7892f13d20d30f61423 kde-i18n-nb-3.5.7.tar.bz2 +0bc7c76717a67da18a5bcfb1dda278ef kde-i18n-nl-3.5.7.tar.bz2 +9364ceaf89c1e3b1d5d957d0f8cc9826 kde-i18n-nn-3.5.7.tar.bz2 +20d4043b002dad7fc9ff4aa319561f27 kde-i18n-pa-3.5.7.tar.bz2 +c5a58fb84ce0f19e908b3a65f699e880 kde-i18n-pl-3.5.7.tar.bz2 +696b4d75f81231e43f898e7c703d133d kde-i18n-pt-3.5.7.tar.bz2 +c7fc3d50c3fb27d8560412156dc464fb kde-i18n-pt_BR-3.5.7.tar.bz2 +81eb9ede8fa9073a997d3366ca236f96 kde-i18n-ro-3.5.7.tar.bz2 +b0a0edf56a5444d74dca527556a59ae3 kde-i18n-ru-3.5.7.tar.bz2 +b2c5da89f8b5df63991deb47674bdbb9 kde-i18n-sk-3.5.7.tar.bz2 +5b2eff146028bffeb84315aaafa5ea5d kde-i18n-sl-3.5.7.tar.bz2 +06099c0a4a7c84115e06c40256ed97ff kde-i18n-sr-3.5.7.tar.bz2 +26fcaf78f44e67e3bda09e187fa85374 kde-i18n-sv-3.5.7.tar.bz2 +c6798c99e32ea3b1e4817b1f1e2857b5 kde-i18n-ta-3.5.7.tar.bz2 +90326b113d8e77497a3eb1d0d87ed65c kde-i18n-tr-3.5.7.tar.bz2 +cee28788e68efeb77fd672a31e206e8e kde-i18n-uk-3.5.7.tar.bz2 +ef0bf6dcdf3c05bf6a775abfae1944b9 kde-i18n-zh_CN-3.5.7.tar.bz2 +d5a68ed78b436874bb41c1e9c423b3ac kde-i18n-zh_TW-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 17:52:04 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 13:52:04 -0400 Subject: rpms/kdesdk/FC-6 .cvsignore, 1.33, 1.34 kdesdk.spec, 1.64, 1.65 sources, 1.35, 1.36 Message-ID: <200706161752.l5GHq4vZ015458@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdesdk/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15437 Modified Files: .cvsignore kdesdk.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdesdk/FC-6/.cvsignore,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- .cvsignore 1 Feb 2007 00:12:23 -0000 1.33 +++ .cvsignore 16 Jun 2007 17:52:02 -0000 1.34 @@ -12,3 +12,4 @@ kdesdk-3.5.3.tar.bz2 kdesdk-3.5.4.tar.bz2 kdesdk-3.5.6.tar.bz2 +kdesdk-3.5.7.tar.bz2 Index: kdesdk.spec =================================================================== RCS file: /cvs/dist/rpms/kdesdk/FC-6/kdesdk.spec,v retrieving revision 1.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- kdesdk.spec 1 Feb 2007 00:12:23 -0000 1.64 +++ kdesdk.spec 16 Jun 2007 17:52:02 -0000 1.65 @@ -1,7 +1,7 @@ %define debug 0 %define final 0 -%define qt_version 3.3.7 +%define qt_version 3.3.8 %define qt_epoch 1 %define kdelibs_epoch 6 %define kdebase_epoch 6 @@ -12,8 +12,8 @@ %define appdir %{_datadir}/applications/kde Name: kdesdk -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Summary: The KDE Software Development Kit (SDK) URL: http://www.kde.org/ License: GPL @@ -161,6 +161,9 @@ %{_mandir}/man1/* %changelog +* Sat Jun 16 2007 Than Ngo - 3.5.7-1.fc6 +- 3.5.7 + * Thu Feb 01 2007 Than Ngo 3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdesdk/FC-6/sources,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- sources 1 Feb 2007 00:12:23 -0000 1.35 +++ sources 16 Jun 2007 17:52:02 -0000 1.36 @@ -1 +1 @@ -1462e1a884fdaa070ed493c10a336728 kdesdk-3.5.6.tar.bz2 +6a8f7b7fea753e2a4517301dee76d84a kdesdk-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 18:03:25 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 14:03:25 -0400 Subject: rpms/kdebindings/FC-6 kdebindings.spec, 1.62, 1.63 kdebindings-3.5.6-python25.patch, 1.2, NONE Message-ID: <200706161803.l5GI3PbV015696@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdebindings/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15681 Modified Files: kdebindings.spec Removed Files: kdebindings-3.5.6-python25.patch Log Message: 3.5.7 Index: kdebindings.spec =================================================================== RCS file: /cvs/dist/rpms/kdebindings/FC-6/kdebindings.spec,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- kdebindings.spec 16 Jun 2007 16:41:28 -0000 1.62 +++ kdebindings.spec 16 Jun 2007 18:03:23 -0000 1.63 @@ -33,9 +33,6 @@ Patch8: kdebindings-3.3.0-python.patch Patch9: kdebindings-3.3.92-xdg.patch -# upstream patches -Patch100: kdebindings-3.5.6-python25.patch - BuildRequires: zlib-devel BuildRequires: kdelibs-devel BuildRequires: arts-devel @@ -112,7 +109,6 @@ rm -rf python %endif %patch9 -p1 -b .xdg -%patch100 -p0 -b .python25 %build unset QTDIR && . /etc/profile.d/qt.sh --- kdebindings-3.5.6-python25.patch DELETED --- From fedora-cvs-commits at redhat.com Sat Jun 16 19:32:40 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 15:32:40 -0400 Subject: rpms/kdevelop/FC-6 .cvsignore, 1.31, 1.32 kdevelop.spec, 1.56, 1.57 sources, 1.34, 1.35 Message-ID: <200706161932.l5GJWeul016534@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdevelop/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv16518 Modified Files: .cvsignore kdevelop.spec sources Log Message: 3.4.1 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdevelop/FC-6/.cvsignore,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- .cvsignore 1 Feb 2007 11:07:45 -0000 1.31 +++ .cvsignore 16 Jun 2007 19:32:37 -0000 1.32 @@ -14,3 +14,4 @@ kdevelop-3.3.3.tar.bz2 kdevelop-3.3.4.tar.bz2 kdevelop-3.3.6.tar.bz2 +kdevelop-3.4.1.tar.bz2 Index: kdevelop.spec =================================================================== RCS file: /cvs/dist/rpms/kdevelop/FC-6/kdevelop.spec,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- kdevelop.spec 1 Feb 2007 11:07:45 -0000 1.56 +++ kdevelop.spec 16 Jun 2007 19:32:37 -0000 1.57 @@ -1,8 +1,8 @@ %define debug 0 %define final 0 -%define kde_version 3.5.6 -%define qt_version 3.3.7 +%define kde_version 3.5.7 +%define qt_version 3.3.8 %define qt_epoch 1 %define kdelibs_epoch 6 @@ -10,8 +10,8 @@ Name: kdevelop Summary: Integrated Development Environment for C++/C -Version: 3.3.6 -Release: 0.1%{?dist} +Version: 3.4.1 +Release: 1%{?dist} Epoch: 9 URL: http://www.kdevelop.org/ Group: Development/Tools @@ -161,6 +161,9 @@ %{_datadir}/servicetypes/* %changelog +* Sat Jun 16 2007 Than Ngo - 9:3.4.1-1.fc6 +- 3.4.1 + * Thu Feb 01 2007 Than Ngo 9:3.3.6-0.1.fc6 - 3.3.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdevelop/FC-6/sources,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- sources 1 Feb 2007 11:07:45 -0000 1.34 +++ sources 16 Jun 2007 19:32:37 -0000 1.35 @@ -1,2 +1,2 @@ 5777e4d2dbfc3e6c2ba9f0ed6ea457f9 c_cpp_reference-2.0.2_for_KDE_3.0.tar.bz2 -0de7c7d82c176456f2adff48981f5d40 kdevelop-3.3.6.tar.bz2 +abc6cc2831ad4c0f4da9fba9e38edce1 kdevelop-3.4.1.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 19:36:21 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 15:36:21 -0400 Subject: rpms/kdewebdev/FC-6 .cvsignore, 1.15, 1.16 kdewebdev.spec, 1.38, 1.39 sources, 1.17, 1.18 Message-ID: <200706161936.l5GJaLkD016624@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdewebdev/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv16608 Modified Files: .cvsignore kdewebdev.spec sources Log Message: 3.5.7 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kdewebdev/FC-6/.cvsignore,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- .cvsignore 1 Feb 2007 00:09:51 -0000 1.15 +++ .cvsignore 16 Jun 2007 19:36:19 -0000 1.16 @@ -18,3 +18,4 @@ kdewebdev-3.5.3.tar.bz2 kdewebdev-3.5.4.tar.bz2 kdewebdev-3.5.6.tar.bz2 +kdewebdev-3.5.7.tar.bz2 Index: kdewebdev.spec =================================================================== RCS file: /cvs/dist/rpms/kdewebdev/FC-6/kdewebdev.spec,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- kdewebdev.spec 1 Feb 2007 00:09:51 -0000 1.38 +++ kdewebdev.spec 16 Jun 2007 19:36:19 -0000 1.39 @@ -2,13 +2,13 @@ %define final 0 %define make_cvs 1 -%define qt_version 3.3.7 -%define kde_version 3.5.6 +%define qt_version 3.3.8 +%define kde_version 3.5.7 %define kdelibs_epoch 6 %define kdebase_epoch 6 -Version: 3.5.6 -Release: 0.1%{?dist} +Version: 3.5.7 +Release: 1%{?dist} Summary: WEB Development package for the K Desktop Environment. Name: kdewebdev Url: http://quanta.sourceforge.net/ @@ -159,6 +159,9 @@ %{_includedir}/* %changelog +* Sat Jun 16 2007 Than Ngo - 6:3.5.7-1.fc6 +- 3.5.7 + * Thu Feb 01 2007 Than Ngo 6:3.5.6-0.1.fc6 - 3.5.6 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kdewebdev/FC-6/sources,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- sources 1 Feb 2007 00:09:51 -0000 1.17 +++ sources 16 Jun 2007 19:36:19 -0000 1.18 @@ -2,4 +2,4 @@ 0cc3234c4b3df88d4115340ce05e0053 html.tar.bz2 eea6e25a1c25af1f5a0c33e32e52c136 javascript.tar.bz2 149607cecd4bf6783dc6e43a03b80138 php_manual_en_20030401.tar.bz2 -fa1fc2d7c81465c7e1762014a892ced3 kdewebdev-3.5.6.tar.bz2 +1329e0aea45947a14faa3d936f9edb5d kdewebdev-3.5.7.tar.bz2 From fedora-cvs-commits at redhat.com Sat Jun 16 20:19:23 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 16:19:23 -0400 Subject: rpms/kdevelop/FC-6 kdevelop.spec,1.57,1.58 Message-ID: <200706162019.l5GKJNmg017107@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdevelop/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv17092 Modified Files: kdevelop.spec Log Message: 3.5.7 Index: kdevelop.spec =================================================================== RCS file: /cvs/dist/rpms/kdevelop/FC-6/kdevelop.spec,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- kdevelop.spec 16 Jun 2007 19:32:37 -0000 1.57 +++ kdevelop.spec 16 Jun 2007 20:19:20 -0000 1.58 @@ -24,11 +24,10 @@ Patch1: c_cpp_reference-2.0.2-config.patch Patch2: kdevelop-2.1.5_for_KDE_3.1-doc.patch -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig -Requires(post): desktop-file-utils -Requires(postun): desktop-file-utils +Requires(post): /sbin/ldconfig desktop-file-utils +Requires(postun): /sbin/ldconfig desktop-file-utils Requires: kdelibs-devel >= %{kdelibs_epoch}:%{kde_version} +Requires: kdelibs-apidocs Requires: make Requires: perl Requires: libtool @@ -36,6 +35,7 @@ Requires: autoconf Requires: flex >= 2.5.4 Requires: qt-designer >= %{qt_epoch}:%{qt_version} +Requires: qt-devel-docs Requires: gettext Requires: ctags @@ -45,6 +45,11 @@ BuildRequires: kdelibs-devel >= %{kde_version} BuildRequires: db4-devel BuildRequires: flex +BuildRequires: apr-util-devel +BuildRequires: apr-devel +BuildRequires: subversion-devel +BuildRequires: qt-devel-docs +BuildRequires: kdelibs-apidocs Obsoletes: kdevelop-c_c++_ref From fedora-cvs-commits at redhat.com Sat Jun 16 20:50:16 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 16 Jun 2007 16:50:16 -0400 Subject: rpms/kdevelop/FC-6 kdevelop.spec,1.58,1.59 Message-ID: <200706162050.l5GKoGYs017391@cvs.devel.redhat.com> Author: than Update of /cvs/dist/rpms/kdevelop/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv17376 Modified Files: kdevelop.spec Log Message: 3.4.1 Index: kdevelop.spec =================================================================== RCS file: /cvs/dist/rpms/kdevelop/FC-6/kdevelop.spec,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- kdevelop.spec 16 Jun 2007 20:19:20 -0000 1.58 +++ kdevelop.spec 16 Jun 2007 20:50:13 -0000 1.59 @@ -50,6 +50,7 @@ BuildRequires: subversion-devel BuildRequires: qt-devel-docs BuildRequires: kdelibs-apidocs +BuildRequires: neon-devel Obsoletes: kdevelop-c_c++_ref From fedora-cvs-commits at redhat.com Mon Jun 18 09:28:04 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 18 Jun 2007 05:28:04 -0400 Subject: rpms/dovecot/FC-6 .cvsignore, 1.18, 1.19 dovecot.spec, 1.67, 1.68 sources, 1.19, 1.20 Message-ID: <200706180928.l5I9S4VD016149@cvs.devel.redhat.com> Author: tjanouse Update of /cvs/dist/rpms/dovecot/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv16132 Modified Files: .cvsignore dovecot.spec sources Log Message: * Mon Jun 18 2007 Tomas Janousek - 1.0.1-4 - update to latest upstream (1.0.1) Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/dovecot/FC-6/.cvsignore,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- .cvsignore 20 Apr 2007 12:52:54 -0000 1.18 +++ .cvsignore 18 Jun 2007 09:28:01 -0000 1.19 @@ -1,4 +1,4 @@ -dovecot-1.0.0.tar.gz -dovecot-1.0.0.tar.gz.sig +dovecot-1.0.1.tar.gz +dovecot-1.0.1.tar.gz.sig dovecot-sieve-1.0.1.tar.gz dovecot-sieve-1.0.1.tar.gz.sig Index: dovecot.spec =================================================================== RCS file: /cvs/dist/rpms/dovecot/FC-6/dovecot.spec,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- dovecot.spec 20 Apr 2007 12:46:16 -0000 1.67 +++ dovecot.spec 18 Jun 2007 09:28:01 -0000 1.68 @@ -1,7 +1,7 @@ -%define upstream 1.0.0 +%define upstream 1.0.1 %define sieve_upstream 1.0.1 -%define pkg_version 1.0.0 -%define my_release 3 +%define pkg_version 1.0.1 +%define my_release 4 %define pkg_release %{my_release}%{?dist} %define pkg_sieve_version 1.0.1 %define pkg_sieve_release %{my_release}%{?dist} @@ -295,6 +295,9 @@ %changelog +* Mon Jun 18 2007 Tomas Janousek - 1.0.1-4 +- update to latest upstream (1.0.1) + * Fri Apr 20 2007 Tomas Janousek - 1.0.0-3 - merge from devel: - dovecot-1.0.beta2-pam-tty.patch is no longer needed Index: sources =================================================================== RCS file: /cvs/dist/rpms/dovecot/FC-6/sources,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- sources 20 Apr 2007 12:52:54 -0000 1.19 +++ sources 18 Jun 2007 09:28:01 -0000 1.20 @@ -1,4 +1,4 @@ -65ccc71e66c495c536d8fb8a7ae39bb3 dovecot-1.0.0.tar.gz -621f2d7bd2099b729e689bf35dcd30e8 dovecot-1.0.0.tar.gz.sig +0878f744382417fce09d83f5b1c14030 dovecot-1.0.1.tar.gz +8887f9cdc2d284b4017e488498da7d07 dovecot-1.0.1.tar.gz.sig b070d2177009bb555cd7e25c710047d5 dovecot-sieve-1.0.1.tar.gz c9f5a39ef66e427968141f265c879d60 dovecot-sieve-1.0.1.tar.gz.sig From fedora-cvs-commits at redhat.com Mon Jun 18 10:52:05 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 18 Jun 2007 06:52:05 -0400 Subject: rpms/procps/FC-6 procps-3.2.7-ps-eip64.patch, NONE, 1.1 procps.spec, 1.62, 1.63 Message-ID: <200706181052.l5IAq5Dg017448@cvs.devel.redhat.com> Author: tsmetana Update of /cvs/dist/rpms/procps/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv17423 Modified Files: procps.spec Added Files: procps-3.2.7-ps-eip64.patch Log Message: Related #244152: ps truncates esp/eip on 64-bit systems procps-3.2.7-ps-eip64.patch: output.c | 10 ++++++++++ ps.1 | 8 ++++++++ 2 files changed, 18 insertions(+) --- NEW FILE procps-3.2.7-ps-eip64.patch --- --- procps-3.2.7/ps/ps.1.eip64 2007-06-14 11:08:35.000000000 +0200 +++ procps-3.2.7/ps/ps.1 2007-06-14 11:03:28.000000000 +0200 @@ -1156,6 +1156,14 @@ or\ a\ decimal representation otherwise. T} +rip RIP T{ +64-bit instruction pointer. +T} + +rsp RSP T{ +64-bit stack pointer. +T} + rss RSS T{ resident set size, the non\-swapped physical memory that a task has used (in\ kiloBytes). --- procps-3.2.7/ps/output.c.eip64 2007-06-14 11:08:24.000000000 +0200 +++ procps-3.2.7/ps/output.c 2007-06-14 10:58:21.000000000 +0200 @@ -764,10 +764,18 @@ return snprintf(outbuf, COLWID, "%08x", (unsigned)(pp->kstk_esp)); } +static int pr_rsp(char *restrict const outbuf, const proc_t *restrict const pp){ + return snprintf(outbuf, COLWID, "%016lx", (unsigned long)(pp->kstk_esp)); +} + static int pr_eip(char *restrict const outbuf, const proc_t *restrict const pp){ return snprintf(outbuf, COLWID, "%08x", (unsigned)(pp->kstk_eip)); } +static int pr_rip(char *restrict const outbuf, const proc_t *restrict const pp){ + return snprintf(outbuf, COLWID, "%016lx", (unsigned long)(pp->kstk_eip)); +} + /* This function helps print old-style time formats */ static int old_time_helper(char *dst, unsigned long long t, unsigned long long rel) { if(!t) return snprintf(dst, COLWID, " -"); @@ -1403,7 +1411,9 @@ {"resident", "RES", pr_nop, sr_resident, 5,MEM, LNX, PO|RIGHT}, {"rgid", "RGID", pr_rgid, sr_rgid, 5, 0, XXX, ET|RIGHT}, {"rgroup", "RGROUP", pr_rgroup, sr_rgroup, 8, GRP, U98, ET|USER}, /* was 8 wide */ +{"rip", "RIP", pr_rip, sr_kstk_eip, 16, 0, LNX, TO|RIGHT}, {"rlink", "RLINK", pr_nop, sr_nop, 8, 0, BSD, AN|RIGHT}, +{"rsp", "RSP", pr_rsp, sr_kstk_eip, 16, 0, LNX, TO|RIGHT}, {"rss", "RSS", pr_rss, sr_rss, 5, 0, XXX, PO|RIGHT}, /* was 5 wide */ {"rssize", "RSS", pr_rss, sr_vm_rss, 5, 0, DEC, PO|RIGHT}, /*rsz*/ {"rsz", "RSZ", pr_rss, sr_vm_rss, 5, 0, BSD, PO|RIGHT}, /*rssize*/ Index: procps.spec =================================================================== RCS file: /cvs/dist/rpms/procps/FC-6/procps.spec,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- procps.spec 4 May 2007 11:44:47 -0000 1.62 +++ procps.spec 18 Jun 2007 10:52:03 -0000 1.63 @@ -1,7 +1,7 @@ Summary: System and process monitoring utilities. Name: procps Version: 3.2.7 -Release: 10%{?dist} +Release: 11%{?dist} License: GPL Group: Applications/System Source: http://procps.sourceforge.net/procps-%{version}.tar.gz @@ -56,6 +56,8 @@ Patch26: procps-3.2.7-ps-stime.patch #208217 - command "ps jax --sort=uid,-ppid,+pid" fails Patch27: procps-3.2.7-ps-plussort.patch +#244152 - ps truncates eip and esp to 32-bit values on 64-bit systems +Patch28: procps-3.2.7-ps-eip64.patch BuildRequires: ncurses-devel @@ -108,6 +110,7 @@ %patch25 -p1 %patch26 -p1 %patch27 -p1 +%patch28 -p1 cp %SOURCE1 . @@ -145,6 +148,9 @@ %attr(0644,root,root) %{_mandir}/man5/* %changelog +* Mon Jun 18 2007 Tomas Smetana 3.2.7-11 +- fix #244152 ps truncates eip and esp to 32-bit values on 64-bit systems + * Fri May 04 2007 Tomas Smetana 3.2.7-10 - fix #208217 - ps does not accept '+' in sort specifier From fedora-cvs-commits at redhat.com Mon Jun 18 13:53:31 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 18 Jun 2007 09:53:31 -0400 Subject: rpms/kexec-tools/devel kdump.init, 1.15, 1.16 kexec-tools.spec, 1.87, 1.88 Message-ID: <200706181353.l5IDrVCd020225@cvs.devel.redhat.com> Author: nhorman Update of /cvs/dist/rpms/kexec-tools/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv20209 Modified Files: kdump.init kexec-tools.spec Log Message: Resolves: bz 244649 Index: kdump.init =================================================================== RCS file: /cvs/dist/rpms/kexec-tools/devel/kdump.init,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- kdump.init 8 May 2007 17:28:16 -0000 1.15 +++ kdump.init 18 Jun 2007 13:53:28 -0000 1.16 @@ -154,7 +154,7 @@ KDUMP_COMMANDLINE=`cat /proc/cmdline` fi - MEM_RESERVED=`echo $KDUMP_COMMANDLINE | grep "crashkernel=[0-9]\+[MmKkGg]@[0-9]\+[MmGgKk]"` + MEM_RESERVED=`grep "crashkernel=[0-9]\+[MmKkGg]@[0-9]\+[MmGgKk]" /proc/cmdline` if [ -z "$MEM_RESERVED" ] then $LOGGER "No crashkernel parameter specified for running kernel" Index: kexec-tools.spec =================================================================== RCS file: /cvs/dist/rpms/kexec-tools/devel/kexec-tools.spec,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- kexec-tools.spec 8 Jun 2007 18:54:19 -0000 1.87 +++ kexec-tools.spec 18 Jun 2007 13:53:28 -0000 1.88 @@ -1,6 +1,6 @@ Name: kexec-tools Version: 1.101 -Release: 72%{?dist} +Release: 73%{?dist} License: GPL Group: Applications/System Summary: The kexec/kdump userspace component. @@ -253,6 +253,9 @@ %doc kexec-kdump-howto.txt %changelog +* Mon Jun 18 2007 Neil Horman - 1.101-73%{dist} +- Fix load_kdump function in initscript (bz 244649) + * Fri Jun 08 2007 Neil Horman - 1.101-72%{dist} - Add minimal xen support for x86_64 (bz 243118) From fedora-cvs-commits at redhat.com Mon Jun 18 16:07:12 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 18 Jun 2007 12:07:12 -0400 Subject: rpms/xorg-x11-server/FC-6 xserver-1.1.1-lid-crash.patch, NONE, 1.1 xorg-x11-server.spec, 1.190, 1.191 Message-ID: <200706181607.l5IG7CHr024465@cvs.devel.redhat.com> Author: ajackson Update of /cvs/dist/rpms/xorg-x11-server/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv24444 Modified Files: xorg-x11-server.spec Added Files: xserver-1.1.1-lid-crash.patch Log Message: * Mon Jun 18 2007 Adam Jackson 1.1.1-47.10 - xserver-1.1.1-lid-crash.patch: Fix a crash on ACPI lid events. (#242802) xserver-1.1.1-lid-crash.patch: lnx_acpi.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE xserver-1.1.1-lid-crash.patch --- --- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_acpi.c.jx 2006-07-05 14:31:41.000000000 -0400 +++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_acpi.c 2007-06-18 11:50:42.000000000 -0400 @@ -65,7 +65,7 @@ char *data = NULL; /* doesn't appear to be used in the kernel */ unsigned long int notify_l, data_l; - video = strtok(ev, "video"); + video = strtok(ev, " "); GFX = strtok(NULL, " "); #if 0 Index: xorg-x11-server.spec =================================================================== RCS file: /cvs/dist/rpms/xorg-x11-server/FC-6/xorg-x11-server.spec,v retrieving revision 1.190 retrieving revision 1.191 diff -u -r1.190 -r1.191 --- xorg-x11-server.spec 11 Apr 2007 17:43:40 -0000 1.190 +++ xorg-x11-server.spec 18 Jun 2007 16:07:10 -0000 1.191 @@ -3,7 +3,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.1.1 -Release: 47.9%{?dist} +Release: 47.10%{?dist} URL: http://www.x.org License: MIT/X11 Group: User Interface/X @@ -65,6 +65,7 @@ Patch2007: xorg-x11-server-1.1.1-aiglx-locking.patch Patch2008: xorg-x11-server-1.1.1-edid-hex-dump.patch Patch2009: xserver-1.1.1-int10-update.patch +Patch2010: xserver-1.1.1-lid-crash.patch # autoconfiguration feature patches Patch3001: xorg-x11-server-1.1.0-edid-mode-injection-1.patch @@ -395,6 +396,7 @@ %patch2007 -p1 -b .aiglx-locking %patch2008 -p1 -b .hexdump %patch2009 -p1 -b .int10-update +%patch2010 -p1 -b .lid-crash %patch3001 -p1 -b .edid1 %patch3002 -p1 -b .edid2 @@ -745,6 +747,9 @@ # ------------------------------------------------------------------- %changelog +* Mon Jun 18 2007 Adam Jackson 1.1.1-47.10 +- xserver-1.1.1-lid-crash.patch: Fix a crash on ACPI lid events. (#242802) + * Wed Apr 11 2007 Adam Jackson 1.1.1-47.9 - xserver-1.1.1-int10-update.patch: Backport various important int10 and x86emu updates from git. (#216927, among others) From fedora-cvs-commits at redhat.com Mon Jun 18 17:21:59 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 18 Jun 2007 13:21:59 -0400 Subject: rpms/kexec-tools/FC-6 kdump.sysconfig.x86_64, 1.1, 1.2 kexec-tools.spec, 1.67, 1.68 Message-ID: <200706181721.l5IHLxlx025893@cvs.devel.redhat.com> Author: nhorman Update of /cvs/dist/rpms/kexec-tools/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv25877 Modified Files: kdump.sysconfig.x86_64 kexec-tools.spec Log Message: Resolves: bz244464 Index: kdump.sysconfig.x86_64 =================================================================== RCS file: /cvs/dist/rpms/kexec-tools/FC-6/kdump.sysconfig.x86_64,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- kdump.sysconfig.x86_64 31 May 2007 19:20:00 -0000 1.1 +++ kdump.sysconfig.x86_64 18 Jun 2007 17:21:57 -0000 1.2 @@ -26,7 +26,7 @@ KDUMP_BOOTDIR="/boot" #What is the image type used for kdump -KDUMP_IMG="vmlinuz" +KDUMP_IMG="vmlinux" #What is the images extension. Relocatable kernels don't have one -KDUMP_IMG_EXT="" +KDUMP_IMG_EXT="kdump" Index: kexec-tools.spec =================================================================== RCS file: /cvs/dist/rpms/kexec-tools/FC-6/kexec-tools.spec,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- kexec-tools.spec 31 May 2007 19:20:00 -0000 1.67 +++ kexec-tools.spec 18 Jun 2007 17:21:57 -0000 1.68 @@ -1,6 +1,6 @@ Name: kexec-tools Version: 1.101 -Release: 56%{?dist} +Release: 57%{?dist} License: GPL Group: Applications/System Summary: The kexec/kdump userspace component. @@ -253,6 +253,9 @@ %doc kexec-kdump-howto.txt %changelog +* Mon Jun 18 2007 Neil Horman - 1.101-57%{dist} +- Fixing x86_64 sysconfig file to reflect need for kdump kernel (bz 244464) + * Thu May 31 2007 Neil Horman - 1.101-56%{dist} - Update kexec to latest devel branch (-69.fc7) since we have reolc. kernel - Fix kexec failure when kexec locates an out-of-range hole (bz 238768) From fedora-cvs-commits at redhat.com Tue Jun 19 18:24:46 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 19 Jun 2007 14:24:46 -0400 Subject: rpms/kernel/FC-6/configs config-debug, 1.3, 1.4 config-nodebug, 1.3, 1.4 Message-ID: <200706191824.l5JIOkUl020065@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-6/configs In directory cvs.devel.redhat.com:/tmp/cvs-serv20032/configs Modified Files: config-debug config-nodebug Log Message: * Mon Jun 19 2007 Chuck Ebbert - enable sound system debugging in -debug kernels Index: config-debug =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/configs/config-debug,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- config-debug 19 Mar 2007 21:40:55 -0000 1.3 +++ config-debug 19 Jun 2007 18:24:43 -0000 1.4 @@ -1,3 +1,8 @@ +CONFIG_SND_VERBOSE_PRINTK=y +CONFIG_SND_DEBUG=y +CONFIG_SND_DEBUG_DETECT=y +CONFIG_SND_PCM_XRUN_DEBUG=y + CONFIG_DEBUG_IGNORE_QUIET=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_MUTEXES=y Index: config-nodebug =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/configs/config-nodebug,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- config-nodebug 19 Mar 2007 21:40:55 -0000 1.3 +++ config-nodebug 19 Jun 2007 18:24:44 -0000 1.4 @@ -1,3 +1,8 @@ +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_DEBUG_DETECT is not set +# CONFIG_SND_PCM_XRUN_DEBUG is not set + # CONFIG_DEBUG_IGNORE_QUIET is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_MUTEXES is not set From fedora-cvs-commits at redhat.com Tue Jun 19 18:24:45 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 19 Jun 2007 14:24:45 -0400 Subject: rpms/kernel/FC-6 kernel-2.6.spec,1.2960,1.2961 Message-ID: <200706191824.l5JIOjMr020055@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv20032 Modified Files: kernel-2.6.spec Log Message: * Mon Jun 19 2007 Chuck Ebbert - enable sound system debugging in -debug kernels Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v retrieving revision 1.2960 retrieving revision 1.2961 diff -u -r1.2960 -r1.2961 --- kernel-2.6.spec 13 Jun 2007 19:03:35 -0000 1.2960 +++ kernel-2.6.spec 19 Jun 2007 18:24:43 -0000 1.2961 @@ -2400,6 +2400,9 @@ %endif %changelog +* Mon Jun 19 2007 Chuck Ebbert +- enable sound system debugging in -debug kernels + * Wed Jun 13 2007 Chuck Ebbert 1.2960 - sysfs: fix check in dentry drop code - kcryptd: 3 patches from 2.6.22 (BZ #243809) From fedora-cvs-commits at redhat.com Tue Jun 19 22:15:10 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 19 Jun 2007 18:15:10 -0400 Subject: rpms/kernel/FC-6 kernel-2.6.spec, 1.2961, 1.2962 linux-2.6-utrace-ptrace-compat.patch, 1.1, 1.2 Message-ID: <200706192215.l5JMFA2A025716@cvs.devel.redhat.com> Author: cebbert Update of /cvs/dist/rpms/kernel/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv25695 Modified Files: kernel-2.6.spec linux-2.6-utrace-ptrace-compat.patch Log Message: * Mon Jun 19 2007 Chuck Ebbert 1.2962 - utrace update Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/kernel-2.6.spec,v retrieving revision 1.2961 retrieving revision 1.2962 diff -u -r1.2961 -r1.2962 --- kernel-2.6.spec 19 Jun 2007 18:24:43 -0000 1.2961 +++ kernel-2.6.spec 19 Jun 2007 22:15:07 -0000 1.2962 @@ -2400,6 +2400,9 @@ %endif %changelog +* Mon Jun 19 2007 Chuck Ebbert 1.2962 +- utrace update + * Mon Jun 19 2007 Chuck Ebbert - enable sound system debugging in -debug kernels linux-2.6-utrace-ptrace-compat.patch: arch/i386/kernel/ptrace.c | 40 arch/powerpc/kernel/ptrace.c | 250 ++++ arch/powerpc/kernel/signal_32.c | 52 + arch/powerpc/lib/sstep.c | 3 arch/x86_64/ia32/ia32entry.S | 2 arch/x86_64/ia32/ptrace32.c | 56 - arch/x86_64/kernel/ptrace.c | 46 fs/proc/base.c | 40 include/asm-x86_64/ptrace-abi.h | 3 include/asm-x86_64/tracehook.h | 1 include/linux/ptrace.h | 221 +++- include/linux/sched.h | 4 init/Kconfig | 15 kernel/Makefile | 3 kernel/exit.c | 13 kernel/fork.c | 2 kernel/ptrace.c | 2046 +++++++++++++++++++++++++++++++++++++--- kernel/sys_ni.c | 4 18 files changed, 2627 insertions(+), 174 deletions(-) Index: linux-2.6-utrace-ptrace-compat.patch =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-6/linux-2.6-utrace-ptrace-compat.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- linux-2.6-utrace-ptrace-compat.patch 12 Jun 2007 22:10:40 -0000 1.1 +++ linux-2.6-utrace-ptrace-compat.patch 19 Jun 2007 22:15:08 -0000 1.2 @@ -17,7 +17,7 @@ arch/powerpc/kernel/signal_32.c | 52 + arch/powerpc/lib/sstep.c | 3 arch/x86_64/ia32/ia32entry.S | 2 - arch/x86_64/ia32/ptrace32.c | 56 + + arch/x86_64/ia32/ptrace32.c | 56 - arch/x86_64/kernel/ptrace.c | 46 fs/proc/base.c | 40 include/asm-x86_64/ptrace-abi.h | 3 @@ -28,9 +28,9 @@ kernel/Makefile | 3 kernel/exit.c | 13 kernel/fork.c | 2 - kernel/ptrace.c | 2032 +++++++++++++++++++++++++++++++++++++--- + kernel/ptrace.c | 2046 +++++++++++++++++++++++++++++++++++++--- kernel/sys_ni.c | 4 - 18 files changed, 2613 insertions(+), 174 deletions(-) + 18 files changed, 2627 insertions(+), 174 deletions(-) Index: b/fs/proc/base.c =================================================================== @@ -683,7 +683,7 @@ =================================================================== --- a/kernel/ptrace.c +++ b/kernel/ptrace.c -@@ -19,191 +19,1985 @@ +@@ -19,191 +19,1999 @@ #include #include #include @@ -1278,8 +1278,10 @@ + restart = 1; break; + } -+ else ++ else { + BUG_ON(error != -ESRCH); ++ restart = -1; ++ } + } + + rcu_read_unlock(); @@ -1287,9 +1289,15 @@ + END_CHECK; + + cond_resched(); -+ } while (restart); ++ } while (restart > 0); + -+ BUG_ON(!list_empty(&tsk->ptracees)); ++ if (likely(restart == 0)) ++ /* ++ * If we had an -ESRCH error from utrace_detach, we might ++ * still be racing with the thread in ptrace_state_unlink, ++ * but things are OK. ++ */ ++ BUG_ON(!list_empty(&tsk->ptracees)); +} + +static int @@ -1446,13 +1454,7 @@ + else if (clear_user(udata, n)) + ret = -EFAULT; + } - } -- if (copy_to_user(dst, buf, retval)) -- return -EFAULT; -- copied += retval; -- src += retval; -- dst += retval; -- len -= retval; ++ } + else { + unsigned int align; + const struct utrace_regset *regset = utrace_regset( @@ -1526,8 +1528,7 @@ + if (request == PTRACE_ATTACH) { + ret = ptrace_attach(child); + goto out_tsk; - } -- return copied; ++ } + + rcu_read_lock(); + engine = utrace_attach(child, UTRACE_ATTACH_MATCH_OPS, @@ -1554,7 +1555,13 @@ + if (child->state == TASK_STOPPED) + ret = 0; + unlock_task_sighand(child, &flags); -+ } + } +- if (copy_to_user(dst, buf, retval)) +- return -EFAULT; +- copied += retval; +- src += retval; +- dst += retval; +- len -= retval; + if (ret == 0) { + ret = ptrace_update(child, state, + UTRACE_ACTION_QUIESCE, 0); @@ -1564,9 +1571,15 @@ + BUG_ON(ret != -ESRCH); + } + -+ pr_debug("%d not stopped (%lu)\n", child->pid, child->state); -+ goto out_tsk_rcu; -+ } ++ if (ret) { ++ pr_debug("%d not stopped (%lu)\n", ++ child->pid, child->state); ++ goto out_tsk_rcu; ++ } ++ ++ ret = -ESRCH; /* Return value for exit_state bail-out. */ + } +- return copied; + + rcu_read_unlock(); + @@ -1762,7 +1775,11 @@ + if (ret == 0) { + ret = val; + force_successful_syscall_return(); -+ } + } +- copied += retval; +- src += retval; +- dst += retval; +- len -= retval; + goto out_tsk; + } + @@ -1782,7 +1799,8 @@ + break; + ret = put_user(tmp, (unsigned long __user *) data); + break; -+ } + } +- return copied; + + case PTRACE_POKETEXT: /* write the word at location addr. */ + case PTRACE_POKEDATA: @@ -1811,14 +1829,9 @@ + (siginfo_t __user *) data, + sizeof(siginfo_t))) + ret = -EFAULT; - } -- copied += retval; -- src += retval; -- dst += retval; -- len -= retval; ++ } + break; - } -- return copied; ++ } + +out_tsk: + NO_LOCKS; @@ -1931,13 +1944,13 @@ + struct task_struct *p, struct ptrace_state *state) { - int ret = -EPERM; -- -- ret = security_ptrace(current->parent, current); -- if (ret) -- return -EPERM; + int detach_error; + struct utrace_attached_engine *engine; +- ret = security_ptrace(current->parent, current); +- if (ret) +- return -EPERM; +- - return -ENOSYS; +restart: + NO_LOCKS; @@ -2105,13 +2118,6 @@ + current->pid, tsk->pid, p->pid, exit_code, + p->exit_state, p->exit_signal); + -+ /* -+ * If there was a group exit in progress, all threads report that -+ * status. Most will have SIGKILL in their own exit_code. -+ */ -+ if (p->signal->flags & SIGNAL_GROUP_EXIT) -+ exit_code = p->signal->group_exit_code; -+ + if (p->exit_state) { + if (unlikely(p->parent == tsk && p->exit_signal != -1)) + /* @@ -2122,6 +2128,14 @@ + * the normal wait_task_zombie path instead. + */ + return 0; ++ ++ /* ++ * If there was a group exit in progress, all threads ++ * report that status. Most have SIGKILL in their exit_code. ++ */ ++ if (p->signal->flags & SIGNAL_GROUP_EXIT) ++ exit_code = p->signal->group_exit_code; ++ + if ((exit_code & 0x7f) == 0) { + why = CLD_EXITED; + status = exit_code >> 8; @@ -2261,7 +2275,7 @@ - get_task_struct(child); + if (unlikely(parent->signal == NULL)) + goto out; -+ + + sighand = parent->sighand; + spin_lock_irqsave(&sighand->siglock, flags); + if (sighand->action[SIGCHLD-1].sa.sa_handler != SIG_IGN && @@ -2272,7 +2286,7 @@ + */ + wake_up_interruptible_sync(&parent->signal->wait_chldexit); + spin_unlock_irqrestore(&sighand->siglock, flags); - ++ +out: read_unlock(&tasklist_lock); - if (!child) @@ -2287,7 +2301,8 @@ + struct ptrace_state *state, + int code) + __releases(RCU) -+{ + { +- return -ENOSYS; + const struct utrace_regset *regset; + + pr_debug("%d ptrace_report %d engine %p" @@ -2332,7 +2347,7 @@ + (*regset->writeback)(tsk, regset, 0); + + return UTRACE_ACTION_RESUME; -+} + } + +static inline u32 +ptrace_event(struct utrace_attached_engine *engine, @@ -2635,8 +2650,7 @@ +ptrace_report_syscall(struct utrace_attached_engine *engine, + struct task_struct *tsk, struct pt_regs *regs, + int entry) - { -- return -ENOSYS; ++{ + struct ptrace_state *state = get_ptrace_state(engine, tsk); + if (unlikely(state == NULL)) + return UTRACE_ACTION_RESUME; @@ -2682,7 +2696,7 @@ + struct task_struct *tsk, struct pt_regs *regs) +{ + return ptrace_report_syscall(engine, tsk, regs, 1); - } ++} + +static u32 +ptrace_report_syscall_exit(struct utrace_attached_engine *engine, From fedora-cvs-commits at redhat.com Wed Jun 20 14:48:41 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 20 Jun 2007 10:48:41 -0400 Subject: rpms/ruby/FC-6 .cvsignore, 1.19, 1.20 ruby.spec, 1.92, 1.93 sources, 1.18, 1.19 Message-ID: <200706201448.l5KEmfBH010134@cvs.devel.redhat.com> Author: tagoh Update of /cvs/dist/rpms/ruby/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv10093 Modified Files: .cvsignore ruby.spec sources Log Message: * Wed Jul 20 2007 Akira TAGOH - 1.8.5.52-1 - New upstream release. Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/ruby/FC-6/.cvsignore,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- .cvsignore 19 Mar 2007 07:50:55 -0000 1.19 +++ .cvsignore 20 Jun 2007 14:48:39 -0000 1.20 @@ -13,3 +13,4 @@ ruby-1.8.5-p2.tar.gz ruby-1.8.5-p12.tar.gz ruby-1.8.5-p35.tar.gz +ruby-1.8.5-p52.tar.bz2 Index: ruby.spec =================================================================== RCS file: /cvs/dist/rpms/ruby/FC-6/ruby.spec,v retrieving revision 1.92 retrieving revision 1.93 diff -u -r1.92 -r1.93 --- ruby.spec 29 Mar 2007 09:32:40 -0000 1.92 +++ ruby.spec 20 Jun 2007 14:48:39 -0000 1.93 @@ -1,7 +1,7 @@ %define manver 1.4.6 %define rubyxver 1.8 %define rubyver 1.8.5 -%define _patchlevel 35 +%define _patchlevel 52 %define dotpatchlevel %{?_patchlevel:.%{_patchlevel}} %define patchlevel %{?_patchlevel:-p%{_patchlevel}} %define sitedir %{_libdir}/ruby/site_ruby @@ -11,7 +11,7 @@ Name: ruby Version: %{rubyver}%{?dotpatchlevel} -Release: 2%{?dist} +Release: 1%{?dist} License: Ruby License/GPL - see COPYING URL: http://www.ruby-lang.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -20,7 +20,7 @@ BuildRequires: emacs %endif -Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{name}-%{rubyver}%{?patchlevel}.tar.gz +Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{name}-%{rubyver}%{?patchlevel}.tar.bz2 ##Source1: ftp://ftp.ruby-lang.org/pub/%{name}/doc/%{name}-man-%{manver}.tar.gz Source1: %{name}-man-%{manver}.tar.bz2 Source2: http://www7.tok2.com/home/misc/files/%{name}/%{name}-refm-rdp-1.8.1-ja-html.tar.gz @@ -467,6 +467,9 @@ %endif %changelog +* Wed Jul 20 2007 Akira TAGOH - 1.8.5.52-1 +- New upstream release. + * Thu Mar 29 2007 Akira TAGOH - 1.8.5.35-2 - Fix a search path breakage. Index: sources =================================================================== RCS file: /cvs/dist/rpms/ruby/FC-6/sources,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- sources 19 Mar 2007 07:50:55 -0000 1.18 +++ sources 20 Jun 2007 14:48:39 -0000 1.19 @@ -2,4 +2,4 @@ d65e3a216d6d345a2a6f1aa8758c2f75 ruby-refm-rdp-1.8.1-ja-html.tar.gz 7f3e181c0be9a1579e43a5a8b26372d6 rubyfaq-990927.tar.bz2 8aa2e2da327dc43ff6e46e634eb657b6 rubyfaq-jp-990927.tar.bz2 -fe413bf114e16b0cd596d869743e9d35 ruby-1.8.5-p35.tar.gz +bc19ddcca90a54692306b45c43f8e1a9 ruby-1.8.5-p52.tar.bz2 From fedora-cvs-commits at redhat.com Wed Jun 20 17:26:53 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 20 Jun 2007 13:26:53 -0400 Subject: rpms/eclipse/FC-6 eclipse-osgi-Java-1.7-profile.patch, NONE, 1.1 eclipse.spec, 1.360, 1.361 Message-ID: <200706201726.l5KHQrtp018730@cvs.devel.redhat.com> Author: bkonrath Update of /cvs/dist/rpms/eclipse/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv18639 Modified Files: eclipse.spec Added Files: eclipse-osgi-Java-1.7-profile.patch Log Message: * Wed Jun 21 2007 Ben Konrath 3.2.2-8.fc6 - Add Java-1.7.profile to org.eclipse.osgi for IcedTea. - Resolves: #244883. eclipse-osgi-Java-1.7-profile.patch: JavaSE-1.7.profile | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++ profile.list | 1 2 files changed, 147 insertions(+) --- NEW FILE eclipse-osgi-Java-1.7-profile.patch --- Index: profile.list =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.osgi/profile.list,v retrieving revision 1.2 diff -u -r1.2 profile.list --- profile.list 12 Jan 2006 14:34:30 -0000 1.2 +++ profile.list 19 Jun 2007 19:00:57 -0000 @@ -9,6 +9,7 @@ # IBM Corporation - initial API and implementation ############################################################################### java.profiles = \ + JavaSE-1.7.profile,\ JavaSE-1.6.profile,\ J2SE-1.5.profile,\ J2SE-1.4.profile,\ Index: JavaSE-1.7.profile =================================================================== RCS file: JavaSE-1.7.profile diff -N JavaSE-1.7.profile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ JavaSE-1.7.profile 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,146 @@ +############################################################################### +# Copyright (c) 2003, 2005 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### +org.osgi.framework.system.packages = \ + javax.accessibility,\ + javax.activity,\ + javax.crypto,\ + javax.crypto.interfaces,\ + javax.crypto.spec,\ + javax.imageio,\ + javax.imageio.event,\ + javax.imageio.metadata,\ + javax.imageio.plugins.bmp,\ + javax.imageio.plugins.jpeg,\ + javax.imageio.spi,\ + javax.imageio.stream,\ + javax.management,\ + javax.management.loading,\ + javax.management.modelmbean,\ + javax.management.monitor,\ + javax.management.openmbean,\ + javax.management.relation,\ + javax.management.remote,\ + javax.management.remote.rmi,\ + javax.management.timer,\ + javax.naming,\ + javax.naming.directory,\ + javax.naming.event,\ + javax.naming.ldap,\ + javax.naming.spi,\ + javax.net,\ + javax.net.ssl,\ + javax.print,\ + javax.print.attribute,\ + javax.print.attribute.standard,\ + javax.print.event,\ + javax.rmi,\ + javax.rmi.CORBA,\ + javax.rmi.ssl,\ + javax.security.auth,\ + javax.security.auth.callback,\ + javax.security.auth.kerberos,\ + javax.security.auth.login,\ + javax.security.auth.spi,\ + javax.security.auth.x500,\ + javax.security.cert,\ + javax.security.sasl,\ + javax.sound.midi,\ + javax.sound.midi.spi,\ + javax.sound.sampled,\ + javax.sound.sampled.spi,\ + javax.sql,\ + javax.sql.rowset,\ + javax.sql.rowset.serial,\ + javax.sql.rowset.spi,\ + javax.swing,\ + javax.swing.border,\ + javax.swing.colorchooser,\ + javax.swing.event,\ + javax.swing.filechooser,\ + javax.swing.plaf,\ + javax.swing.plaf.basic,\ + javax.swing.plaf.metal,\ + javax.swing.plaf.multi,\ + javax.swing.plaf.synth,\ + javax.swing.table,\ + javax.swing.text,\ + javax.swing.text.html,\ + javax.swing.text.html.parser,\ + javax.swing.text.rtf,\ + javax.swing.tree,\ + javax.swing.undo,\ + javax.transaction,\ + javax.transaction.xa,\ + javax.xml,\ + javax.xml.datatype,\ + javax.xml.namespace,\ + javax.xml.parsers,\ + javax.xml.transform,\ + javax.xml.transform.dom,\ + javax.xml.transform.sax,\ + javax.xml.transform.stream,\ + javax.xml.validation,\ + javax.xml.xpath,\ + org.ietf.jgss,\ + org.omg.CORBA,\ + org.omg.CORBA_2_3,\ + org.omg.CORBA_2_3.portable,\ + org.omg.CORBA.DynAnyPackage,\ + org.omg.CORBA.ORBPackage,\ + org.omg.CORBA.portable,\ + org.omg.CORBA.TypeCodePackage,\ + org.omg.CosNaming,\ + org.omg.CosNaming.NamingContextExtPackage,\ + org.omg.CosNaming.NamingContextPackage,\ + org.omg.Dynamic,\ + org.omg.DynamicAny,\ + org.omg.DynamicAny.DynAnyFactoryPackage,\ + org.omg.DynamicAny.DynAnyPackage,\ + org.omg.IOP,\ + org.omg.IOP.CodecFactoryPackage,\ + org.omg.IOP.CodecPackage,\ + org.omg.Messaging,\ + org.omg.PortableInterceptor,\ + org.omg.PortableInterceptor.ORBInitInfoPackage,\ + org.omg.PortableServer,\ + org.omg.PortableServer.CurrentPackage,\ + org.omg.PortableServer.POAManagerPackage,\ + org.omg.PortableServer.POAPackage,\ + org.omg.PortableServer.portable,\ + org.omg.PortableServer.ServantLocatorPackage,\ + org.omg.SendingContext,\ + org.omg.stub.java.rmi,\ + org.w3c.dom,\ + org.w3c.dom.bootstrap,\ + org.w3c.dom.events,\ + org.w3c.dom.ls,\ + org.xml.sax,\ + org.xml.sax.ext,\ + org.xml.sax.helpers +org.osgi.framework.bootdelegation = \ + javax.*,\ + org.ietf.jgss,\ + org.omg.*,\ + org.w3c.*,\ + org.xml.*,\ + sun.*,\ + com.sun.* +org.osgi.framework.executionenvironment = \ + OSGi/Minimum-1.0,\ + OSGi/Minimum-1.1,\ + JRE-1.1,\ + J2SE-1.2,\ + J2SE-1.3,\ + J2SE-1.4,\ + J2SE-1.5,\ + JavaSE-1.6,\ + JavaSE-1.7 +osgi.java.profile.name = JavaSE-1.7 Index: eclipse.spec =================================================================== RCS file: /cvs/dist/rpms/eclipse/FC-6/eclipse.spec,v retrieving revision 1.360 retrieving revision 1.361 diff -u -r1.360 -r1.361 --- eclipse.spec 5 Jun 2007 03:51:43 -0000 1.360 +++ eclipse.spec 20 Jun 2007 17:26:51 -0000 1.361 @@ -19,7 +19,7 @@ Summary: An open, extensible IDE Name: eclipse Version: %{eclipse_majmin}.%{eclipse_micro} -Release: 7%{?dist} +Release: 8%{?dist} License: Eclipse Public License Group: Text Editors/Integrated Development Environments (IDE) URL: http://www.eclipse.org/ @@ -107,6 +107,7 @@ Patch23: %{name}-launcher-addplatformtotildeeclipse.patch Patch24: %{name}-add-ppc64-sparc64-s390-s390x.patch Patch25: %{name}-swt-cairo.patch +Patch26: %{name}-osgi-Java-1.7-profile.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ant @@ -494,6 +495,10 @@ %patch21 -p0 popd +pushd plugins/org.eclipse.osgi +%patch26 -p0 +popd + # Splashscreen pushd plugins/org.eclipse.platform cp %{SOURCE11} splash.bmp @@ -1767,6 +1772,10 @@ %{_libdir}/%{name}/plugins/org.eclipse.sdk_* %changelog +* Wed Jun 21 2007 Ben Konrath 3.2.2-8.fc6 +- Add Java-1.7.profile to org.eclipse.osgi for IcedTea. +- Resolves: #244883. + * Mon Jun 04 2007 Ben Konrath 3.2.2-7.fc6 - Add swt-cairo.patch, see eclipse.org bug #150357. - Resolves: #238681 From fedora-cvs-commits at redhat.com Thu Jun 21 12:07:19 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 21 Jun 2007 08:07:19 -0400 Subject: rpms/ipvsadm/devel ipvsadm-1.24-status.patch, NONE, 1.1 ipvsadm.spec, 1.13, 1.14 Message-ID: <200706211207.l5LC7JGx012050@cvs.devel.redhat.com> Author: mgrac Update of /cvs/dist/rpms/ipvsadm/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv12018 Modified Files: ipvsadm.spec Added Files: ipvsadm-1.24-status.patch Log Message: Resolves #232335 - service ipvsadm status returns 0 when the service is stopped ipvsadm-1.24-status.patch: ipvsadm.sh | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) --- NEW FILE ipvsadm-1.24-status.patch --- diff -urN ipvsadm-1.24/ipvsadm.sh ipvsadm/ipvsadm.sh --- ipvsadm-1.24/ipvsadm.sh 2002-08-10 06:32:38.000000000 +0200 +++ ipvsadm/ipvsadm.sh 2007-06-21 13:48:46.000000000 +0200 @@ -62,28 +62,39 @@ ipvsadm-restore < "$IPVSADM_CONFIG" && \ success "Applying IPVS configuration" || \ failure "Applying IPVS configuration" + RETVAL=$? echo - touch /var/lock/subsys/ipvsadm + if [ $RETVAL = 0 ]; then + touch /var/lock/subsys/ipvsadm + fi ;; stop) action "Clearing the current IPVS table:" ipvsadm -C rm -f /var/lock/subsys/ipvsadm + RETVAL=$? ;; reload|reload-force|restart) #Start should flush everything $0 start + RETVAL=$? ;; panic) # I'm not sure what panic does but in the case of IPVS # it makes sense just to clear everything action "Clearing the current IPVS table:" ipvsadm -C + RETVAL=$? ;; status) - ipvsadm -L -n + status ipvsadm + RETVAL=$? + if [ $RETVAL = 0 ]; then + ipvsadm -L -n + RETVAL=$? + fi ;; save) @@ -92,6 +103,7 @@ success "Saving IPVS table to $IPVSADM_CONFIG" || \ failure "Saving IPVS table to $IPVSADM_CONFIG" echo + RETVAL=$? ;; *) @@ -100,5 +112,5 @@ exit 1 esac -exit 0 +exit $RETVAL Index: ipvsadm.spec =================================================================== RCS file: /cvs/dist/rpms/ipvsadm/devel/ipvsadm.spec,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ipvsadm.spec 12 Jul 2006 06:26:24 -0000 1.13 +++ ipvsadm.spec 21 Jun 2007 12:07:16 -0000 1.14 @@ -1,7 +1,7 @@ Summary: Utility to administer the Linux Virtual Server Name: ipvsadm Version: 1.24 -Release: 8.1 +Release: 9 License: GPL URL: http://www.LinuxVirtualServer.org/ Group: Applications/System @@ -14,6 +14,7 @@ Source0: http://www.LinuxVirtualServer.org/software/ipvsadm-%{version}.tar.gz patch0: ipvsadm-1.24-kernhdr-1.2.0.patch +patch1: ipvsadm-1.24-status.patch #patch1: ipvsadm-1.21-desc.patch #patch2: ipvsadm-1.21-restore.patch #patch3: ipvsadm-1.21-sort.patch @@ -30,7 +31,7 @@ %prep %setup -n %{name}-%{version} %patch0 -p1 -#%patch1 -p1 +%patch1 -p1 #%patch2 -p1 #%patch3 -p1 #%patch4 -p1 From fedora-cvs-commits at redhat.com Thu Jun 21 12:22:28 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 21 Jun 2007 08:22:28 -0400 Subject: rpms/opensp/FC-6 opensp-sigsegv.patch, NONE, 1.1 opensp.spec, 1.11, 1.12 Message-ID: <200706211222.l5LCMSX4012268@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/opensp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12251 Modified Files: opensp.spec Added Files: opensp-sigsegv.patch Log Message: fixing bad ugly sigsegv (#245104) opensp-sigsegv.patch: ExtendEntityManager.cxx | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) --- NEW FILE opensp-sigsegv.patch --- --- OpenSP-1.5.2/lib/ExtendEntityManager.cxx 2005-11-05 10:05:20.000000000 +0100 +++ OpenSP-1.5.2.new/lib/ExtendEntityManager.cxx 2007-06-21 12:56:26.000000000 +0200 @@ -1238,7 +1238,8 @@ StorageObjectSpec::StorageObjectSpec() } StorageObjectSpec::StorageObjectSpec(const StorageObjectSpec& x) -: codingSystemName(x.codingSystemName), +: storageManager(x.storageManager), + codingSystemName(x.codingSystemName), codingSystem(x.codingSystem), specId(x.specId), baseId(x.baseId), @@ -1253,6 +1254,7 @@ StorageObjectSpec::StorageObjectSpec(con StorageObjectSpec& StorageObjectSpec::operator=(const StorageObjectSpec& x) { if (this != &x) { + storageManager = x.storageManager; codingSystemName = x.codingSystemName; codingSystem = x.codingSystem; specId = x.specId; Index: opensp.spec =================================================================== RCS file: /cvs/dist/rpms/opensp/FC-6/opensp.spec,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- opensp.spec 12 Jul 2006 07:35:36 -0000 1.11 +++ opensp.spec 21 Jun 2007 12:22:26 -0000 1.12 @@ -1,11 +1,12 @@ Summary: SGML and XML parser Name: opensp Version: 1.5.2 -Release: 3.1 +Release: 4 Requires: sgml-common >= 0.5 URL: http://openjade.sourceforge.net/ Source: http://download.sourceforge.net/openjade/OpenSP-%{version}.tar.gz Patch0: opensp-multilib.patch +Patch1: opensp-sigsegv.patch License: Distributable Group: Applications/Text BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -30,6 +31,7 @@ %prep %setup -q -n OpenSP-%{version} %patch0 -p1 -b .multilib +%patch1 -p1 -b .sigsegv %build %configure --disable-dependency-tracking --disable-static --enable-http \ @@ -97,6 +99,9 @@ %changelog +* Thu Jun 21 2007 Ondrej Vasik 1.5.2-4 +- Fixed SIGSEGV (bug #245104) + * Wed Jul 12 2006 Jesse Keating - 1.5.2-3.1 - rebuild From fedora-cvs-commits at redhat.com Thu Jun 21 12:25:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 21 Jun 2007 08:25:42 -0400 Subject: rpms/opensp/FC-6 opensp.spec,1.12,1.13 Message-ID: <200706211225.l5LCPgW5012358@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/opensp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12340 Modified Files: opensp.spec Log Message: added dist tag to release/make tag failure Index: opensp.spec =================================================================== RCS file: /cvs/dist/rpms/opensp/FC-6/opensp.spec,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- opensp.spec 21 Jun 2007 12:22:26 -0000 1.12 +++ opensp.spec 21 Jun 2007 12:25:40 -0000 1.13 @@ -1,7 +1,7 @@ Summary: SGML and XML parser Name: opensp Version: 1.5.2 -Release: 4 +Release: 4%{?dist} Requires: sgml-common >= 0.5 URL: http://openjade.sourceforge.net/ Source: http://download.sourceforge.net/openjade/OpenSP-%{version}.tar.gz @@ -101,6 +101,7 @@ %changelog * Thu Jun 21 2007 Ondrej Vasik 1.5.2-4 - Fixed SIGSEGV (bug #245104) +- added dist tag to release * Wed Jul 12 2006 Jesse Keating - 1.5.2-3.1 - rebuild From fedora-cvs-commits at redhat.com Thu Jun 21 12:41:31 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 21 Jun 2007 08:41:31 -0400 Subject: rpms/ntp/FC-6 ntp-4.2.4p2-mlock.patch, NONE, 1.1 ntp-4.2.4p2-multilisten.patch, NONE, 1.1 .cvsignore, 1.24, 1.25 ntp.spec, 1.65, 1.66 sources, 1.25, 1.26 ntp-4.2.4-autoopts.patch, 1.1, NONE ntp-4.2.4p0-ifupdate.patch, 1.1, NONE ntp-4.2.4p0-mlock.patch, 1.1, NONE ntp-4.2.4p0-multilisten.patch, 1.1, NONE Message-ID: <200706211241.l5LCfVVI013037@cvs.devel.redhat.com> Author: mlichvar Update of /cvs/dist/rpms/ntp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv13020 Modified Files: .cvsignore ntp.spec sources Added Files: ntp-4.2.4p2-mlock.patch ntp-4.2.4p2-multilisten.patch Removed Files: ntp-4.2.4-autoopts.patch ntp-4.2.4p0-ifupdate.patch ntp-4.2.4p0-mlock.patch ntp-4.2.4p0-multilisten.patch Log Message: - update to 4.2.4p2 ntp-4.2.4p2-mlock.patch: html/ntpd.html | 4 +++- ntpd/ntpd-opts.c | 23 ++++++++++++++++++++++- ntpd/ntpd-opts.h | 15 +++++++++++---- ntpd/ntpd.c | 4 +++- 4 files changed, 39 insertions(+), 7 deletions(-) --- NEW FILE ntp-4.2.4p2-mlock.patch --- --- ntp-4.2.4p2/html/ntpd.html.mlock 2007-06-21 10:37:31.000000000 +0200 +++ ntp-4.2.4p2/html/ntpd.html 2007-06-21 10:37:31.000000000 +0200 @@ -34,7 +34,7 @@

Synopsis

- ntpd [ -46aAbdDgLnNqx ] [ -c conffile ] [ -f driftfile ] [ -i jaildir ] [ -I iface ] [ -k keyfile ] [ -l logfile ] [ -p pidfile ] [ -P priority ] [ -r broadcastdelay ] [ -s statsdir ] [ -t key ] [ -u user[:group] ] [ -U interface_update_interval ] [ -v variable ] [ -V variable ] + ntpd [ -46aAbdDgLmnNqx ] [ -c conffile ] [ -f driftfile ] [ -i jaildir ] [ -I iface ] [ -k keyfile ] [ -l logfile ] [ -p pidfile ] [ -P priority ] [ -r broadcastdelay ] [ -s statsdir ] [ -t key ] [ -u user[:group] ] [ -U interface_update_interval ] [ -v variable ] [ -V variable ]

Description

The ntpd program is an operating system daemon which sets and maintains the system time of day in synchronism with Internet standard time servers. It is a complete implementation of the Network Time Protocol (NTP) version 4, but also retains compatibility with version 3, as defined by RFC-1305, and version 1 and 2, as defined by RFC-1059 and RFC-1119, respectively. ntpd does most computations in 64-bit floating point arithmetic and does relatively clumsy 64-bit fixed point operations only when necessary to preserve the ultimate precision, about 232 picoseconds. While the ultimate precision is not achievable with ordinary workstations and networks of today, it may be required with future gigahertz CPU clocks and gigabit LANs.

How NTP Operates

@@ -95,6 +95,8 @@
Specify the name and path of the log file. The default is the system log file. This is the same operation as the logfile logfile configuration command.
-L
Do not listen to virtual IPs. The default is to listen. +
-m +
Lock memory.
-n
Don't fork.
-N --- ntp-4.2.4p2/ntpd/ntpd.c.mlock 2007-06-21 10:37:31.000000000 +0200 +++ ntp-4.2.4p2/ntpd/ntpd.c 2007-06-21 10:37:31.000000000 +0200 @@ -699,7 +699,8 @@ ntpdmain( } #endif -#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) +#if defined(MCL_CURRENT) && defined(MCL_FUTURE) + if (HAVE_OPT( MLOCK )) { # ifdef HAVE_SETRLIMIT /* * Set the stack limit to something smaller, so that we don't lock a lot @@ -737,6 +738,7 @@ ntpdmain( */ if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0) msyslog(LOG_ERR, "mlockall(): %m"); + } #else /* not (HAVE_MLOCKALL && MCL_CURRENT && MCL_FUTURE) */ # ifdef HAVE_PLOCK # ifdef PROCLOCK --- ntp-4.2.4p2/ntpd/ntpd-opts.c.mlock 2007-06-20 13:37:21.000000000 +0200 +++ ntp-4.2.4p2/ntpd/ntpd-opts.c 2007-06-21 10:38:43.000000000 +0200 @@ -265,6 +265,15 @@ tSCC zNice_Name[] = "ni #define NICE_FLAGS (OPTST_DISABLED) /* + * Mlock option description: + */ +tSCC zMlockText[] = + "Lock memory"; +tSCC zMlock_NAME[] = "MLOCK"; +tSCC zMlock_Name[] = "mlock"; +#define MLOCK_FLAGS (OPTST_DISABLED) + +/* * Pidfile option description: */ tSCC zPidfileText[] = @@ -790,6 +799,18 @@ static tOptDesc optDesc[ OPTION_CT ] = { OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT #endif + { /* entry idx, value */ 29, VALUE_OPT_MLOCK, + /* equiv idx, value */ 29, VALUE_OPT_MLOCK, + /* equivalenced to */ NO_EQUIVALENT, + /* min, max, act ct */ 0, 1, 0, + /* opt state flags */ MLOCK_FLAGS, 0, + /* last opt argumnt */ { NULL }, + /* arg list/cookie */ NULL, + /* must/cannot opts */ NULL, NULL, + /* option proc */ NULL, + /* desc, NAME, name */ zMlockText, zMlock_NAME, zMlock_Name, + /* disablement strs */ NULL, NULL }, + { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION, /* equiv idx value */ NO_EQUIVALENT, 0, /* equivalenced to */ NO_EQUIVALENT, @@ -882,7 +903,7 @@ tOptions ntpdOptions = { NO_EQUIVALENT /* index of '-#' option */, NO_EQUIVALENT /* index of default opt */ }, - 32 /* full option count */, 29 /* user option count */ + 33 /* full option count */, 30 /* user option count */ }; /* --- ntp-4.2.4p2/ntpd/ntpd-opts.h.mlock 2007-06-20 13:37:21.000000000 +0200 +++ ntp-4.2.4p2/ntpd/ntpd-opts.h 2007-06-21 10:42:28.000000000 +0200 @@ -82,12 +82,13 @@ typedef enum { INDEX_OPT_VAR = 26, INDEX_OPT_DVAR = 27, INDEX_OPT_SLEW = 28, - INDEX_OPT_VERSION = 29, - INDEX_OPT_HELP = 30, - INDEX_OPT_MORE_HELP = 31 + INDEX_OPT_MLOCK = 29, + INDEX_OPT_VERSION = 30, + INDEX_OPT_HELP = 31, + INDEX_OPT_MORE_HELP = 32 } teOptIndex; -#define OPTION_CT 32 +#define OPTION_CT 33 #define NTPD_VERSION "4.2.4p2" #define NTPD_FULL_VERSION "ntpd - NTP daemon program - Ver. 4.2.4p2" @@ -180,6 +181,10 @@ typedef enum { # warning undefining MODIFYMMTIMER due to option name conflict # undef MODIFYMMTIMER # endif +# ifdef MLOCK +# warning undefining MLOCK due to option name conflict +# undef MLOCK +# endif # ifdef NOFORK # warning undefining NOFORK due to option name conflict # undef NOFORK @@ -249,6 +254,7 @@ typedef enum { # undef LOGFILE # undef NOVIRTUALIPS # undef MODIFYMMTIMER +# undef MLOCK # undef NOFORK # undef NICE # undef PIDFILE @@ -291,6 +297,7 @@ typedef enum { #ifdef SYS_WINNT #define VALUE_OPT_MODIFYMMTIMER 'M' #endif /* SYS_WINNT */ +#define VALUE_OPT_MLOCK 'm' #define VALUE_OPT_NOFORK 'n' #define VALUE_OPT_NICE 'N' #define VALUE_OPT_PIDFILE 'p' ntp-4.2.4p2-multilisten.patch: include/ntpd.h | 2 ++ ntpd/cmd_args.c | 1 - ntpd/ntp_io.c | 44 +++++++++++++++++++++++++++++++++++--------- ntpd/ntpd.c | 15 +++++---------- 4 files changed, 42 insertions(+), 20 deletions(-) --- NEW FILE ntp-4.2.4p2-multilisten.patch --- --- ntp-4.2.4p2/include/ntpd.h.multilisten 2006-12-28 13:03:06.000000000 +0100 +++ ntp-4.2.4p2/include/ntpd.h 2007-06-21 10:31:38.000000000 +0200 @@ -79,6 +79,8 @@ extern void enable_broadcast P((struct extern void enable_multicast_if P((struct interface *, struct sockaddr_storage *)); extern void interface_dump P((struct interface *)); +extern void add_specific_interface P((const char *)); +extern void init_specific_interface P((void)); extern void interface_update P((interface_receiver_t, void *)); extern void init_io P((void)); extern void input_handler P((l_fp *)); --- ntp-4.2.4p2/ntpd/ntp_io.c.multilisten 2007-05-29 13:02:33.000000000 +0200 +++ ntp-4.2.4p2/ntpd/ntp_io.c 2007-06-21 10:33:58.000000000 +0200 @@ -66,7 +66,15 @@ #endif /* IPv6 Support */ extern int listen_to_virtual_ips; -extern const char *specific_interface; + +/* interface names to listen on */ +struct specific_interface { + const char *name; + ISC_LINK(struct specific_interface) link; +}; + +ISC_LIST(struct specific_interface) specific_interface_list; + #if defined(SO_TIMESTAMP) && defined(SCM_TIMESTAMP) #if defined(CMSG_FIRSTHDR) @@ -924,14 +932,15 @@ address_okay(struct interface *iface) { /* * Check if the interface is specified */ - if (specific_interface != NULL) { - if (strcasecmp(iface->name, specific_interface) == 0) { - DPRINTF(4, ("address_okay: specific interface name matched - OK\n")); - return (ISC_TRUE); - } else { - DPRINTF(4, ("address_okay: specific interface name NOT matched - FAIL\n")); - return (ISC_FALSE); - } + if (ISC_LIST_HEAD(specific_interface_list)) { + struct specific_interface *iface_; + for (iface_ = ISC_LIST_HEAD(specific_interface_list); iface_ != NULL; iface_ = ISC_LIST_NEXT(iface_, link)) + if (strcasecmp(iface->name, iface_->name) == 0) { + DPRINTF(4, ("address_okay: specific interface name matched - OK\n")); + return (ISC_TRUE); + } + DPRINTF(4, ("address_okay: specific interface name NOT matched - FAIL\n")); + return (ISC_FALSE); } else { if (listen_to_virtual_ips == 0 && @@ -1044,6 +1053,23 @@ refresh_interface(struct interface * int #endif /* !OS_MISSES_SPECIFIC_ROUTE_UPDATES */ } +void +add_specific_interface (const char *if_name) +{ + struct specific_interface *iface; + + iface = (struct specific_interface *)emalloc(sizeof(struct specific_interface)); + iface->name = if_name; + ISC_LINK_INIT(iface, link); + ISC_LIST_APPEND(specific_interface_list, iface, link); +} + +void +init_specific_interface (void) +{ + ISC_LIST_INIT(specific_interface_list); +} + /* * interface_update - externally callable update function */ --- ntp-4.2.4p2/ntpd/cmd_args.c.multilisten 2006-12-28 13:03:26.000000000 +0100 +++ ntp-4.2.4p2/ntpd/cmd_args.c 2007-06-21 10:31:38.000000000 +0200 @@ -22,7 +22,6 @@ * Definitions of things either imported from or exported to outside */ extern char const *progname; -extern const char *specific_interface; extern int default_ai_family; #ifdef HAVE_NETINFO --- ntp-4.2.4p2/ntpd/ntpd.c.multilisten 2007-06-21 10:31:38.000000000 +0200 +++ ntp-4.2.4p2/ntpd/ntpd.c 2007-06-21 10:31:38.000000000 +0200 @@ -156,7 +156,6 @@ volatile int debug = 0; /* No debugging #endif int listen_to_virtual_ips = 1; -const char *specific_interface = NULL; /* interface name or IP address to bind to */ /* * No-fork flag. If set, we do not become a background daemon. @@ -537,18 +536,14 @@ ntpdmain( if (HAVE_OPT( NOVIRTUALIPS )) listen_to_virtual_ips = 0; + init_specific_interface(); + if (HAVE_OPT( INTERFACE )) { -#if 0 int ifacect = STACKCT_OPT( INTERFACE ); - char** ifaces = STACKLST_OPT( INTERFACE ); + const char** ifaces = STACKLST_OPT( INTERFACE ); - /* malloc space for the array of names */ - while (ifacect-- > 0) { - next_iface = *ifaces++; - } -#else - specific_interface = OPT_ARG( INTERFACE ); -#endif + while (ifacect-- > 0) + add_specific_interface(*ifaces++); } if (HAVE_OPT( NICE )) Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/ntp/FC-6/.cvsignore,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- .cvsignore 7 Mar 2007 18:49:00 -0000 1.24 +++ .cvsignore 21 Jun 2007 12:41:28 -0000 1.25 @@ -1,2 +1,2 @@ ntpstat-0.2.tgz -ntp-4.2.4p0.tar.gz +ntp-4.2.4p2.tar.gz Index: ntp.spec =================================================================== RCS file: /cvs/dist/rpms/ntp/FC-6/ntp.spec,v retrieving revision 1.65 retrieving revision 1.66 diff -u -r1.65 -r1.66 --- ntp.spec 22 May 2007 15:13:24 -0000 1.65 +++ ntp.spec 21 Jun 2007 12:41:28 -0000 1.66 @@ -2,8 +2,8 @@ Summary: Synchronizes system time using the Network Time Protocol (NTP). Name: ntp -Version: 4.2.4p0 -Release: 2%{?dist} +Version: 4.2.4p2 +Release: 1%{?dist} License: distributable Group: System Environment/Daemons Source0: http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-%{version}.tar.gz @@ -21,15 +21,13 @@ Patch3: ntp-4.2.4-groups.patch Patch4: ntp-4.1.1c-rc3-authkey.patch Patch5: ntp-4.2.4-linkfastmath.patch -Patch6: ntp-4.2.4p0-ifupdate.patch Patch7: ntp-4.2.4-revert452.patch -Patch8: ntp-4.2.4p0-multilisten.patch +Patch8: ntp-4.2.4p2-multilisten.patch Patch9: ntp-4.2.4-html2man.patch Patch10: ntp-4.2.4-htmldoc.patch Patch11: ntp-stable-4.2.0a-20050816-keyfile.patch Patch12: ntp-4.2.4-sprintf.patch -Patch13: ntp-4.2.4-autoopts.patch -Patch14: ntp-4.2.4p0-mlock.patch +Patch14: ntp-4.2.4p2-mlock.patch Patch18: ntp-4.2.4p0-bcast.patch Patch19: ntp-4.2.4p0-retcode.patch @@ -61,14 +59,12 @@ %patch2 -p1 -b .droproot %patch3 -p1 -b .groups %patch4 -p1 -b .authkey -%patch6 -p1 -b .ifupdate %patch7 -p1 -b .revert452 %patch8 -p1 -b .multilisten %patch9 -p1 -b .html2man %patch10 -p1 -b .htmldoc %patch11 -p1 -b .keyfile %patch12 -p1 -b .sprintf -%patch13 -p1 -b .autoopts %patch14 -p1 -b .mlock %patch18 -p1 -b .bcast %patch19 -p1 -b .retcode @@ -184,6 +180,9 @@ %changelog +* Thu Jun 21 2007 Miroslav Lichvar 4.2.4p2-1.fc6 +- update to 4.2.4p2 + * Tue May 22 2007 Miroslav Lichvar 4.2.4p0-2.fc6 - fix interface updates with -I or -L option (#240254) - accept multiple -I options Index: sources =================================================================== RCS file: /cvs/dist/rpms/ntp/FC-6/sources,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- sources 7 Mar 2007 18:49:00 -0000 1.25 +++ sources 21 Jun 2007 12:41:28 -0000 1.26 @@ -1,2 +1,2 @@ 6b2bedefe2e7c63ea52609b222022121 ntpstat-0.2.tgz -6f381e3764eac481bed9cf7e4d508952 ntp-4.2.4p0.tar.gz +315a76da63715fd43b6349411fbb0b25 ntp-4.2.4p2.tar.gz --- ntp-4.2.4-autoopts.patch DELETED --- --- ntp-4.2.4p0-ifupdate.patch DELETED --- --- ntp-4.2.4p0-mlock.patch DELETED --- --- ntp-4.2.4p0-multilisten.patch DELETED --- From fedora-cvs-commits at redhat.com Thu Jun 21 14:23:41 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 21 Jun 2007 10:23:41 -0400 Subject: rpms/xen/FC-6 xen-logfile-permissions.patch, NONE, 1.1 xen.spec, 1.169, 1.170 Message-ID: <200706211423.l5LENfZa015491@cvs.devel.redhat.com> Author: armbru Update of /cvs/dist/rpms/xen/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15474 Modified Files: xen.spec Added Files: xen-logfile-permissions.patch Log Message: - Create xend-debug.log with sane permissions (bz 219868) xen-logfile-permissions.patch: SrvDaemon.py | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE xen-logfile-permissions.patch --- Changesets 14918 and 14923 collapsed into one: --- a/tools/python/xen/xend/server/SrvDaemon.py 2007-06-12 18:48:17.000000000 +0200 +++ b/tools/python/xen/xend/server/SrvDaemon.py 2007-06-21 15:53:15.000000000 +0200 @@ -105,7 +105,7 @@ class Daemon: os.close(2) if XEND_DEBUG: os.open('/dev/null', os.O_RDONLY) - os.open(XEND_DEBUG_LOG, os.O_WRONLY|os.O_CREAT|os.O_APPEND) + os.open(XEND_DEBUG_LOG, os.O_WRONLY|os.O_CREAT|os.O_APPEND, 0666) os.dup(1) else: os.open('/dev/null', os.O_RDWR) Index: xen.spec =================================================================== RCS file: /cvs/dist/rpms/xen/FC-6/xen.spec,v retrieving revision 1.169 retrieving revision 1.170 diff -u -r1.169 -r1.170 --- xen.spec 28 Mar 2007 20:13:27 -0000 1.169 +++ xen.spec 21 Jun 2007 14:23:39 -0000 1.170 @@ -3,7 +3,7 @@ Summary: Xen is a virtual machine monitor Name: xen Version: 3.0.3 -Release: 9%{dist} +Release: 10%{dist} Group: Development/Libraries License: GPL URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html @@ -52,6 +52,7 @@ Patch41: xen-fix-ia64-hvm-shadow.patch Patch42: xen-network-bonding-fix.patch +Patch43: xen-logfile-permissions.patch Patch80: xen-destroydevice-args.patch Patch81: xen-hotplug-error-reporting.patch @@ -209,6 +210,8 @@ %patch41 -p1 # network bonding fix %patch42 -p1 +# Create log files with sane permissions +%patch43 -p1 # fix HVM cannot allocate memory bug %patch80 -p1 @@ -349,6 +352,9 @@ %{_libdir}/*.a %changelog +* Thu Jun 21 2007 Markus Armbruster - 3.0.3-10.fc6 +- Create xend-debug.log with sane permissions (bz 219868) + * Thu Mar 28 2007 Markus Armbruster - 3.0.3-9.fc6 - Cope with shadow translate mode guests, required for IA-64 (bz 212515) - fix ethernet bonding in balanced-rr mode From fedora-cvs-commits at redhat.com Thu Jun 21 17:38:25 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 21 Jun 2007 13:38:25 -0400 Subject: rpms/yum-metadata-parser/FC-6 yum-metadata-parser.spec,1.7,1.8 Message-ID: <200706211738.l5LHcPEf019853@cvs.devel.redhat.com> Author: jkeating Update of /cvs/dist/rpms/yum-metadata-parser/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19838 Modified Files: yum-metadata-parser.spec Log Message: * Thu Jun 21 2007 Jesse Keating - 1.0.3-2 - Require python-sqlite Index: yum-metadata-parser.spec =================================================================== RCS file: /cvs/dist/rpms/yum-metadata-parser/FC-6/yum-metadata-parser.spec,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- yum-metadata-parser.spec 8 Jan 2007 18:40:38 -0000 1.7 +++ yum-metadata-parser.spec 21 Jun 2007 17:38:23 -0000 1.8 @@ -3,13 +3,14 @@ Summary: A fast metadata parser for yum Name: yum-metadata-parser Version: 1.0.3 -Release: 1%{?dist} +Release: 2%{?dist} Source0: http://linux.duke.edu/projects/yum/download/%{name}/%{name}-%{version}.tar.gz Patch0: yum-metadata-parser-1.0-quiet.patch License: GPL Group: Development/Libraries URL: http://linux.duke.edu/projects/yum/ Conflicts: yum < 2.6.2 +Requires: python-sqlite BuildRequires: python-devel BuildRequires: glib2-devel BuildRequires: libxml2-devel @@ -42,6 +43,9 @@ %{python_sitelib_platform}/sqlitecachec.pyo %changelog +* Thu Jun 21 2007 Jesse Keating - 1.0.3-2 +- Require python-sqlite + * Mon Jan 8 2007 Jeremy Katz - 1.0.3-1 - update to 1.0.3 From fedora-cvs-commits at redhat.com Fri Jun 22 12:26:43 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 22 Jun 2007 08:26:43 -0400 Subject: rpms/xterm/FC-6 xterm-226-man-page_paths.patch, NONE, 1.1 .cvsignore, 1.18, 1.19 sources, 1.18, 1.19 xterm.spec, 1.52, 1.53 xterm-222-man-page_paths.patch, 1.2, NONE Message-ID: <200706221226.l5MCQhXp012014@cvs.devel.redhat.com> Author: mlichvar Update of /cvs/dist/rpms/xterm/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv11998 Modified Files: .cvsignore sources xterm.spec Added Files: xterm-226-man-page_paths.patch Removed Files: xterm-222-man-page_paths.patch Log Message: - update to 226 xterm-226-man-page_paths.patch: minstall.sh | 7 +++++++ xterm.man | 12 ++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) --- NEW FILE xterm-226-man-page_paths.patch --- --- xterm-226/xterm.man.man-page_paths 2007-06-13 23:19:59.000000000 +0200 +++ xterm-226/xterm.man 2007-06-21 16:06:15.000000000 +0200 @@ -679,7 +679,7 @@ xterm -e /bin/bash -l -c "my command her .RE .IP Finally, \fB-ls\fP is not completely ignored, -because \fIxterm\ -ls\ -e\fP does write a \fI/etc/wtmp\fP entry +because \fIxterm\ -ls\ -e\fP does write a \fI/var/log/wtmp\fP entry (if configured to do so), whereas \fIxterm\ -e\fP does not. .TP 8 @@ -1575,17 +1575,17 @@ Since X11R6, bitmap fonts have been scal The font server claims to provide the bold font that \fIxterm\fP requests, but the result is not always readable. XFree86 provides a feature which can be used to suppress the scaling. -In the X server's configuration file (e.g., "/etc/X11/XFree86"), you +In the X server's configuration file (e.g., __xorgcfgdir__/__xorgcfgfil__), you can add ":unscaled" to the end of the directory specification for the "misc" fonts, which comprise the fixed-pitch fonts that are used by \fIxterm\fP. For example .RS - FontPath "/usr/lib/X11/fonts/misc/" + FontPath "__fontpath__" .RE .IP would become .RS - FontPath "/usr/lib/X11/fonts/misc/:unscaled" + FontPath "__fontpath__/misc/:unscaled" .RE .IP Depending on your configuration, the font server may have its own configuration @@ -4596,10 +4596,10 @@ may be defined to a nonstandard location .SH FILES The actual pathnames given may differ on your system. .TP 5 -\fI/etc/utmp\fP +\fI/var/run/utmp\fP the system logfile, which records user logins. .TP 5 -\fI/etc/wtmp\fP +\fI/var/log/wtmp\fP the system logfile, which records user logins and logouts. .TP 5 .I __apploaddir__/XTerm --- xterm-226/minstall.sh.man-page_paths 2007-05-25 00:10:42.000000000 +0200 +++ xterm-226/minstall.sh 2007-06-21 16:29:57.000000000 +0200 @@ -26,10 +26,17 @@ MY_MANSECT=$suffix X_MANSECT=`man X 2>&1 | tr '\012' '\020' | sed -e 's/^[^0123456789]*\([^) ][^) ]*\).*/\1/'` test -z "$X_MANSECT" && X_MANSECT=$suffix +fontpath=/usr/share/X11/fonts +xorgcfgdir=/etc/X11 +xorgcfgfil=xorg.conf +X_MANSECT=7 sed -e 's%__vendorversion__%"X Window System"%' \ -e s%__apploaddir__%$APPS_DIR% \ -e s%__mansuffix__%$MY_MANSECT%g \ -e s%__miscmansuffix__%$X_MANSECT%g \ + -e s%__fontpath__%$fontpath%g \ + -e s%__xorgcfgdir__%$xorgcfgdir%g \ + -e s%__xorgcfgfil__%$xorgcfgfil%g \ $OLD_FILE >$NEW_FILE echo "$MINSTALL $OLD_FILE $END_FILE" Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/xterm/FC-6/.cvsignore,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- .cvsignore 12 Apr 2007 11:47:51 -0000 1.18 +++ .cvsignore 22 Jun 2007 12:26:41 -0000 1.19 @@ -1,2 +1,2 @@ 16colors.txt -xterm-225.tgz +xterm-226.tgz Index: sources =================================================================== RCS file: /cvs/dist/rpms/xterm/FC-6/sources,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- sources 12 Apr 2007 11:47:51 -0000 1.18 +++ sources 22 Jun 2007 12:26:41 -0000 1.19 @@ -1,2 +1,2 @@ 6093439b8d79089f4ff1cdfed358b401 16colors.txt -dbd31341a9ccb982647416e8d27b0f00 xterm-225.tgz +93d1f43ac3c13af86c598493f14a36f6 xterm-226.tgz Index: xterm.spec =================================================================== RCS file: /cvs/dist/rpms/xterm/FC-6/xterm.spec,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- xterm.spec 12 Apr 2007 11:47:51 -0000 1.52 +++ xterm.spec 22 Jun 2007 12:26:41 -0000 1.53 @@ -1,6 +1,6 @@ Summary: xterm terminal emulator for the X Window System Name: xterm -Version: 225 +Version: 226 Release: 1%{?dist} URL: http://dickey.his.com/xterm License: MIT @@ -14,7 +14,7 @@ Patch1: xterm-223-redhat-resources.patch Patch2: xterm-222-can-2003-0063.patch -Patch3: xterm-222-man-page_paths.patch +Patch3: xterm-226-man-page_paths.patch %{?!enable_trace: %define enable_trace 0} @@ -65,11 +65,15 @@ %{_bindir}/uxterm %{_mandir}/man1/resize.1* %{_mandir}/man1/xterm.1* +%{_datadir}/pixmaps/xterm*.xpm %{x11_app_defaults_dir}/UXTerm %{x11_app_defaults_dir}/XTerm %{x11_app_defaults_dir}/XTerm-color %changelog +* Fri Jun 22 2007 Miroslav Lichvar 226-1.fc6 +- update to 226 + * Thu Apr 12 2007 Miroslav Lichvar 225-1.fc6 - update to 225 - fix sections in man pages --- xterm-222-man-page_paths.patch DELETED --- From fedora-cvs-commits at redhat.com Fri Jun 22 16:01:20 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 22 Jun 2007 12:01:20 -0400 Subject: rpms/libXfont/devel .cvsignore, 1.13, 1.14 libXfont.spec, 1.32, 1.33 sources, 1.14, 1.15 libXfont-1.2.3-namespace-pollution.patch, 1.2, NONE Message-ID: <200706221601.l5MG1KdC017524@cvs.devel.redhat.com> Author: krh Update of /cvs/dist/rpms/libXfont/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv17507 Modified Files: .cvsignore libXfont.spec sources Removed Files: libXfont-1.2.3-namespace-pollution.patch Log Message: * Thu Jun 21 2007 Kristian H??gsberg 1.2.9-1 - Bump to 1.2.9 to get catalogue FPE. Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/libXfont/devel/.cvsignore,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- .cvsignore 6 Apr 2007 18:01:44 -0000 1.13 +++ .cvsignore 22 Jun 2007 16:01:17 -0000 1.14 @@ -1 +1 @@ -libXfont-1.2.8.tar.bz2 +libXfont-1.2.9.tar.bz2 Index: libXfont.spec =================================================================== RCS file: /cvs/dist/rpms/libXfont/devel/libXfont.spec,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- libXfont.spec 6 Apr 2007 18:12:57 -0000 1.32 +++ libXfont.spec 22 Jun 2007 16:01:17 -0000 1.33 @@ -1,6 +1,6 @@ Summary: X.Org X11 libXfont runtime library Name: libXfont -Version: 1.2.8 +Version: 1.2.9 Release: 1%{?dist} License: MIT/X11 Group: System Environment/Libraries @@ -8,7 +8,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: ftp://ftp.x.org/pub/individual/lib/%{name}-%{version}.tar.bz2 -#Patch0: libXfont-1.2.3-namespace-pollution.patch BuildRequires: pkgconfig BuildRequires: xorg-x11-util-macros @@ -39,7 +38,9 @@ %prep %setup -q -#%patch0 -p1 -b .hidden + +# Disable static library creation by default. +%define with_static 0 %build %configure --disable-static @@ -91,6 +92,9 @@ %{_libdir}/pkgconfig/xfont.pc %changelog +* Thu Jun 21 2007 Kristian H??gsberg 1.2.9-1 +- Bump to 1.2.9 to get catalogue FPE. + * Fri Apr 06 2007 Adam Jackson 1.2.8-1 - libXfont 1.2.8. Index: sources =================================================================== RCS file: /cvs/dist/rpms/libXfont/devel/sources,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- sources 6 Apr 2007 18:01:44 -0000 1.14 +++ sources 22 Jun 2007 16:01:17 -0000 1.15 @@ -1 +1 @@ -83b8e21f6ee22512a8f72ba51e2d74f6 libXfont-1.2.8.tar.bz2 +e2dc2ff39ddbe15be5113101cf022069 libXfont-1.2.9.tar.bz2 --- libXfont-1.2.3-namespace-pollution.patch DELETED --- From fedora-cvs-commits at redhat.com Sat Jun 23 15:34:44 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 23 Jun 2007 11:34:44 -0400 Subject: rpms/perl-Net-DNS/FC-6 .cvsignore, 1.12, 1.13 perl-Net-DNS.spec, 1.27, 1.28 sources, 1.12, 1.13 Message-ID: <200706231534.l5NFYikj006249@cvs.devel.redhat.com> Author: rnorwood Update of /cvs/dist/rpms/perl-Net-DNS/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv6233 Modified Files: .cvsignore perl-Net-DNS.spec sources Log Message: update to latest CPAN: 0.60 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/perl-Net-DNS/FC-6/.cvsignore,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- .cvsignore 28 Sep 2006 01:36:26 -0000 1.12 +++ .cvsignore 23 Jun 2007 15:34:42 -0000 1.13 @@ -1 +1 @@ -Net-DNS-0.59.tar.gz +Net-DNS-0.60.tar.gz Index: perl-Net-DNS.spec =================================================================== RCS file: /cvs/dist/rpms/perl-Net-DNS/FC-6/perl-Net-DNS.spec,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- perl-Net-DNS.spec 28 Sep 2006 01:26:23 -0000 1.27 +++ perl-Net-DNS.spec 23 Jun 2007 15:34:42 -0000 1.28 @@ -1,14 +1,14 @@ Name: perl-Net-DNS -Version: 0.59 +Version: 0.60 Release: 1%{?dist} Summary: DNS resolver modules for Perl License: GPL or Artistic Group: Development/Libraries URL: http://www.net-dns.org/ Source0: http://www.cpan.org/authors/id/O/OL/OLAF/Net-DNS-%{version}.tar.gz -BuildRequires: perl >= 1:5.6.1, perl-Digest-HMAC, perl-Net-IP +BuildRequires: perl(Digest::HMAC), perl(Net::IP) Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -BuildRoot: %{_tmppath}/%{name}-%{version}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Net::DNS is a collection of Perl modules that act as a Domain Name @@ -52,6 +52,13 @@ %exclude %{_mandir}/man3/Net::DNS::Resolver::Win32.3* %changelog +* Sat Jun 23 2007 Robin Norwood - 0.60-1 +- Upgrade to latest upstream version - 0.60 +- Included changes from 0.59-2 in F-7: +- Fixed issues brought up during package review +- BuildRequires should not require perl, and fixed the format. +- Fixed the BuildRoot + * Wed Sep 27 2006 Robin Norwood - 0.59-1 - Upgrade to upstream version 0.59 per bug #208315 Index: sources =================================================================== RCS file: /cvs/dist/rpms/perl-Net-DNS/FC-6/sources,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- sources 28 Sep 2006 01:36:26 -0000 1.12 +++ sources 23 Jun 2007 15:34:42 -0000 1.13 @@ -1 +1 @@ -d3408875f34e5fa0a313a4a21c70e832 Net-DNS-0.59.tar.gz +8ab75a7c4a1b782e5d88b08cc70be945 Net-DNS-0.60.tar.gz From fedora-cvs-commits at redhat.com Sat Jun 23 15:39:13 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Sat, 23 Jun 2007 11:39:13 -0400 Subject: rpms/perl-Net-DNS/FC-5 .cvsignore, 1.12, 1.13 perl-Net-DNS.spec, 1.26, 1.27 sources, 1.12, 1.13 Message-ID: <200706231539.l5NFdDNw006372@cvs.devel.redhat.com> Author: rnorwood Update of /cvs/dist/rpms/perl-Net-DNS/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv6356 Modified Files: .cvsignore perl-Net-DNS.spec sources Log Message: update to latest CPAN: 0.60 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/perl-Net-DNS/FC-5/.cvsignore,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- .cvsignore 27 Sep 2006 21:27:18 -0000 1.12 +++ .cvsignore 23 Jun 2007 15:39:11 -0000 1.13 @@ -1 +1 @@ -Net-DNS-0.59.tar.gz +Net-DNS-0.60.tar.gz Index: perl-Net-DNS.spec =================================================================== RCS file: /cvs/dist/rpms/perl-Net-DNS/FC-5/perl-Net-DNS.spec,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- perl-Net-DNS.spec 27 Sep 2006 21:27:18 -0000 1.26 +++ perl-Net-DNS.spec 23 Jun 2007 15:39:11 -0000 1.27 @@ -1,14 +1,14 @@ Name: perl-Net-DNS -Version: 0.59 +Version: 0.60 Release: 1%{?dist} Summary: DNS resolver modules for Perl License: GPL or Artistic Group: Development/Libraries URL: http://www.net-dns.org/ Source0: http://www.cpan.org/authors/id/O/OL/OLAF/Net-DNS-%{version}.tar.gz -BuildRequires: perl >= 1:5.6.1, perl-Digest-HMAC, perl-Net-IP +BuildRequires: perl(Digest::HMAC), perl(Net::IP) Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -BuildRoot: %{_tmppath}/%{name}-%{version}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Net::DNS is a collection of Perl modules that act as a Domain Name @@ -52,10 +52,17 @@ %exclude %{_mandir}/man3/Net::DNS::Resolver::Win32.3* %changelog +* Sat Jun 23 2007 Robin Norwood - 0.60-1 +- Upgrade to latest upstream version - 0.60 +- Included changes from 0.59-2 in F-7: +- Fixed issues brought up during package review +- BuildRequires should not require perl, and fixed the format. +- Fixed the BuildRoot + * Wed Sep 27 2006 Robin Norwood - 0.59-1 - Upgrade to upstream version 0.59 per bug #208315 -* Mon Jul 17 2006 Jason Vas Dias - 0.58-1 +* Mon Jul 17 2006 Jason Vas Dias - 0.58-1.fc6 - Upgrade to upstream version 0.58 * Wed Jul 12 2006 Jesse Keating - 0.57-1.1 Index: sources =================================================================== RCS file: /cvs/dist/rpms/perl-Net-DNS/FC-5/sources,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- sources 27 Sep 2006 21:27:18 -0000 1.12 +++ sources 23 Jun 2007 15:39:11 -0000 1.13 @@ -1 +1 @@ -d3408875f34e5fa0a313a4a21c70e832 Net-DNS-0.59.tar.gz +8ab75a7c4a1b782e5d88b08cc70be945 Net-DNS-0.60.tar.gz From fedora-cvs-commits at redhat.com Mon Jun 25 13:12:18 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 25 Jun 2007 09:12:18 -0400 Subject: rpms/tzdata/FC-6 .cvsignore, 1.32, 1.33 sources, 1.34, 1.35 tzdata.spec, 1.42, 1.43 Message-ID: <200706251312.l5PDCI5v015046@cvs.devel.redhat.com> Author: pmachata Update of /cvs/dist/rpms/tzdata/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv15029 Modified Files: .cvsignore sources tzdata.spec Log Message: - Upstream 2007f - New Zealand is extending DST, starting later this year. - Haiti no longer observes DST. - The Turks and Caicos switch at 02:00, not at 00:00, and have adopted US DST rules. - Upstream 2007e - Syria switched to summer time at Mar/29. - Honduras will not enter DST this year. Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/tzdata/FC-6/.cvsignore,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- .cvsignore 23 Mar 2007 11:48:09 -0000 1.32 +++ .cvsignore 25 Jun 2007 13:12:15 -0000 1.33 @@ -1,3 +1,3 @@ -tzcode2007d.tar.gz -tzdata2007d.tar.gz +tzcode2007f.tar.gz +tzdata2007f.tar.gz tzdata-base-0.tar.bz2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/tzdata/FC-6/sources,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- sources 23 Mar 2007 11:48:09 -0000 1.34 +++ sources 25 Jun 2007 13:12:15 -0000 1.35 @@ -1,3 +1,3 @@ -f63d242016ce0da0bafc0867e2824ad9 tzcode2007d.tar.gz -05ba08b08c773cd26b74a94205bf397f tzdata2007d.tar.gz +fdfa8b941827a33e7a43aaf039ea9b67 tzcode2007f.tar.gz +799ca289ee9e2f22ce6e3f9fb9c5f847 tzdata2007f.tar.gz 906a4c98cc5240f416524a256b039c42 tzdata-base-0.tar.bz2 Index: tzdata.spec =================================================================== RCS file: /cvs/dist/rpms/tzdata/FC-6/tzdata.spec,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- tzdata.spec 23 Mar 2007 11:48:09 -0000 1.42 +++ tzdata.spec 25 Jun 2007 13:12:15 -0000 1.43 @@ -1,6 +1,6 @@ Summary: Timezone data Name: tzdata -Version: 2007d +Version: 2007f %define tzdata_version %{version} %define tzcode_version %{version} Release: 1%{?dist} @@ -52,6 +52,16 @@ %doc tzcode%{tzcode_version}/tz-link.html %changelog +* Mon Jun 25 2007 Petr Machata - 2007f-1 +- Upstream 2007f + - New Zealand is extending DST, starting later this year. + - Haiti no longer observes DST. + - The Turks and Caicos switch at 02:00, not at 00:00, and have + adopted US DST rules. +- Upstream 2007e + - Syria switched to summer time at Mar/29. + - Honduras will not enter DST this year. + * Fri Mar 23 2007 Petr Machata - 2007d-1 - Upstream 2007d - Mongolia has abolished DST. From fedora-cvs-commits at redhat.com Mon Jun 25 18:22:12 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 25 Jun 2007 14:22:12 -0400 Subject: rpms/iscsi-initiator-utils/FC-6 .cvsignore, 1.17, 1.18 iscsi-initiator-utils-use-var-for-config.patch, 1.2, 1.3 iscsi-initiator-utils.spec, 1.33, 1.34 sources, 1.17, 1.18 Message-ID: <200706251822.l5PIMCQg021151@cvs.devel.redhat.com> Author: mchristi Update of /cvs/dist/rpms/iscsi-initiator-utils/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv21135 Modified Files: .cvsignore iscsi-initiator-utils-use-var-for-config.patch iscsi-initiator-utils.spec sources Log Message: fix iscsiadm -m logoutall command (fixes service iscsi stop) Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/.cvsignore,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- .cvsignore 13 Jun 2007 18:05:25 -0000 1.17 +++ .cvsignore 25 Jun 2007 18:22:05 -0000 1.18 @@ -13,3 +13,4 @@ open-iscsi-2.0-747.tar.gz open-iscsi-2.0-754.tar.gz open-iscsi-2.0-865.tar.gz +open-iscsi-2.0-865.2.tar.gz iscsi-initiator-utils-use-var-for-config.patch: idbm.c | 6 +++--- idbm.h | 14 ++++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) Index: iscsi-initiator-utils-use-var-for-config.patch =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/iscsi-initiator-utils-use-var-for-config.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- iscsi-initiator-utils-use-var-for-config.patch 13 Jun 2007 18:05:26 -0000 1.2 +++ iscsi-initiator-utils-use-var-for-config.patch 25 Jun 2007 18:22:05 -0000 1.3 @@ -1,6 +1,22 @@ -diff -aurp open-iscsi-2.0-865/usr/idbm.h open-iscsi-2.0-865.work/usr/idbm.h ---- open-iscsi-2.0-865/usr/idbm.h 2007-06-12 04:29:28.000000000 -0500 -+++ open-iscsi-2.0-865.work/usr/idbm.h 2007-06-13 12:55:52.000000000 -0500 +diff -aurp open-iscsi-2.0-865.1/usr/idbm.c open-iscsi-2.0-865.1.work/usr/idbm.c +--- open-iscsi-2.0-865.1/usr/idbm.c 2007-06-21 13:17:40.000000000 -0500 ++++ open-iscsi-2.0-865.1.work/usr/idbm.c 2007-06-21 13:20:27.000000000 -0500 +@@ -2546,9 +2546,9 @@ idbm_init(char *configfile) + idbm_t *db; + + /* make sure root db dir is there */ +- if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) { +- if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) { +- log_error("Could not make %s %d\n", ISCSI_CONFIG_ROOT, ++ if (access(ISCSIVAR, F_OK) != 0) { ++ if (mkdir(ISCSIVAR, 0660) != 0) { ++ log_error("Could not make %s %d\n", ISCSIVAR, + errno); + return NULL; + } +diff -aurp open-iscsi-2.0-865.1/usr/idbm.h open-iscsi-2.0-865.1.work/usr/idbm.h +--- open-iscsi-2.0-865.1/usr/idbm.h 2007-06-21 13:18:31.000000000 -0500 ++++ open-iscsi-2.0-865.1.work/usr/idbm.h 2007-06-21 13:18:41.000000000 -0500 @@ -26,12 +26,14 @@ #include "initiator.h" #include "config.h" Index: iscsi-initiator-utils.spec =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/iscsi-initiator-utils.spec,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- iscsi-initiator-utils.spec 13 Jun 2007 18:05:26 -0000 1.33 +++ iscsi-initiator-utils.spec 25 Jun 2007 18:22:05 -0000 1.34 @@ -1,8 +1,8 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 6.2.0.865 -Release: 0.0%{?dist} -Source0: http://www.open-iscsi.org/bits/open-iscsi-2.0-865.tar.gz +Release: 0.1%{?dist} +Source0: http://www.open-iscsi.org/bits/open-iscsi-2.0-865.2.tar.gz Source1: iscsid.init Source2: iscsidevs.init Patch0: iscsi-initiator-utils-update-initscripts-and-docs.patch @@ -23,7 +23,7 @@ Protocol networks. %prep -%setup -q -n open-iscsi-2.0-865 +%setup -q -n open-iscsi-2.0-865.2 %patch0 -p1 -b .update-initscripts-and-docs %patch1 -p1 -b .use-var-for-config @@ -90,6 +90,9 @@ %{_mandir}/*/* %changelog +* Mon Jun 25 2007 Mike Christie - 6.2.0.865-0.1 +- Fix iscsiadm -m logoutall command (this fixes service iscsi stop). + * Tue Jun 12 2007 Mike Christie - 6.2.0.865-0.0 - Rebase upstream Index: sources =================================================================== RCS file: /cvs/dist/rpms/iscsi-initiator-utils/FC-6/sources,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- sources 13 Jun 2007 18:05:26 -0000 1.17 +++ sources 25 Jun 2007 18:22:05 -0000 1.18 @@ -1 +1 @@ -ed6c5f4a1b3f01bbd6f40dda26f57eb5 open-iscsi-2.0-865.tar.gz +fd3ae8aee6d25fce5c43e2798412829e open-iscsi-2.0-865.2.tar.gz From fedora-cvs-commits at redhat.com Mon Jun 25 19:07:57 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 25 Jun 2007 15:07:57 -0400 Subject: rpms/python-virtinst/FC-6 python-virtinst.spec,1.4,1.5 Message-ID: <200706251907.l5PJ7vUo022147@cvs.devel.redhat.com> Author: berrange Update of /cvs/dist/rpms/python-virtinst/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22132 Modified Files: python-virtinst.spec Log Message: Fixed missing patch Index: python-virtinst.spec =================================================================== RCS file: /cvs/dist/rpms/python-virtinst/FC-6/python-virtinst.spec,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- python-virtinst.spec 5 Jun 2007 19:23:10 -0000 1.4 +++ python-virtinst.spec 25 Jun 2007 19:07:55 -0000 1.5 @@ -3,7 +3,7 @@ Summary: Python modules for starting Xen guest installations Name: python-virtinst Version: 0.103.0 -Release: 1%{?dist} +Release: 2%{?dist} Source0: virtinst-%{version}.tar.gz Patch0: virtinst-0.103.0-urlgrabber-import.patch Patch1: virtinst-0.103.0-accelerate.patch @@ -36,6 +36,7 @@ %prep %setup -q -n virtinst-%{version} +%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -66,6 +67,9 @@ %{_sbindir}/xenguest-install %changelog +* Mon Jun 25 2007 Daniel P. Berrange - 0.103.0-2.fc6 +- Re-add missing patch for import statement + * Tue Jun 5 2007 Daniel P. Berrange - 0.103.0-1.fc6 - Updated to 0.103.0 release - Fixed module import when using --accelerate From fedora-cvs-commits at redhat.com Mon Jun 25 21:44:36 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Mon, 25 Jun 2007 17:44:36 -0400 Subject: rpms/GConf2/devel .cvsignore, 1.28, 1.29 GConf2.spec, 1.59, 1.60 sources, 1.28, 1.29 Message-ID: <200706252144.l5PLiaNe025945@cvs.devel.redhat.com> Author: mclasen Update of /cvs/dist/rpms/GConf2/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv25928 Modified Files: .cvsignore GConf2.spec sources Log Message: 2.19.1 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/GConf2/devel/.cvsignore,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- .cvsignore 13 Mar 2007 06:20:14 -0000 1.28 +++ .cvsignore 25 Jun 2007 21:44:34 -0000 1.29 @@ -1 +1 @@ -GConf-2.18.0.1.tar.bz2 +GConf-2.19.1.tar.bz2 Index: GConf2.spec =================================================================== RCS file: /cvs/dist/rpms/GConf2/devel/GConf2.spec,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- GConf2.spec 25 Mar 2007 04:14:11 -0000 1.59 +++ GConf2.spec 25 Jun 2007 21:44:34 -0000 1.60 @@ -4,11 +4,11 @@ Summary: A process-transparent configuration system Name: GConf2 -Version: 2.18.0.1 -Release: 2%{?dist} +Version: 2.19.1 +Release: 1%{?dist} License: LGPL Group: System Environment/Base -Source: ftp://ftp.gnome.org/pub/GNOME/sources/GConf/2.18/GConf-%{version}.tar.bz2 +Source: http://download.gnome.org/sources/GConf/2.19/GConf-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) URL: http://www.gnome.org @@ -124,6 +124,9 @@ %{_libdir}/pkgconfig/* %changelog +* Mon Jun 25 2007 Matthias Clasen - 2.19.1-1 +- Update to 2.19.1 + * Sun Mar 25 2007 Matthias Clasen - 2.18.0.1-2 - Fix a directory ownership issue. (#233756) Index: sources =================================================================== RCS file: /cvs/dist/rpms/GConf2/devel/sources,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- sources 13 Mar 2007 06:20:14 -0000 1.28 +++ sources 25 Jun 2007 21:44:34 -0000 1.29 @@ -1 +1 @@ -aa0e0a0729fb021bab72b4166fd392f9 GConf-2.18.0.1.tar.bz2 +78373f2a461354c7e0b32c0dc9c586b3 GConf-2.19.1.tar.bz2 From fedora-cvs-commits at redhat.com Tue Jun 26 11:16:24 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 07:16:24 -0400 Subject: rpms/libbtctl/FC-6 libbtctl.spec,1.42,1.43 Message-ID: <200706261116.l5QBGO7V012843@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/libbtctl/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv12826 Modified Files: libbtctl.spec Log Message: added info about version change(which was done few months ago) to Changelog Index: libbtctl.spec =================================================================== RCS file: /cvs/dist/rpms/libbtctl/FC-6/libbtctl.spec,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- libbtctl.spec 13 Nov 2006 11:04:23 -0000 1.42 +++ libbtctl.spec 26 Jun 2007 11:16:22 -0000 1.43 @@ -106,6 +106,9 @@ %endif %changelog +* Tue Jun 26 2007 Ondrej Vasik - 0.6.0-9.1 - rebuild From fedora-cvs-commits at redhat.com Tue Jun 26 11:29:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 07:29:42 -0400 Subject: rpms/gnome-bluetooth/FC-6 gnome-bluetooth-0.8.0-desktop.patch, NONE, 1.1 .cvsignore, 1.7, 1.8 gnome-bluetooth-0.7.0-pydir.patch, 1.5, 1.6 gnome-bluetooth.spec, 1.43, 1.44 sources, 1.7, 1.8 gnome-bluetooth-0.7.0-gnome-obex-send.patch, 1.1, NONE Message-ID: <200706261129.l5QBTg6r013363@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/gnome-bluetooth/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv13342 Modified Files: .cvsignore gnome-bluetooth-0.7.0-pydir.patch gnome-bluetooth.spec sources Added Files: gnome-bluetooth-0.8.0-desktop.patch Removed Files: gnome-bluetooth-0.7.0-gnome-obex-send.patch Log Message: forced upgrade to 0.8.0 because of version upgrade of libbtctl (library functions have different arguments in version 0.8.2 and are incompatible with 0.7.0 gnome-bluetooth code) gnome-bluetooth-0.8.0-desktop.patch: gnome-obex-server.desktop.in | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE gnome-bluetooth-0.8.0-desktop.patch --- --- gnome-bluetooth-0.8.0/obex/gnome-obex-server.desktop.in.dfix 2007-03-09 15:28:30.000000000 +0100 +++ gnome-bluetooth-0.8.0/obex/gnome-obex-server.desktop.in 2007-03-09 15:28:41.000000000 +0100 @@ -4,7 +4,7 @@ _Comment=Receive files sent by Bluetooth devices Icon=blueradio-48 Exec=gnome-obex-server -Terminal=0 +Terminal=false Type=Application Categories=Application;System; X-GNOME-Bugzilla-Bugzilla=GNOME Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/.cvsignore,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- .cvsignore 23 Nov 2006 16:45:41 -0000 1.7 +++ .cvsignore 26 Jun 2007 11:29:40 -0000 1.8 @@ -1 +1 @@ -gnome-bluetooth-0.7.0.tar.bz2 +gnome-bluetooth-0.8.0.tar.bz2 gnome-bluetooth-0.7.0-pydir.patch: acinclude.m4 | 126 -------------------------------------------------------- src/Makefile.am | 2 2 files changed, 3 insertions(+), 125 deletions(-) Index: gnome-bluetooth-0.7.0-pydir.patch =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/gnome-bluetooth-0.7.0-pydir.patch,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- gnome-bluetooth-0.7.0-pydir.patch 23 Nov 2006 16:56:04 -0000 1.5 +++ gnome-bluetooth-0.7.0-pydir.patch 26 Jun 2007 11:29:40 -0000 1.6 @@ -158,24 +158,4 @@ dnl Configure paths for libsdp dnl Edd Dumbill dnl Shamelessly stolen from Jack Moffitt, who stole ---- gnome-bluetooth-0.7.0/python/Makefile.am.pydir 2006-02-27 14:37:13.000000000 +0100 -+++ gnome-bluetooth-0.7.0/python/Makefile.am 2006-02-27 14:37:30.000000000 +0100 -@@ -1,5 +1,5 @@ - --pythondir = @pythondir@/gnomebt -+pythondir = @pyexecdir@/gnomebt - pkgpythondir = $(pythondir) - libdir = $(pkgpythondir) - ---- gnome-bluetooth-0.7.0/python/gnome-bluetooth-manager.in.pydir 2005-11-19 20:02:14.000000000 +0100 -+++ gnome-bluetooth-0.7.0/python/gnome-bluetooth-manager.in 2006-02-27 14:31:40.000000000 +0100 -@@ -1,4 +1,7 @@ - #!/bin/sh --PYTHONPATH=@pythondir@:$PYTHONPATH -+PYEXECDIR=$(/usr/bin/python -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='/usr')") -+ -+PYTHONPATH="$PYEXECDIR:$PYTHONPATH" - export PYTHONPATH --exec @PYTHON@ @pythondir@/gnomebt/manager.py -+exec /usr/bin/python $PYEXECDIR/gnomebt/manager.py -+ + Index: gnome-bluetooth.spec =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/gnome-bluetooth.spec,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- gnome-bluetooth.spec 23 Nov 2006 16:42:13 -0000 1.43 +++ gnome-bluetooth.spec 26 Jun 2007 11:29:40 -0000 1.44 @@ -1,18 +1,18 @@ Summary: GNOME Bluetooth Subsystem Name: gnome-bluetooth -Version: 0.7.0 -Release: 11%{dist} +Version: 0.8.0 +Release: 4%{?dist} License: GPL Group: System Environment/Libraries URL: http://usefulinc.com/software/gnome-bluetooth #Source: http://usefulinc.com/software/gnome-bluetooth/releases/%{name}-%{version}.tar.bz2 Source: http://ftp.gnome.org/pub/gnome/sources/gnome-bluetooth/0.7/%{name}-%{version}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf >= 2.57 bluez-libs-devel >= 2.8 bluez-utils BuildRequires: libgnomeui-devel >= 2.2 libbonobo-devel >= 2.0 BuildRequires: GConf2-devel >= 2.0 librsvg2-devel -BuildRequires: libbtctl-devel >= 0.6.0 +BuildRequires: libbtctl-devel >= 0.8.2 BuildRequires: gob2 openobex-devel >= 1.0.1 BuildRequires: pygtk2-devel python-devel BuildRequires: intltool automake libtool gettext @@ -24,8 +24,7 @@ ExcludeArch: s390 s390x Patch1: gnome-bluetooth-0.7.0-pydir.patch -Patch2: gnome-bluetooth-0.7.0-path.patch -Patch3: gnome-bluetooth-0.7.0-gnome-obex-send.patch +Patch2: gnome-bluetooth-0.8.0-desktop.patch %description This package contains a Bonobo server to control Bluetooth devices, @@ -39,7 +38,8 @@ Group: Development/Libraries %description libs -This package contains the libraries for applications, which use gnome-bluetooth. +This package contains the libraries for applications, +which use gnome-bluetooth. %package devel Summary: Files for the development of applications, which use gnome-bluetooth @@ -53,39 +53,24 @@ which will use gnome-bluetooth. %prep -rm -rf $RPM_BUILD_ROOT - %setup -q %patch1 -p1 -b .pydir -%patch2 -p1 -b .path -%patch3 -p1 -b .gnome-obex-send - -aclocal -automake -a -autoconf - -perl -pi -e 's|^Icon=.*|Icon=%{_datadir}/pixmaps/blueradio-48.png|g' \ - */*.desktop.in - +%patch2 -p1 -b .dfix %build %configure -make +make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 -%makeinstall +make DESTDIR=$RPM_BUILD_ROOT install ./libtool --finish $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules # we do not want .la files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/libbluetooth.*a -rm -f $RPM_BUILD_ROOT%{_datadir}/applications/gnome-bluetooth-manager.desktop -rm -f $RPM_BUILD_ROOT%{_bindir}/gnome-bluetooth-manager - - %find_lang %{name} %clean @@ -96,7 +81,6 @@ export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule \ %{_sysconfdir}/gconf/schemas/gnome-obex-server.schemas >/dev/null || : - killall -HUP gconfd-2 || : fi %post libs -p /sbin/ldconfig @@ -113,7 +97,6 @@ export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule \ %{_sysconfdir}/gconf/schemas/gnome-obex-server.schemas > /dev/null || : - killall -HUP gconfd-2 || : fi %files -f %{name}.lang @@ -128,19 +111,37 @@ %files libs %defattr(-, root, root) +%doc AUTHORS COPYING ChangeLog NEWS README %{_libdir}/libgnomebt.so.* %{_libdir}/python*.*/site-packages/gnomebt/ %files devel %defattr(-, root, root) +%doc COPYING %{_libdir}/pkgconfig/gnome-bluetooth.pc %{_libdir}/libgnomebt.so %{_includedir}/gnome-bluetooth/ %changelog -* Thu Nov 23 2006 Harald Hoyer - 0.7.0-11 -- fixed gnome-obex-send -- removed gnome-bluetooth-manager +* Tue Jun 26 2007 Ondrej Vasik - 0.8.0-4 +- forced clone of F7 branch, upgrade of libbtctl to version 0.8.2 +- caused many build problems in gnome-bluetooth 0.7.0(different +- function arguments in new libbtctl) + +* Mon Apr 2 2007 Matthias Clasen - 0.8.0-4 +- Remove unncessary gconfd killing from scripts (#224561) + +* Tue Feb 27 2007 Harald Hoyer - 0.8.0-3%{?dist} +- corrected BuildRoot +- smp flags added +- specfile cleanup +- fixed desktop file + +* Thu Dec 7 2006 Jeremy Katz - 0.8.0-2 +- rebuild for python 2.5 + +* Mon Nov 13 2006 Harald Hoyer - 0.8.0-1 +- version 0.8.0 * Wed Jul 12 2006 Jesse Keating - 0.7.0-10.1 - rebuild Index: sources =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/sources,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- sources 23 Nov 2006 16:45:41 -0000 1.7 +++ sources 26 Jun 2007 11:29:40 -0000 1.8 @@ -1 +1 @@ -90614d7a757cf30054021f0666308fe2 gnome-bluetooth-0.7.0.tar.bz2 +d1d3cae71e7f06b2c6f089cef3b68802 gnome-bluetooth-0.8.0.tar.bz2 --- gnome-bluetooth-0.7.0-gnome-obex-send.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 26 12:06:57 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 08:06:57 -0400 Subject: rpms/gnome-bluetooth/FC-6 gnome-bluetooth-0.7.0-gnome-obex-send.patch, 1.2, 1.3 .cvsignore, 1.8, 1.9 gnome-bluetooth-0.7.0-pydir.patch, 1.6, 1.7 gnome-bluetooth.spec, 1.44, 1.45 sources, 1.8, 1.9 gnome-bluetooth-0.8.0-desktop.patch, 1.1, NONE Message-ID: <200706261206.l5QC6vM5014478@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/gnome-bluetooth/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14462 Modified Files: .cvsignore gnome-bluetooth-0.7.0-pydir.patch gnome-bluetooth.spec sources Added Files: gnome-bluetooth-0.7.0-gnome-obex-send.patch Removed Files: gnome-bluetooth-0.8.0-desktop.patch Log Message: back to 0.7.0 - mea culpa, wrong version of libbtctl only in cvs, not built and pushed, so I will fix cvs of libbtctl instead of upgrade to 0.8.0 in FC-6 gnome-bluetooth-0.7.0-gnome-obex-send.patch: Makefile.am | 3 ++- gnome-obex-send.c | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) Index: gnome-bluetooth-0.7.0-gnome-obex-send.patch =================================================================== RCS file: gnome-bluetooth-0.7.0-gnome-obex-send.patch diff -N gnome-bluetooth-0.7.0-gnome-obex-send.patch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnome-bluetooth-0.7.0-gnome-obex-send.patch 26 Jun 2007 12:06:55 -0000 1.3 @@ -0,0 +1,63 @@ +--- gnome-bluetooth-0.7.0/obex/Makefile.am.gnome-obex-send 2006-11-23 10:52:16.000000000 +0100 ++++ gnome-bluetooth-0.7.0/obex/Makefile.am 2006-11-23 10:52:45.000000000 +0100 +@@ -26,7 +26,8 @@ + -I$(top_srcdir)/libegg/libegg/tray -I../src \ + -I$(top_srcdir)/src \ + -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ +- -DDATA_DIR="\"$(GNOME_BLUETOOTH_DATA_DIR)\"" ++ -DDATA_DIR="\"$(GNOME_BLUETOOTH_DATA_DIR)\"" \ ++ -DICON_DIR="\"$(datadir)/pixmaps\"" + + EXTRA_DIST = gnome-obex-server.desktop.in + +--- gnome-bluetooth-0.7.0/obex/gnome-obex-send.c.gnome-obex-send 2005-11-19 19:32:12.000000000 +0100 ++++ gnome-bluetooth-0.7.0/obex/gnome-obex-send.c 2006-11-23 10:49:04.000000000 +0100 +@@ -49,6 +49,7 @@ + } MyApp; + + #define GLADE_FILE DATA_DIR "/gnome-obex-send.glade" ++#define ICON_FILE ICON_DIR "/blueradio-48.png" + + static void mainloop (MyApp *app); + static uint8_t get_obex_channel (const gchar *bdaddr); +@@ -156,9 +157,18 @@ + GtkWidget *label; + + if ((fname = poptGetArg (app->context))) { ++ char *path; + /* there's a file to send */ + app->data = NULL; +- if (g_file_get_contents (fname, &(app->data), &len, &err)) { ++ if (g_str_has_prefix (fname, "file://")) { ++ path = g_filename_from_uri (fname, NULL, NULL); ++ } else { ++ path = g_strdup (fname); ++ } ++ if (path == NULL) ++ return FALSE; ++ ++ if (g_file_get_contents (path, &(app->data), &len, &err)) { + bname = g_path_get_basename (fname); + label = glade_xml_get_widget (app->xml, "filename_label"); + gtk_label_set_text (GTK_LABEL (label), bname); +@@ -173,6 +183,7 @@ + /* error, so we quit */ + gtk_main_quit (); + } ++ g_free (path); + } else { + /* nothing left to send, time to quit */ + gtk_main_quit (); +@@ -277,6 +288,12 @@ + fname="../ui/gnome-obex-send.glade"; + } + ++ if (g_file_exists(ICON_FILE)) { ++ gtk_window_set_default_icon_from_file (ICON_FILE, NULL); ++ } else if (g_file_exists("../pixmaps/blueradio-48.png")) { ++ gtk_window_set_default_icon_from_file ("../pixmaps/blueradio-48.png", NULL); ++ } ++ + if (fname) { + app->xml = glade_xml_new (fname, NULL, NULL); + glade_xml_signal_autoconnect (app->xml); Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/.cvsignore,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- .cvsignore 26 Jun 2007 11:29:40 -0000 1.8 +++ .cvsignore 26 Jun 2007 12:06:55 -0000 1.9 @@ -1 +1 @@ -gnome-bluetooth-0.8.0.tar.bz2 +gnome-bluetooth-0.7.0.tar.bz2 gnome-bluetooth-0.7.0-pydir.patch: acinclude.m4 | 126 -------------------------------------- python/Makefile.am | 2 python/gnome-bluetooth-manager.in | 7 +- src/Makefile.am | 2 4 files changed, 9 insertions(+), 128 deletions(-) Index: gnome-bluetooth-0.7.0-pydir.patch =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/gnome-bluetooth-0.7.0-pydir.patch,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- gnome-bluetooth-0.7.0-pydir.patch 26 Jun 2007 11:29:40 -0000 1.6 +++ gnome-bluetooth-0.7.0-pydir.patch 26 Jun 2007 12:06:55 -0000 1.7 @@ -158,4 +158,24 @@ dnl Configure paths for libsdp dnl Edd Dumbill dnl Shamelessly stolen from Jack Moffitt, who stole - +--- gnome-bluetooth-0.7.0/python/Makefile.am.pydir 2006-02-27 14:37:13.000000000 +0100 ++++ gnome-bluetooth-0.7.0/python/Makefile.am 2006-02-27 14:37:30.000000000 +0100 +@@ -1,5 +1,5 @@ + +-pythondir = @pythondir@/gnomebt ++pythondir = @pyexecdir@/gnomebt + pkgpythondir = $(pythondir) + libdir = $(pkgpythondir) + +--- gnome-bluetooth-0.7.0/python/gnome-bluetooth-manager.in.pydir 2005-11-19 20:02:14.000000000 +0100 ++++ gnome-bluetooth-0.7.0/python/gnome-bluetooth-manager.in 2006-02-27 14:31:40.000000000 +0100 +@@ -1,4 +1,7 @@ + #!/bin/sh +-PYTHONPATH=@pythondir@:$PYTHONPATH ++PYEXECDIR=$(/usr/bin/python -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='/usr')") ++ ++PYTHONPATH="$PYEXECDIR:$PYTHONPATH" + export PYTHONPATH +-exec @PYTHON@ @pythondir@/gnomebt/manager.py ++exec /usr/bin/python $PYEXECDIR/gnomebt/manager.py ++ Index: gnome-bluetooth.spec =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/gnome-bluetooth.spec,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- gnome-bluetooth.spec 26 Jun 2007 11:29:40 -0000 1.44 +++ gnome-bluetooth.spec 26 Jun 2007 12:06:55 -0000 1.45 @@ -1,18 +1,18 @@ Summary: GNOME Bluetooth Subsystem Name: gnome-bluetooth -Version: 0.8.0 -Release: 4%{?dist} +Version: 0.7.0 +Release: 11%{dist} License: GPL Group: System Environment/Libraries URL: http://usefulinc.com/software/gnome-bluetooth #Source: http://usefulinc.com/software/gnome-bluetooth/releases/%{name}-%{version}.tar.bz2 Source: http://ftp.gnome.org/pub/gnome/sources/gnome-bluetooth/0.7/%{name}-%{version}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: autoconf >= 2.57 bluez-libs-devel >= 2.8 bluez-utils BuildRequires: libgnomeui-devel >= 2.2 libbonobo-devel >= 2.0 BuildRequires: GConf2-devel >= 2.0 librsvg2-devel -BuildRequires: libbtctl-devel >= 0.8.2 +BuildRequires: libbtctl-devel >= 0.6.0 BuildRequires: gob2 openobex-devel >= 1.0.1 BuildRequires: pygtk2-devel python-devel BuildRequires: intltool automake libtool gettext @@ -24,7 +24,8 @@ ExcludeArch: s390 s390x Patch1: gnome-bluetooth-0.7.0-pydir.patch -Patch2: gnome-bluetooth-0.8.0-desktop.patch +Patch2: gnome-bluetooth-0.7.0-path.patch +Patch3: gnome-bluetooth-0.7.0-gnome-obex-send.patch %description This package contains a Bonobo server to control Bluetooth devices, @@ -38,8 +39,7 @@ Group: Development/Libraries %description libs -This package contains the libraries for applications, -which use gnome-bluetooth. +This package contains the libraries for applications, which use gnome-bluetooth. %package devel Summary: Files for the development of applications, which use gnome-bluetooth @@ -53,24 +53,39 @@ which will use gnome-bluetooth. %prep +rm -rf $RPM_BUILD_ROOT + %setup -q %patch1 -p1 -b .pydir -%patch2 -p1 -b .dfix +%patch2 -p1 -b .path +%patch3 -p1 -b .gnome-obex-send + +aclocal +automake -a +autoconf + +perl -pi -e 's|^Icon=.*|Icon=%{_datadir}/pixmaps/blueradio-48.png|g' \ + */*.desktop.in + %build %configure -make %{?_smp_mflags} +make %install rm -rf $RPM_BUILD_ROOT export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 -make DESTDIR=$RPM_BUILD_ROOT install +%makeinstall ./libtool --finish $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules # we do not want .la files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/bonobo/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/gnome-vfs-2.0/modules/libbluetooth.*a +rm -f $RPM_BUILD_ROOT%{_datadir}/applications/gnome-bluetooth-manager.desktop +rm -f $RPM_BUILD_ROOT%{_bindir}/gnome-bluetooth-manager + + %find_lang %{name} %clean @@ -81,6 +96,7 @@ export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule \ %{_sysconfdir}/gconf/schemas/gnome-obex-server.schemas >/dev/null || : + killall -HUP gconfd-2 || : fi %post libs -p /sbin/ldconfig @@ -97,6 +113,7 @@ export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule \ %{_sysconfdir}/gconf/schemas/gnome-obex-server.schemas > /dev/null || : + killall -HUP gconfd-2 || : fi %files -f %{name}.lang @@ -111,37 +128,19 @@ %files libs %defattr(-, root, root) -%doc AUTHORS COPYING ChangeLog NEWS README %{_libdir}/libgnomebt.so.* %{_libdir}/python*.*/site-packages/gnomebt/ %files devel %defattr(-, root, root) -%doc COPYING %{_libdir}/pkgconfig/gnome-bluetooth.pc %{_libdir}/libgnomebt.so %{_includedir}/gnome-bluetooth/ %changelog -* Tue Jun 26 2007 Ondrej Vasik - 0.8.0-4 -- forced clone of F7 branch, upgrade of libbtctl to version 0.8.2 -- caused many build problems in gnome-bluetooth 0.7.0(different -- function arguments in new libbtctl) - -* Mon Apr 2 2007 Matthias Clasen - 0.8.0-4 -- Remove unncessary gconfd killing from scripts (#224561) - -* Tue Feb 27 2007 Harald Hoyer - 0.8.0-3%{?dist} -- corrected BuildRoot -- smp flags added -- specfile cleanup -- fixed desktop file - -* Thu Dec 7 2006 Jeremy Katz - 0.8.0-2 -- rebuild for python 2.5 - -* Mon Nov 13 2006 Harald Hoyer - 0.8.0-1 -- version 0.8.0 +* Thu Nov 23 2006 Harald Hoyer - 0.7.0-11 +- fixed gnome-obex-send +- removed gnome-bluetooth-manager * Wed Jul 12 2006 Jesse Keating - 0.7.0-10.1 - rebuild Index: sources =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/sources,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- sources 26 Jun 2007 11:29:40 -0000 1.8 +++ sources 26 Jun 2007 12:06:55 -0000 1.9 @@ -1 +1 @@ -d1d3cae71e7f06b2c6f089cef3b68802 gnome-bluetooth-0.8.0.tar.bz2 +90614d7a757cf30054021f0666308fe2 gnome-bluetooth-0.7.0.tar.bz2 --- gnome-bluetooth-0.8.0-desktop.patch DELETED --- From fedora-cvs-commits at redhat.com Tue Jun 26 12:20:33 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 08:20:33 -0400 Subject: rpms/libbtctl/FC-6 libbtctl.spec,1.43,1.44 sources,1.7,1.8 Message-ID: <200706261220.l5QCKXoh014807@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/libbtctl/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv14791 Modified Files: libbtctl.spec sources Log Message: back to 0.6.0 in CVS , libbtctl-0.8.2 is not compatible with gnome-bluetooth 0.7.0, added dist tag Index: libbtctl.spec =================================================================== RCS file: /cvs/dist/rpms/libbtctl/FC-6/libbtctl.spec,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- libbtctl.spec 26 Jun 2007 11:16:22 -0000 1.43 +++ libbtctl.spec 26 Jun 2007 12:20:31 -0000 1.44 @@ -7,8 +7,8 @@ ExcludeArch: s390 s390x Summary: Library for the GNOME Bluetooth Subsystem Name: libbtctl -Version: 0.8.2 -Release: 1 +Version: 0.6.0 +Release: 9.2%{?dist} License: GPL Group: System Environment/Libraries URL: http://usefulinc.com/software/gnome-bluetooth @@ -106,8 +106,9 @@ %endif %changelog -* Tue Jun 26 2007 Ondrej Vasik - 0.6.0-9.2 +- added dist flag, fixed wrong sources in cvs(causes troubles +- with gnome-bluetooth when used rpm compiled from them) * Wed Jul 12 2006 Jesse Keating - 0.6.0-9.1 - rebuild Index: sources =================================================================== RCS file: /cvs/dist/rpms/libbtctl/FC-6/sources,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- sources 13 Nov 2006 11:04:23 -0000 1.7 +++ sources 26 Jun 2007 12:20:31 -0000 1.8 @@ -1 +1 @@ -00966e109db14f14589739a85fe00941 libbtctl-0.8.2.tar.bz2 +d58b47204794628e7fd674ece8e6e631 libbtctl-0.6.0.tar.bz2 From fedora-cvs-commits at redhat.com Tue Jun 26 14:05:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 10:05:42 -0400 Subject: rpms/httpd/FC-6 httpd-2.2.3-CVE-2006-5752.patch, NONE, 1.1 httpd-2.2.3-CVE-2007-1863.patch, NONE, 1.1 httpd-2.2.3-CVE-2007-3304.patch, NONE, 1.1 httpd-2.2.4-CVE-2007-1862.patch, NONE, 1.1 httpd.spec, 1.102, 1.103 Message-ID: <200706261405.l5QE5gge017233@cvs.devel.redhat.com> Author: jorton Update of /cvs/dist/rpms/httpd/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv17205 Modified Files: httpd.spec Added Files: httpd-2.2.3-CVE-2006-5752.patch httpd-2.2.3-CVE-2007-1863.patch httpd-2.2.3-CVE-2007-3304.patch httpd-2.2.4-CVE-2007-1862.patch Log Message: * Tue Jun 26 2007 Joe Orton 2.2.4-2.1.fc6 - add security fixes for CVE-2006-5752, CVE-2007-1862, CVE-2007-1863, CVE-2007-3304 (#244660) httpd-2.2.3-CVE-2006-5752.patch: mod_status.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) --- NEW FILE httpd-2.2.3-CVE-2006-5752.patch --- --- httpd-2.2.3/modules/generators/mod_status.c.cve5752 +++ httpd-2.2.3/modules/generators/mod_status.c @@ -270,7 +270,7 @@ if (r->method_number != M_GET) return DECLINED; - ap_set_content_type(r, "text/html"); + ap_set_content_type(r, "text/html; charset=ISO-8859-1"); /* * Simple table-driven form data set parser that lets you alter the header @@ -299,7 +299,7 @@ no_table_report = 1; break; case STAT_OPT_AUTO: - ap_set_content_type(r, "text/plain"); + ap_set_content_type(r, "text/plain; charset=ISO-8859-1"); short_report = 1; break; } @@ -673,7 +673,8 @@ ap_escape_html(r->pool, ws_record->client), ap_escape_html(r->pool, - ws_record->request), + ap_escape_logitem(r->pool, + ws_record->request)), ap_escape_html(r->pool, ws_record->vhost)); } @@ -763,7 +764,8 @@ ap_escape_html(r->pool, ws_record->vhost), ap_escape_html(r->pool, - ws_record->request)); + ap_escape_logitem(r->pool, + ws_record->request))); } /* no_table_report */ } /* for (j...) */ } /* for (i...) */ httpd-2.2.3-CVE-2007-1863.patch: cache_util.c | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) --- NEW FILE httpd-2.2.3-CVE-2007-1863.patch --- --- httpd-2.2.3/modules/cache/cache_util.c.cve1863 +++ httpd-2.2.3/modules/cache/cache_util.c @@ -231,7 +231,8 @@ age = ap_cache_current_age(info, age_c, r->request_time); /* extract s-maxage */ - if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "s-maxage", &val)) { + if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "s-maxage", &val) + && val != NULL) { smaxage = apr_atoi64(val); } else { @@ -240,7 +241,8 @@ /* extract max-age from request */ if (!conf->ignorecachecontrol - && cc_req && ap_cache_liststr(r->pool, cc_req, "max-age", &val)) { + && cc_req && ap_cache_liststr(r->pool, cc_req, "max-age", &val) + && val != NULL) { maxage_req = apr_atoi64(val); } else { @@ -248,7 +250,8 @@ } /* extract max-age from response */ - if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "max-age", &val)) { + if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "max-age", &val) + && val != NULL) { maxage_cresp = apr_atoi64(val); } else { @@ -270,7 +273,20 @@ /* extract max-stale */ if (cc_req && ap_cache_liststr(r->pool, cc_req, "max-stale", &val)) { - maxstale = apr_atoi64(val); + if(val != NULL) { + maxstale = apr_atoi64(val); + } + else { + /* + * If no value is assigned to max-stale, then the client is willing + * to accept a stale response of any age (RFC2616 14.9.3). We will + * set it to one year in this case as this situation is somewhat + * similar to a "never expires" Expires header (RFC2616 14.21) + * which is set to a date one year from the time the response is + * sent in this case. + */ + maxstale = APR_INT64_C(86400*365); + } } else { maxstale = 0; @@ -278,7 +294,8 @@ /* extract min-fresh */ if (!conf->ignorecachecontrol - && cc_req && ap_cache_liststr(r->pool, cc_req, "min-fresh", &val)) { + && cc_req && ap_cache_liststr(r->pool, cc_req, "min-fresh", &val) + && val != NULL) { minfresh = apr_atoi64(val); } else { @@ -407,6 +424,9 @@ next - val_start); } } + else { + *val = NULL; + } } return 1; } httpd-2.2.3-CVE-2007-3304.patch: include/mpm_common.h | 11 +++++++++++ server/mpm/prefork/mpm.h | 1 + server/mpm/prefork/prefork.c | 6 +++--- server/mpm/worker/mpm.h | 1 + server/mpm/worker/worker.c | 2 +- server/mpm_common.c | 14 ++++++++++++++ 6 files changed, 31 insertions(+), 4 deletions(-) --- NEW FILE httpd-2.2.3-CVE-2007-3304.patch --- --- httpd-2.2.3/include/mpm_common.h.cve3304 +++ httpd-2.2.3/include/mpm_common.h @@ -145,6 +145,17 @@ #endif /** + * Safely signal an MPM child process, if the process is in the + * current process group. Otherwise fail. + * @param pid the process id of a child process to signal + * @param sig the signal number to send + * @return APR_SUCCESS if signal is sent, otherwise an error as per kill(3) + */ +#ifdef AP_MPM_WANT_RECLAIM_CHILD_PROCESSES +apr_status_t ap_mpm_safe_kill(pid_t pid, int sig); +#endif + +/** * Determine if any child process has died. If no child process died, then * this process sleeps for the amount of time specified by the MPM defined * macro SCOREBOARD_MAINTENANCE_INTERVAL. --- httpd-2.2.3/server/mpm_common.c.cve3304 +++ httpd-2.2.3/server/mpm_common.c @@ -126,6 +126,10 @@ apr_proc_t proc; apr_status_t waitret; + if (!MPM_VALID_PID(pid)) { + return 1; + } + proc.pid = pid; waitret = apr_proc_wait(&proc, NULL, NULL, APR_NOWAIT); if (waitret != APR_CHILD_NOTDONE) { @@ -305,6 +309,16 @@ cur_extra = next; } } + +apr_status_t ap_mpm_safe_kill(pid_t pid, int sig) +{ + if (MPM_VALID_PID(pid)) { + return kill(pid, sig) ? errno : APR_SUCCESS; + } + else { + return APR_EINVAL; + } +} #endif /* AP_MPM_WANT_RECLAIM_CHILD_PROCESSES */ #ifdef AP_MPM_WANT_WAIT_OR_TIMEOUT --- httpd-2.2.3/server/mpm/prefork/prefork.c.cve3304 +++ httpd-2.2.3/server/mpm/prefork/prefork.c @@ -1127,7 +1127,7 @@ for (index = 0; index < ap_daemons_limit; ++index) { if (ap_scoreboard_image->servers[index][0].status != SERVER_DEAD) { /* Ask each child to close its listeners. */ - kill(MPM_CHILD_PID(index), AP_SIG_GRACEFUL); + ap_mpm_safe_kill(MPM_CHILD_PID(index), AP_SIG_GRACEFUL); active_children++; } } @@ -1166,7 +1166,7 @@ active_children = 0; for (index = 0; index < ap_daemons_limit; ++index) { if (MPM_CHILD_PID(index) != 0) { - if (kill(MPM_CHILD_PID(index), 0) == 0) { + if (ap_mpm_safe_kill(MPM_CHILD_PID(index), 0) == 0) { active_children = 1; /* Having just one child is enough to stay around */ break; @@ -1222,7 +1222,7 @@ * piped loggers, etc. They almost certainly won't handle * it gracefully. */ - kill(ap_scoreboard_image->parent[index].pid, AP_SIG_GRACEFUL); + ap_mpm_safe_kill(ap_scoreboard_image->parent[index].pid, AP_SIG_GRACEFUL); } } } --- httpd-2.2.3/server/mpm/prefork/mpm.h.cve3304 +++ httpd-2.2.3/server/mpm/prefork/mpm.h @@ -53,6 +53,7 @@ #define AP_MPM_USES_POD 1 #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0) +#define MPM_VALID_PID(p) (getpgid(p) == getpgrp()) #define MPM_ACCEPT_FUNC unixd_accept extern int ap_threads_per_child; --- httpd-2.2.3/server/mpm/worker/worker.c.cve3304 +++ httpd-2.2.3/server/mpm/worker/worker.c @@ -1814,7 +1814,7 @@ active_children = 0; for (index = 0; index < ap_daemons_limit; ++index) { if (MPM_CHILD_PID(index) != 0) { - if (kill(MPM_CHILD_PID(index), 0) == 0) { + if (ap_mpm_safe_kill(MPM_CHILD_PID(index), 0) == 0) { active_children = 1; /* Having just one child is enough to stay around */ break; --- httpd-2.2.3/server/mpm/worker/mpm.h.cve3304 +++ httpd-2.2.3/server/mpm/worker/mpm.h @@ -52,6 +52,7 @@ #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0) #define MPM_ACCEPT_FUNC unixd_accept +#define MPM_VALID_PID(p) (getpgid(p) == getpgrp()) extern int ap_threads_per_child; extern int ap_max_daemons_limit; httpd-2.2.4-CVE-2007-1862.patch: mod_mem_cache.c | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) --- NEW FILE httpd-2.2.4-CVE-2007-1862.patch --- --- httpd-2.2.4/modules/cache/mod_mem_cache.c.cve1862 +++ httpd-2.2.4/modules/cache/mod_mem_cache.c @@ -539,12 +539,28 @@ return OK; } +static apr_table_t *deep_table_copy(apr_pool_t *p, const apr_table_t *table) +{ + const apr_array_header_t *array = apr_table_elts(table); + apr_table_entry_t *elts = (apr_table_entry_t *) array->elts; + apr_table_t *copy = apr_table_make(p, array->nelts); + int i; + + for (i = 0; i < array->nelts; i++) { + if (elts[i].key) { + apr_table_add(copy, elts[i].key, elts[i].val); + } + } + + return copy; +} + static apr_status_t recall_headers(cache_handle_t *h, request_rec *r) { mem_cache_object_t *mobj = (mem_cache_object_t*) h->cache_obj->vobj; - h->req_hdrs = apr_table_copy(r->pool, mobj->req_hdrs); - h->resp_hdrs = apr_table_copy(r->pool, mobj->header_out); + h->req_hdrs = deep_table_copy(r->pool, mobj->req_hdrs); + h->resp_hdrs = deep_table_copy(r->pool, mobj->header_out); return OK; } @@ -585,7 +601,7 @@ * - The original response headers (for returning with a cached response) * - The body of the message */ - mobj->req_hdrs = apr_table_copy(mobj->pool, r->headers_in); + mobj->req_hdrs = deep_table_copy(mobj->pool, r->headers_in); /* Precompute how much storage we need to hold the headers */ headers_out = ap_cache_cacheable_hdrs_out(r->pool, r->headers_out, @@ -599,7 +615,7 @@ } headers_out = apr_table_overlay(r->pool, headers_out, r->err_headers_out); - mobj->header_out = apr_table_copy(mobj->pool, headers_out); + mobj->header_out = deep_table_copy(mobj->pool, headers_out); /* Init the info struct */ obj->info.status = info->status; Index: httpd.spec =================================================================== RCS file: /cvs/dist/rpms/httpd/FC-6/httpd.spec,v retrieving revision 1.102 retrieving revision 1.103 diff -u -r1.102 -r1.103 --- httpd.spec 27 Apr 2007 10:31:14 -0000 1.102 +++ httpd.spec 26 Jun 2007 14:05:40 -0000 1.103 @@ -7,7 +7,7 @@ Summary: Apache HTTP Server Name: httpd Version: 2.2.4 -Release: 2%{?dist} +Release: 2.1%{?dist} URL: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz Source1: index.html @@ -41,6 +41,11 @@ # Bug fixes Patch54: httpd-2.2.0-authnoprov.patch Patch55: httpd-2.2.4-getserver.patch +# Security fixes: +Patch70: httpd-2.2.3-CVE-2006-5752.patch +Patch71: httpd-2.2.3-CVE-2007-1863.patch +Patch72: httpd-2.2.3-CVE-2007-3304.patch +Patch73: httpd-2.2.4-CVE-2007-1862.patch License: Apache Software License Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-root @@ -120,6 +125,11 @@ %patch54 -p1 -b .authnoprov %patch55 -p1 -b .getserver +%patch70 -p1 -b .cve5752 +%patch71 -p1 -b .cve1863 +%patch72 -p1 -b .cve3304 +%patch73 -p1 -b .cve1862 + # Patch in vendor/release string sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1 @@ -486,6 +496,10 @@ %{_libdir}/httpd/build/*.sh %changelog +* Tue Jun 26 2007 Joe Orton 2.2.4-2.1.fc6 +- add security fixes for CVE-2006-5752, CVE-2007-1862, + CVE-2007-1863, CVE-2007-3304 (#244660) + * Fri Apr 27 2007 Joe Orton 2.2.4-2.fc6 - fix loading 2.2.4 DSOs with 2.2.3 httpd (#238045) - mark httpd.conf noreplace From fedora-cvs-commits at redhat.com Tue Jun 26 14:12:51 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 10:12:51 -0400 Subject: rpms/httpd/FC-5 httpd-2.2.3-CVE-2006-5752.patch, NONE, 1.1 httpd-2.2.3-CVE-2007-1863.patch, NONE, 1.1 httpd-2.2.3-CVE-2007-3304.patch, NONE, 1.1 httpd-2.1.10-apctl.patch, 1.1, 1.2 httpd-2.1.10-apxs.patch, 1.1, 1.2 httpd.spec, 1.90, 1.91 Message-ID: <200706261412.l5QECpH8017466@cvs.devel.redhat.com> Author: jorton Update of /cvs/dist/rpms/httpd/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv17447 Modified Files: httpd-2.1.10-apctl.patch httpd-2.1.10-apxs.patch httpd.spec Added Files: httpd-2.2.3-CVE-2006-5752.patch httpd-2.2.3-CVE-2007-1863.patch httpd-2.2.3-CVE-2007-3304.patch Log Message: * Tue Jun 26 2007 Joe Orton 2.2.2-1.2 - add security fixes for CVE-2006-5752, CVE-2007-1863 and CVE-2007-3304 (#244660) httpd-2.2.3-CVE-2006-5752.patch: mod_status.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) --- NEW FILE httpd-2.2.3-CVE-2006-5752.patch --- --- httpd-2.2.3/modules/generators/mod_status.c.cve5752 +++ httpd-2.2.3/modules/generators/mod_status.c @@ -270,7 +270,7 @@ if (r->method_number != M_GET) return DECLINED; - ap_set_content_type(r, "text/html"); + ap_set_content_type(r, "text/html; charset=ISO-8859-1"); /* * Simple table-driven form data set parser that lets you alter the header @@ -299,7 +299,7 @@ no_table_report = 1; break; case STAT_OPT_AUTO: - ap_set_content_type(r, "text/plain"); + ap_set_content_type(r, "text/plain; charset=ISO-8859-1"); short_report = 1; break; } @@ -673,7 +673,8 @@ ap_escape_html(r->pool, ws_record->client), ap_escape_html(r->pool, - ws_record->request), + ap_escape_logitem(r->pool, + ws_record->request)), ap_escape_html(r->pool, ws_record->vhost)); } @@ -763,7 +764,8 @@ ap_escape_html(r->pool, ws_record->vhost), ap_escape_html(r->pool, - ws_record->request)); + ap_escape_logitem(r->pool, + ws_record->request))); } /* no_table_report */ } /* for (j...) */ } /* for (i...) */ httpd-2.2.3-CVE-2007-1863.patch: cache_util.c | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) --- NEW FILE httpd-2.2.3-CVE-2007-1863.patch --- --- httpd-2.2.3/modules/cache/cache_util.c.cve1863 +++ httpd-2.2.3/modules/cache/cache_util.c @@ -231,7 +231,8 @@ age = ap_cache_current_age(info, age_c, r->request_time); /* extract s-maxage */ - if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "s-maxage", &val)) { + if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "s-maxage", &val) + && val != NULL) { smaxage = apr_atoi64(val); } else { @@ -240,7 +241,8 @@ /* extract max-age from request */ if (!conf->ignorecachecontrol - && cc_req && ap_cache_liststr(r->pool, cc_req, "max-age", &val)) { + && cc_req && ap_cache_liststr(r->pool, cc_req, "max-age", &val) + && val != NULL) { maxage_req = apr_atoi64(val); } else { @@ -248,7 +250,8 @@ } /* extract max-age from response */ - if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "max-age", &val)) { + if (cc_cresp && ap_cache_liststr(r->pool, cc_cresp, "max-age", &val) + && val != NULL) { maxage_cresp = apr_atoi64(val); } else { @@ -270,7 +273,20 @@ /* extract max-stale */ if (cc_req && ap_cache_liststr(r->pool, cc_req, "max-stale", &val)) { - maxstale = apr_atoi64(val); + if(val != NULL) { + maxstale = apr_atoi64(val); + } + else { + /* + * If no value is assigned to max-stale, then the client is willing + * to accept a stale response of any age (RFC2616 14.9.3). We will + * set it to one year in this case as this situation is somewhat + * similar to a "never expires" Expires header (RFC2616 14.21) + * which is set to a date one year from the time the response is + * sent in this case. + */ + maxstale = APR_INT64_C(86400*365); + } } else { maxstale = 0; @@ -278,7 +294,8 @@ /* extract min-fresh */ if (!conf->ignorecachecontrol - && cc_req && ap_cache_liststr(r->pool, cc_req, "min-fresh", &val)) { + && cc_req && ap_cache_liststr(r->pool, cc_req, "min-fresh", &val) + && val != NULL) { minfresh = apr_atoi64(val); } else { @@ -407,6 +424,9 @@ next - val_start); } } + else { + *val = NULL; + } } return 1; } httpd-2.2.3-CVE-2007-3304.patch: include/mpm_common.h | 11 +++++++++++ server/mpm/prefork/mpm.h | 1 + server/mpm/prefork/prefork.c | 6 +++--- server/mpm/worker/mpm.h | 1 + server/mpm/worker/worker.c | 2 +- server/mpm_common.c | 14 ++++++++++++++ 6 files changed, 31 insertions(+), 4 deletions(-) --- NEW FILE httpd-2.2.3-CVE-2007-3304.patch --- --- httpd-2.2.3/include/mpm_common.h.cve3304 +++ httpd-2.2.3/include/mpm_common.h @@ -145,6 +145,17 @@ #endif /** + * Safely signal an MPM child process, if the process is in the + * current process group. Otherwise fail. + * @param pid the process id of a child process to signal + * @param sig the signal number to send + * @return APR_SUCCESS if signal is sent, otherwise an error as per kill(3) + */ +#ifdef AP_MPM_WANT_RECLAIM_CHILD_PROCESSES +apr_status_t ap_mpm_safe_kill(pid_t pid, int sig); +#endif + +/** * Determine if any child process has died. If no child process died, then * this process sleeps for the amount of time specified by the MPM defined * macro SCOREBOARD_MAINTENANCE_INTERVAL. --- httpd-2.2.3/server/mpm_common.c.cve3304 +++ httpd-2.2.3/server/mpm_common.c @@ -126,6 +126,10 @@ apr_proc_t proc; apr_status_t waitret; + if (!MPM_VALID_PID(pid)) { + return 1; + } + proc.pid = pid; waitret = apr_proc_wait(&proc, NULL, NULL, APR_NOWAIT); if (waitret != APR_CHILD_NOTDONE) { @@ -305,6 +309,16 @@ cur_extra = next; } } + +apr_status_t ap_mpm_safe_kill(pid_t pid, int sig) +{ + if (MPM_VALID_PID(pid)) { + return kill(pid, sig) ? errno : APR_SUCCESS; + } + else { + return APR_EINVAL; + } +} #endif /* AP_MPM_WANT_RECLAIM_CHILD_PROCESSES */ #ifdef AP_MPM_WANT_WAIT_OR_TIMEOUT --- httpd-2.2.3/server/mpm/prefork/prefork.c.cve3304 +++ httpd-2.2.3/server/mpm/prefork/prefork.c @@ -1127,7 +1127,7 @@ for (index = 0; index < ap_daemons_limit; ++index) { if (ap_scoreboard_image->servers[index][0].status != SERVER_DEAD) { /* Ask each child to close its listeners. */ - kill(MPM_CHILD_PID(index), AP_SIG_GRACEFUL); + ap_mpm_safe_kill(MPM_CHILD_PID(index), AP_SIG_GRACEFUL); active_children++; } } @@ -1166,7 +1166,7 @@ active_children = 0; for (index = 0; index < ap_daemons_limit; ++index) { if (MPM_CHILD_PID(index) != 0) { - if (kill(MPM_CHILD_PID(index), 0) == 0) { + if (ap_mpm_safe_kill(MPM_CHILD_PID(index), 0) == 0) { active_children = 1; /* Having just one child is enough to stay around */ break; @@ -1222,7 +1222,7 @@ * piped loggers, etc. They almost certainly won't handle * it gracefully. */ - kill(ap_scoreboard_image->parent[index].pid, AP_SIG_GRACEFUL); + ap_mpm_safe_kill(ap_scoreboard_image->parent[index].pid, AP_SIG_GRACEFUL); } } } --- httpd-2.2.3/server/mpm/prefork/mpm.h.cve3304 +++ httpd-2.2.3/server/mpm/prefork/mpm.h @@ -53,6 +53,7 @@ #define AP_MPM_USES_POD 1 #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0) +#define MPM_VALID_PID(p) (getpgid(p) == getpgrp()) #define MPM_ACCEPT_FUNC unixd_accept extern int ap_threads_per_child; --- httpd-2.2.3/server/mpm/worker/worker.c.cve3304 +++ httpd-2.2.3/server/mpm/worker/worker.c @@ -1814,7 +1814,7 @@ active_children = 0; for (index = 0; index < ap_daemons_limit; ++index) { if (MPM_CHILD_PID(index) != 0) { - if (kill(MPM_CHILD_PID(index), 0) == 0) { + if (ap_mpm_safe_kill(MPM_CHILD_PID(index), 0) == 0) { active_children = 1; /* Having just one child is enough to stay around */ break; --- httpd-2.2.3/server/mpm/worker/mpm.h.cve3304 +++ httpd-2.2.3/server/mpm/worker/mpm.h @@ -52,6 +52,7 @@ #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) #define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0) #define MPM_ACCEPT_FUNC unixd_accept +#define MPM_VALID_PID(p) (getpgid(p) == getpgrp()) extern int ap_threads_per_child; extern int ap_max_daemons_limit; httpd-2.1.10-apctl.patch: apachectl.in | 60 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 44 insertions(+), 16 deletions(-) Index: httpd-2.1.10-apctl.patch =================================================================== RCS file: /cvs/dist/rpms/httpd/FC-5/httpd-2.1.10-apctl.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- httpd-2.1.10-apctl.patch 2 Dec 2005 10:43:00 -0000 1.1 +++ httpd-2.1.10-apctl.patch 26 Jun 2007 14:12:49 -0000 1.2 @@ -24,7 +24,7 @@ # url given on the command line. Designed for lynx, however other # programs may work. -LYNX="@LYNX_PATH@ -dump" -+if [ -x "@LYNX_PATH" ]; then ++if [ -x "@LYNX_PATH@" ]; then + LYNX="@LYNX_PATH@ -dump" +else + LYNX=none httpd-2.1.10-apxs.patch: apxs.in | 51 +++++++++++++++++---------------------------------- 1 files changed, 17 insertions(+), 34 deletions(-) Index: httpd-2.1.10-apxs.patch =================================================================== RCS file: /cvs/dist/rpms/httpd/FC-5/httpd-2.1.10-apxs.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- httpd-2.1.10-apxs.patch 2 Dec 2005 10:43:00 -0000 1.1 +++ httpd-2.1.10-apxs.patch 26 Jun 2007 14:12:49 -0000 1.2 @@ -1,10 +1,31 @@ - remove unnecessary stuff which runs httpd during build - drop unnecessary --libs output from ap?-?-config +- make multilib-safe ---- httpd-2.1.10/support/apxs.in.apxs -+++ httpd-2.1.10/support/apxs.in -@@ -184,34 +184,6 @@ +--- httpd-2.2.2/support/apxs.in.apxs ++++ httpd-2.2.2/support/apxs.in +@@ -25,7 +25,18 @@ + + my %config_vars = (); + +-my $installbuilddir = "@exp_installbuilddir@"; ++# Awful hack to make apxs libdir-agnostic: ++my $pkg_config = "/usr/bin/pkg-config"; ++if (! -x "$pkg_config") { ++ error("$pkg_config not found!"); ++ exit(1); ++} ++ ++my $libdir = `pkg-config --variable=libdir apr-1`; ++chomp $libdir; ++ ++my $installbuilddir = $libdir . "/httpd/build"; ++ + get_config_vars("$installbuilddir/config_vars.mk",\%config_vars); + + # read the configuration variables once +@@ -184,34 +195,6 @@ } } @@ -39,7 +60,16 @@ sub get_config_vars{ my ($file, $rh_config) = @_; -@@ -433,9 +405,9 @@ +@@ -291,7 +274,7 @@ + $data =~ s|%NAME%|$name|sg; + $data =~ s|%TARGET%|$CFG_TARGET|sg; + $data =~ s|%PREFIX%|$prefix|sg; +- $data =~ s|%INSTALLBUILDDIR%|$installbuilddir|sg; ++ $data =~ s|%LIBDIR%|$libdir|sg; + + my ($mkf, $mods, $src) = ($data =~ m|^(.+)-=#=-\n(.+)-=#=-\n(.+)|s); + +@@ -433,9 +416,9 @@ if ($opt_p == 1) { @@ -51,3 +81,14 @@ chomp($apu_libs); $opt .= " ".$apu_libs." ".$apr_libs; +@@ -646,8 +629,8 @@ + + builddir=. + top_srcdir=%PREFIX% +-top_builddir=%PREFIX% +-include %INSTALLBUILDDIR%/special.mk ++top_builddir=%LIBDIR%/httpd ++include %LIBDIR%/httpd/build/special.mk + + # the used tools + APXS=apxs Index: httpd.spec =================================================================== RCS file: /cvs/dist/rpms/httpd/FC-5/httpd.spec,v retrieving revision 1.90 retrieving revision 1.91 diff -u -r1.90 -r1.91 --- httpd.spec 19 Jul 2006 15:56:58 -0000 1.90 +++ httpd.spec 26 Jun 2007 14:12:49 -0000 1.91 @@ -7,7 +7,7 @@ Summary: Apache HTTP Server Name: httpd Version: 2.2.2 -Release: 1.1 +Release: 1.2 URL: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz Source1: index.html @@ -41,6 +41,10 @@ # Bug fixes Patch50: httpd-2.0.45-encode.patch Patch54: httpd-2.2.0-authnoprov.patch +# Security fixes +Patch70: httpd-2.2.3-CVE-2006-5752.patch +Patch71: httpd-2.2.3-CVE-2007-1863.patch +Patch72: httpd-2.2.3-CVE-2007-3304.patch License: Apache Software License Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-root @@ -120,6 +124,10 @@ %patch50 -p1 %patch54 -p1 -b .authnoprov +%patch70 -p1 -b .cve5752 +%patch71 -p1 -b .cve1863 +%patch72 -p1 -b .cve3304 + # Patch in vendor/release string sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1 @@ -480,6 +488,10 @@ %{_libdir}/httpd/build/*.sh %changelog +* Tue Jun 26 2007 Joe Orton 2.2.2-1.2 +- add security fixes for CVE-2006-5752, CVE-2007-1863 and + CVE-2007-3304 (#244660) + * Wed Jul 19 2006 Joe Orton 2.2.2-1.1 - fix segfault on dummy connection failure at graceful restart (#199429) From fedora-cvs-commits at redhat.com Tue Jun 26 14:13:40 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 10:13:40 -0400 Subject: rpms/gnome-bluetooth/FC-6 gnome-bluetooth-0.7.0-gnome-obex-send.patch, 1.3, 1.4 gnome-bluetooth.spec, 1.45, 1.46 Message-ID: <200706261413.l5QEDe4o017570@cvs.devel.redhat.com> Author: ovasik Update of /cvs/dist/rpms/gnome-bluetooth/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv17553 Modified Files: gnome-bluetooth-0.7.0-gnome-obex-send.patch gnome-bluetooth.spec Log Message: fix of icon problem(#238807) gnome-bluetooth-0.7.0-gnome-obex-send.patch: obex/Makefile.am | 3 ++- obex/gnome-obex-send.c | 19 ++++++++++++++++++- src/gnomebt-icons.c | 7 +++++-- ui/gnome-obex-send.glade | 2 +- 4 files changed, 26 insertions(+), 5 deletions(-) Index: gnome-bluetooth-0.7.0-gnome-obex-send.patch =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/gnome-bluetooth-0.7.0-gnome-obex-send.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- gnome-bluetooth-0.7.0-gnome-obex-send.patch 26 Jun 2007 12:06:55 -0000 1.3 +++ gnome-bluetooth-0.7.0-gnome-obex-send.patch 26 Jun 2007 14:13:37 -0000 1.4 @@ -54,10 +54,42 @@ + if (g_file_exists(ICON_FILE)) { + gtk_window_set_default_icon_from_file (ICON_FILE, NULL); -+ } else if (g_file_exists("../pixmaps/blueradio-48.png")) { -+ gtk_window_set_default_icon_from_file ("../pixmaps/blueradio-48.png", NULL); ++ } else if (g_file_exists("../pixmaps/blueradio.png")) { ++ gtk_window_set_default_icon_from_file ("../pixmaps/blueradio.png", NULL); + } + if (fname) { app->xml = glade_xml_new (fname, NULL, NULL); glade_xml_signal_autoconnect (app->xml); +--- gnome-bluetooth-0.7.0/src/gnomebt-icons.c.gnome-obex-send 2004-06-04 21:29:04.000000000 +0200 ++++ gnome-bluetooth-0.7.0/src/gnomebt-icons.c 2007-06-26 15:19:24.000000000 +0200 +@@ -17,6 +17,7 @@ + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + #include ++#include + + #include "gnomebt-icons.h" + +@@ -24,6 +24,8 @@ GdkPixbuf * + gnomebt_icon(void) + { + GError *err=NULL; +- return gdk_pixbuf_new_from_file(DATA_DIR"/pixmaps/blueradio-48.png", +- &err); ++ if (g_file_exists(DATA_DIR"/pixmaps/blueradio.png")) ++ return gdk_pixbuf_new_from_file(DATA_DIR"/pixmaps/blueradio.png",&err); ++ else ++ return gdk_pixbuf_new_from_file("../pixmaps/blueradio-48.png",&err); + } +--- gnome-bluetooth-0.7.0/ui/gnome-obex-send.glade-gnome-obex-send 2003-10-31 01:55:00.000000000 +0100 ++++ gnome-bluetooth-0.7.0/ui/gnome-obex-send.glade 2007-06-26 15:20:30.000000000 +0200 +@@ -11,7 +11,7 @@ + False + True + False +- pixmaps/blueradio-48.png ++ pixmaps/blueradio.png + True + + Index: gnome-bluetooth.spec =================================================================== RCS file: /cvs/dist/rpms/gnome-bluetooth/FC-6/gnome-bluetooth.spec,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- gnome-bluetooth.spec 26 Jun 2007 12:06:55 -0000 1.45 +++ gnome-bluetooth.spec 26 Jun 2007 14:13:37 -0000 1.46 @@ -1,7 +1,7 @@ Summary: GNOME Bluetooth Subsystem Name: gnome-bluetooth Version: 0.7.0 -Release: 11%{dist} +Release: 12%{?dist} License: GPL Group: System Environment/Libraries URL: http://usefulinc.com/software/gnome-bluetooth @@ -138,6 +138,9 @@ %{_includedir}/gnome-bluetooth/ %changelog +* Tue Jun 26 2007 Ondrej Vasik - 0.7.0-12 +- fix of icon problem(#238807) improved in gnome-obex.send.patch + * Thu Nov 23 2006 Harald Hoyer - 0.7.0-11 - fixed gnome-obex-send - removed gnome-bluetooth-manager From fedora-cvs-commits at redhat.com Tue Jun 26 14:17:17 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 10:17:17 -0400 Subject: rpms/httpd/FC-5 httpd-2.0.46-CVE-2006-3747.patch, NONE, 1.1 httpd.spec, 1.91, 1.92 Message-ID: <200706261417.l5QEHH0k017732@cvs.devel.redhat.com> Author: jorton Update of /cvs/dist/rpms/httpd/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv17712 Modified Files: httpd.spec Added Files: httpd-2.0.46-CVE-2006-3747.patch Log Message: - merge FC-5-embargo branch, and bump release httpd-2.0.46-CVE-2006-3747.patch: mod_rewrite.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE httpd-2.0.46-CVE-2006-3747.patch --- --- httpd-2.0.46/modules/mappers/mod_rewrite.c.cve3747 +++ httpd-2.0.46/modules/mappers/mod_rewrite.c @@ -2867,7 +2867,7 @@ int c = 0; token[0] = cp = apr_pstrdup(p, cp); - while (*cp && c < 5) { + while (*cp && c < 4) { if (*cp == '?') { token[++c] = cp + 1; *cp = '\0'; Index: httpd.spec =================================================================== RCS file: /cvs/dist/rpms/httpd/FC-5/httpd.spec,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- httpd.spec 26 Jun 2007 14:12:49 -0000 1.91 +++ httpd.spec 26 Jun 2007 14:17:15 -0000 1.92 @@ -7,7 +7,7 @@ Summary: Apache HTTP Server Name: httpd Version: 2.2.2 -Release: 1.2 +Release: 1.3 URL: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz Source1: index.html @@ -42,9 +42,10 @@ Patch50: httpd-2.0.45-encode.patch Patch54: httpd-2.2.0-authnoprov.patch # Security fixes -Patch70: httpd-2.2.3-CVE-2006-5752.patch -Patch71: httpd-2.2.3-CVE-2007-1863.patch -Patch72: httpd-2.2.3-CVE-2007-3304.patch +Patch70: httpd-2.0.46-CVE-2006-3747.patch +Patch71: httpd-2.2.3-CVE-2006-5752.patch +Patch72: httpd-2.2.3-CVE-2007-1863.patch +Patch73: httpd-2.2.3-CVE-2007-3304.patch License: Apache Software License Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-root @@ -124,9 +125,10 @@ %patch50 -p1 %patch54 -p1 -b .authnoprov -%patch70 -p1 -b .cve5752 -%patch71 -p1 -b .cve1863 -%patch72 -p1 -b .cve3304 +%patch70 -p1 -b .cve3747 +%patch71 -p1 -b .cve5752 +%patch72 -p1 -b .cve1863 +%patch73 -p1 -b .cve3304 # Patch in vendor/release string sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1 @@ -488,10 +490,13 @@ %{_libdir}/httpd/build/*.sh %changelog -* Tue Jun 26 2007 Joe Orton 2.2.2-1.2 +* Tue Jun 26 2007 Joe Orton 2.2.2-1.3 - add security fixes for CVE-2006-5752, CVE-2007-1863 and CVE-2007-3304 (#244660) +* Wed Jul 26 2006 Joe Orton 2.2.2-1.2 +- add mod_rewrite security fix (CVE-2006-3747) + * Wed Jul 19 2006 Joe Orton 2.2.2-1.1 - fix segfault on dummy connection failure at graceful restart (#199429) From fedora-cvs-commits at redhat.com Tue Jun 26 14:52:23 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 10:52:23 -0400 Subject: rpms/net-snmp/FC-6 net-snmp-5.3.1-udp-endpoint.patch,NONE,1.1 Message-ID: <200706261452.l5QEqN7h018979@cvs.devel.redhat.com> Author: jsafrane Update of /cvs/dist/rpms/net-snmp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv18961 Added Files: net-snmp-5.3.1-udp-endpoint.patch Log Message: fix udpEndpointProcess remote IP address Resolves: #236551 net-snmp-5.3.1-udp-endpoint.patch: udp_endpoint_linux.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE net-snmp-5.3.1-udp-endpoint.patch --- Already fixed upstream, should appear in 5.3.2 --- net-snmp-5.3.1/agent/mibgroup/udp-mib/data_access/udp_endpoint_linux.c.orig 2007-05-03 12:56:16.000000000 +0200 +++ net-snmp-5.3.1/agent/mibgroup/udp-mib/data_access/udp_endpoint_linux.c 2007-05-03 13:08:54.000000000 +0200 @@ -194,7 +194,7 @@ offset, line_info->start)); return PMLP_RC_MEMORY_UNUSED; } - ep->loc_addr_len = offset; + ep->rmt_addr_len = offset; ptr += (offset * 2); ++ptr; /* skip ':' */ From fedora-cvs-commits at redhat.com Tue Jun 26 14:52:44 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 10:52:44 -0400 Subject: rpms/net-snmp/FC-6 net-snmp-5.3.1-tcp-scalars.patch, NONE, 1.1 net-snmp.spec, 1.97, 1.98 Message-ID: <200706261452.l5QEqiVe019008@cvs.devel.redhat.com> Author: jsafrane Update of /cvs/dist/rpms/net-snmp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv18992 Modified Files: net-snmp.spec Added Files: net-snmp-5.3.1-tcp-scalars.patch Log Message: fix snmpwalk / bulkwalk on TCP scalars Resolves: #243316 net-snmp-5.3.1-tcp-scalars.patch: snmp_api.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) --- NEW FILE net-snmp-5.3.1-tcp-scalars.patch --- Index: snmplib/snmp_api.c =================================================================== --- snmplib/snmp_api.c (revision 15708) +++ snmplib/snmp_api.c (revision 15709) @@ -6476,15 +6476,17 @@ int i; size_t min_size; - if (!in_name1 || !in_name2) + if (!in_name1 || !in_name2 || !len1 || !len2) return -1; + if (in_name1[0] != in_name2[0]) + return 0; /* No match */ min_size = SNMP_MIN(len1, len2); for(i = 0; i < (int)min_size; i++) { if (in_name1[i] != in_name2[i]) - return i + 1; + return i + 1; /* Why +1 ?? */ } - return 0; + return min_size; /* or +1? - the spec isn't totally clear */ } static int _check_range(struct tree *tp, long ltmp, int *resptr, Index: net-snmp.spec =================================================================== RCS file: /cvs/dist/rpms/net-snmp/FC-6/net-snmp.spec,v retrieving revision 1.97 retrieving revision 1.98 diff -u -r1.97 -r1.98 --- net-snmp.spec 3 May 2007 11:28:09 -0000 1.97 +++ net-snmp.spec 26 Jun 2007 14:52:42 -0000 1.98 @@ -47,6 +47,7 @@ Patch34: net-snmp-5.3.1-perl_bulkwalk.patch Patch35: net-snmp-5.3.1-hostname.patch Patch36: net-snmp-5.3.1-udp-endpoint.patch +Patch37: net-snmp-5.3.1-tcp-scalars.patch Prereq: /sbin/chkconfig Obsoletes: ucd-snmp @@ -59,7 +60,7 @@ %if %{tcp_wrappers} BuildPrereq: tcp_wrappers %endif -BuildPrereq: perl, coreutils, grep, sed, findutils +BuildPrereq: perl, coreutils, grep, sed, findutils, rpm-devel #%define __libtoolize /bin/true %{expand: %%define _includedir %{_includedir}/%{name}} @@ -159,6 +160,7 @@ %patch34 -p0 -b .bulkwalk %patch35 -p1 -b .hostname %patch36 -p1 -b .udp-endpoint +%patch37 -p0 -b .tcp-scalars # Do this patch with a perl hack... perl -pi -e "s|'\\\$install_libdir'|'%{_libdir}'|" ltmain.sh @@ -364,9 +366,12 @@ %{_libdir}/lib*.so.* %changelog -* Thu May 3 2007 Jan Safranek +* Thu May 3 2007 Jan Safranek - fix snmptrapd hostname logging (#238587) - fix udpEndpointProcess remote IP address (#236551) +- fix snmpwalk / bulkwalk on TCP scalars (#243316) +- add build dependency on rpm-devel to support + hrSWInst table * Mon Mar 26 2007 Radek Vok??l - 5.3.1-14 - fix perl bulkwalk (#232913) From fedora-cvs-commits at redhat.com Tue Jun 26 15:02:42 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 11:02:42 -0400 Subject: rpms/net-snmp/FC-6 net-snmp.spec,1.98,1.99 Message-ID: <200706261502.l5QF2gBX019353@cvs.devel.redhat.com> Author: jsafrane Update of /cvs/dist/rpms/net-snmp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19339 Modified Files: net-snmp.spec Log Message: fix ugly error message when more interfaces share one IP address Resolves: #209861 Index: net-snmp.spec =================================================================== RCS file: /cvs/dist/rpms/net-snmp/FC-6/net-snmp.spec,v retrieving revision 1.98 retrieving revision 1.99 diff -u -r1.98 -r1.99 --- net-snmp.spec 26 Jun 2007 14:52:42 -0000 1.98 +++ net-snmp.spec 26 Jun 2007 15:02:40 -0000 1.99 @@ -48,6 +48,7 @@ Patch35: net-snmp-5.3.1-hostname.patch Patch36: net-snmp-5.3.1-udp-endpoint.patch Patch37: net-snmp-5.3.1-tcp-scalars.patch +Patch38: net-snmp-5.3.1-shared-ip.patch Prereq: /sbin/chkconfig Obsoletes: ucd-snmp @@ -161,6 +162,7 @@ %patch35 -p1 -b .hostname %patch36 -p1 -b .udp-endpoint %patch37 -p0 -b .tcp-scalars +%patch38 -p1 -b .shared-ip # Do this patch with a perl hack... perl -pi -e "s|'\\\$install_libdir'|'%{_libdir}'|" ltmain.sh @@ -372,6 +374,8 @@ - fix snmpwalk / bulkwalk on TCP scalars (#243316) - add build dependency on rpm-devel to support hrSWInst table +- fix ugly error message when more interfaces share + one IP address (209861) * Mon Mar 26 2007 Radek Vok??l - 5.3.1-14 - fix perl bulkwalk (#232913) From fedora-cvs-commits at redhat.com Tue Jun 26 15:06:10 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 11:06:10 -0400 Subject: rpms/net-snmp/FC-6 net-snmp-5.3.1-snmpassert.patch, NONE, 1.1 net-snmp.spec, 1.99, 1.100 Message-ID: <200706261506.l5QF6AJ5019479@cvs.devel.redhat.com> Author: jsafrane Update of /cvs/dist/rpms/net-snmp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv19462 Modified Files: net-snmp.spec Added Files: net-snmp-5.3.1-snmpassert.patch Log Message: fix ugly error message when more interfaces share one IP address Resolves: #209861 net-snmp-5.3.1-snmpassert.patch: ifTable_data_access.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) --- NEW FILE net-snmp-5.3.1-snmpassert.patch --- --- net-snmp-5.3.1/agent/mibgroup/if-mib/ifTable/ifTable_data_access.c.orig 2006-07-07 22:25:12.000000000 +0200 +++ net-snmp-5.3.1/agent/mibgroup/if-mib/ifTable/ifTable_data_access.c 2007-05-28 14:51:22.000000000 +0200 @@ -203,8 +203,11 @@ DEBUGMSGTL(("ifTable:access", "updating existing entry\n")); #ifdef USING_IF_MIB_IFXTABLE_IFXTABLE_MODULE - netsnmp_assert(strcmp(rowreq_ctx->data.ifName, - ifentry->name) == 0); + { + int rc = strcmp(rowreq_ctx->data.ifName, + ifentry->name); + netsnmp_assert(rc == 0); + } #endif /* * if the interface was missing, but came back, clear the Index: net-snmp.spec =================================================================== RCS file: /cvs/dist/rpms/net-snmp/FC-6/net-snmp.spec,v retrieving revision 1.99 retrieving revision 1.100 diff -u -r1.99 -r1.100 --- net-snmp.spec 26 Jun 2007 15:02:40 -0000 1.99 +++ net-snmp.spec 26 Jun 2007 15:06:08 -0000 1.100 @@ -49,6 +49,7 @@ Patch36: net-snmp-5.3.1-udp-endpoint.patch Patch37: net-snmp-5.3.1-tcp-scalars.patch Patch38: net-snmp-5.3.1-shared-ip.patch +Patch39: net-snmp-5.3.1-snmpassert.patch Prereq: /sbin/chkconfig Obsoletes: ucd-snmp @@ -163,6 +164,7 @@ %patch36 -p1 -b .udp-endpoint %patch37 -p0 -b .tcp-scalars %patch38 -p1 -b .shared-ip +%patch39 -p1 -b .snmpassert # Do this patch with a perl hack... perl -pi -e "s|'\\\$install_libdir'|'%{_libdir}'|" ltmain.sh From fedora-cvs-commits at redhat.com Tue Jun 26 15:57:39 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Tue, 26 Jun 2007 11:57:39 -0400 Subject: rpms/tzdata/FC-5 .cvsignore, 1.30, 1.31 sources, 1.33, 1.34 tzdata.spec, 1.38, 1.39 Message-ID: <200706261557.l5QFvd7h020977@cvs.devel.redhat.com> Author: pmachata Update of /cvs/dist/rpms/tzdata/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv20951 Modified Files: .cvsignore sources tzdata.spec Log Message: - Upstream 2007f - New Zealand is extending DST, starting later this year. - Haiti no longer observes DST. - The Turks and Caicos switch at 02:00, not at 00:00, and have adopted US DST rules. - Upstream 2007e - Syria switched to summer time at Mar/29. - Honduras will not enter DST this year. - Resolves: #244235 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/tzdata/FC-5/.cvsignore,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- .cvsignore 23 Mar 2007 12:05:21 -0000 1.30 +++ .cvsignore 26 Jun 2007 15:57:32 -0000 1.31 @@ -1,3 +1,3 @@ -tzcode2007d.tar.gz -tzdata2007d.tar.gz +tzcode2007f.tar.gz +tzdata2007f.tar.gz tzdata-base-0.tar.bz2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/tzdata/FC-5/sources,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- sources 23 Mar 2007 12:05:21 -0000 1.33 +++ sources 26 Jun 2007 15:57:32 -0000 1.34 @@ -1,3 +1,3 @@ -f63d242016ce0da0bafc0867e2824ad9 tzcode2007d.tar.gz -05ba08b08c773cd26b74a94205bf397f tzdata2007d.tar.gz +fdfa8b941827a33e7a43aaf039ea9b67 tzcode2007f.tar.gz +799ca289ee9e2f22ce6e3f9fb9c5f847 tzdata2007f.tar.gz 906a4c98cc5240f416524a256b039c42 tzdata-base-0.tar.bz2 Index: tzdata.spec =================================================================== RCS file: /cvs/dist/rpms/tzdata/FC-5/tzdata.spec,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- tzdata.spec 23 Mar 2007 12:05:21 -0000 1.38 +++ tzdata.spec 26 Jun 2007 15:57:32 -0000 1.39 @@ -1,6 +1,6 @@ Summary: Timezone data Name: tzdata -Version: 2007d +Version: 2007f %define tzdata_version %{version} %define tzcode_version %{version} Release: 1%{?dist} @@ -52,6 +52,17 @@ %doc tzcode%{tzcode_version}/tz-link.html %changelog +* Tue Jun 26 2007 Petr Machata - 2007f-1 +- Upstream 2007f + - New Zealand is extending DST, starting later this year. + - Haiti no longer observes DST. + - The Turks and Caicos switch at 02:00, not at 00:00, and have + adopted US DST rules. +- Upstream 2007e + - Syria switched to summer time at Mar/29. + - Honduras will not enter DST this year. +- Resolves: #244235 + * Fri Mar 23 2007 Petr Machata - 2007d-1 - Upstream 2007d - Mongolia has abolished DST. From fedora-cvs-commits at redhat.com Wed Jun 27 13:16:28 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 09:16:28 -0400 Subject: rpms/frysk/FC-5 frysk.spec, 1.52, 1.53 frysk-20060922-a-cast.patch, 1.2, NONE frysk-no-dejagnu.patch, 1.1, NONE frysk-xfail-2130.patch, 1.3, NONE Message-ID: <200706271316.l5RDGSpX021291@cvs.devel.redhat.com> Author: cagney Update of /cvs/dist/rpms/frysk/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv21210 Modified Files: frysk.spec Removed Files: frysk-20060922-a-cast.patch frysk-no-dejagnu.patch frysk-xfail-2130.patch Log Message: * Wed Jun 27 2007 Andew Cagney - 0.0.1.2007.06.21.rh2-1 - New upstream version. - Build out-of-tree. - Remove Patch0, Patch1, Patch2. Index: frysk.spec =================================================================== RCS file: /cvs/dist/rpms/frysk/FC-5/frysk.spec,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- frysk.spec 12 Feb 2007 16:34:07 -0000 1.52 +++ frysk.spec 27 Jun 2007 13:16:26 -0000 1.53 @@ -1,6 +1,6 @@ Summary: Frysk execution analysis tool Name: frysk -Version: 0.0.1.2007.02.07.rh1 +Version: 0.0.1.2007.06.21.rh2 Release: 1%{?dist} License: GPL Group: Development/System @@ -9,17 +9,6 @@ %define run_make_check 0 -%if %{run_make_check} -# Disable the test which fails when building on older kernel. -Patch0: frysk-xfail-2130.patch -%endif - -# Prevent a warning from a new g++: -Patch1: frysk-20060922-a-cast.patch - -# Temporarily disable install-dejagnu: -Patch2: frysk-no-dejagnu.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: glib-java >= 0.2.6 @@ -104,11 +93,6 @@ %prep %setup -q -n %{name}-%{version} -%if %{run_make_check} -%patch0 -%endif -%patch1 -%patch2 %build @@ -126,7 +110,13 @@ uname -a gcc --version - +pwd +mkdir -p build +cd build + +# Capture the configure line +echo '../configure "$@"' > configure +chmod a+x configure # FIXME: Warnings should be fixed, not suppressed: RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-Wp,-D_FORTIFY_SOURCE=2 /} %configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" --disable-arch32-tests @@ -149,6 +139,8 @@ # Workaround for bug #??: mkdir -p $RPM_BUILD_ROOT/usr/share/frysk +pwd +cd build make DESTDIR=$RPM_BUILD_ROOT install %{?_smp_mflags} # Fix timestamp of a generated script: @@ -229,6 +221,11 @@ %{_datadir}/pixmaps/fryskTrayIcon48.png %changelog +* Wed Jun 27 2007 Andew Cagney - 0.0.1.2007.06.21.rh2-1 +- New upstream version. +- Build out-of-tree. +- Remove Patch0, Patch1, Patch2. + * Tue Feb 6 2007 Stepan Kasal - 0.0.1.2007.02.07.rh1-1 - New upstream version. - Add Gnome help files, test_looper.xml, and test_main_looper to the file --- frysk-20060922-a-cast.patch DELETED --- --- frysk-no-dejagnu.patch DELETED --- --- frysk-xfail-2130.patch DELETED --- From fedora-cvs-commits at redhat.com Wed Jun 27 13:18:37 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 09:18:37 -0400 Subject: rpms/frysk/FC-5 .cvsignore,1.23,1.24 sources,1.24,1.25 Message-ID: <200706271318.l5RDIb47021425@cvs.devel.redhat.com> Author: cagney Update of /cvs/dist/rpms/frysk/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv21401 Modified Files: .cvsignore sources Log Message: Uploaded new tarball. Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/frysk/FC-5/.cvsignore,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- .cvsignore 12 Feb 2007 16:34:07 -0000 1.23 +++ .cvsignore 27 Jun 2007 13:18:35 -0000 1.24 @@ -1 +1 @@ -frysk-0.0.1.2007.02.07.rh1.tar.bz2 +frysk-0.0.1.2007.06.21.rh2.tar.bz2 Index: sources =================================================================== RCS file: /cvs/dist/rpms/frysk/FC-5/sources,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- sources 12 Feb 2007 16:34:07 -0000 1.24 +++ sources 27 Jun 2007 13:18:35 -0000 1.25 @@ -1 +1 @@ -da2547c8e0dc5bd99367b9cd2708deab frysk-0.0.1.2007.02.07.rh1.tar.bz2 +2df540eb2e5e6456ccc0fad9d164400d frysk-0.0.1.2007.06.21.rh2.tar.bz2 From fedora-cvs-commits at redhat.com Wed Jun 27 15:11:53 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 11:11:53 -0400 Subject: rpms/gimp/FC-6 gimp-2.2.15-psd-invalid-dimensions.patch, NONE, 1.1 gimp.spec, 1.113, 1.114 Message-ID: <200706271511.l5RFBrF2025880@cvs.devel.redhat.com> Author: nphilipp Update of /cvs/dist/rpms/gimp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv25848 Modified Files: gimp.spec Added Files: gimp-2.2.15-psd-invalid-dimensions.patch Log Message: refuse to open PSD files with insanely large dimensions (#244402, fix by Sven Neumann) require gutenprint-plugin or gimp-print-plugin (#243593) Resolves: #243593, #244402 gimp-2.2.15-psd-invalid-dimensions.patch: psd.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) --- NEW FILE gimp-2.2.15-psd-invalid-dimensions.patch --- --- gimp-2.2.15/plug-ins/common/psd.c.psd-invalid-dimensions 2007-04-17 23:11:24.000000000 +0200 +++ gimp-2.2.15/plug-ins/common/psd.c 2007-06-27 13:06:24.000000000 +0200 @@ -1199,9 +1199,15 @@ seek_to_and_unpack_pixeldata(FILE* fd, g compression = getgshort(fd, "layer channel compression type"); offset+=2; - width = channel->width; + width = channel->width; height = channel->height; + if (width > G_MAXINT16 || height > G_MAXINT16) + { + g_message ("Error: Invalid channel dimensions"); + gimp_quit (); + } + IFDBG { printf("\t\t\tLayer (%d) Channel (%d:%d) Compression: %d (%s)\n", Index: gimp.spec =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-6/gimp.spec,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- gimp.spec 1 Jun 2007 15:19:14 -0000 1.113 +++ gimp.spec 27 Jun 2007 15:11:51 -0000 1.114 @@ -43,7 +43,7 @@ %define age 0 %define minorver 200 %define microver %(ver=%{version}; echo ${ver##*.*.}) -Release: 1%{?dist} +Release: 3%{?dist} Epoch: 2 License: GPL, LGPL Group: Applications/Multimedia @@ -90,6 +90,11 @@ Requires: gtk2 >= 2.4.14 Requires: pango >= 1.6.0 Requires: fontconfig >= 2.2.0 +%if %_enable_gutenprint +Requires: gutenprint-plugin +%else +Requires: gimp-print-plugin +%endif Requires(post): /usr/bin/update-desktop-database Requires(post): hicolor-icon-theme Requires(postun): /usr/bin/update-desktop-database @@ -102,6 +107,7 @@ Patch4: gimp-2.2.4-gifload.patch Patch5: gimp-2.2.11-htmlview.patch Patch6: gimp-2.2.11-gimptool.patch +Patch7: gimp-2.2.15-psd-invalid-dimensions.patch %description GIMP (GNU Image Manipulation Program) is a powerful image composition and @@ -156,6 +162,7 @@ %patch4 -p1 -b .gifload %patch5 -p1 -b .htmlview %patch6 -p1 -b .gimptool +%patch7 -p1 -b .psd-insane-dimensions %build libtoolize --copy --force @@ -419,6 +426,13 @@ %{_libdir}/pkgconfig/* %changelog +* Wed Jun 27 2007 Nils Philippsen - 2:2.2.15-3 +- refuse to open PSD files with insanely large dimensions (#244402, fix by Sven + Neumann) + +* Wed Jun 13 2007 Nils Philippsen - 2:2.2.15-2 +- require gutenprint-plugin or gimp-print-plugin (#243593) + * Thu May 31 2007 Nils Philippsen - 2:2.2.15-1 - version 2.2.15 From fedora-cvs-commits at redhat.com Wed Jun 27 15:13:20 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 11:13:20 -0400 Subject: rpms/gimp/FC-5 gimp-2.2.15-psd-invalid-dimensions.patch, NONE, 1.1 .cvsignore, 1.29, 1.30 gimp.spec, 1.99, 1.100 sources, 1.29, 1.30 Message-ID: <200706271513.l5RFDK57025976@cvs.devel.redhat.com> Author: nphilipp Update of /cvs/dist/rpms/gimp/FC-5 In directory cvs.devel.redhat.com:/tmp/cvs-serv25957 Modified Files: .cvsignore gimp.spec sources Added Files: gimp-2.2.15-psd-invalid-dimensions.patch Log Message: refuse to open PSD files with insanely large dimensions (#244402, fix by Sven Neumann) require gutenprint-plugin or gimp-print-plugin (#243593) version 2.2.15 remove obsolete sunras-overflow patch Resolves: #243593, #244402 gimp-2.2.15-psd-invalid-dimensions.patch: psd.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) --- NEW FILE gimp-2.2.15-psd-invalid-dimensions.patch --- --- gimp-2.2.15/plug-ins/common/psd.c.psd-invalid-dimensions 2007-04-17 23:11:24.000000000 +0200 +++ gimp-2.2.15/plug-ins/common/psd.c 2007-06-27 13:06:24.000000000 +0200 @@ -1199,9 +1199,15 @@ seek_to_and_unpack_pixeldata(FILE* fd, g compression = getgshort(fd, "layer channel compression type"); offset+=2; - width = channel->width; + width = channel->width; height = channel->height; + if (width > G_MAXINT16 || height > G_MAXINT16) + { + g_message ("Error: Invalid channel dimensions"); + gimp_quit (); + } + IFDBG { printf("\t\t\tLayer (%d) Channel (%d:%d) Compression: %d (%s)\n", Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-5/.cvsignore,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- .cvsignore 2 May 2007 04:25:39 -0000 1.29 +++ .cvsignore 27 Jun 2007 15:13:18 -0000 1.30 @@ -1 +1 @@ -gimp-2.2.14.tar.bz2 +gimp-2.2.15.tar.bz2 Index: gimp.spec =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-5/gimp.spec,v retrieving revision 1.99 retrieving revision 1.100 diff -u -r1.99 -r1.100 --- gimp.spec 2 May 2007 04:25:39 -0000 1.99 +++ gimp.spec 27 Jun 2007 15:13:18 -0000 1.100 @@ -36,14 +36,14 @@ Summary: GNU Image Manipulation Program Name: gimp -Version: 2.2.14 +Version: 2.2.15 %define binver 2.2 %define gimp_lang_ver 20 %define interfacever 2.0 %define age 0 %define minorver 200 %define microver %(ver=%{version}; echo ${ver##*.*.}) -Release: 5%{?dist} +Release: 3%{?dist} Epoch: 2 License: GPL, LGPL Group: Applications/Multimedia @@ -90,6 +90,11 @@ Requires: gtk2 >= 2.4.14 Requires: pango >= 1.6.0 Requires: fontconfig >= 2.2.0 +%if %_enable_gutenprint +Requires: gutenprint-plugin +%else +Requires: gimp-print-plugin +%endif Requires(post): /usr/bin/update-desktop-database Requires(post): hicolor-icon-theme Requires(postun): /usr/bin/update-desktop-database @@ -102,7 +107,7 @@ Patch4: gimp-2.2.4-gifload.patch Patch5: gimp-2.2.11-htmlview.patch Patch6: gimp-2.2.11-gimptool.patch -Patch7: gimp-2.2.14-sunras-overflow.patch +Patch7: gimp-2.2.15-psd-invalid-dimensions.patch %description GIMP (GNU Image Manipulation Program) is a powerful image composition and @@ -157,7 +162,7 @@ %patch4 -p1 -b .gifload %patch5 -p1 -b .htmlview %patch6 -p1 -b .gimptool -%patch7 -p1 -b .sunras-overflow +%patch7 -p1 -b .psd-insane-dimensions %build libtoolize --copy --force @@ -421,6 +426,29 @@ %{_libdir}/pkgconfig/* %changelog +* Wed Jun 27 2007 Nils Philippsen - 2:2.2.15-3 +- refuse to open PSD files with insanely large dimensions (#244402, fix by Sven + Neumann) + +* Wed Jun 13 2007 Nils Philippsen - 2:2.2.15-2 +- require gutenprint-plugin or gimp-print-plugin (#243593) + +* Thu May 31 2007 Nils Philippsen - 2:2.2.15-1 +- version 2.2.15 + + Bugs fixed in GIMP 2.2.15 + ========================= + + - fixed parsing of GFig files with CRLF line endings (bug #346988) + - guard against a possible stack overflow in the Sunras loader (bug #433902) + - fixed definition of datarootdir in gimptool-2.0 (bug #436386) + - fixed Perspective tool crash on Mac OS X (bug #349483) + - fixed area resizing in the Image Map plug-in (bug #439222) + - added missing library in gimptool-2.0 --libs output + - added new localizations: Occitan and Persian + +- remove obsolete sunras-overflow patch + * Tue May 01 2007 Nils Philippsen - 2:2.2.14-5 - don't let gimp-plugin-mgr --uninstall fail %%pre/%%preun scriptlets (#238337) Index: sources =================================================================== RCS file: /cvs/dist/rpms/gimp/FC-5/sources,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- sources 2 May 2007 04:25:39 -0000 1.29 +++ sources 27 Jun 2007 15:13:18 -0000 1.30 @@ -1 +1 @@ -2f47dd66d714a970356e275dd1d3caac gimp-2.2.14.tar.bz2 +5e705f0c7a3b37703d407e88bee357bb gimp-2.2.15.tar.bz2 From fedora-cvs-commits at redhat.com Wed Jun 27 18:30:23 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 14:30:23 -0400 Subject: rpms/gcc/FC-6 gcc41-pr28690.patch, NONE, 1.1 gcc41-pr31748.patch, NONE, 1.1 gcc41-pr32139.patch, NONE, 1.1 gcc41-pr32468-2.patch, NONE, 1.1 gcc41-pr32468.patch, NONE, 1.1 gcc41-rh235008.patch, NONE, 1.1 gcc41-rh245424.patch, NONE, 1.1 .cvsignore, 1.179, 1.180 README.libgcjwebplugin.so, 1.1, 1.2 gcc41.spec, 1.113, 1.114 sources, 1.181, 1.182 gcc41-i386-tune-geode.patch, 1.2, NONE gcc41-mni.patch, 1.2, NONE gcc41-objc-rh185398.patch, 1.2, NONE gcc41-pr24036-revert.patch, 1.1, NONE gcc41-pr25874.patch, 1.2, NONE gcc41-pr27567.patch, 1.1, NONE gcc41-pr28709.patch, 1.1, NONE gcc41-pr29059.patch, 1.1, NONE gcc41-pr29272.patch, 1.2, NONE gcc41-pr29299.patch, 1.1, NONE gcc41-pr30001.patch, 1.1, NONE gcc41-pr30045.patch, 1.1, NONE gcc41-pr30113.patch, 1.1, NONE gcc41-pr30143.patch, 1.1, NONE gcc41-pr30189.patch, 1.1, NONE gcc41-strncat-chk.patch, 1.2, NONE gcc41-tests.patch, 1.4, NONE Message-ID: <200706271830.l5RIUNhf031962@cvs.devel.redhat.com> Author: jakub Update of /cvs/dist/rpms/gcc/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv31932/FC-6 Modified Files: .cvsignore README.libgcjwebplugin.so gcc41.spec sources Added Files: gcc41-pr28690.patch gcc41-pr31748.patch gcc41-pr32139.patch gcc41-pr32468-2.patch gcc41-pr32468.patch gcc41-rh235008.patch gcc41-rh245424.patch Removed Files: gcc41-i386-tune-geode.patch gcc41-mni.patch gcc41-objc-rh185398.patch gcc41-pr24036-revert.patch gcc41-pr25874.patch gcc41-pr27567.patch gcc41-pr28709.patch gcc41-pr29059.patch gcc41-pr29272.patch gcc41-pr29299.patch gcc41-pr30001.patch gcc41-pr30045.patch gcc41-pr30113.patch gcc41-pr30143.patch gcc41-pr30189.patch gcc41-strncat-chk.patch gcc41-tests.patch Log Message: auto-import gcc-4.1.2-13.fc6 on branch FC-6 from gcc-4.1.2-13.fc6.src.rpm gcc41-pr28690.patch: config/rs6000/rs6000.h | 2 ++ defaults.h | 4 ++++ optabs.c | 12 ++++++++---- rtlanal.c | 33 +++++++++++++++++++++++---------- tree-ssa-address.c | 4 +++- 5 files changed, 40 insertions(+), 15 deletions(-) --- NEW FILE gcc41-pr28690.patch --- 2007-06-26 Jakub Jelinek * defaults.h (TARGET_INDEX_OPERAND_FIRST): Define. * config/rs6000/rs6000.h (TARGET_INDEX_OPERAND_FIRST): Define. * optabs.c (emit_cmp_and_jump_insns): Don't call swap_operand twice. * rtlanal.c (commutative_operand_precedence): Only prefer REG_POINTER and MEM_POINTER operands over REG and MEM operands if TARGET_INDEX_OPERAND_FIRST. (swap_commutative_operands_p): Only sort on REGNO if TARGET_INDEX_OPERAND_FIRST. * tree-ssa-address.c (gen_addr_rtx): Only use simplify_gen_binary instead of gen_rtx_PLUS if TARGET_INDEX_OPERAND_FIRST. 2007-06-20 Peter Bergner PR middle-end/28690 * optabs.c (emit_cmp_and_jump_insns): Allow EQ compares. * rtlanal.c (commutative_operand_precedence): Prefer both REG_POINTER and MEM_POINTER operands over REG and MEM operands. (swap_commutative_operands_p): In case of a tie, sort on REGNO. * tree-ssa-address.c (gen_addr_rtx): Use simplify_gen_binary instead of gen_rtx_PLUS. --- gcc/defaults.h.jj 2007-02-20 22:39:12.000000000 +0100 +++ gcc/defaults.h 2007-06-26 00:32:16.000000000 +0200 @@ -785,6 +785,10 @@ Software Foundation, 51 Franklin Street, #define TARGET_C99_FUNCTIONS 0 #endif +#ifndef TARGET_INDEX_OPERAND_FIRST +#define TARGET_INDEX_OPERAND_FIRST 0 +#endif + /* Indicate that CLZ and CTZ are undefined at zero. */ #ifndef CLZ_DEFINED_VALUE_AT_ZERO #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 --- gcc/config/rs6000/rs6000.h.jj 2007-02-20 22:39:00.000000000 +0100 +++ gcc/config/rs6000/rs6000.h 2007-06-26 00:33:32.000000000 +0200 @@ -57,6 +57,8 @@ #define PPC405_ERRATUM77 0 #endif +#define TARGET_INDEX_OPERAND_FIRST (rs6000_cpu == PROCESSOR_POWER6) + /* Common ASM definitions used by ASM_SPEC among the various targets for handling -mcpu=xxx switches. */ #define ASM_CPU_SPEC \ --- gcc/optabs.c.jj 2007-02-20 22:39:12.000000000 +0100 +++ gcc/optabs.c 2007-06-26 00:30:27.000000000 +0200 @@ -3673,12 +3673,16 @@ emit_cmp_and_jump_insns (rtx x, rtx y, e /* Swap operands and condition to ensure canonical RTL. */ if (swap_commutative_operands_p (x, y)) { - /* If we're not emitting a branch, this means some caller - is out of sync. */ - gcc_assert (label); + enum rtx_code swapped_comparison = swap_condition (comparison); + + /* If we're not emitting a branch, callers are required to pass + operands in an order conforming to canonical RTL. We relax this + for commutative comparsions so callers using EQ don't need to do + swapping by hand. */ + gcc_assert (label || swapped_comparison == comparison); op0 = y, op1 = x; - comparison = swap_condition (comparison); + comparison = swapped_comparison; } #ifdef HAVE_cc0 --- gcc/rtlanal.c.jj 2007-02-20 22:39:12.000000000 +0100 +++ gcc/rtlanal.c 2007-06-26 00:28:56.000000000 +0200 @@ -2890,9 +2890,9 @@ commutative_operand_precedence (rtx op) /* Constants always come the second operand. Prefer "nice" constants. */ if (code == CONST_INT) - return -7; + return -10; if (code == CONST_DOUBLE) - return -6; + return -9; op = avoid_constant_pool_reference (op); code = GET_CODE (op); @@ -2900,26 +2900,31 @@ commutative_operand_precedence (rtx op) { case RTX_CONST_OBJ: if (code == CONST_INT) - return -5; + return -8; if (code == CONST_DOUBLE) - return -4; - return -3; + return -7; + return -6; case RTX_EXTRA: /* SUBREGs of objects should come second. */ if (code == SUBREG && OBJECT_P (SUBREG_REG (op))) - return -2; + return -5; if (!CONSTANT_P (op)) return 0; else /* As for RTX_CONST_OBJ. */ - return -3; + return -6; case RTX_OBJ: /* Complex expressions should be the first, so decrease priority of objects. */ - return -1; + if (!TARGET_INDEX_OPERAND_FIRST) + return -1; + if (REG_P (op)) + return (REG_POINTER (op)) ? -1 : -3; + else + return (MEM_P (op) && MEM_POINTER (op)) ? -2 : -4; case RTX_COMM_ARITH: /* Prefer operands that are themselves commutative to be first. @@ -2949,8 +2954,16 @@ commutative_operand_precedence (rtx op) int swap_commutative_operands_p (rtx x, rtx y) { - return (commutative_operand_precedence (x) - < commutative_operand_precedence (y)); + int result = (commutative_operand_precedence (x) + - commutative_operand_precedence (y)); + if (!TARGET_INDEX_OPERAND_FIRST || result) + return result < 0; + + /* Group together equal REGs to do more simplification. */ + if (REG_P (x) && REG_P (y)) + return REGNO (x) > REGNO (y); + + return 0; } /* Return 1 if X is an autoincrement side effect and the register is --- gcc/tree-ssa-address.c.jj 2007-02-20 22:39:12.000000000 +0100 +++ gcc/tree-ssa-address.c 2007-06-26 00:29:49.000000000 +0200 @@ -124,7 +124,9 @@ gen_addr_rtx (rtx symbol, rtx base, rtx if (base) { if (*addr) - *addr = gen_rtx_PLUS (Pmode, *addr, base); + *addr = (TARGET_INDEX_OPERAND_FIRST + ? simplify_gen_binary (PLUS, Pmode, base, *addr) + : gen_rtx_PLUS (Pmode, *addr, base)); else *addr = base; } gcc41-pr31748.patch: cp/semantics.c | 7 +++++-- testsuite/g++.dg/gomp/pr31748.C | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) --- NEW FILE gcc41-pr31748.patch --- 2007-05-01 Jakub Jelinek PR c++/31748 * semantics.c (finish_omp_clauses): Use %qD instead of %qE for DECL_P in not a variable and appears more than once error messages. * g++.dg/gomp/pr31748.C: New test. --- gcc/cp/semantics.c.jj 2007-04-26 09:30:58.000000000 +0200 +++ gcc/cp/semantics.c 2007-05-01 14:22:58.000000000 +0200 @@ -3376,14 +3376,17 @@ finish_omp_clauses (tree clauses) { if (processing_template_decl) break; - error ("%qE is not a variable in clause %qs", t, name); + if (DECL_P (t)) + error ("%qD is not a variable in clause %qs", t, name); + else + error ("%qE is not a variable in clause %qs", t, name); remove = true; } else if (bitmap_bit_p (&generic_head, DECL_UID (t)) || bitmap_bit_p (&firstprivate_head, DECL_UID (t)) || bitmap_bit_p (&lastprivate_head, DECL_UID (t))) { - error ("%qE appears more than once in data clauses", t); + error ("%qD appears more than once in data clauses", t); remove = true; } else --- gcc/testsuite/g++.dg/gomp/pr31748.C.jj 2007-05-01 14:26:13.000000000 +0200 +++ gcc/testsuite/g++.dg/gomp/pr31748.C 2007-05-01 14:26:07.000000000 +0200 @@ -0,0 +1,10 @@ +// PR c++/31748 + +struct A; + +void +foo () +{ +#pragma omp parallel private(A) // { dg-error "struct A.*is not a variable" } + ; +} gcc41-pr32139.patch: c-typeck.c | 18 ++++++++++++++---- testsuite/gcc.c-torture/compile/20070531-1.c | 11 +++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) --- NEW FILE gcc41-pr32139.patch --- 2007-06-01 Jakub Jelinek PR tree-optimization/32139 * c-typeck.c (common_pointer_type): Set TYPE_READONLY and TYPE_VOLATILE on the merged pointed to FUNCTION_TYPE only if both pointed_to_1 and pointed_to_2 are TYPE_READONLY resp. TYPE_VOLATILE. * gcc.c-torture/compile/20070531-1.c: New test. --- gcc/c-typeck.c.jj 2007-04-25 10:13:52.000000000 +0200 +++ gcc/c-typeck.c 2007-06-01 10:51:53.000000000 +0200 @@ -499,6 +499,7 @@ common_pointer_type (tree t1, tree t2) tree pointed_to_1, mv1; tree pointed_to_2, mv2; tree target; + int type_quals; /* Save time if the two types are the same. */ @@ -526,10 +527,19 @@ common_pointer_type (tree t1, tree t2) if (TREE_CODE (mv2) != ARRAY_TYPE) mv2 = TYPE_MAIN_VARIANT (pointed_to_2); target = composite_type (mv1, mv2); - t1 = build_pointer_type (c_build_qualified_type - (target, - TYPE_QUALS (pointed_to_1) | - TYPE_QUALS (pointed_to_2))); + type_quals = TYPE_QUALS (pointed_to_1) | TYPE_QUALS (pointed_to_2); + if (TREE_CODE (pointed_to_1) == FUNCTION_TYPE) + { + /* TYPE_READONLY and TYPE_VOLATILE on FUNCTION_TYPE should be + logically ANDed, not ORed, as if one function is + __attribute__((const)) and the other is not, the common type + must be conservatively not __attribute__((const)) + and similarly for __attribute__((noreturn)). */ + type_quals &= ~(TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE); + type_quals |= (TYPE_QUALS (pointed_to_1) & TYPE_QUALS (pointed_to_2)) + & (TYPE_QUAL_CONST | TYPE_QUAL_VOLATILE); + } + t1 = build_pointer_type (c_build_qualified_type (target, type_quals)); return build_type_attribute_variant (t1, attributes); } --- gcc/testsuite/gcc.c-torture/compile/20070531-1.c.jj 2007-05-31 13:47:22.000000000 +0200 +++ gcc/testsuite/gcc.c-torture/compile/20070531-1.c 2007-06-01 10:57:15.000000000 +0200 @@ -0,0 +1,11 @@ +/* PR tree-optimization/32139 */ +int foo (void); +int bar (void) __attribute__ ((const)); + +int +test (int x) +{ + int a = (x == 10000 ? foo : bar) (); + int b = (x == 10000 ? foo : bar) (); + return a + b; +} gcc41-pr32468-2.patch: omp-low.c | 42 +++++++++++++++ testsuite/gcc.dg/gomp/pr32468-1.c | 100 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+), 2 deletions(-) --- NEW FILE gcc41-pr32468-2.patch --- 2007-06-25 Jakub Jelinek PR libgomp/32468 * omp-low.c (check_combined_parallel): New function. (lower_omp_parallel): Call it via walk_stmts, set OMP_PARALLEL_COMBINED if appropriate. (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS isn't the only statement in WS_ENTRY_BB or OMP_RETURN the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED, don't consider it as combined parallel. --- gcc/omp-low.c.jj 2007-06-21 13:38:10.000000000 +0200 +++ gcc/omp-low.c 2007-06-25 19:21:35.000000000 +0200 @@ -385,10 +385,13 @@ determine_parallel_type (struct omp_regi if (single_succ (par_entry_bb) == ws_entry_bb && single_succ (ws_exit_bb) == par_exit_bb - && workshare_safe_to_combine_p (par_entry_bb, ws_entry_bb)) + && workshare_safe_to_combine_p (par_entry_bb, ws_entry_bb) + && (OMP_PARALLEL_COMBINED (last_stmt (par_entry_bb)) + || (last_and_only_stmt (ws_entry_bb) + && last_and_only_stmt (par_exit_bb)))) { - tree ws_stmt = last_stmt (region->inner->entry); + tree ws_stmt = last_stmt (ws_entry_bb); if (region->inner->type == OMP_FOR) { /* If this is a combined parallel loop, we need to determine @@ -4060,6 +4065,28 @@ lower_omp_for (tree *stmt_p, omp_context *stmt_p = new_stmt; } +/* Callback for walk_stmts. Check if *TP only contains OMP_FOR + or OMP_PARALLEL. */ + +static tree +check_combined_parallel (tree *tp, int *walk_subtrees, void *data) +{ + struct walk_stmt_info *wi = data; + int *info = wi->info; + + *walk_subtrees = 0; + switch (TREE_CODE (*tp)) + { + case OMP_FOR: + case OMP_SECTIONS: + *info = *info == 0 ? 1 : -1; + break; + default: + *info = -1; + break; + } + return NULL; +} /* Lower the OpenMP parallel directive in *STMT_P. CTX holds context information for the directive. */ @@ -4077,6 +4104,19 @@ lower_omp_parallel (tree *stmt_p, omp_co par_bind = OMP_PARALLEL_BODY (stmt); par_body = BIND_EXPR_BODY (par_bind); child_fn = ctx->cb.dst_fn; + if (!OMP_PARALLEL_COMBINED (stmt)) + { + struct walk_stmt_info wi; + int ws_num = 0; + + memset (&wi, 0, sizeof (wi)); + wi.callback = check_combined_parallel; + wi.info = &ws_num; + wi.val_only = true; + walk_stmts (&wi, &par_bind); + if (ws_num == 1) + OMP_PARALLEL_COMBINED (stmt) = 1; + } push_gimplify_context (); --- gcc/testsuite/gcc.dg/gomp/pr32468-1.c.jj 2007-06-25 21:04:31.000000000 +0200 +++ gcc/testsuite/gcc.dg/gomp/pr32468-1.c 2007-06-25 21:07:35.000000000 +0200 @@ -0,0 +1,100 @@ +/* PR libgomp/32468 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fopenmp -fdump-tree-ompexp" } */ + +extern int printf (const char *, ...); +extern int omp_get_thread_num (void), omp_get_num_threads (void); +extern int bar (void); +extern int baz (const char *, ...); + +void +f1 (void) +{ +#pragma omp parallel + { + baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + #pragma omp sections + { + #pragma omp section + printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + #pragma omp section + printf ("section2 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } + } +} + +void +f2 (void) +{ +#pragma omp parallel + { + #pragma omp sections + { + #pragma omp section + printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + #pragma omp section + printf ("section2 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } + baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } +} + +void +f3 (void) +{ +#pragma omp parallel + { + int bb = bar (); + #pragma omp sections + { + #pragma omp section + printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + #pragma omp section + printf ("section2 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } + } +} + +void +f4 (void) +{ + int i; +#pragma omp parallel + { + baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + #pragma omp for schedule (dynamic, 15) + for (i = 0; i < 10000; i++) + printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } +} + +void +f5 (void) +{ + int i; +#pragma omp parallel + { + #pragma omp for schedule (dynamic, 15) + for (i = 0; i < 10000; i++) + printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } +} + +void +f6 (void) +{ + int i; +#pragma omp parallel + { + int bb = bar (); + #pragma omp for schedule (runtime) + for (i = 0; i < 10000; i++) + printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ()); + } +} + +/* There should not be a GOMP_parallel_{loop,sections}* call. */ +/* { dg-final { scan-tree-dump-times "GOMP_parallel_loop" 0 "ompexp"} } */ +/* { dg-final { scan-tree-dump-times "GOMP_parallel_sections" 0 "ompexp"} } */ +/* { dg-final { cleanup-tree-dump "ompexp" } } */ Jakub gcc41-pr32468.patch: sections.c | 4 ++-- testsuite/libgomp.c/pr32468.c | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) --- NEW FILE gcc41-pr32468.patch --- 2007-06-25 Jakub Jelinek PR libgomp/32468 * sections.c (GOMP_parallel_sections_start): Only decrease number of threads to COUNT if dyn_var is true. * libgomp.c/pr32468.c: New test. --- libgomp/sections.c.jj 2006-10-05 00:24:40.000000000 +0200 +++ libgomp/sections.c 2007-06-25 22:03:17.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2007 Free Software Foundation, Inc. Contributed by Richard Henderson . This file is part of the GNU OpenMP Library (libgomp). @@ -106,7 +106,7 @@ GOMP_parallel_sections_start (void (*fn) struct gomp_work_share *ws; num_threads = gomp_resolve_num_threads (num_threads); - if (num_threads > count) + if (gomp_dyn_var && num_threads > count) num_threads = count; ws = gomp_new_work_share (false, num_threads); --- libgomp/testsuite/libgomp.c/pr32468.c.jj 2007-06-25 21:51:07.000000000 +0200 +++ libgomp/testsuite/libgomp.c/pr32468.c 2007-06-25 21:55:44.000000000 +0200 @@ -0,0 +1,26 @@ +/* PR libgomp/32468 */ +/* { dg-do run } */ + +#include +#include + +int +main (void) +{ + int res[2] = { -1, -1 }; + omp_set_dynamic (0); + omp_set_num_threads (4); +#pragma omp parallel + { + #pragma omp sections + { + #pragma omp section + res[0] = omp_get_num_threads () != 4; + #pragma omp section + res[1] = omp_get_num_threads () != 4; + } + } + if (res[0] != 0 || res[1] != 0) + abort (); + return 0; +} gcc41-rh235008.patch: sv.po | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- NEW FILE gcc41-rh235008.patch --- 2007-04-12 Jakub Jelinek * fr.po: Use %s rather than %S. * sr.po: Likewise. * tr.po: Likewise. * sv.po: Likewise. * rw.po: Comment out translations with bogus format strings. --- gcc/po/fr.po (revision 123636) +++ gcc/po/fr.po (working copy) @@ -31416,7 +31416,7 @@ msgstr "attribut ? %s ? ignor?" #~ msgstr "prise de l'adresse de la borne de l'expression d'un pointeur-vers-un membre" #~ msgid "%s from type `%T' to type `%T' casts away constness" -#~ msgstr "%S ? partir du ? %T ? vers le type ? %T ? provoque un transtypage sans constante" +#~ msgstr "%s ? partir du ? %T ? vers le type ? %T ? provoque un transtypage sans constante" #~ msgid "invalid reinterpret_cast from type `%T' to type `%T'" #~ msgstr "reinterpret_cast invalide ? partir du type ? %T ? vers le type ? %T ?" --- gcc/po/sr.po (revision 123636) +++ gcc/po/sr.po (working copy) @@ -8516,7 +8516,7 @@ msgstr "???? ???????? ???? ????????????? #: fortran/symbol.c:592 #, no-c-format msgid "Duplicate %s attribute specified at %L" -msgstr "?????????????????? ?????????????? %S ?????????????? ?????? %L" +msgstr "?????????????????? ?????????????? %s ?????????????? ?????? %L" #: fortran/symbol.c:733 #, no-c-format --- gcc/po/tr.po (revision 123636) +++ gcc/po/tr.po (working copy) @@ -6951,7 +6951,7 @@ msgstr "INTERFACE g??vdesinde umulmad??k #: fortran/parse.c:1604 #, no-c-format msgid "%s statement must appear in a MODULE" -msgstr "%S deyimi bir MODULE'de g??r??nmemeli" +msgstr "%s deyimi bir MODULE'de g??r??nmemeli" #: fortran/parse.c:1611 #, no-c-format --- gcc/po/rw.po (revision 123636) +++ gcc/po/rw.po (working copy) @@ -2168,8 +2168,8 @@ msgstr "" #: tlink.c:480 #, fuzzy, c-format -msgid "renaming .rpo file" -msgstr "Gufungura %s%S Ibisohoka IDOSIYE" +#~ msgid "renaming .rpo file" +#~ msgstr "Gufungura %s%S Ibisohoka IDOSIYE" #: tlink.c:534 #, c-format @@ -17500,8 +17500,8 @@ msgstr "-Umutekano" #: c-opts.c:1040 #, fuzzy, gcc-internal-format -msgid "opening output file %s: %m" -msgstr "Gufungura %s%S Ibisohoka IDOSIYE" +#~ msgid "opening output file %s: %m" +#~ msgstr "Gufungura %s%S Ibisohoka IDOSIYE" #: c-opts.c:1045 #, fuzzy, gcc-internal-format @@ -17515,8 +17515,8 @@ msgstr "" #: c-opts.c:1177 #, fuzzy, gcc-internal-format -msgid "opening dependency file %s: %m" -msgstr "Gufungura %s%S IDOSIYE" +#~ msgid "opening dependency file %s: %m" +#~ msgstr "Gufungura %s%S IDOSIYE" #: c-opts.c:1187 #, fuzzy, gcc-internal-format --- gcc/po/sv.po 2007-02-20 22:38:45.000000000 +0100 +++ gcc/po/sv.po 2007-04-13 00:18:11.000000000 +0200 @@ -3328,7 +3328,7 @@ msgstr "ogiltig operand till %%R" #: config/sh/sh.c:773 #, c-format msgid "invalid operand to %%S" -msgstr "ogiltig operand till %%R" +msgstr "ogiltig operand till %%S" #: config/sh/sh.c:7679 msgid "created and used with different architectures / ABIs" @@ -8019,7 +8019,7 @@ msgstr "PROCEDURE-attribut i konflikt me #: fortran/resolve.c:4943 #, no-c-format msgid "Parameter array '%s' at %L cannot be automatic or assumed shape" -msgstr "Parametervektor \"%S\" vid %L kan inte ha automatisk eller antagen form" +msgstr "Parametervektor \"%s\" vid %L kan inte ha automatisk eller antagen form" #: fortran/resolve.c:4955 #, no-c-format gcc41-rh245424.patch: predicates.md | 4 +++- rs6000.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) --- NEW FILE gcc41-rh245424.patch --- 2007-06-25 Jakub Jelinek * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure decl is non-external for AIX ABI. 2007-06-25 David Edelsohn * config/rs6000/predicates.md (current_file_function_operand): Ensure the symbol is non-external for AIX ABI. --- gcc/config/rs6000/rs6000.c.jj 2007-06-25 22:22:41.000000000 +0200 +++ gcc/config/rs6000/rs6000.c 2007-06-25 23:11:20.000000000 +0200 @@ -13938,7 +13938,8 @@ rs6000_function_ok_for_sibcall (tree dec } } if (DEFAULT_ABI == ABI_DARWIN - || (*targetm.binds_local_p) (decl)) + || ((*targetm.binds_local_p) (decl) + && (DEFAULT_ABI != ABI_AIX || !DECL_EXTERNAL (decl)))) { tree attr_list = TYPE_ATTRIBUTES (TREE_TYPE (decl)); --- gcc/config/rs6000/predicates.md.jj 2007-06-25 22:22:41.000000000 +0200 +++ gcc/config/rs6000/predicates.md 2007-06-25 22:57:19.000000000 +0200 @@ -696,7 +696,9 @@ (define_predicate "current_file_function_operand" (and (match_code "symbol_ref") (match_test "(DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op)) - && (SYMBOL_REF_LOCAL_P (op) + && ((SYMBOL_REF_LOCAL_P (op) + && (DEFAULT_ABI != ABI_AIX + || !SYMBOL_REF_EXTERNAL_P (op))) || (op == XEXP (DECL_RTL (current_function_decl), 0)))"))) Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/gcc/FC-6/.cvsignore,v retrieving revision 1.179 retrieving revision 1.180 diff -u -r1.179 -r1.180 --- .cvsignore 6 Jan 2007 09:35:42 -0000 1.179 +++ .cvsignore 27 Jun 2007 18:30:21 -0000 1.180 @@ -1 +1 @@ -gcc-4.1.1-20070105.tar.bz2 +gcc-4.1.2-20070626.tar.bz2 Index: README.libgcjwebplugin.so =================================================================== RCS file: /cvs/dist/rpms/gcc/FC-6/README.libgcjwebplugin.so,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- README.libgcjwebplugin.so 15 Sep 2006 09:41:09 -0000 1.1 +++ README.libgcjwebplugin.so 27 Jun 2007 18:30:21 -0000 1.2 @@ -42,7 +42,7 @@ the web. If you're interested in trying gcjwebplugin, you can do so by creating a symbolic link in ~/.mozilla/plugins like so: -ln -s /usr/lib/gcj-4.1.1/libgcjwebplugin.so ~/.mozilla/plugins/ +ln -s /usr/lib/gcj- at VERSION@/libgcjwebplugin.so ~/.mozilla/plugins/ Type about:plugins in Firefox's URL bar to confirm that the plugin has been loaded. To see gcjwebplugin debugging output, run: Index: gcc41.spec =================================================================== RCS file: /cvs/dist/rpms/gcc/FC-6/gcc41.spec,v retrieving revision 1.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- gcc41.spec 6 Jan 2007 09:35:42 -0000 1.113 +++ gcc41.spec 27 Jun 2007 18:30:21 -0000 1.114 @@ -1,6 +1,4 @@ -%define DATE 20070105 -%define gcc_version 4.1.1 -%define gcc_release 51 +%define DATE 20070626 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %define include_gappletviewer 1 @@ -24,8 +22,13 @@ %endif Summary: Various compilers (C, C++, Objective-C, Java, ...) Name: gcc -Version: %{gcc_version} +%define gcc_version 4.1.1 +Version: 4.1.2 +%define gcc_release 13 Release: %{gcc_release}%{?dist} +%if "%{version}" != "%{gcc_version}" +%define gcc_provides 4.1.1-52%{?dist} +%endif License: GPL Group: Development/Languages Source0: gcc-%{version}-%{DATE}.tar.bz2 @@ -95,8 +98,8 @@ %endif Obsoletes: gcc-chill %if !%{build_ada} -Obsoletes: gcc-gnat < %{version}-%{release} -Obsoletes: libgnat < %{version}-%{release} +Obsoletes: gcc-gnat < %{gcc_version} +Obsoletes: libgnat < %{gcc_version} %endif %ifarch sparc sparc64 Obsoletes: egcs64 @@ -106,6 +109,9 @@ Obsoletes: gcc4 Prereq: /sbin/install-info AutoReq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc = %{gcc_provides} +%endif Patch1: gcc41-ice-hack.patch Patch2: gcc41-ppc64-m32-m64-multilib-only.patch @@ -116,34 +122,26 @@ Patch7: gcc41-ada-tweaks.patch Patch8: gcc41-java-slow_pthread_self.patch Patch9: gcc41-ppc32-retaddr.patch -Patch10: gcc41-mni.patch -Patch11: gcc41-dsohandle.patch -Patch12: gcc41-rh184446.patch -Patch13: gcc41-pr20297-test.patch -Patch14: gcc41-objc-rh185398.patch -Patch15: gcc41-tests.patch -Patch16: gcc41-pr25874.patch -Patch17: gcc41-pr30189.patch -Patch18: gcc41-i386-tune-geode.patch -Patch19: gcc41-hash-style-gnu.patch -Patch20: gcc41-pr30001.patch -Patch21: gcc41-java-libdotdotlib.patch -Patch22: gcc41-pr28709.patch -Patch23: gcc41-pr28755.patch -Patch24: gcc41-pr27898.patch -Patch25: gcc41-pr27567.patch -Patch26: gcc41-pr29272.patch -Patch27: gcc41-pr29059.patch -Patch28: gcc41-strncat-chk.patch -Patch29: gcc41-pr29703.patch -Patch30: gcc41-pr29299.patch -Patch31: gcc41-libjava-anonverscript.patch -Patch32: gcc41-ppc64-libffi-unwind.patch -Patch33: gcc41-pr30113.patch -Patch34: gcc41-pr30110.patch -Patch35: gcc41-pr30143.patch -Patch36: gcc41-pr30045.patch -Patch37: gcc41-pr24036-revert.patch +Patch10: gcc41-dsohandle.patch +Patch11: gcc41-rh184446.patch +Patch12: gcc41-pr20297-test.patch +Patch13: gcc41-hash-style-gnu.patch +Patch14: gcc41-java-libdotdotlib.patch +Patch15: gcc41-pr28755.patch +Patch16: gcc41-pr27898.patch +Patch19: gcc41-pr32139.patch +Patch21: gcc41-rh235008.patch +Patch22: gcc41-pr31748.patch +Patch23: gcc41-pr28690.patch +Patch24: gcc41-pr32468.patch +Patch25: gcc41-pr32468-2.patch +Patch26: gcc41-rh245424.patch + +Patch100: gcc41-pr29703.patch +Patch101: gcc41-libjava-anonverscript.patch +Patch102: gcc41-ppc64-libffi-unwind.patch +Patch103: gcc41-pr30110.patch + %define _gnu %{nil} %ifarch sparc %define gcc_target_platform sparc64-%{_vendor}-%{_target_os} @@ -163,6 +161,9 @@ Summary: GCC version 4.1 shared support library Group: System Environment/Libraries Autoreq: false +%if "%{version}" != "%{gcc_version}" +Provides: libgcc = %{gcc_provides} +%endif %description -n libgcc This package contains GCC shared support library which is needed @@ -179,6 +180,9 @@ Obsoletes: gcc35-c++ Obsoletes: gcc4-c++ Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc-c++ = %{gcc_provides} +%endif %description c++ This package adds C++ support to the GNU Compiler Collection. @@ -191,6 +195,9 @@ Obsoletes: libstdc++3 Obsoletes: libstdc++34 Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libstdc++ = %{gcc_provides} +%endif %description -n libstdc++ The libstdc++ package contains a rewritten standard compliant GCC Standard @@ -203,6 +210,9 @@ Obsoletes: libstdc++3-devel Obsoletes: libstdc++34-devel Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libstdc++-devel = %{gcc_provides} +%endif %description -n libstdc++-devel This is the GNU implementation of the standard C++ libraries. This @@ -216,6 +226,9 @@ Requires: libobjc = %{version}-%{release} Obsoletes: gcc3-objc Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc-objc = %{gcc_provides} +%endif %description objc gcc-objc provides Objective-C support for the GCC. @@ -227,6 +240,9 @@ Group: Development/Languages Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release} Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc-objc++ = %{gcc_provides} +%endif %description objc++ gcc-objc++ package provides Objective-C++ support for the GCC. @@ -235,6 +251,9 @@ Summary: Objective-C runtime Group: System Environment/Libraries Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libobjc = %{gcc_provides} +%endif %description -n libobjc This package contains Objective-C shared library which is needed to run @@ -251,6 +270,9 @@ Obsoletes: gcc-g77 Obsoletes: gcc4-gfortran Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc-gfortran = %{gcc_provides} +%endif %description gfortran The gcc-gfortran package provides support for compiling Fortran 95 @@ -261,6 +283,9 @@ Group: System Environment/Libraries Obsoletes: libf2c Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libgfortran = %{gcc_provides} +%endif %description -n libgfortran This package contains Fortran 95 shared library which is needed to run @@ -269,6 +294,9 @@ %package -n libgomp Summary: GCC OpenMP 2.5 shared support library Group: System Environment/Libraries +%if "%{version}" != "%{gcc_version}" +Provides: libgomp = %{gcc_provides} +%endif %description -n libgomp This package contains GCC shared support library which is needed @@ -277,6 +305,9 @@ %package -n libmudflap Summary: GCC mudflap shared support library Group: System Environment/Libraries +%if "%{version}" != "%{gcc_version}" +Provides: libmudflap = %{gcc_provides} +%endif %description -n libmudflap This package contains GCC shared support library which is needed @@ -287,6 +318,9 @@ Group: Development/Libraries Requires: libmudflap = %{version}-%{release} Requires: gcc = %{version}-%{release} +%if "%{version}" != "%{gcc_version}" +Provides: libmudflap-devel = %{gcc_provides} +%endif %description -n libmudflap-devel This package contains headers and static libraries for building @@ -308,6 +342,9 @@ Obsoletes: gcc4-java Prereq: /sbin/install-info Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc-java = %{gcc_provides} +%endif %description java This package adds support for compiling Java(tm) programs and @@ -319,20 +356,25 @@ Prereq: /sbin/install-info Requires: zip >= 2.1 Requires: gtk2 >= 2.4.0 -BuildRequires: gtk2-devel >= 2.4.0 Requires: glib2 >= 2.4.0 -BuildRequires: glib2-devel >= 2.4.0 Requires: libart_lgpl >= 2.1.0 +%if %{build_java} +BuildRequires: gtk2-devel >= 2.4.0 +BuildRequires: glib2-devel >= 2.4.0 BuildRequires: firefox-devel BuildRequires: libart_lgpl-devel >= 2.1.0 BuildRequires: alsa-lib-devel BuildRequires: libXtst-devel BuildRequires: libXt-devel +%endif Obsoletes: gcc-libgcj Obsoletes: libgcj3 Obsoletes: libgcj34 Obsoletes: libgcj4 Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libgcj = %{gcc_provides} +%endif %description -n libgcj The Java(tm) runtime library. You will need this package to run your Java @@ -349,6 +391,9 @@ Obsoletes: libgcj4-devel Autoreq: false Autoprov: false +%if "%{version}" != "%{gcc_version}" +Provides: libgcj-devel = %{gcc_provides} +%endif %description -n libgcj-devel The Java(tm) static libraries and C header files. You will need this @@ -360,6 +405,9 @@ Requires: libgcj = %{version}-%{release} Obsoletes: libgcj4-src Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libgcj-src = %{gcc_provides} +%endif %description -n libgcj-src The Java(tm) runtime library sources for use in Eclipse. @@ -372,6 +420,9 @@ Obsoletes: gnupro %endif Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: cpp = %{gcc_provides} +%endif %description -n cpp Cpp is the GNU C-Compatible Compiler Preprocessor. @@ -402,6 +453,9 @@ Obsoletes: gnat-devel, gcc3-gnat Prereq: /sbin/install-info Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: gcc-gnat = %{gcc_provides} +%endif %description gnat GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools, @@ -412,6 +466,9 @@ Group: System Environment/Libraries Obsoletes: gnat libgnat3 Autoreq: true +%if "%{version}" != "%{gcc_version}" +Provides: libgnat = %{gcc_provides} +%endif %description -n libgnat GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries, @@ -428,36 +485,27 @@ %patch7 -p0 -b .ada-tweaks~ %patch8 -p0 -b .java-slow_pthread_self~ %patch9 -p0 -b .ppc32-retaddr~ -%patch10 -p0 -b .mni~ -%patch11 -p0 -b .dsohandle~ -%patch12 -p0 -b .rh184446~ -%patch13 -p0 -E -b .pr20297-test~ -%patch14 -p0 -b .objc-rh185398~ -%patch15 -p0 -b .tests~ -%patch16 -p0 -b .pr25874~ -%patch17 -p0 -b .pr30189~ -%patch18 -p0 -b .i386-tune-geode~ -%patch19 -p0 -b .hash-style-gnu~ -%patch20 -p0 -b .pr30001~ -%patch21 -p0 -b .java-libdotdotlib~ -%patch22 -p0 -b .pr28709~ -%patch23 -p0 -b .pr28755~ -%patch24 -p0 -b .pr27898~ -%patch25 -p0 -b .pr27567~ -%patch26 -p0 -b .pr29272~ -%patch27 -p0 -b .pr29059~ -%patch28 -p0 -b .strncat-chk~ -%patch29 -p0 -b .pr29703~ -%patch30 -p0 -b .pr29299~ -%patch31 -p0 -b .libjava-anonverscript~ -%patch32 -p0 -b .ppc64-libffi-unwind~ -%patch33 -p0 -b .pr30113~ -%patch34 -p0 -b .pr30110~ -%patch35 -p0 -b .pr30143~ -%patch36 -p0 -b .pr30045~ -%patch37 -p0 -b .pr24036-revert~ +%patch10 -p0 -b .dsohandle~ +%patch11 -p0 -b .rh184446~ +%patch12 -p0 -E -b .pr20297-test~ +%patch13 -p0 -b .hash-style-gnu~ +%patch14 -p0 -b .java-libdotdotlib~ +%patch15 -p0 -b .pr28755~ +%patch16 -p0 -b .pr27898~ +%patch19 -p0 -b .pr32139~ +%patch21 -p0 -b .rh235008~ +%patch22 -p0 -b .pr31748~ +%patch23 -p0 -b .pr28690~ +%patch24 -p0 -b .pr32468~ +%patch25 -p0 -b .pr32468-2~ +%patch26 -p0 -b .rh245424~ + +%patch100 -p0 -b .pr29703~ +%patch101 -p0 -b .libjava-anonverscript~ +%patch102 -p0 -b .ppc64-libffi-unwind~ +%patch103 -p0 -b .pr30110~ -sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c +sed -i -e 's/4\.1\.3/4.1.2/' gcc/BASE-VER gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h @@ -614,7 +662,7 @@ mkdir -p rpm.doc/gfortran rpm.doc/objc mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp} -cp -p %{SOURCE2} rpm.doc/README.libgcjwebplugin.so +sed -e 's, at VERSION@,%{version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do cp -p $i rpm.doc/changelogs/$i @@ -677,8 +725,8 @@ chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat* %endif -FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} -FULLEPATH=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +FULLEPATH=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} # fix some things ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc @@ -692,7 +740,7 @@ cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`" for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do if ! diff -up $cxxconfig $i; then - cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h < $RPM_BUILD_ROOT%{_prefix}/include/c++/%{version}/%{gcc_target_platform}/bits/c++config.h < @@ -741,7 +789,7 @@ # gcj -static doesn't work properly anyway, unless using --whole-archive # and saving 35MB is not bad. find $RPM_BUILD_ROOT -name libgcj.a -o -name libgtkpeer.a \ - -o -name libgjsmalsa.a -o libgcj-tools.a -o libjvm.a \ + -o -name libgjsmalsa.a -o -name libgcj-tools.a -o -name libjvm.a \ -o -name libgij.a -o -name libgcj_bc.a | xargs rm -f mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec $FULLPATH/ @@ -750,9 +798,9 @@ %endif mkdir -p $RPM_BUILD_ROOT/%{_lib} -mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 -chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 -ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1 +mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{version}-%{DATE}.so.1 +chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{version}-%{DATE}.so.1 +ln -sf libgcc_s-%{version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1 ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so %ifarch sparc ppc ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so @@ -891,9 +939,9 @@ %endif %else %ifarch %{multilib_64_archs} -ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/libstdc++.a 32/libstdc++.a %if %{build_java} -ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgcj_bc.so 32/libgcj_bc.so +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{version}/libgcj_bc.so 32/libgcj_bc.so %endif %endif %endif @@ -950,6 +998,24 @@ mkdir -p $RPM_BUILD_ROOT%{_prefix}/sbin gcc -static -Os %{SOURCE1} -o $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade strip $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade +%if "%{version}" != "%{gcc_version}" +mv -f $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/{%{version},%{gcc_version}} +ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +mv -f $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/{%{version},%{gcc_version}} +ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +mv -f $RPM_BUILD_ROOT%{_prefix}/include/c++/{%{version},%{gcc_version}} +ln -sf %{gcc_version} $RPM_BUILD_ROOT%{_prefix}/include/c++/%{version} +%if %{build_java} +mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-{%{version},%{gcc_version}} +ln -sf gcj-%{gcc_version} $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version} +mv -f $RPM_BUILD_ROOT%{_prefix}/share/java/libgcj-{%{version},%{gcc_version}}.jar +ln -sf libgcj-%{gcc_version}.jar $RPM_BUILD_ROOT%{_prefix}/share/java/libgcj-%{version}.jar +mv -f $RPM_BUILD_ROOT%{_prefix}/share/java/libgcj-tools-{%{version},%{gcc_version}}.jar +ln -sf libgcj-tools-%{gcc_version}.jar $RPM_BUILD_ROOT%{_prefix}/share/java/libgcj-tools-%{version}.jar +mv -f $RPM_BUILD_ROOT%{_prefix}/share/java/src-{%{version},%{gcc_version}}.zip +ln -sf src-%{gcc_version}.zip $RPM_BUILD_ROOT%{_prefix}/share/java/src-%{version}.zip +%endif +%endif cd .. %find_lang %{name} @@ -975,11 +1041,11 @@ %if %{build_java} mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \ - $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d + $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{gcc_version}/classmap.db.d chmod 755 $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \ - $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version} \ - $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d -touch $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db + $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{gcc_version} \ + $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{gcc_version}/classmap.db.d +touch $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{gcc_version}/classmap.db %endif install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/protoize.1 @@ -991,60 +1057,60 @@ %post /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/gcc.info.gz + --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : %preun if [ $1 = 0 ]; then /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/gcc.info.gz + --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : fi %post -n cpp /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/cpp.info.gz + --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : %preun -n cpp if [ $1 = 0 ]; then /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/cpp.info.gz + --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : fi %post gfortran /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz + --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || : %preun gfortran if [ $1 = 0 ]; then /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz + --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || : fi %post java /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/gcj.info.gz + --info-dir=%{_infodir} %{_infodir}/gcj.info.gz || : %preun java if [ $1 = 0 ]; then /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/gcj.info.gz + --info-dir=%{_infodir} %{_infodir}/gcj.info.gz || : fi %post gnat /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz + --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || : /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz + --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz || : /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz + --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || : %preun gnat if [ $1 = 0 ]; then /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz + --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || : /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz + --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz || : /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz + --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || : fi # Because glibc Prereq's libgcc and /sbin/ldconfig @@ -1063,12 +1129,12 @@ %post -n libgcj /sbin/ldconfig /sbin/install-info \ - --info-dir=%{_infodir} %{_infodir}/fastjar.info.gz + --info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || : %preun -n libgcj if [ $1 = 0 ]; then /sbin/install-info --delete \ - --info-dir=%{_infodir} %{_infodir}/fastjar.info.gz + --info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || : fi %postun -n libgcj -p /sbin/ldconfig @@ -1116,9 +1182,15 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/SYSCALLS.c.X %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h @@ -1137,6 +1209,7 @@ %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ammintrin.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h %endif @@ -1191,11 +1264,14 @@ %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1 %files -n libgcc %defattr(-,root,root) -/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1 +/%{_lib}/libgcc_s-%{version}-%{DATE}.so.1 /%{_lib}/libgcc_s.so.1 %{_prefix}/sbin/libgcc_post_upgrade %doc gcc/COPYING.LIB @@ -1209,9 +1285,15 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1plus %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64 @@ -1242,10 +1324,16 @@ %defattr(-,root,root) %dir %{_prefix}/include/c++ %dir %{_prefix}/include/c++/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/include/c++/%{version} +%endif %{_prefix}/include/c++/%{gcc_version}/[^gj]* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %ifarch sparc ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a @@ -1268,9 +1356,15 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/objc %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1obj @@ -1294,6 +1388,9 @@ %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus %files -n libobjc @@ -1309,9 +1406,15 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.f90 @@ -1356,9 +1459,15 @@ %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jc1 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jvgenmain %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.so @@ -1409,21 +1518,24 @@ %{_prefix}/%{_lib}/libgcj-tools.so.* %{_prefix}/%{_lib}/libgcj_bc.so.* %{_prefix}/%{_lib}/libgij.so.* -%dir %{_prefix}/%{_lib}/gcj-%{version} -%{_prefix}/%{_lib}/gcj-%{version}/libgtkpeer.so -%{_prefix}/%{_lib}/gcj-%{version}/libgjsmalsa.so -%{_prefix}/%{_lib}/gcj-%{version}/libjawt.so +%dir %{_prefix}/%{_lib}/gcj-%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/%{_lib}/gcj-%{version} +%endif +%{_prefix}/%{_lib}/gcj-%{gcc_version}/libgtkpeer.so +%{_prefix}/%{_lib}/gcj-%{gcc_version}/libgjsmalsa.so +%{_prefix}/%{_lib}/gcj-%{gcc_version}/libjawt.so %if %{include_gappletviewer} -%{_prefix}/%{_lib}/gcj-%{version}/libgcjwebplugin.so +%{_prefix}/%{_lib}/gcj-%{gcc_version}/libgcjwebplugin.so %endif -%{_prefix}/%{_lib}/gcj-%{version}/libjvm.so +%{_prefix}/%{_lib}/gcj-%{gcc_version}/libjvm.so %dir %{_prefix}/share/java %{_prefix}/share/java/[^s]* %dir %{_prefix}/%{_lib}/security %config(noreplace) %{_prefix}/%{_lib}/security/classpath.security %{_prefix}/%{_lib}/logging.properties -%dir %{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d -%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_prefix}/%{_lib}/gcj-%{version}/classmap.db +%dir %{_prefix}/%{_lib}/gcj-%{gcc_version}/classmap.db.d +%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_prefix}/%{_lib}/gcj-%{gcc_version}/classmap.db %if %{include_gappletviewer} %doc rpm.doc/README.libgcjwebplugin.so %endif @@ -1434,6 +1546,9 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gcj %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt.h @@ -1455,16 +1570,19 @@ %endif %dir %{_prefix}/include/c++ %dir %{_prefix}/include/c++/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/include/c++/%{version} +%endif %{_prefix}/include/c++/%{gcc_version}/[gj]* %{_prefix}/%{_lib}/pkgconfig/libgcj.pc %doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/* %doc rpm.doc/libjava/* -%endif %files -n libgcj-src %defattr(-,root,root) %dir %{_prefix}/share/java %{_prefix}/share/java/src*.zip +%endif %if %{build_ada} %files gnat @@ -1475,9 +1593,15 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{version} +%endif %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/gnat1 @@ -1504,6 +1628,9 @@ %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version} +%if "%{version}" != "%{gcc_version}" +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{version} +%endif %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a @@ -1527,6 +1654,101 @@ %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Tue Jun 26 2007 Jakub Jelinek 4.1.2-13%{?dist} +- update from gcc-4_1-branch (-r120507:126008) + - GCC 4.1.2 release + - PRs inline-asm/32109, rtl-optimization/28011, target/32389, + libfortran/31409, libfortran/31880, libfortran/31964, + rtl-optimization/31691, target/31022, target/31480, target/31701, + target/31876, target/32163, tree-optimization/26998, c++/30016, + c++/30221, middle-end/30761, target/18989, target/28675, + tree-optimization/29446, tree-optimization/31698, middle-end/31448, + preprocessor/30468, target/28623, target/31641, c++/30168, c++/31074, + c++/31449, c++/31517, c/31520, middle-end/30729, target/25448, + target/30289, target/30483, target/31361, target/31582, + testsuite/31578, target/31137, target/31380, fortran/31184, + target/31245, tree-optimization/30590, debug/29906, middle-end/30364, + middle-end/30433, target/31123, c++/30852, c++/30895, + classpath/28550, fortran/29441, fortran/30400, libgcj/17002, + libgfortran/30910, libgfortran/30918, other/31050, + rtl-optimization/30931, target/30848, tree-optimization/29925, + ada/30684, fortran/30478, fortran/30799, middle-end/24427, + other/27843, rtl-optimization/28173, rtl-optimization/28772, + rtl-optimization/29599, rtl-optimization/30787, target/19087, + tree-optimization/30823, fortran/24783, testsuite/30649, + middle-end/30313, c++/29487, target/29487, target/30370, + c++/28988, fortran/30278, libstdc++/30586, middle-end/29683, + objc/27438, c++/28999, libgfortran/30435, objc/30479, + rtl-optimization/29329, target/30173, testsuite/12325, target/24036 + - reenable memory CSE (Alexandre Oliva, #229366, PR rtl-optimization/30643) +- backported OpenMP fixes from trunk and gcc-4_2-branch + - PRs middle-end/32362, tree-optimization/31769, c++/32177, c++/30703, + middle-end/27416, middle-end/30421, middle-end/30494 +- on ppc{,64} when tuning for power6{,x}, try to put the base + register as first operand in instructions to improve + performance (Peter Bergner, #225425, PR middle-end/28690) +- on ppc64 emit nop after a call and disallow sibling calls + if the target function is not defined in the same object file + (David Edelsohn, #245424) +- gomp parallel sections fix and fix for checking whether combined + parallel can be used (PR libgomp/32468) +- don't set TREE_READONLY on C++ objects that need runtime initialization + (PRs c++/31806, c++/31809) +- fix computation of common pointer type (PR tree-optimization/32139) +- precompute const and pure fn calls inside another fn call arguments + with accumulating outgoing args + (PRs middle-end/32285, tree-optimization/30493) +- fix handling of RESULT_DECLs in points-to analysis + (#243438, PR tree-optimization/32353) +- don't increase alignment of TLS variables too much +- __do_global_dtors_aux hardening (#240422) +- allow libgomp to be dlopened (PR libgomp/28482) +- speed up and improve libgomp omp_get_num_procs and dynamic + thread count computation +- GOMP_CPU_AFFINITY support +- fix ICE on C++ type passed as OpenMP clause variable (PR c++/31748) +- fix a couple of translation bugs that could lead to ICEs (#235008) +- fix ICE with #pragma omp parallel inside of a try catch construct + (PR tree-optimization/30558) +- fix OpenMP clause handling in templates (PR c++/31598) +- fix folding of comparisions against min, min+1, max-1, max + (#236711, PR tree-optimization/31632) +- fix _mm_cmpord_ss on i?86/x86_64 (#237067) +- deque::erase fix (Steve LoBasso, Paolo Carlini, #234515) +- fix a regression caused by C++ visibility fixes (Jason Merrill, + PR c++/31187) +- fix C++ ICE on i ? j : k = (void) 0; (PR c++/30847) +- fix C++ accepts invalid bug (Mark Mitchell, PR c++/30863) +- fix random seed handling with -frepo (Alexandre Oliva, #228769) +- fix fortran OPEN without ACTION on read-only filesystem (#231134) +- fix fortran module writer ICEs on implicit conversions (#231261) +- fix !$omp space space parsing in Fortran +- fix Fortran -ff2c (Tobias Schlueter, #229110, PR fortran/25392) +- fix ICE in dwarf2out with limbo die nodes in namespace context + (Alexandre Oliva, #240503, #227376) +- fix a SRA bug with bitfields (Alexandre Oliva, #223576) +- package up ammintrin.h on i386/x86_64 +- fix AMDfam10 testcases (H.J. Lu) +- fix f951 assert accessing memory after free (H.J. Lu, PR fortran/27351) +- add AMDfam10 support (Harsha Jagasia, #222897) +- add -march=core2 and -mtune=core2 support (Vlad Makarov) +- fix sprintf builtin (PR middle-end/30473) +- fix ICE on invalid __thread register on fields (PR c++/30536) +- ignore install-info errors in scriptlets (#223687) +- rename MNI and mni to SSSE3 and ssse3, keep -m{,no-}mni option and + __MNI__ macro for compatibility +- combiner fixes (Richard Sandiford, PR rtl-optimization/25514, + PR rtl-optimization/27736) +- fix build against post RHEL5 GA firefox-devel (#234435) + +* Sun Feb 25 2007 Jakub Jelinek 4.1.1-52.fc6.2 +- add gnu.java.util.ZoneInfo class, use tzdata files for libgcj + timezone stuff instead of builtin simple and outdated rules (#227888) + +* Wed Jan 17 2007 Jakub Jelinek 4.1.1-52.fc6 +- rebuilt against new gmp-devel (#223038) +- fix libgomp testsuite driver (Ulrich Weigand) + * Fri Jan 5 2007 Jakub Jelinek 4.1.1-51.fc6 - update from gcc-4_1-branch (-r120325:120507) - PRs c++/30382, middle-end/27826, middle-end/28116, Index: sources =================================================================== RCS file: /cvs/dist/rpms/gcc/FC-6/sources,v retrieving revision 1.181 retrieving revision 1.182 diff -u -r1.181 -r1.182 --- sources 6 Jan 2007 09:35:42 -0000 1.181 +++ sources 27 Jun 2007 18:30:21 -0000 1.182 @@ -1 +1 @@ -4b9c1eb1d83c309010044b827b8c3e45 gcc-4.1.1-20070105.tar.bz2 +8b59ef3c2653c99dab4053bf6eb2d388 gcc-4.1.2-20070626.tar.bz2 --- gcc41-i386-tune-geode.patch DELETED --- --- gcc41-mni.patch DELETED --- --- gcc41-objc-rh185398.patch DELETED --- --- gcc41-pr24036-revert.patch DELETED --- --- gcc41-pr25874.patch DELETED --- --- gcc41-pr27567.patch DELETED --- --- gcc41-pr28709.patch DELETED --- --- gcc41-pr29059.patch DELETED --- --- gcc41-pr29272.patch DELETED --- --- gcc41-pr29299.patch DELETED --- --- gcc41-pr30001.patch DELETED --- --- gcc41-pr30045.patch DELETED --- --- gcc41-pr30113.patch DELETED --- --- gcc41-pr30143.patch DELETED --- --- gcc41-pr30189.patch DELETED --- --- gcc41-strncat-chk.patch DELETED --- --- gcc41-tests.patch DELETED --- From fedora-cvs-commits at redhat.com Wed Jun 27 18:52:53 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 14:52:53 -0400 Subject: rpms/binutils/FC-6 binutils-2.17.50.0.6-bz4267.patch, NONE, 1.1 binutils-2.17.50.0.6-ppc-relbrlt-test.patch, NONE, 1.1 binutils-2.17.50.0.6-ppc64-version-script.patch, NONE, 1.1 binutils-2.17.50.0.6-rh235221.patch, NONE, 1.1 binutils-2.17.50.0.6-rh241252.patch, NONE, 1.1 binutils-2.17.50.0.6-sse4.patch, NONE, 1.1 binutils.spec, 1.105, 1.106 Message-ID: <200706271852.l5RIqrKH032655@cvs.devel.redhat.com> Author: jakub Update of /cvs/dist/rpms/binutils/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv32629/FC-6 Modified Files: binutils.spec Added Files: binutils-2.17.50.0.6-bz4267.patch binutils-2.17.50.0.6-ppc-relbrlt-test.patch binutils-2.17.50.0.6-ppc64-version-script.patch binutils-2.17.50.0.6-rh235221.patch binutils-2.17.50.0.6-rh241252.patch binutils-2.17.50.0.6-sse4.patch Log Message: auto-import binutils-2.17.50.0.6-5.fc6 on branch FC-6 from binutils-2.17.50.0.6-5.fc6.src.rpm binutils-2.17.50.0.6-bz4267.patch: elf32-ppc.c | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) --- NEW FILE binutils-2.17.50.0.6-bz4267.patch --- 2007-03-29 Alan Modra PR ld/4267 * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for unused entries. Don't clear plt.plist in loop. --- bfd/elf32-ppc.c 26 Mar 2007 12:23:00 -0000 1.211 +++ bfd/elf32-ppc.c 29 Mar 2007 01:11:30 -0000 1.212 @@ -4500,13 +4500,15 @@ allocate_dynrelocs (struct elf_link_hash } else ent->plt.offset = (bfd_vma) -1; - - if (!doneone) - { - h->plt.plist = NULL; - h->needs_plt = 0; - } } + else + ent->plt.offset = (bfd_vma) -1; + + if (!doneone) + { + h->plt.plist = NULL; + h->needs_plt = 0; + } } else { binutils-2.17.50.0.6-ppc-relbrlt-test.patch: plt1.d | 20 ++++++++++++++++++++ plt1.s | 9 +++++++++ powerpc.exp | 5 ++++- relbrlt.d | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ relbrlt.s | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 117 insertions(+), 1 deletion(-) --- NEW FILE binutils-2.17.50.0.6-ppc-relbrlt-test.patch --- 2006-10-24 Alan Modra * ld-powerpc/plt1.s: New. * ld-powerpc/plt1.d: New. * ld-powerpc/relbrlt.s: New. * ld-powerpc/relbrlt.d: New. * ld-powerpc/powerpc.exp: Run them. --- ld/testsuite/ld-powerpc/powerpc.exp 3 Mar 2006 09:32:01 -0000 1.15 +++ ld/testsuite/ld-powerpc/powerpc.exp 24 Oct 2006 13:29:37 -0000 1.16 @@ -1,5 +1,5 @@ # Expect script for ld-powerpc tests -# Copyright 2002, 2003, 2005 Free Software Foundation +# Copyright 2002, 2003, 2005, 2006 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -143,4 +143,7 @@ run_ld_link_tests $ppcelftests if [ supports_ppc64 ] then { run_ld_link_tests $ppc64elftests + run_dump_test "relbrlt" } + +run_dump_test "plt1" --- ld/testsuite/ld-powerpc/plt1.d 1 Jan 1970 00:00:00 -0000 +++ ld/testsuite/ld-powerpc/plt1.d 24 Oct 2006 13:29:37 -0000 1.1 @@ -0,0 +1,20 @@ +#source: plt1.s +#as: -a32 +#objdump: -dr +#target: powerpc*-*-* + +.*: file format elf32-powerpc + +Disassembly of section .text: + +0+ <_start>: + 0: 42 9f 00 05 bcl- 20,4\*cr7\+so,4 .* + 4: 7f c8 02 a6 mflr r30 + 8: 3f de 00 00 addis r30,r30,0 + a: R_PPC_REL16_HA _GLOBAL_OFFSET_TABLE_\+0x6 + c: 3b de 00 0a addi r30,r30,10 + e: R_PPC_REL16_LO _GLOBAL_OFFSET_TABLE_\+0xa + 10: 48 00 00 01 bl 10 .* + 10: R_PPC_PLTREL24 _exit + 14: 48 00 00 00 b 14 .* + 14: R_PPC_REL24 _start --- ld/testsuite/ld-powerpc/plt1.s 1 Jan 1970 00:00:00 -0000 +++ ld/testsuite/ld-powerpc/plt1.s 24 Oct 2006 13:29:37 -0000 1.1 @@ -0,0 +1,9 @@ + .text + .global _start +_start: + bcl 20,31,1f +1: mflr 30 + addis 30,30,(_GLOBAL_OFFSET_TABLE_-1b)@ha + addi 30,30,(_GLOBAL_OFFSET_TABLE_-1b)@l + bl _exit at plt + b _start --- ld/testsuite/ld-powerpc/relbrlt.d 1 Jan 1970 00:00:00 -0000 +++ ld/testsuite/ld-powerpc/relbrlt.d 24 Oct 2006 13:29:37 -0000 1.1 @@ -0,0 +1,50 @@ +#source: relbrlt.s +#as: -a64 +#ld: -melf64ppc --emit-relocs +#objdump: -dr + +.*: file format elf64-powerpc + +Disassembly of section \.text: + +0*100000a8 <_start>: + 100000a8: 49 bf 00 31 bl 11bf00d8 .* + 100000a8: R_PPC64_REL24 \.text\+0x37e0044 + 100000ac: 60 00 00 00 nop + 100000b0: 49 bf 00 19 bl 11bf00c8 .* + 100000b0: R_PPC64_REL24 \.text\+0x3bf0020 + 100000b4: 60 00 00 00 nop + 100000b8: 49 bf 00 25 bl 11bf00dc .* + 100000b8: R_PPC64_REL24 \.text\+0x57e0024 + 100000bc: 60 00 00 00 nop + 100000c0: 00 00 00 00 \.long 0x0 + 100000c4: 4b ff ff e4 b 100000a8 <_start> + \.\.\. + +0*11bf00c8 <.*plt_branch.*>: + 11bf00c8: 3d 82 05 7e addis r12,r2,1406 + 11bf00cc: e9 6c 80 58 ld r11,-32680\(r12\) + 11bf00d0: 7d 69 03 a6 mtctr r11 + 11bf00d4: 4e 80 04 20 bctr + +0*11bf00d8 <.*long_branch.*>: + 11bf00d8: 49 bf 00 14 b 137e00ec + 11bf00d8: R_PPC64_REL24 \*ABS\*\+0x137e00ec + +0*11bf00dc <.*plt_branch.*>: + 11bf00dc: 3d 82 05 7e addis r12,r2,1406 + 11bf00e0: e9 6c 80 60 ld r11,-32672\(r12\) + 11bf00e4: 7d 69 03 a6 mtctr r11 + 11bf00e8: 4e 80 04 20 bctr + \.\.\. + +0*137e00ec : + 137e00ec: 4e 80 00 20 blr + \.\.\. + +0*13bf00c8 : + 13bf00c8: 4e 80 00 20 blr + \.\.\. + +0*157e00cc : + 157e00cc: 4e 80 00 20 blr --- ld/testsuite/ld-powerpc/relbrlt.s 1 Jan 1970 00:00:00 -0000 +++ ld/testsuite/ld-powerpc/relbrlt.s 24 Oct 2006 13:29:37 -0000 1.1 @@ -0,0 +1,34 @@ + .text + .global _start +_start: +1: + bl far + nop + bl far2far + nop + bl huge + nop + .long 0 + b 1b + .space 0x1bf0000 + + .section .text.pad1,"ax" + .space 0x1bf0000 + + .section .text.far,"ax" +far: + blr + + .section .text.pad2,"ax" + .space 0x40ffd8 + + .section .text.far2far,"ax" +far2far: + blr + + .section .text.pad3,"ax" + .space 0x1bf0000 + + .section .text.huge,"ax" +huge: + blr binutils-2.17.50.0.6-ppc64-version-script.patch: emultempl/ppc64elf.em | 17 +++++++++++------ testsuite/ld-elf/dl2a.list | 3 +++ testsuite/ld-elf/shared.exp | 3 +++ 3 files changed, 17 insertions(+), 6 deletions(-) --- NEW FILE binutils-2.17.50.0.6-ppc64-version-script.patch --- 2007-05-14 Andreas Schwab * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Handle null pattern. --- ld/emultempl/ppc64elf.em 26 Mar 2007 11:10:44 -0000 1.52 +++ ld/emultempl/ppc64elf.em 14 May 2007 08:53:23 -0000 1.53 @@ -414,17 +414,22 @@ gld${EMULATION_NAME}_new_vers_pattern (s unsigned int len; char *dot_pat; - if (!dotsyms || entry->pattern[0] == '*' || entry->pattern[0] == '.') + if (!dotsyms + || (entry->pattern != NULL + && (entry->pattern[0] == '*' || entry->pattern[0] == '.'))) return entry; dot_entry = xmalloc (sizeof *dot_entry); *dot_entry = *entry; dot_entry->next = entry; - len = strlen (entry->pattern) + 2; - dot_pat = xmalloc (len); - dot_pat[0] = '.'; - memcpy (dot_pat + 1, entry->pattern, len - 1); - dot_entry->pattern = dot_pat; + if (entry->pattern != NULL) + { + len = strlen (entry->pattern) + 2; + dot_pat = xmalloc (len); + dot_pat[0] = '.'; + memcpy (dot_pat + 1, entry->pattern, len - 1); + dot_entry->pattern = dot_pat; + } if (entry->symbol != NULL) { len = strlen (entry->symbol) + 2; * ld-elf/dl2a.list: New file. * ld-elf/shared.exp: Add test using --dynamic-list=dl2a.list. --- ld/testsuite/ld-elf/dl2a.list 1 Jan 1970 00:00:00 -0000 +++ ld/testsuite/ld-elf/dl2a.list 14 May 2007 08:53:23 -0000 1.1 @@ -0,0 +1,3 @@ +{ + "foo"; +}; --- ld/testsuite/ld-elf/shared.exp 14 Feb 2007 14:15:52 -0000 1.6 +++ ld/testsuite/ld-elf/shared.exp 15 May 2007 13:57:03 -0000 1.8 @@ -72,6 +72,9 @@ set build_tests { {"Build libdl2a.so with --dynamic-list=dl2.list" "-shared -Wl,--dynamic-list=dl2.list" "-fPIC" {dl2.c dl2xxx.c} {} "libdl2a.so"} + {"Build libdl2a.so with --dynamic-list=dl2a.list" + "-shared -Wl,--dynamic-list=dl2a.list" "-fPIC" + {dl2.c dl2xxx.c} {} "libdl2a.so"} {"Build libdl2b.so with --dynamic-list=dl2.list and dl2xxx.list" "-shared -Wl,--dynamic-list=dl2.list,--dynamic-list=dl2xxx.list" "-fPIC" {dl2.c dl2xxx.c} {} "libdl2b.so"} binutils-2.17.50.0.6-rh235221.patch: bfd/elf64-ppc.c | 99 ++++++++++++++++++++++-------------- ld/emulparams/elf64ppc.sh | 3 - ld/emultempl/ppc64elf.em | 2 ld/testsuite/ld-powerpc/relbrlt.d | 66 ++++++++++++------------ ld/testsuite/ld-powerpc/tlsexe.r | 40 +++++++------- ld/testsuite/ld-powerpc/tlsexetoc.r | 38 ++++++------- ld/testsuite/ld-powerpc/tlsso.r | 4 - ld/testsuite/ld-powerpc/tlstocso.r | 4 - 8 files changed, 140 insertions(+), 116 deletions(-) --- NEW FILE binutils-2.17.50.0.6-rh235221.patch --- 2007-02-13 Alan Modra * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt" for branch lookup table. * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Add ".branch_lt". * emultempl/ppc64elf.em (ppc_add_stub_section): Create without SEC_RELOC flag set. * ld-powerpc/relbrlt.d: Update. * ld-powerpc/tlsexe.r: Update. * ld-powerpc/tlsexetoc.r: Update. * ld-powerpc/tlsso.r: Update. * ld-powerpc/tlstocso.r: Update. 2007-02-12 Alan Modra * elf64-ppc.c (create_linkage_sections): Don't create .rela.rodata.brlt for --emit-relocs. (ppc_build_one_stub): Create relocs for brlt --emit-relocs here. (ppc_size_one_stub): Count them. Simplify test of stub type when counting stub relocs. Set SEC_RELOC too. (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC. (ppc64_elf_finish_dynamic_sections): Output brlt relocs. * ld-powerpc/relbrlt.d: Update. --- bfd/elf64-ppc.c 1 Feb 2007 05:35:58 -0000 1.255 +++ bfd/elf64-ppc.c 13 Feb 2007 01:53:02 -0000 1.257 @@ -3818,45 +3818,22 @@ create_linkage_sections (bfd *dynobj, st return FALSE; /* Create branch lookup table for plt_branch stubs. */ - if (info->shared) - { - flags = (SEC_ALLOC | SEC_LOAD - | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->brlt - = bfd_make_section_anyway_with_flags (dynobj, ".data.rel.ro.brlt", - flags); - } - else - { - flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY - | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->brlt - = bfd_make_section_anyway_with_flags (dynobj, ".rodata.brlt", flags); - } - + flags = (SEC_ALLOC | SEC_LOAD + | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); + htab->brlt = bfd_make_section_anyway_with_flags (dynobj, ".branch_lt", + flags); if (htab->brlt == NULL || ! bfd_set_section_alignment (dynobj, htab->brlt, 3)) return FALSE; - if (info->shared) - { - flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY - | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->relbrlt - = bfd_make_section_anyway_with_flags (dynobj, ".rela.data.rel.ro.brlt", - flags); - } - else if (info->emitrelocations) - { - flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY - | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->relbrlt - = bfd_make_section_anyway_with_flags (dynobj, ".rela.rodata.brlt", - flags); - } - else + if (!info->shared) return TRUE; + flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY + | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); + htab->relbrlt = bfd_make_section_anyway_with_flags (dynobj, + ".rela.branch_lt", + flags); if (!htab->relbrlt || ! bfd_set_section_alignment (dynobj, htab->relbrlt, 3)) return FALSE; @@ -8394,6 +8371,33 @@ ppc_build_one_stub (struct bfd_hash_entr rl += htab->relbrlt->reloc_count++ * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (htab->relbrlt->owner, &rela, rl); } + else if (info->emitrelocations) + { + Elf_Internal_Rela *relocs, *r; + struct bfd_elf_section_data *elfsec_data; + + elfsec_data = elf_section_data (htab->brlt); + relocs = elfsec_data->relocs; + if (relocs == NULL) + { + bfd_size_type relsize; + relsize = htab->brlt->reloc_count * sizeof (*relocs); + relocs = bfd_alloc (htab->brlt->owner, relsize); + if (relocs == NULL) + return FALSE; + elfsec_data->relocs = relocs; + elfsec_data->rel_hdr.sh_size = relsize; + elfsec_data->rel_hdr.sh_entsize = 24; + htab->brlt->reloc_count = 0; + } + r = relocs + htab->brlt->reloc_count; + htab->brlt->reloc_count += 1; + r->r_offset = (br_entry->offset + + htab->brlt->output_offset + + htab->brlt->output_section->vma); + r->r_info = ELF64_R_INFO (0, R_PPC64_RELATIVE); + r->r_addend = off; + } off = (br_entry->offset + htab->brlt->output_offset @@ -8623,6 +8627,11 @@ ppc_size_one_stub (struct bfd_hash_entry if (htab->relbrlt != NULL) htab->relbrlt->size += sizeof (Elf64_External_Rela); + else if (info->emitrelocations) + { + htab->brlt->reloc_count += 1; + htab->brlt->flags |= SEC_RELOC; + } } stub_entry->stub_type += ppc_stub_plt_branch - ppc_stub_long_branch; @@ -8630,11 +8639,11 @@ ppc_size_one_stub (struct bfd_hash_entry if (stub_entry->stub_type != ppc_stub_plt_branch) size = 28; } - - if (info->emitrelocations - && (stub_entry->stub_type == ppc_stub_long_branch - || stub_entry->stub_type == ppc_stub_long_branch_r2off)) - stub_entry->stub_sec->reloc_count += 1; + else if (info->emitrelocations) + { + stub_entry->stub_sec->reloc_count += 1; + stub_entry->stub_sec->flags |= SEC_RELOC; + } } stub_entry->stub_sec->size += size; @@ -9426,9 +9435,12 @@ ppc64_elf_size_stubs (bfd *output_bfd, stub_sec->rawsize = stub_sec->size; stub_sec->size = 0; stub_sec->reloc_count = 0; + stub_sec->flags &= ~SEC_RELOC; } htab->brlt->size = 0; + htab->brlt->reloc_count = 0; + htab->brlt->flags &= ~SEC_RELOC; if (htab->relbrlt != NULL) htab->relbrlt->size = 0; @@ -11442,6 +11454,17 @@ ppc64_elf_finish_dynamic_sections (bfd * = PLT_ENTRY_SIZE; } + /* brlt is SEC_LINKER_CREATED, so we need to write out relocs for + brlt ourselves if emitrelocations. */ + if (htab->brlt != NULL + && htab->brlt->reloc_count != 0 + && !_bfd_elf_link_output_relocs (output_bfd, + htab->brlt, + &elf_section_data (htab->brlt)->rel_hdr, + elf_section_data (htab->brlt)->relocs, + NULL)) + return FALSE; + /* We need to handle writing out multiple GOT sections ourselves, since we didn't add them to DYNOBJ. We know dynobj is the first bfd. */ --- ld/emulparams/elf64ppc.sh 30 May 2006 16:45:32 -0000 1.18 +++ ld/emulparams/elf64ppc.sh 13 Feb 2007 01:53:03 -0000 1.19 @@ -31,7 +31,8 @@ OTHER_GOT_RELOC_SECTIONS=" .rela.toc ${RELOCATING-0} : { *(.rela.toc) }" OTHER_READWRITE_SECTIONS=" .toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) } - .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }" + .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) } + .branch_lt ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }" # Treat a host that matches the target with the possible exception of "64" # in the name as if it were native. --- ld/emultempl/ppc64elf.em 20 Jun 2006 02:22:14 -0000 1.50 +++ ld/emultempl/ppc64elf.em 13 Feb 2007 01:53:03 -0000 1.51 @@ -225,7 +225,7 @@ ppc_add_stub_section (const char *stub_s goto err_ret; flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE - | SEC_HAS_CONTENTS | SEC_RELOC | SEC_IN_MEMORY | SEC_KEEP); + | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_KEEP); if (!bfd_set_section_flags (stub_file->the_bfd, stub_sec, flags)) goto err_ret; --- ld/testsuite/ld-powerpc/relbrlt.d 24 Oct 2006 13:29:37 -0000 1.1 +++ ld/testsuite/ld-powerpc/relbrlt.d 13 Feb 2007 01:53:03 -0000 1.3 @@ -7,44 +7,44 @@ Disassembly of section \.text: -0*100000a8 <_start>: - 100000a8: 49 bf 00 31 bl 11bf00d8 .* - 100000a8: R_PPC64_REL24 \.text\+0x37e0044 - 100000ac: 60 00 00 00 nop - 100000b0: 49 bf 00 19 bl 11bf00c8 .* - 100000b0: R_PPC64_REL24 \.text\+0x3bf0020 - 100000b4: 60 00 00 00 nop - 100000b8: 49 bf 00 25 bl 11bf00dc .* - 100000b8: R_PPC64_REL24 \.text\+0x57e0024 - 100000bc: 60 00 00 00 nop - 100000c0: 00 00 00 00 \.long 0x0 - 100000c4: 4b ff ff e4 b 100000a8 <_start> +0*100000b0 <_start>: +[0-9a-f ]*: 49 bf 00 31 bl .* +[0-9a-f ]*: R_PPC64_REL24 \.text\+0x37e0044 +[0-9a-f ]*: 60 00 00 00 nop +[0-9a-f ]*: 49 bf 00 19 bl .* +[0-9a-f ]*: R_PPC64_REL24 \.text\+0x3bf0020 +[0-9a-f ]*: 60 00 00 00 nop +[0-9a-f ]*: 49 bf 00 25 bl .* +[0-9a-f ]*: R_PPC64_REL24 \.text\+0x57e0024 +[0-9a-f ]*: 60 00 00 00 nop +[0-9a-f ]*: 00 00 00 00 \.long 0x0 +[0-9a-f ]*: 4b ff ff e4 b .* <_start> \.\.\. -0*11bf00c8 <.*plt_branch.*>: - 11bf00c8: 3d 82 05 7e addis r12,r2,1406 - 11bf00cc: e9 6c 80 58 ld r11,-32680\(r12\) - 11bf00d0: 7d 69 03 a6 mtctr r11 - 11bf00d4: 4e 80 04 20 bctr - -0*11bf00d8 <.*long_branch.*>: - 11bf00d8: 49 bf 00 14 b 137e00ec - 11bf00d8: R_PPC64_REL24 \*ABS\*\+0x137e00ec - -0*11bf00dc <.*plt_branch.*>: - 11bf00dc: 3d 82 05 7e addis r12,r2,1406 - 11bf00e0: e9 6c 80 60 ld r11,-32672\(r12\) - 11bf00e4: 7d 69 03 a6 mtctr r11 - 11bf00e8: 4e 80 04 20 bctr +[0-9a-f ]*<.*plt_branch.*>: +[0-9a-f ]*: 3d 82 00 00 addis r12,r2,0 +[0-9a-f ]*: e9 6c 80 00 ld r11,-32768\(r12\) +[0-9a-f ]*: 7d 69 03 a6 mtctr r11 +[0-9a-f ]*: 4e 80 04 20 bctr + +[0-9a-f ]*<.*long_branch.*>: +[0-9a-f ]*: 49 bf 00 14 b .* +[0-9a-f ]*: R_PPC64_REL24 \*ABS\*\+0x137e00f4 + +[0-9a-f ]*<.*plt_branch.*>: +[0-9a-f ]*: 3d 82 00 00 addis r12,r2,0 +[0-9a-f ]*: e9 6c 80 08 ld r11,-32760\(r12\) +[0-9a-f ]*: 7d 69 03 a6 mtctr r11 +[0-9a-f ]*: 4e 80 04 20 bctr \.\.\. -0*137e00ec : - 137e00ec: 4e 80 00 20 blr +0*137e00f4 : +[0-9a-f ]*: 4e 80 00 20 blr \.\.\. -0*13bf00c8 : - 13bf00c8: 4e 80 00 20 blr +[0-9a-f ]*: +[0-9a-f ]*: 4e 80 00 20 blr \.\.\. -0*157e00cc : - 157e00cc: 4e 80 00 20 blr +[0-9a-f ]*: +[0-9a-f ]*: 4e 80 00 20 blr --- ld/testsuite/ld-powerpc/tlsexe.r 17 Aug 2006 08:21:06 -0000 1.18 +++ ld/testsuite/ld-powerpc/tlsexe.r 13 Feb 2007 01:53:03 -0000 1.19 @@ -17,10 +17,10 @@ Section Headers: +\[ 5\] \.rela\.dyn +.* +\[ 6\] \.rela\.plt +.* +\[ 7\] \.text +PROGBITS .* 0+100 0+ +AX +0 +0 +8 - +\[ 8\] \.rodata + PROGBITS .* 0+ 0+ +A +0 +0 +8 - +\[ 9\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 - +\[10\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 - +\[11\] \.dynamic +DYNAMIC .* 0+150 10 +WA +4 +0 +8 + +\[ 8\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 + +\[ 9\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 + +\[10\] \.dynamic +DYNAMIC .* 0+150 10 +WA +4 +0 +8 + +\[11\] \.branch_lt + PROGBITS .* 0+ 0+ +WA +0 +0 +8 +\[12\] \.got +PROGBITS .* 0+30 08 +WA +0 +0 +8 +\[13\] \.plt +.* +\[14\] \.shstrtab +.* @@ -67,7 +67,7 @@ Symbol table '\.dynsym' contains [0-9]+ .* TLS +GLOBAL DEFAULT +UND gd .* FUNC +GLOBAL DEFAULT +UND __tls_get_addr .* TLS +GLOBAL DEFAULT +UND ld -.* TLS +GLOBAL DEFAULT +10 ld2 +.* TLS +GLOBAL DEFAULT +9 ld2 .* NOTYPE +GLOBAL DEFAULT +ABS __bss_start .* NOTYPE +GLOBAL DEFAULT +ABS _edata .* NOTYPE +GLOBAL DEFAULT +ABS _end @@ -88,26 +88,26 @@ Symbol table '\.symtab' contains .* entr .* SECTION LOCAL +DEFAULT +11 .* SECTION LOCAL +DEFAULT +12 .* SECTION LOCAL +DEFAULT +13 -.* TLS +LOCAL +DEFAULT +9 gd4 -.* TLS +LOCAL +DEFAULT +9 ld4 -.* TLS +LOCAL +DEFAULT +9 ld5 -.* TLS +LOCAL +DEFAULT +9 ld6 -.* TLS +LOCAL +DEFAULT +9 ie4 -.* TLS +LOCAL +DEFAULT +9 le4 -.* TLS +LOCAL +DEFAULT +9 le5 -.* OBJECT +LOCAL +HIDDEN +11 _DYNAMIC +.* TLS +LOCAL +DEFAULT +8 gd4 +.* TLS +LOCAL +DEFAULT +8 ld4 +.* TLS +LOCAL +DEFAULT +8 ld5 +.* TLS +LOCAL +DEFAULT +8 ld6 +.* TLS +LOCAL +DEFAULT +8 ie4 +.* TLS +LOCAL +DEFAULT +8 le4 +.* TLS +LOCAL +DEFAULT +8 le5 +.* OBJECT +LOCAL +HIDDEN +10 _DYNAMIC .* FUNC +LOCAL +DEFAULT +UND \.__tls_get_addr .* GLOBAL DEFAULT +UND gd -.* GLOBAL DEFAULT +10 le0 +.* GLOBAL DEFAULT +9 le0 .* GLOBAL DEFAULT +UND __tls_get_addr -.* GLOBAL DEFAULT +10 ld0 -.* GLOBAL DEFAULT +10 le1 +.* GLOBAL DEFAULT +9 ld0 +.* GLOBAL DEFAULT +9 le1 .* GLOBAL DEFAULT +UND ld .* NOTYPE +GLOBAL DEFAULT +7 _start -.* TLS +GLOBAL DEFAULT +10 ld2 -.* TLS +GLOBAL DEFAULT +10 ld1 +.* TLS +GLOBAL DEFAULT +9 ld2 +.* TLS +GLOBAL DEFAULT +9 ld1 .* NOTYPE +GLOBAL DEFAULT +ABS __bss_start .* NOTYPE +GLOBAL DEFAULT +ABS _edata .* NOTYPE +GLOBAL DEFAULT +ABS _end -.* TLS +GLOBAL DEFAULT +10 gd0 -.* TLS +GLOBAL DEFAULT +10 ie0 +.* TLS +GLOBAL DEFAULT +9 gd0 +.* TLS +GLOBAL DEFAULT +9 ie0 --- ld/testsuite/ld-powerpc/tlsexetoc.r 17 Aug 2006 08:21:06 -0000 1.19 +++ ld/testsuite/ld-powerpc/tlsexetoc.r 13 Feb 2007 01:53:03 -0000 1.20 @@ -17,10 +17,10 @@ Section Headers: +\[ 5\] \.rela\.dyn +.* +\[ 6\] \.rela\.plt +.* +\[ 7\] \.text +PROGBITS .* 0+c0 0+ +AX +0 +0 +8 - +\[ 8\] \.rodata +PROGBITS .* 0+ 0+ +A +0 +0 +8 - +\[ 9\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 - +\[10\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 - +\[11\] \.dynamic +DYNAMIC .* 0+150 10 +WA +4 +0 +8 + +\[ 8\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 + +\[ 9\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 + +\[10\] \.dynamic +DYNAMIC .* 0+150 10 +WA +4 +0 +8 + +\[11\] \.branch_lt +PROGBITS .* 0+ 0+ +WA +0 +0 +8 +\[12\] \.got +PROGBITS .* 0+58 08 +WA +0 +0 +8 +\[13\] \.plt +.* +\[14\] \.shstrtab +.* @@ -87,27 +87,27 @@ Symbol table '\.symtab' contains .* entr .* SECTION LOCAL +DEFAULT +11 .* SECTION LOCAL +DEFAULT +12 .* SECTION LOCAL +DEFAULT +13 -.* TLS +LOCAL +DEFAULT +9 gd4 -.* TLS +LOCAL +DEFAULT +9 ld4 -.* TLS +LOCAL +DEFAULT +9 ld5 -.* TLS +LOCAL +DEFAULT +9 ld6 -.* TLS +LOCAL +DEFAULT +9 ie4 -.* TLS +LOCAL +DEFAULT +9 le4 -.* TLS +LOCAL +DEFAULT +9 le5 +.* TLS +LOCAL +DEFAULT +8 gd4 +.* TLS +LOCAL +DEFAULT +8 ld4 +.* TLS +LOCAL +DEFAULT +8 ld5 +.* TLS +LOCAL +DEFAULT +8 ld6 +.* TLS +LOCAL +DEFAULT +8 ie4 +.* TLS +LOCAL +DEFAULT +8 le4 +.* TLS +LOCAL +DEFAULT +8 le5 .* NOTYPE +LOCAL +DEFAULT +12 \.Lie0 -.* OBJECT +LOCAL +HIDDEN +11 _DYNAMIC +.* OBJECT +LOCAL +HIDDEN +10 _DYNAMIC .* FUNC +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL DEFAULT +UND gd -.* TLS +GLOBAL DEFAULT +10 le0 +.* TLS +GLOBAL DEFAULT +9 le0 .* FUNC +GLOBAL DEFAULT +UND __tls_get_addr -.* TLS +GLOBAL DEFAULT +10 ld0 -.* TLS +GLOBAL DEFAULT +10 le1 +.* TLS +GLOBAL DEFAULT +9 ld0 +.* TLS +GLOBAL DEFAULT +9 le1 .* TLS +GLOBAL DEFAULT +UND ld .* NOTYPE +GLOBAL DEFAULT +7 _start -.* TLS +GLOBAL DEFAULT +10 ld2 -.* TLS +GLOBAL DEFAULT +10 ld1 +.* TLS +GLOBAL DEFAULT +9 ld2 +.* TLS +GLOBAL DEFAULT +9 ld1 .* NOTYPE +GLOBAL DEFAULT +ABS __bss_start .* NOTYPE +GLOBAL DEFAULT +ABS _edata .* NOTYPE +GLOBAL DEFAULT +ABS _end -.* TLS +GLOBAL DEFAULT +10 gd0 -.* TLS +GLOBAL DEFAULT +10 ie0 +.* TLS +GLOBAL DEFAULT +9 gd0 +.* TLS +GLOBAL DEFAULT +9 ie0 --- ld/testsuite/ld-powerpc/tlsso.r 17 Oct 2006 13:41:48 -0000 1.18 +++ ld/testsuite/ld-powerpc/tlsso.r 13 Feb 2007 01:53:03 -0000 1.19 @@ -17,8 +17,8 @@ Section Headers: +\[ 6\] \.text .* +\[ 7\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 +\[ 8\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 - +\[ 9\] \.data\.rel\.ro .* - +\[10\] \.dynamic .* + +\[ 9\] \.dynamic .* + +\[10\] \.branch_lt .* +\[11\] \.got .* +\[12\] \.plt .* +\[13\] \.shstrtab .* --- ld/testsuite/ld-powerpc/tlstocso.r 17 Oct 2006 13:41:48 -0000 1.18 +++ ld/testsuite/ld-powerpc/tlstocso.r 13 Feb 2007 01:53:03 -0000 1.19 @@ -17,8 +17,8 @@ Section Headers: +\[ 6\] \.text .* +\[ 7\] \.tdata +PROGBITS .* 0+38 0+ WAT +0 +0 +8 +\[ 8\] \.tbss +NOBITS .* 0+38 0+ WAT +0 +0 +8 - +\[ 9\] \.data\.rel\.ro .* - +\[10\] \.dynamic .* + +\[ 9\] \.dynamic .* + +\[10\] \.branch_lt .* +\[11\] \.got .* +\[12\] \.plt .* +\[13\] \.shstrtab .* binutils-2.17.50.0.6-rh241252.patch: elf.sc | 4 ++++ 1 files changed, 4 insertions(+) --- NEW FILE binutils-2.17.50.0.6-rh241252.patch --- 2007-05-03 Alan Modra * scripttempl/elf.sc: Add .debug_pubtypes and .debug_ranges. --- ld/scripttempl/elf.sc 26 Oct 2006 00:31:59 -0000 1.79 +++ ld/scripttempl/elf.sc 3 May 2007 07:06:13 -0000 1.80 @@ -505,6 +505,10 @@ cat < * config/tc-i386.c (match_template): Don't explicitly check suffix for crc32 in Intel mode. (process_suffix): Issue an error for crc32 if the operand size is ambiguous. 2007-05-01 H.J. Lu * config/tc-i386.c (match_template): Check suffix for crc32 in Intel mdoe. (process_suffix): Default the suffix of 8bit crc32 to BYTE_MNEM_SUFFIX. (check_byte_reg): Skip check for 8bit crc32. 2007-04-18 H.J. Lu * doc/c-i386.texi; Document .ssse3, .sse4.1, .sse4.2 and .sse4. 2007-04-18 H.J. Lu * config/tc-i386.c (cpu_arch): Add .sse4.2 and .sse4. (match_template): Handle operand size for crc32 in SSE4.2. (process_suffix): Handle operand type for crc32 in SSE4.2. (output_insn): Support SSE4.2. 2007-04-18 H.J. Lu * config/tc-i386.c (cpu_arch): Add .sse4.1. (process_operands): Adjust implicit operand for blendvpd, blendvps and pblendvb in SSE4.1. (output_insn): Support SSE4.1. gas/testsuite/ 2007-05-03 H.J. Lu * gas/i386/crc32-intel.d: Updated. * gas/i386/crc32.d: Likewise. * gas/i386/sse4_2.d: Likewise. * gas/i386/x86-64-crc32-intel.d: Likewise. * gas/i386/x86-64-crc32.d: Likewise. * gas/i386/x86-64-sse4_2.d: Likewise. * gas/i386/crc32.s: Remove crc32 instructions with ambiguous operand size and suffix in crc32 instructions in Intel mode. * gas/i386/x86-64-crc32.s: Likewise. * gas/i386/sse4_2.s: Remove crc32 instructions with ambiguous operand size. * gas/i386/x86-64-sse4_2.s: Likewise. * gas/i386/i386.exp: Run inval-crc32 and x86-64-inval-crc32. * gas/i386/inval-crc32.l: New. * gas/i386/inval-crc32.s: Likewise. * gas/i386/x86-64-inval-crc32.l: Likewise. * gas/i386/x86-64-inval-crc32.s: Likewise. 2007-05-01 H.J. Lu * gas/i386/crc32-intel.d: New file. * gas/i386/crc32.d:Likewise. * gas/i386/crc32.s:Likewise. * gas/i386/x86-64-crc32-intel.d:Likewise. * gas/i386/x86-64-crc32.d:Likewise. * gas/i386/x86-64-crc32.s:Likewise. * gas/i386/i386.exp: Run crc32, crc32-intel, x86-64-crc32 and x86-64-crc32-intel. 2007-04-18 H.J. Lu * gas/i386/i386.exp: Add sse4.2 and x86-64-sse4.2. * gas/i386/sse4_2.d: New file. * gas/i386/sse4_2.s: Likewise. * gas/i386/x86-64-sse4_2.d: Likewise. * gas/i386/x86-64-sse4_2.s: Likewise. 2007-04-18 H.J. Lu * gas/i386/i386.exp: Add sse4.1 and x86-64-sse4.1. * gas/i386/sse4_1.d: New file. * gas/i386/sse4_1.s: Likewise. * gas/i386/x86-64-sse4_1.d: Likewise. * gas/i386/x86-64-sse4_1.s: Likewise. opcodes/ 2007-05-07 H.J. Lu * i386-dis.c (threebyte_0x38_uses_DATA_prefix): Correct entries for SSE4. (threebyte_0x3a_uses_DATA_prefix): Likewise. 2007-05-03 H.J. Lu * i386-dis.c (CRC32_Fixup): Don't print suffix in Intel mode. * i386-opc.c (i386_optab): Remove IgnoreSize and correct operand type for crc32. 2007-05-01 H.J. Lu * i386-dis.c (CRC32_Fixup): Properly handle Intel mode and check data size prefix in 16bit mode. * i386-opc.c (i386_optab): Default crc32 to non-8bit and support Intel mode. 2007-04-18 H.J. Lu * i386-dis.c (CRC32_Fixup): New. (PREGRP85, PREGRP86, PREGRP87, PREGRP88, PREGRP89, PREGRP90, PREGRP91): New. (threebyte_0x38_uses_DATA_prefix): Updated for SSE4.2. (threebyte_0x3a_uses_DATA_prefix): Likewise. (prefix_user_table): Add PREGRP85, PREGRP86, PREGRP87, PREGRP88, PREGRP89, PREGRP90 and PREGRP91. (three_byte_table): Likewise. * i386-opc.c (i386_optab): Add SSE4.2 opcodes. 2006-11-09 H.J. Lu * i386-dis.c (print_insn): Check PREFIX_REPNZ before PREFIX_DATA when prefix user table is used. 2006-11-09 H.J. Lu * i386-dis.c (twobyte_uses_SSE_prefix): Renamed to ... (twobyte_uses_DATA_prefix): This. (twobyte_uses_REPNZ_prefix): New. (twobyte_uses_REPZ_prefix): Likewise. (threebyte_0x38_uses_DATA_prefix): Likewise. (threebyte_0x38_uses_REPNZ_prefix): Likewise. (threebyte_0x38_uses_REPZ_prefix): Likewise. (threebyte_0x3a_uses_DATA_prefix): Likewise. (threebyte_0x3a_uses_REPNZ_prefix): Likewise. (threebyte_0x3a_uses_REPZ_prefix): Likewise. (print_insn): Updated checking usages of DATA/REPNZ/REPZ prefixes. 2007-04-18 H.J. Lu * i386-dis.c (XMM_Fixup): New. (Edqb): New. (Edqd): New. (XMM0): New. (dqb_mode): New. (dqd_mode): New. (PREGRP39 ... PREGRP85): New. (threebyte_0x38_uses_DATA_prefix): Updated for SSE4. (threebyte_0x3a_uses_DATA_prefix): Likewise. (prefix_user_table): Add PREGRP39 ... PREGRP85. (three_byte_table): Likewise. (putop): Handle 'K'. (intel_operand_size): Handle dqb_mode, dqd_mode): (OP_E): Likewise. (OP_G): Likewise. * i386-opc.c (i386_optab): Add SSE4.1 opcodes. * i386-opc.h (CpuSSE4_1): New. (CpuUnknownFlags): Add CpuSSE4_1. (regKludge): Update comment. --- include/opcode/i386.h.jj 2007-05-07 10:48:24.000000000 +0200 +++ include/opcode/i386.h 2007-05-07 12:46:35.000000000 +0200 @@ -1197,6 +1197,10 @@ static const template i386_optab[] = {"pavgw", 2, 0x660fe3, X, CpuSSE2,NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, {"pextrw", 3, 0x0fc5, X, CpuMMX2,lq_Suf|IgnoreSize|Modrm, { Imm8, RegMMX, Reg32|Reg64 } }, {"pextrw", 3, 0x660fc5, X, CpuSSE2,lq_Suf|IgnoreSize|Modrm, { Imm8, RegXMM, Reg32|Reg64 } }, + +/* Streaming SIMD extensions 4.1 Instructions. */ +{"pextrw", 3, 0x660f3a15,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM, Reg32|Reg64|ShortMem } }, + {"pinsrw", 3, 0x0fc4, X, CpuMMX2,lq_Suf|IgnoreSize|Modrm, { Imm8, Reg32|Reg64|ShortMem, RegMMX } }, {"pinsrw", 3, 0x660fc4, X, CpuSSE2,lq_Suf|IgnoreSize|Modrm, { Imm8, Reg32|Reg64|ShortMem, RegXMM } }, {"pmaxsw", 2, 0x0fee, X, CpuMMX2,NoSuf|IgnoreSize|Modrm, { RegMMX|LLongMem, RegMMX, 0 } }, @@ -1410,6 +1414,71 @@ static const template i386_optab[] = {"pabsd", 2, 0x0f381e,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegMMX|LongMem, RegMMX, 0 } }, {"pabsd", 2, 0x660f381e,X, CpuSSSE3, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +/* Streaming SIMD extensions 4.1 Instructions. */ + +{"blendpd", 3, 0x660f3a0d,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, +{"blendps", 3, 0x660f3a0c,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, +{"blendvpd", 3, 0x660f3815,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm|regKludge, { RegXMM, RegXMM|LLongMem, RegXMM } }, +{"blendvps", 3, 0x660f3814,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm|regKludge, { RegXMM, RegXMM|LLongMem, RegXMM } }, +{"dppd", 3, 0x660f3a41,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, +{"dpps", 3, 0x660f3a40,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, +{"extractps",3, 0x660f3a17,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM, Reg32|Reg64|LongMem } }, +{"insertps", 3, 0x660f3a21,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LongMem, RegXMM } }, +{"movntdqa", 2, 0x660f382a,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { LLongMem, RegXMM, 0 } }, +{"mpsadbw", 3, 0x660f3a42,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } }, +{"packusdw", 2, 0x660f382b,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm, { RegXMM|LLongMem, RegXMM, 0 } }, +{"pblendvb", 3, 0x660f3810,X, CpuSSE4_1, NoSuf|IgnoreSize|Modrm|regKludge, { RegXMM, RegXMM|LLongMem, RegXMM } }, [...2448 lines suppressed...] + sizes. The same applies to crc32 in SSE4.2. */ || !((t->base_opcode == 0x0f01 && t->extension_opcode == 0xc8) + || t->base_opcode == 0xf20f38f1 || CONSISTENT_REGISTER_MATCH (overlap0, i.types[0], operand_types[0], overlap1, i.types[1], @@ -2856,19 +2863,44 @@ process_suffix (void) { /* We take i.suffix from the last register operand specified, Destination register type is more significant than source - register type. */ - int op; - - for (op = i.operands; --op >= 0;) - if ((i.types[op] & Reg) - && !(i.tm.operand_types[op] & InOutPortReg)) - { - i.suffix = ((i.types[op] & Reg8) ? BYTE_MNEM_SUFFIX : - (i.types[op] & Reg16) ? WORD_MNEM_SUFFIX : - (i.types[op] & Reg64) ? QWORD_MNEM_SUFFIX : + register type. crc32 in SSE4.2 prefers source register + type. */ + if (i.tm.base_opcode == 0xf20f38f1) + { + if ((i.types[0] & Reg)) + i.suffix = ((i.types[0] & Reg16) ? WORD_MNEM_SUFFIX : LONG_MNEM_SUFFIX); - break; - } + } + else if (i.tm.base_opcode == 0xf20f38f0) + { + if ((i.types[0] & Reg8)) + i.suffix = BYTE_MNEM_SUFFIX; + } + + if (!i.suffix) + { + int op; + + if (i.tm.base_opcode == 0xf20f38f1 + || i.tm.base_opcode == 0xf20f38f0) + { + /* We have to know the operand size for crc32. */ + as_bad (_("ambiguous memory operand size for `%s`"), + i.tm.name); + return 0; + } + + for (op = i.operands; --op >= 0;) + if ((i.types[op] & Reg) + && !(i.tm.operand_types[op] & InOutPortReg)) + { + i.suffix = ((i.types[op] & Reg8) ? BYTE_MNEM_SUFFIX : + (i.types[op] & Reg16) ? WORD_MNEM_SUFFIX : + (i.types[op] & Reg64) ? QWORD_MNEM_SUFFIX : + LONG_MNEM_SUFFIX); + break; + } + } } else if (i.suffix == BYTE_MNEM_SUFFIX) { @@ -3047,6 +3079,10 @@ check_byte_reg (void) || i.tm.base_opcode == 0xfbf)) continue; + /* crc32 doesn't generate this warning. */ + if (i.tm.base_opcode == 0xf20f38f0) + continue; + if ((i.types[op] & WordReg) && i.op[op].regs->reg_num < 4) { /* Prohibit these changes in the 64bit mode, since the @@ -3302,12 +3338,45 @@ process_operands () is converted into xor %reg, %reg. */ if (i.tm.opcode_modifier & regKludge) { - unsigned int first_reg_op = (i.types[0] & Reg) ? 0 : 1; - /* Pretend we saw the extra register operand. */ - assert (i.op[first_reg_op + 1].regs == 0); - i.op[first_reg_op + 1].regs = i.op[first_reg_op].regs; - i.types[first_reg_op + 1] = i.types[first_reg_op]; - i.reg_operands = 2; + if ((i.tm.cpu_flags & CpuSSE4_1)) + { + /* The first operand in instruction blendvpd, blendvps and + pblendvb in SSE4.1 is implicit and must be xmm0. */ + assert (i.operands == 3 + && i.reg_operands >= 2 + && i.types[0] == RegXMM); + if (i.op[0].regs->reg_num != 0) + { + if (intel_syntax) + as_bad (_("the last operand of `%s' must be `xmm0'"), + i.tm.name); + else + as_bad (_("the first operand of `%s' must be `%%xmm0'"), + i.tm.name); + return 0; + } + i.op[0] = i.op[1]; + i.op[1] = i.op[2]; + i.types[0] = i.types[1]; + i.types[1] = i.types[2]; + i.operands--; + i.reg_operands--; + + /* We need to adjust fields in i.tm since they are used by + build_modrm_byte. */ + i.tm.operand_types [0] = i.tm.operand_types [1]; + i.tm.operand_types [1] = i.tm.operand_types [2]; + i.tm.operands--; + } + else + { + unsigned int first_reg_op = (i.types[0] & Reg) ? 0 : 1; + /* Pretend we saw the extra register operand. */ + assert (i.op[first_reg_op + 1].regs == 0); + i.op[first_reg_op + 1].regs = i.op[first_reg_op].regs; + i.types[first_reg_op + 1] = i.types[first_reg_op]; + i.reg_operands = 2; + } } if (i.tm.opcode_modifier & ShortForm) @@ -3891,11 +3960,12 @@ output_insn () unsigned char *q; unsigned int prefix; - /* All opcodes on i386 have either 1 or 2 bytes. Supplemental - Streaming SIMD extensions 3 Instructions have 3 bytes. We may - use one more higher byte to specify a prefix the instruction - requires. */ - if ((i.tm.cpu_flags & CpuSSSE3) != 0) + /* All opcodes on i386 have either 1 or 2 bytes. SSSE3 and + SSE4 instructions have 3 bytes. We may use one more higher + byte to specify a prefix the instruction requires. Exclude + instructions which are in both SSE4 and ABM. */ + if ((i.tm.cpu_flags & (CpuSSSE3 | CpuSSE4)) != 0 + && (i.tm.cpu_flags & CpuABM) == 0) { if (i.tm.base_opcode & 0xff000000) { @@ -3936,7 +4006,8 @@ output_insn () } else { - if ((i.tm.cpu_flags & CpuSSSE3) != 0) + if ((i.tm.cpu_flags & (CpuSSSE3 | CpuSSE4)) != 0 + && (i.tm.cpu_flags & CpuABM) == 0) { p = frag_more (3); *p++ = (i.tm.base_opcode >> 16) & 0xff; --- gas/config/tc-i386.h.jj 2006-10-20 20:50:59.000000000 +0200 +++ gas/config/tc-i386.h 2007-05-07 12:27:46.000000000 +0200 @@ -190,6 +190,11 @@ typedef struct #define CpuSSSE3 0x80000 /* Supplemental Streaming SIMD extensions 3 required */ #define CpuSSE4a 0x100000 /* SSE4a New Instuctions required */ #define CpuABM 0x200000 /* ABM New Instructions required */ +#define CpuSSE4_1 0x400000 /* SSE4.1 Instructions required */ +#define CpuSSE4_2 0x800000 /* SSE4.2 Instructions required */ + +/* SSE4.1/4.2 Instructions required */ +#define CpuSSE4 (CpuSSE4_1|CpuSSE4_2) /* These flags are set by gas depending on the flag_code. */ #define Cpu64 0x4000000 /* 64bit support required */ @@ -198,7 +203,8 @@ typedef struct /* The default value for unknown CPUs - enable all features to avoid problems. */ #define CpuUnknownFlags (Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686 \ |CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuPNI|CpuVMX \ - |Cpu3dnow|Cpu3dnowA|CpuK6|CpuPadLock|CpuSVME|CpuSSSE3|CpuABM|CpuSSE4a) + |Cpu3dnow|Cpu3dnowA|CpuK6|CpuPadLock|CpuSVME|CpuSSSE3|CpuSSE4_1 \ + |CpuSSE4_2|CpuABM|CpuSSE4a) /* the bits in opcode_modifier are used to generate the final opcode from the base_opcode. These bits also are used to detect alternate forms of @@ -234,7 +240,9 @@ typedef struct #define No_xSuf 0x800000 /* x suffix on instruction illegal */ #define FWait 0x1000000 /* instruction needs FWAIT */ #define IsString 0x2000000 /* quick test for string instructions */ -#define regKludge 0x4000000 /* fake an extra reg operand for clr, imul */ +#define regKludge 0x4000000 /* fake an extra reg operand for clr, imul + and special register processing for + some instructions. */ #define IsPrefix 0x8000000 /* opcode is a prefix */ #define ImmExt 0x10000000 /* instruction has extension in 8 bit imm */ #define NoRex64 0x20000000 /* instruction don't need Rex64 prefix. */ --- gas/doc/c-i386.texi.jj 2007-05-07 10:48:24.000000000 +0200 +++ gas/doc/c-i386.texi 2007-05-07 11:15:33.000000000 +0200 @@ -756,6 +756,7 @@ supported on the CPU specified. The cho @item @samp{amdfam10} @item @samp{k6} @tab @samp{athlon} @tab @samp{sledgehammer} @tab @samp{k8} @item @samp{.mmx} @tab @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3} + at item @samp{.ssse3} @tab @samp{.sse4.1} @tab @samp{.sse4.2} @tab @samp{.sse4} @item @samp{.sse4a} @tab @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.padlock} @item @samp{.pacifica} @tab @samp{.svme} @tab @samp{.abm} @end multitable Index: binutils.spec =================================================================== RCS file: /cvs/dist/rpms/binutils/FC-6/binutils.spec,v retrieving revision 1.105 retrieving revision 1.106 diff -u -r1.105 -r1.106 --- binutils.spec 19 Jan 2007 15:26:44 -0000 1.105 +++ binutils.spec 27 Jun 2007 18:52:49 -0000 1.106 @@ -1,7 +1,7 @@ Summary: A GNU collection of binary utilities. Name: binutils Version: 2.17.50.0.6 -Release: 3%{?dist} +Release: 5%{?dist} License: GPL Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -20,6 +20,12 @@ Patch12: binutils-2.17.50.0.6-popcnt.patch Patch13: binutils-2.17.50.0.6-rh223181.patch Patch14: binutils-2.17.50.0.6-tekhex.patch +Patch15: binutils-2.17.50.0.6-bz4267.patch +Patch16: binutils-2.17.50.0.6-ppc-relbrlt-test.patch +Patch17: binutils-2.17.50.0.6-rh235221.patch +Patch18: binutils-2.17.50.0.6-sse4.patch +Patch19: binutils-2.17.50.0.6-ppc64-version-script.patch +Patch20: binutils-2.17.50.0.6-rh241252.patch Buildroot: %{_tmppath}/binutils-root BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison @@ -75,6 +81,12 @@ %patch12 -p0 -b .popcnt~ %patch13 -p0 -b .rh223181~ %patch14 -p0 -b .tekhex~ +%patch15 -p0 -b .bz4267~ +%patch16 -p0 -b .ppc-relbrlt-test~ +%patch17 -p0 -b .rh235221~ +%patch18 -p0 -b .sse4~ +%patch19 -p0 -b .ppc64-version-script~ +%patch20 -p0 -b .rh241252~ # On ppc64 we might use 64K pages sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c @@ -94,7 +106,7 @@ %ifarch ia64 CARGS=--enable-targets=i386-linux %endif -CC="gcc -L`pwd`/bfd/.libs/" CFLAGS="${CFLAGS:-%optflags}" ../configure \ +CC="gcc -L`pwd`/bfd/.libs/" CFLAGS="${CFLAGS:-%optflags} -D_FILE_OFFSET_BITS=64" ../configure \ %{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \ --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \ --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \ @@ -119,7 +131,7 @@ # Rebuild libiberty.a with -fPIC make -C libiberty clean -make CFLAGS="-g -fPIC $RPM_OPT_FLAGS" -C libiberty +make CFLAGS="-g -fPIC $RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" -C libiberty install -m 644 libiberty/libiberty.a %{buildroot}%{_prefix}/%{_lib} install -m 644 ../include/libiberty.h %{buildroot}%{_prefix}/include @@ -217,6 +229,15 @@ %{_infodir}/bfd*info* %changelog +* Fri Jun 27 2007 Jakub Jelinek 2.17.50.0.6-5.fc6 +- fix ld --unique with new DWARF3 sections .debug_ranges and .debug_pubtypes + (Alan Modra, #241252) +- fix segfault in ppc64 version script handling (Andreas Schwab) +- SSE4 support in gas and objdump (H.J.Lu, #223120) +- compile binutils with -D_FILE_OFFSET_BITS=64 (#215514) +- fix ld --emit-relocs on ppc64 (Alan Modra, #235221) +- fix ppc32 ld segfault with -msecure-plt (Alan Modra, BZ#4267) + * Fri Jan 19 2007 Jakub Jelinek 2.17.50.0.6-3.fc6 - 10x linking speedup on large C++ apps (#223181) - fix tekhex reader From fedora-cvs-commits at redhat.com Wed Jun 27 19:12:33 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 27 Jun 2007 15:12:33 -0400 Subject: rpms/glibc/FC-6 glibc-bz3213.patch, NONE, 1.1 glibc-bz3954.patch, NONE, 1.1 glibc-bz4102.patch, NONE, 1.1 glibc-bz4131.patch, NONE, 1.1 glibc-bz4342.patch, NONE, 1.1 glibc-bz4381.patch, NONE, 1.1 glibc-bz4438.patch, NONE, 1.1 glibc-bz4439.patch, NONE, 1.1 glibc-bz4465.patch, NONE, 1.1 glibc-bz4512.patch, NONE, 1.1 glibc-bz4514.patch, NONE, 1.1 glibc-bz4586.patch, NONE, 1.1 glibc-fgetc_unlocked.patch, NONE, 1.1 glibc-getaddrinfo-172.16.patch, NONE, 1.1 glibc-ldso-locking1.patch, NONE, 1.1 glibc-ldso-locking2.patch, NONE, 1.1 glibc-lowlevelrobustlock.patch, NONE, 1.1 glibc-nonnull.patch, NONE, 1.1 glibc-nscd-get_mapping.patch, NONE, 1.1 glibc-nscd-pad.patch, NONE, 1.1 glibc-ppc-ldouble-inout.patch, NONE, 1.1 glibc-ppc-nextafterl.patch, NONE, 1.1 glibc-printf-string-len.patch, NONE, 1.1 glibc-rh180432.patch, NONE, 1.1 glibc-rh218035.patch, NONE, 1.1 glibc-rh234946.patch, NONE, 1.1 glibc-rh237711.patch, NONE, 1.1 glibc-rh238431.patch, NONE, 1.1 glibc-rh244545.patch, NONE, 1.1 glibc-sem_timedwait.patch, NONE, 1.1 glibc-x86_64-mem! cpy.patch, NONE, 1.1 glibc.spec, 1.280, 1.281 glibc-rh210130.patch, 1.1, NONE glibc-rh210748-workaround.patch, 1.1, NONE Message-ID: <200706271912.l5RJCXJV001151@cvs.devel.redhat.com> Author: jakub Update of /cvs/dist/rpms/glibc/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv1121/FC-6 Modified Files: glibc.spec Added Files: glibc-bz3213.patch glibc-bz3954.patch glibc-bz4102.patch glibc-bz4131.patch glibc-bz4342.patch glibc-bz4381.patch glibc-bz4438.patch glibc-bz4439.patch glibc-bz4465.patch glibc-bz4512.patch glibc-bz4514.patch glibc-bz4586.patch glibc-fgetc_unlocked.patch glibc-getaddrinfo-172.16.patch glibc-ldso-locking1.patch glibc-ldso-locking2.patch glibc-lowlevelrobustlock.patch glibc-nonnull.patch glibc-nscd-get_mapping.patch glibc-nscd-pad.patch glibc-ppc-ldouble-inout.patch glibc-ppc-nextafterl.patch glibc-printf-string-len.patch glibc-rh180432.patch glibc-rh218035.patch glibc-rh234946.patch glibc-rh237711.patch glibc-rh238431.patch glibc-rh244545.patch glibc-sem_timedwait.patch glibc-x86_64-memcpy.patch Removed Files: glibc-rh210130.patch glibc-rh210748-workaround.patch Log Message: auto-import glibc-2.5-17.fc6 on branch FC-6 from glibc-2.5-17.fc6.src.rpm glibc-bz3213.patch: locale/C-translit.h | 759 ++++++++++++++++++------------------ locale/C-translit.h.in | 1 localedata/locales/translit_neutral | 2 3 files changed, 383 insertions(+), 379 deletions(-) --- NEW FILE glibc-bz3213.patch --- 2007-04-27 Ulrich Drepper [BZ #3213] * locale/C-translit.h.in: Add entry for U2044. * locales/translit_neutral: Add entry for U2044. --- libc/locale/C-translit.h.in 20 Apr 2002 07:16:46 -0000 1.9 +++ libc/locale/C-translit.h.in 28 Apr 2007 05:50:24 -0000 1.10 @@ -94,6 +94,7 @@ "\x2039" "<" /* SINGLE LEFT-POINTING ANGLE QUOTATION MARK */ "\x203a" ">" /* SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */ "\x203c" "!!" /* DOUBLE EXCLAMATION MARK */ +"\x2044" "/" /* FRACTION SLASH */ "\x2047" "??" /* DOUBLE QUESTION MARK */ "\x2048" "?!" /* QUESTION EXCLAMATION MARK */ "\x2049" "!?" /* EXCLAMATION QUESTION MARK */ --- libc/localedata/locales/translit_neutral 20 Apr 2002 07:14:27 -0000 1.5 +++ libc/localedata/locales/translit_neutral 28 Apr 2007 06:00:39 -0000 1.6 @@ -116,6 +116,8 @@ include "translit_wide";"" % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +% FRACTION SLASH + % WORD JOINER "" % FUNCTION APPLICATION --- libc/locale/C-translit.h 6 Apr 2003 22:16:16 -0000 1.9 +++ libc/locale/C-translit.h 28 Apr 2007 05:46:03 -0000 1.10 @@ -1,4 +1,4 @@ -#define NTRANSLIT 1352 +#define NTRANSLIT 1353 static const uint32_t translit_from_idx[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, @@ -113,7 +113,7 @@ static const uint32_t translit_from_idx[ 2616, 2618, 2620, 2622, 2624, 2626, 2628, 2630, 2632, 2634, 2636, 2638, 2640, 2642, 2644, 2646, 2648, 2650, 2652, 2654, 2656, 2658, 2660, 2662, 2664, 2666, 2668, 2670, 2672, 2674, 2676, 2678, 2680, 2682, 2684, 2686, - 2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702 + 2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704 }; static const wchar_t translit_from_tbl[] = L"\x00a0" L"\0" L"\x00a9" L"\0" L"\x00ab" L"\0" L"\x00ad" L"\0" L"\x00ae" @@ -132,335 +132,336 @@ static const wchar_t translit_from_tbl[] L"\0" L"\x201d" L"\0" L"\x201e" L"\0" L"\x201f" L"\0" L"\x2020" L"\0" L"\x2022" L"\0" L"\x2024" L"\0" L"\x2025" L"\0" L"\x2026" L"\0" L"\x202f" L"\0" L"\x2035" L"\0" L"\x2036" L"\0" L"\x2037" L"\0" L"\x2039" L"\0" - L"\x203a" L"\0" L"\x203c" L"\0" L"\x2047" L"\0" L"\x2048" L"\0" L"\x2049" - L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0" L"\x2062" L"\0" - L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100" L"\0" L"\x2101" - L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0" L"\x210a" L"\0" - L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e" L"\0" L"\x2110" - L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0" L"\x2115" L"\0" - L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b" L"\0" L"\x211c" - L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0" L"\x2124" L"\0" - L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d" L"\0" L"\x212e" - L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0" L"\x2133" L"\0" - L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146" L"\0" L"\x2147" - L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0" L"\x2154" L"\0" - L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158" L"\0" L"\x2159" - L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0" L"\x215d" L"\0" - L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161" L"\0" L"\x2162" - L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0" L"\x2166" L"\0" - L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a" L"\0" L"\x216b" - L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0" L"\x216f" L"\0" - L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173" L"\0" L"\x2174" - L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0" L"\x2178" L"\0" - L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c" L"\0" L"\x217d" - L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0" L"\x2192" L"\0" - L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4" L"\0" L"\x2212" - L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0" L"\x2223" L"\0" - L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265" L"\0" L"\x226a" - L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0" L"\x2400" L"\0" - L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404" L"\0" L"\x2405" - L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0" L"\x2409" L"\0" - L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d" L"\0" L"\x240e" - L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0" L"\x2412" L"\0" - L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416" L"\0" L"\x2417" - L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0" L"\x241b" L"\0" - L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f" L"\0" L"\x2420" - L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0" L"\x2460" L"\0" - L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464" L"\0" L"\x2465" - L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0" L"\x2469" L"\0" - L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d" L"\0" L"\x246e" - L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0" L"\x2472" L"\0" - L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476" L"\0" L"\x2477" - L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0" L"\x247b" L"\0" - L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f" L"\0" L"\x2480" - L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0" L"\x2484" L"\0" - L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488" L"\0" L"\x2489" - L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0" L"\x248d" L"\0" - L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491" L"\0" L"\x2492" - L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0" L"\x2496" L"\0" - L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a" L"\0" L"\x249b" - L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0" L"\x249f" L"\0" - L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3" L"\0" L"\x24a4" - L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0" L"\x24a8" L"\0" - L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac" L"\0" L"\x24ad" - L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0" L"\x24b1" L"\0" - L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5" L"\0" L"\x24b6" - L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0" L"\x24ba" L"\0" - L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be" L"\0" L"\x24bf" - L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0" L"\x24c3" L"\0" - L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7" L"\0" L"\x24c8" - L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0" L"\x24cc" L"\0" - L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0" L"\0" L"\x24d1" - L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0" L"\x24d5" L"\0" - L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9" L"\0" L"\x24da" - L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0" L"\x24de" L"\0" - L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2" L"\0" L"\x24e3" - L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0" L"\x24e7" L"\0" - L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500" L"\0" L"\x2502" - L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0" L"\x2518" L"\0" - L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534" L"\0" L"\x253c" - L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0" L"\x2a76" L"\0" - L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252" L"\0" L"\x3253" - L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0" L"\x3257" L"\0" - L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b" L"\0" L"\x325c" - L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0" L"\x32b1" L"\0" - L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5" L"\0" L"\x32b6" - L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0" L"\x32ba" L"\0" - L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be" L"\0" L"\x32bf" - L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0" L"\x3374" L"\0" - L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381" L"\0" L"\x3382" - L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0" L"\x3386" L"\0" - L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a" L"\0" L"\x338b" - L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0" L"\x338f" L"\0" - L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393" L"\0" L"\x3394" - L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0" L"\x3398" L"\0" - L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c" L"\0" L"\x339d" - L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0" L"\x33a1" L"\0" - L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5" L"\0" L"\x33a6" - L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0" L"\x33aa" L"\0" - L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae" L"\0" L"\x33af" - L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0" L"\x33b3" L"\0" - L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7" L"\0" L"\x33b8" - L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0" L"\x33bc" L"\0" - L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2" L"\0" L"\x33c3" - L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0" L"\x33c7" L"\0" - L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb" L"\0" L"\x33cc" - L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0" L"\x33d0" L"\0" - L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4" L"\0" L"\x33d5" - L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0" L"\x33d9" L"\0" - L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd" L"\0" L"\xfb00" - L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0" L"\xfb04" L"\0" - L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01" L"\0" L"\xfe02" - L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0" L"\xfe06" L"\0" - L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a" L"\0" L"\xfe0b" - L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0" L"\xfe0f" L"\0" - L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50" L"\0" L"\xfe52" - L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0" L"\xfe57" L"\0" - L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c" L"\0" L"\xfe5f" - L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0" L"\xfe63" L"\0" - L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68" L"\0" L"\xfe69" - L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0" L"\xff01" L"\0" - L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05" L"\0" L"\xff06" - L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0" L"\xff0a" L"\0" - L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e" L"\0" L"\xff0f" - L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0" L"\xff13" L"\0" - L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17" L"\0" L"\xff18" - L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0" L"\xff1c" L"\0" - L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20" L"\0" L"\xff21" - L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0" L"\xff25" L"\0" - L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29" L"\0" L"\xff2a" - L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0" L"\xff2e" L"\0" - L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32" L"\0" L"\xff33" - L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0" L"\xff37" L"\0" - L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b" L"\0" L"\xff3c" - L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0" L"\xff40" L"\0" - L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44" L"\0" L"\xff45" - L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0" L"\xff49" L"\0" - L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d" L"\0" L"\xff4e" - L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0" L"\xff52" L"\0" - L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56" L"\0" L"\xff57" - L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0" L"\xff5b" L"\0" - L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0" L"\x0001d400" L"\0" - L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403" L"\0" L"\x0001d404" - L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0" L"\x0001d407" L"\0" - L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a" L"\0" L"\x0001d40b" - L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0" L"\x0001d40e" L"\0" - L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411" L"\0" L"\x0001d412" - L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0" L"\x0001d415" L"\0" - L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418" L"\0" L"\x0001d419" - L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0" L"\x0001d41c" L"\0" - L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f" L"\0" L"\x0001d420" - L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0" L"\x0001d423" L"\0" - L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426" L"\0" L"\x0001d427" - L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0" L"\x0001d42a" L"\0" - L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d" L"\0" L"\x0001d42e" - L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0" L"\x0001d431" L"\0" - L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434" L"\0" L"\x0001d435" - L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0" L"\x0001d438" L"\0" - L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b" L"\0" L"\x0001d43c" - L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0" L"\x0001d43f" L"\0" - L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442" L"\0" L"\x0001d443" - L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0" L"\x0001d446" L"\0" - L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449" L"\0" L"\x0001d44a" - L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0" L"\x0001d44d" L"\0" - L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450" L"\0" L"\x0001d451" - L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0" L"\x0001d454" L"\0" - L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458" L"\0" L"\x0001d459" - L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0" L"\x0001d45c" L"\0" - L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f" L"\0" L"\x0001d460" - L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0" L"\x0001d463" L"\0" - L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466" L"\0" L"\x0001d467" - L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0" L"\x0001d46a" L"\0" - L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d" L"\0" L"\x0001d46e" - L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0" L"\x0001d471" L"\0" - L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474" L"\0" L"\x0001d475" - L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0" L"\x0001d478" L"\0" - L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b" L"\0" L"\x0001d47c" - L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0" L"\x0001d47f" L"\0" - L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482" L"\0" L"\x0001d483" - L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0" L"\x0001d486" L"\0" - L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489" L"\0" L"\x0001d48a" - L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0" L"\x0001d48d" L"\0" - L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490" L"\0" L"\x0001d491" - L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0" L"\x0001d494" L"\0" - L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497" L"\0" L"\x0001d498" - L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0" L"\x0001d49b" L"\0" - L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f" L"\0" L"\x0001d4a2" - L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0" L"\x0001d4a9" L"\0" - L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac" L"\0" L"\x0001d4ae" - L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0" L"\x0001d4b1" L"\0" - L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4" L"\0" L"\x0001d4b5" - L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0" L"\x0001d4b8" L"\0" - L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd" L"\0" L"\x0001d4be" - L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0" L"\x0001d4c2" L"\0" - L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6" L"\0" L"\x0001d4c7" - L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0" L"\x0001d4ca" L"\0" - L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd" L"\0" L"\x0001d4ce" - L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0" L"\x0001d4d1" L"\0" - L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4" L"\0" L"\x0001d4d5" - L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0" L"\x0001d4d8" L"\0" - L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db" L"\0" L"\x0001d4dc" - L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0" L"\x0001d4df" L"\0" - L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2" L"\0" L"\x0001d4e3" - L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0" L"\x0001d4e6" L"\0" - L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9" L"\0" L"\x0001d4ea" - L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0" L"\x0001d4ed" L"\0" - L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0" L"\0" L"\x0001d4f1" - L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0" L"\x0001d4f4" L"\0" - L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7" L"\0" L"\x0001d4f8" - L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0" L"\x0001d4fb" L"\0" - L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe" L"\0" L"\x0001d4ff" - L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0" L"\x0001d502" L"\0" - L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505" L"\0" L"\x0001d507" - L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0" L"\x0001d50a" L"\0" - L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f" L"\0" L"\x0001d510" - L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0" L"\x0001d513" L"\0" - L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517" L"\0" L"\x0001d518" - L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0" L"\x0001d51b" L"\0" - L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f" L"\0" L"\x0001d520" - L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0" L"\x0001d523" L"\0" - L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526" L"\0" L"\x0001d527" - L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0" L"\x0001d52a" L"\0" - L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d" L"\0" L"\x0001d52e" - L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0" L"\x0001d531" L"\0" - L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534" L"\0" L"\x0001d535" - L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0" L"\x0001d538" L"\0" - L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c" L"\0" L"\x0001d53d" - L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0" L"\x0001d541" L"\0" - L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544" L"\0" L"\x0001d546" - L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0" L"\x0001d54c" L"\0" - L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f" L"\0" L"\x0001d550" - L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0" L"\x0001d554" L"\0" - L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557" L"\0" L"\x0001d558" - L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0" L"\x0001d55b" L"\0" - L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e" L"\0" L"\x0001d55f" - L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0" L"\x0001d562" L"\0" - L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565" L"\0" L"\x0001d566" - L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0" L"\x0001d569" L"\0" - L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c" L"\0" L"\x0001d56d" - L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0" L"\x0001d570" L"\0" - L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573" L"\0" L"\x0001d574" - L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0" L"\x0001d577" L"\0" - L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a" L"\0" L"\x0001d57b" - L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0" L"\x0001d57e" L"\0" - L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581" L"\0" L"\x0001d582" - L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0" L"\x0001d585" L"\0" - L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588" L"\0" L"\x0001d589" - L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0" L"\x0001d58c" L"\0" - L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f" L"\0" L"\x0001d590" - L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0" L"\x0001d593" L"\0" - L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596" L"\0" L"\x0001d597" - L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0" L"\x0001d59a" L"\0" - L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d" L"\0" L"\x0001d59e" - L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0" L"\x0001d5a1" L"\0" - L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4" L"\0" L"\x0001d5a5" - L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0" L"\x0001d5a8" L"\0" - L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab" L"\0" L"\x0001d5ac" - L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0" L"\x0001d5af" L"\0" - L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2" L"\0" L"\x0001d5b3" - L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0" L"\x0001d5b6" L"\0" - L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9" L"\0" L"\x0001d5ba" - L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0" L"\x0001d5bd" L"\0" - L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0" L"\0" L"\x0001d5c1" - L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0" L"\x0001d5c4" L"\0" - L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7" L"\0" L"\x0001d5c8" - L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0" L"\x0001d5cb" L"\0" - L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce" L"\0" L"\x0001d5cf" - L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0" L"\x0001d5d2" L"\0" - L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5" L"\0" L"\x0001d5d6" - L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0" L"\x0001d5d9" L"\0" - L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc" L"\0" L"\x0001d5dd" - L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0" L"\x0001d5e0" L"\0" - L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3" L"\0" L"\x0001d5e4" - L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0" L"\x0001d5e7" L"\0" - L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea" L"\0" L"\x0001d5eb" - L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0" L"\x0001d5ee" L"\0" - L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1" L"\0" L"\x0001d5f2" - L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0" L"\x0001d5f5" L"\0" - L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8" L"\0" L"\x0001d5f9" - L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0" L"\x0001d5fc" L"\0" - L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff" L"\0" L"\x0001d600" - L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0" L"\x0001d603" L"\0" - L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606" L"\0" L"\x0001d607" - L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0" L"\x0001d60a" L"\0" - L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d" L"\0" L"\x0001d60e" - L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0" L"\x0001d611" L"\0" - L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614" L"\0" L"\x0001d615" - L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0" L"\x0001d618" L"\0" - L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b" L"\0" L"\x0001d61c" - L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0" L"\x0001d61f" L"\0" - L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622" L"\0" L"\x0001d623" - L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0" L"\x0001d626" L"\0" - L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629" L"\0" L"\x0001d62a" - L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0" L"\x0001d62d" L"\0" - L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630" L"\0" L"\x0001d631" - L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0" L"\x0001d634" L"\0" - L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637" L"\0" L"\x0001d638" - L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0" L"\x0001d63b" L"\0" - L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e" L"\0" L"\x0001d63f" - L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0" L"\x0001d642" L"\0" - L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645" L"\0" L"\x0001d646" - L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0" L"\x0001d649" L"\0" - L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c" L"\0" L"\x0001d64d" - L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0" L"\x0001d650" L"\0" - L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653" L"\0" L"\x0001d654" - L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0" L"\x0001d657" L"\0" - L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a" L"\0" L"\x0001d65b" - L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0" L"\x0001d65e" L"\0" - L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661" L"\0" L"\x0001d662" - L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0" L"\x0001d665" L"\0" - L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668" L"\0" L"\x0001d669" - L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0" L"\x0001d66c" L"\0" - L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f" L"\0" L"\x0001d670" - L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0" L"\x0001d673" L"\0" - L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676" L"\0" L"\x0001d677" - L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0" L"\x0001d67a" L"\0" - L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d" L"\0" L"\x0001d67e" - L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0" L"\x0001d681" L"\0" - L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684" L"\0" L"\x0001d685" - L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0" L"\x0001d688" L"\0" - L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b" L"\0" L"\x0001d68c" - L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0" L"\x0001d68f" L"\0" - L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692" L"\0" L"\x0001d693" - L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0" L"\x0001d696" L"\0" - L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699" L"\0" L"\x0001d69a" - L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0" L"\x0001d69d" L"\0" - L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0" L"\0" L"\x0001d6a1" - L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0" L"\x0001d7ce" L"\0" - L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1" L"\0" L"\x0001d7d2" - L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0" L"\x0001d7d5" L"\0" - L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8" L"\0" L"\x0001d7d9" - L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0" L"\x0001d7dc" L"\0" - L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df" L"\0" L"\x0001d7e0" - L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0" L"\x0001d7e3" L"\0" - L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6" L"\0" L"\x0001d7e7" - L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0" L"\x0001d7ea" L"\0" - L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed" L"\0" L"\x0001d7ee" - L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0" L"\x0001d7f1" L"\0" - L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4" L"\0" L"\x0001d7f5" - L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0" L"\x0001d7f8" L"\0" - L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb" L"\0" L"\x0001d7fc" - L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0" L"\x0001d7ff"; + L"\x203a" L"\0" L"\x203c" L"\0" L"\x2044" L"\0" L"\x2047" L"\0" L"\x2048" + L"\0" L"\x2049" L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0" + L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100" + L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0" + L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e" + L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0" + L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b" + L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0" + L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d" + L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0" + L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146" + L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0" + L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158" + L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0" + L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161" + L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0" + L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a" + L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0" + L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173" + L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0" + L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c" + L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0" + L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4" + L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0" + L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265" + L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0" + L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404" + L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0" + L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d" + L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0" + L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416" + L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0" + L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f" + L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0" + L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464" + L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0" + L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d" + L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0" + L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476" + L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0" + L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f" + L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0" + L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488" + L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0" + L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491" + L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0" + L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a" + L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0" + L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3" + L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0" + L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac" + L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0" + L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5" + L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0" + L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be" + L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0" + L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7" + L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0" + L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0" + L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0" + L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9" + L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0" + L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2" + L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0" + L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500" + L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0" + L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534" + L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0" + L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252" + L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0" + L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b" + L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0" + L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5" + L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0" + L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be" + L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0" + L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381" + L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0" + L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a" + L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0" + L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393" + L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0" + L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c" + L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0" + L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5" + L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0" + L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae" + L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0" + L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7" + L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0" + L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2" + L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0" + L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb" + L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0" + L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4" + L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0" + L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd" + L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0" + L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01" + L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0" + L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a" + L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0" + L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50" + L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0" + L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c" + L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0" + L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68" + L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0" + L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05" + L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0" + L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e" + L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0" + L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17" + L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0" + L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20" + L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0" + L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29" + L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0" + L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32" + L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0" + L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b" + L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0" + L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44" + L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0" + L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d" + L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0" + L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56" + L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0" + L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0" + L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403" + L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0" + L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a" + L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0" + L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411" + L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0" + L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418" + L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0" + L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f" + L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0" + L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426" + L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0" + L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d" + L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0" + L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434" + L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0" + L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b" + L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0" + L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442" + L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0" + L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449" + L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0" + L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450" + L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0" + L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458" + L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0" + L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f" + L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0" + L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466" + L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0" + L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d" + L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0" + L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474" + L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0" + L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b" + L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0" + L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482" + L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0" + L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489" + L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0" + L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490" + L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0" + L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497" + L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0" + L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f" + L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0" + L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac" + L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0" + L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4" + L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0" + L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd" + L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0" + L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6" + L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0" + L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd" + L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0" + L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4" + L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0" + L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db" + L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0" + L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2" + L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0" + L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9" + L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0" + L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0" + L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0" + L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7" + L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0" + L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe" + L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0" + L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505" + L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0" + L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f" + L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0" + L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517" + L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0" + L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f" + L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0" + L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526" + L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0" + L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d" + L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0" + L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534" + L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0" + L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c" + L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0" + L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544" + L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0" + L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f" + L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0" + L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557" + L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0" + L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e" + L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0" + L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565" + L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0" + L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c" + L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0" + L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573" + L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0" + L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a" + L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0" + L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581" + L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0" + L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588" + L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0" + L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f" + L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0" + L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596" + L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0" + L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d" + L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0" + L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4" + L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0" + L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab" + L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0" + L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2" + L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0" + L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9" + L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0" + L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0" + L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0" + L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7" + L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0" + L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce" + L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0" + L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5" + L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0" + L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc" + L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0" + L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3" + L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0" + L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea" + L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0" + L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1" + L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0" + L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8" + L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0" + L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff" + L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0" + L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606" + L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0" + L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d" + L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0" + L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614" + L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0" + L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b" + L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0" + L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622" + L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0" + L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629" + L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0" + L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630" + L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0" + L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637" + L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0" + L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e" + L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0" + L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645" + L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0" + L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c" + L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0" + L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653" + L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0" + L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a" + L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0" + L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661" + L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0" + L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668" + L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0" + L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f" + L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0" + L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676" + L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0" + L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d" + L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0" + L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684" + L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0" + L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b" + L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0" + L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692" + L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0" + L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699" + L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0" + L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0" + L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0" + L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1" + L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0" + L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8" + L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0" + L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df" + L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0" + L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6" + L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0" + L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed" + L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0" + L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4" + L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0" + L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb" + L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0" + L"\x0001d7ff"; static const uint32_t translit_to_idx[] = { 0, 3, 8, 12, 15, 20, 23, 26, 30, 37, 44, 51, @@ -469,47 +470,47 @@ static const uint32_t translit_to_idx[] 145, 148, 151, 154, 157, 160, 163, 166, 169, 172, 175, 178, 180, 183, 186, 189, 192, 196, 199, 202, 205, 208, 211, 214, 217, 221, 224, 227, 230, 233, 237, 242, 245, 248, 252, 257, - 260, 263, 267, 271, 275, 279, 282, 284, 286, 288, 290, 294, - 299, 304, 309, 312, 317, 322, 325, 328, 331, 334, 337, 340, - 343, 346, 349, 352, 356, 359, 362, 365, 368, 371, 376, 382, - 385, 390, 393, 396, 399, 402, 405, 408, 411, 414, 417, 420, - 423, 426, 429, 432, 435, 442, 449, 456, 463, 470, 477, 484, - 491, 498, 505, 512, 519, 524, 527, 531, 536, 540, 543, 547, - 552, 558, 562, 565, 569, 574, 577, 580, 583, 586, 589, 593, - 598, 602, 605, 609, 614, 620, 624, 627, 631, 636, 639, 642, - 645, 648, 652, 656, 661, 665, 669, 674, 677, 680, 683, 686, - 689, 692, 695, 699, 703, 707, 711, 716, 721, 726, 731, 736, - 741, 746, 751, 756, 761, 765, 769, 773, 777, 781, 785, 789, - 793, 798, 803, 808, 813, 818, 823, 828, 833, 838, 842, 847, - 852, 856, 860, 864, 868, 872, 877, 880, 884, 889, 894, 899, - 904, 909, 914, 919, 924, 929, 935, 941, 947, 953, 959, 965, - 971, 977, 983, 989, 995, 1000, 1005, 1010, 1015, 1020, 1025, 1030, - 1035, 1040, 1046, 1052, 1058, 1064, 1070, 1076, 1082, 1088, 1094, 1100, - 1106, 1110, 1114, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1147, 1152, - 1157, 1162, 1167, 1172, 1177, 1182, 1187, 1192, 1197, 1202, 1207, 1212, - 1217, 1222, 1227, 1232, 1237, 1242, 1247, 1252, 1257, 1262, 1267, 1272, - 1277, 1282, 1287, 1292, 1297, 1302, 1307, 1312, 1317, 1322, 1327, 1332, - 1337, 1342, 1347, 1352, 1357, 1362, 1367, 1372, 1377, 1382, 1387, 1392, - 1397, 1402, 1407, 1412, 1417, 1422, 1427, 1432, 1437, 1442, 1447, 1452, - 1457, 1462, 1467, 1472, 1477, 1482, 1487, 1492, 1497, 1502, 1507, 1512, - 1517, 1522, 1527, 1532, 1537, 1542, 1547, 1552, 1557, 1562, 1567, 1572, - 1577, 1582, 1587, 1592, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616, - 1619, 1622, 1625, 1628, 1633, 1637, 1642, 1645, 1648, 1654, 1660, 1666, - 1672, 1678, 1684, 1690, 1696, 1702, 1708, 1714, 1720, 1726, 1732, 1738, - 1744, 1750, 1756, 1762, 1768, 1774, 1780, 1786, 1792, 1798, 1804, 1810, - 1816, 1822, 1828, 1833, 1837, 1841, 1846, 1850, 1854, 1858, 1862, 1866, - 1870, 1874, 1878, 1882, 1886, 1891, 1897, 1901, 1905, 1909, 1913, 1917, - 1921, 1925, 1930, 1935, 1940, 1945, 1949, 1953, 1957, 1961, 1965, 1969, - 1973, 1977, 1981, 1985, 1991, 1997, 2002, 2008, 2014, 2020, 2025, 2031, - 2036, 2043, 2047, 2052, 2057, 2062, 2067, 2074, 2083, 2087, 2091, 2095, - 2099, 2103, 2107, 2111, 2115, 2119, 2123, 2127, 2131, 2135, 2139, 2143, - 2147, 2153, 2157, 2161, 2165, 2171, 2176, 2180, 2184, 2188, 2192, 2196, - 2200, 2204, 2208, 2212, 2216, 2221, 2225, 2229, 2234, 2239, 2243, 2249, - 2254, 2258, 2262, 2266, 2270, 2274, 2278, 2282, 2287, 2292, 2296, 2299, - 2301, 2303, 2305, 2307, 2309, 2311, 2313, 2315, 2317, 2319, 2321, 2323, - 2325, 2327, 2329, 2331, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355, + 260, 263, 267, 270, 274, 278, 282, 285, 287, 289, 291, 293, + 297, 302, 307, 312, 315, 320, 325, 328, 331, 334, 337, 340, + 343, 346, 349, 352, 355, 359, 362, 365, 368, 371, 374, 379, + 385, 388, 393, 396, 399, 402, 405, 408, 411, 414, 417, 420, + 423, 426, 429, 432, 435, 438, 445, 452, 459, 466, 473, 480, + 487, 494, 501, 508, 515, 522, 527, 530, 534, 539, 543, 546, + 550, 555, 561, 565, 568, 572, 577, 580, 583, 586, 589, 592, + 596, 601, 605, 608, 612, 617, 623, 627, 630, 634, 639, 642, + 645, 648, 651, 655, 659, 664, 668, 672, 677, 680, 683, 686, + 689, 692, 695, 698, 702, 706, 710, 714, 719, 724, 729, 734, + 739, 744, 749, 754, 759, 764, 768, 772, 776, 780, 784, 788, + 792, 796, 801, 806, 811, 816, 821, 826, 831, 836, 841, 845, + 850, 855, 859, 863, 867, 871, 875, 880, 883, 887, 892, 897, + 902, 907, 912, 917, 922, 927, 932, 938, 944, 950, 956, 962, + 968, 974, 980, 986, 992, 998, 1003, 1008, 1013, 1018, 1023, 1028, + 1033, 1038, 1043, 1049, 1055, 1061, 1067, 1073, 1079, 1085, 1091, 1097, + 1103, 1109, 1113, 1117, 1121, 1125, 1129, 1133, 1137, 1141, 1145, 1150, + 1155, 1160, 1165, 1170, 1175, 1180, 1185, 1190, 1195, 1200, 1205, 1210, + 1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, 1255, 1260, 1265, 1270, + 1275, 1280, 1285, 1290, 1295, 1300, 1305, 1310, 1315, 1320, 1325, 1330, + 1335, 1340, 1345, 1350, 1355, 1360, 1365, 1370, 1375, 1380, 1385, 1390, + 1395, 1400, 1405, 1410, 1415, 1420, 1425, 1430, 1435, 1440, 1445, 1450, + 1455, 1460, 1465, 1470, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1510, + 1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560, 1565, 1570, + 1575, 1580, 1585, 1590, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616, + 1619, 1622, 1625, 1628, 1631, 1636, 1640, 1645, 1648, 1651, 1657, 1663, + 1669, 1675, 1681, 1687, 1693, 1699, 1705, 1711, 1717, 1723, 1729, 1735, + 1741, 1747, 1753, 1759, 1765, 1771, 1777, 1783, 1789, 1795, 1801, 1807, + 1813, 1819, 1825, 1831, 1836, 1840, 1844, 1849, 1853, 1857, 1861, 1865, + 1869, 1873, 1877, 1881, 1885, 1889, 1894, 1900, 1904, 1908, 1912, 1916, + 1920, 1924, 1928, 1933, 1938, 1943, 1948, 1952, 1956, 1960, 1964, 1968, + 1972, 1976, 1980, 1984, 1988, 1994, 2000, 2005, 2011, 2017, 2023, 2028, + 2034, 2039, 2046, 2050, 2055, 2060, 2065, 2070, 2077, 2086, 2090, 2094, + 2098, 2102, 2106, 2110, 2114, 2118, 2122, 2126, 2130, 2134, 2138, 2142, + 2146, 2150, 2156, 2160, 2164, 2168, 2174, 2179, 2183, 2187, 2191, 2195, + 2199, 2203, 2207, 2211, 2215, 2219, 2224, 2228, 2232, 2237, 2242, 2246, + 2252, 2257, 2261, 2265, 2269, 2273, 2277, 2281, 2285, 2290, 2295, 2299, + 2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318, 2320, 2322, 2324, + 2326, 2328, 2330, 2332, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355, 2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 2385, 2388, 2391, - 2394, 2397, 2400, 2403, 2406, 2408, 2411, 2414, 2417, 2420, 2423, 2426, + 2394, 2397, 2400, 2403, 2406, 2409, 2411, 2414, 2417, 2420, 2423, 2426, 2429, 2432, 2435, 2438, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2462, 2465, 2468, 2471, 2474, 2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498, 2501, 2504, 2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534, @@ -575,7 +576,7 @@ static const uint32_t translit_to_idx[] 4661, 4664, 4667, 4670, 4673, 4676, 4679, 4682, 4685, 4688, 4691, 4694, 4697, 4700, 4703, 4706, 4709, 4712, 4715, 4718, 4721, 4724, 4727, 4730, 4733, 4736, 4739, 4742, 4745, 4748, 4751, 4754, 4757, 4760, 4763, 4766, - 4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790 + 4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790, 4793 }; static const wchar_t translit_to_tbl[] = L" \0" L"\0" L"(C)\0" L"\0" L"<<\0" L"\0" L"-\0" L"\0" L"(R)\0" L"\0" L"u\0" @@ -591,13 +592,13 @@ static const wchar_t translit_to_tbl[] = L"\0" L"'\0" L"\0" L"'\0" L"\0" L",\0" L"\0" L"'\0" L"\0" L"\"\0" L"\0" L"\"\0" L"\0" L",,\0" L"\0" L"\"\0" L"\0" L"+\0" L"\0" L"o\0" L"\0" L".\0" L"\0" L"..\0" L"\0" L"...\0" L"\0" L" \0" L"\0" L"`\0" L"\0" L"``\0" L"\0" - L"```\0" L"\0" L"<\0" L"\0" L">\0" L"\0" L"!!\0" L"\0" L"??\0" L"\0" L"?!\0" - L"\0" L"!?\0" L"\0" L" \0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0" - L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"a/c\0" L"\0" L"a/s\0" L"\0" L"C\0" - L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0" L"H\0" L"\0" L"H\0" L"\0" - L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0" L"\0" L"L\0" L"\0" L"l\0" - L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" L"R\0" L"\0" - L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0" + L"```\0" L"\0" L"<\0" L"\0" L">\0" L"\0" L"!!\0" L"\0" L"/\0" L"\0" L"??\0" + L"\0" L"?!\0" L"\0" L"!?\0" L"\0" L" \0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0" + L"\0" L"\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"a/c\0" L"\0" L"a/s\0" L"\0" + L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0" L"H\0" L"\0" L"H\0" + L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0" L"\0" L"L\0" L"\0" + L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" L"R\0" + L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0" L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" L"C\0" L"\0" L"e\0" L"\0" L"e\0" L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0" L"\0" L"i\0" L"\0" L"D\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"i\0" L"\0" L"j\0" L"\0" L" 1/3 \0" glibc-bz3954.patch: iconvdata/johab.c | 4 ++-- iconvdata/ksc5601.c | 4 +++- iconvdata/ksc5601.h | 2 +- iconvdata/uhc.c | 14 ++++++++------ localedata/charmaps/EUC-KR | 1 + localedata/charmaps/JOHAB | 3 +++ 6 files changed, 18 insertions(+), 10 deletions(-) --- NEW FILE glibc-bz3954.patch --- 2007-02-02 Bruno Haible [BZ #3954] * iconvdata/ksc5601.c (__ksc5601_sym_to_ucs, __ksc5601_sym_from_ucs): Add mapping for U+327E. * iconvdata/ksc5601.h (KSC5601_SYMBOL): Increment. * iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable mapping of 0xD9 0xE8. * iconvdata/uhc.c (BODY for FROM_LOOP, BODY for TO_LOOP): Disable mapping of U+327E. Reported by Jungshik Shin . [BZ #3955] * iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable mapping of 0xD9 0xE6 and of 0xD9 0xE7. Reported by Jungshik Shin . 2007-02-02 Bruno Haible * charmaps/EUC-KR: Add mapping for 0xA2 0xE8. * charmaps/JOHAB: Add mapping for 0xD9 0xE8. Reported by Jungshik Shin . * charmaps/JOHAB: Add mappings for 0xD9 0xE6 and 0xD9 0xE7. Reported by Jungshik Shin . --- libc/iconvdata/johab.c 2 Dec 2002 22:07:56 -0000 1.28 +++ libc/iconvdata/johab.c 16 Feb 2007 01:24:14 -0000 1.30 @@ -239,7 +239,7 @@ johab_sym_hanja_to_ucs (uint_fast32_t id if (__builtin_expect (ch2 < 0x31, 0) \ || (__builtin_expect (ch2 > 0x7e, 0) && ch2 < 0x91) \ || __builtin_expect (ch2, 0) == 0xff \ - || (__builtin_expect (ch, 0) == 0xd9 && ch2 > 0xe5) \ + || (__builtin_expect (ch, 0) == 0xd9 && ch2 > 0xe8) \ || (__builtin_expect (ch, 0) == 0xda \ && ch2 > 0xa0 && ch2 < 0xd4) \ || (__builtin_expect (ch, 0) == 0xde && ch2 > 0xf1)) \ @@ -386,7 +386,7 @@ johab_sym_hanja_to_ucs (uint_fast32_t id break; \ } \ if (__builtin_expect (written == __UNKNOWN_10646_CHAR, 0) \ - || (outptr[0] == 0x22 && outptr[1] > 0x65)) \ + || (outptr[0] == 0x22 && outptr[1] > 0x68)) \ { \ UNICODE_TAG_HANDLER (ch, 4); \ STANDARD_TO_LOOP_ERR_HANDLER (4); \ --- libc/iconvdata/ksc5601.c 6 Jul 2001 04:54:52 -0000 1.6 +++ libc/iconvdata/ksc5601.c 16 Feb 2007 01:23:51 -0000 1.7 @@ -412,7 +412,8 @@ const uint16_t __ksc5601_sym_to_ucs[] = [0x0098] = 0x2669, [0x0099] = 0x266a, [0x009a] = 0x266c, [0x009b] = 0x327f, [0x009c] = 0x321c, [0x009d] = 0x2116, [0x009e] = 0x33c7, [0x009f] = 0x2122, [0x00a0] = 0x33c2, [0x00a1] = 0x33d8, [0x00a2] = 0x2121, [0x00a3] = 0x20ac, - [0x00a4] = 0x00ae, [0x00bc] = 0xff01, [0x00bd] = 0xff02, [0x00be] = 0xff03, + [0x00a4] = 0x00ae, [0x00a5] = 0x327e, + [0x00bc] = 0xff01, [0x00bd] = 0xff02, [0x00be] = 0xff03, [0x00bf] = 0xff04, [0x00c0] = 0xff05, [0x00c1] = 0xff06, [0x00c2] = 0xff07, [0x00c3] = 0xff08, [0x00c4] = 0xff09, [0x00c5] = 0xff0a, [0x00c6] = 0xff0b, [0x00c7] = 0xff0c, [0x00c8] = 0xff0d, [0x00c9] = 0xff0e, [0x00ca] = 0xff0f, @@ -917,6 +918,7 @@ const struct map __ksc5601_sym_from_ucs[ {0x3273, "\x28\x44"}, {0x3274, "\x28\x45"}, {0x3275, "\x28\x46"}, {0x3276, "\x28\x47"}, {0x3277, "\x28\x48"}, {0x3278, "\x28\x49"}, {0x3279, "\x28\x4a"}, {0x327a, "\x28\x4b"}, {0x327b, "\x28\x4c"}, + {0x327e, "\x22\x68"}, {0x327f, "\x22\x5e"}, {0x3380, "\x27\x49"}, {0x3381, "\x27\x4a"}, {0x3382, "\x27\x4b"}, {0x3383, "\x27\x4c"}, {0x3384, "\x27\x4d"}, {0x3388, "\x27\x3a"}, {0x3389, "\x27\x3b"}, {0x338a, "\x27\x5c"}, --- libc/iconvdata/ksc5601.h 11 Jun 2003 21:40:42 -0000 1.14 +++ libc/iconvdata/ksc5601.h 16 Feb 2007 01:24:00 -0000 1.15 @@ -22,7 +22,7 @@ #define KSC5601_HANGUL 2350 #define KSC5601_HANJA 4888 -#define KSC5601_SYMBOL 988 +#define KSC5601_SYMBOL 989 #include #include --- libc/iconvdata/uhc.c 2 Dec 2002 22:07:56 -0000 1.26 +++ libc/iconvdata/uhc.c 16 Feb 2007 01:24:26 -0000 1.27 @@ -3135,7 +3135,8 @@ static const char uhc_hangul_from_ucs[11 else \ { \ ch = ksc5601_to_ucs4 (&inptr, 2, 0x80); \ - if (__builtin_expect (ch == __UNKNOWN_10646_CHAR, 0)) \ + if (__builtin_expect (ch == __UNKNOWN_10646_CHAR, 0) \ + || __builtin_expect (ch == 0x327e, 0)) \ { \ /* Illegal. */ \ STANDARD_FROM_LOOP_ERR_HANDLER (2); \ @@ -3207,16 +3208,17 @@ static const char uhc_hangul_from_ucs[11 { \ size_t written = ucs4_to_ksc5601_sym (ch, outptr, outend - outptr); \ \ + if (__builtin_expect (ch == 0x327e, 0) \ + || __builtin_expect (written == __UNKNOWN_10646_CHAR, 0)) \ + { \ + UNICODE_TAG_HANDLER (ch, 4); \ + STANDARD_TO_LOOP_ERR_HANDLER (4); \ + } \ if (__builtin_expect (written == 0, 0)) \ { \ result = __GCONV_FULL_OUTPUT; \ break; \ } \ - if (__builtin_expect (written == __UNKNOWN_10646_CHAR, 0)) \ - { \ - UNICODE_TAG_HANDLER (ch, 4); \ - STANDARD_TO_LOOP_ERR_HANDLER (4); \ - } \ \ *outptr++ |= 0x80; \ *outptr++ |= 0x80; \ --- libc/localedata/charmaps/EUC-KR 3 Nov 2002 01:21:08 -0000 1.10 +++ libc/localedata/charmaps/EUC-KR 16 Feb 2007 01:25:13 -0000 1.11 @@ -341,6 +341,7 @@ CHARMAP /xa2/xe5 TELEPHONE SIGN /xa2/xe6 EURO SIGN /xa2/xe7 REGISTERED SIGN + /xa2/xe8 CIRCLED HANGUL IEUNG U /xa3/xa1 FULLWIDTH EXCLAMATION MARK /xa3/xa2 FULLWIDTH QUOTATION MARK /xa3/xa3 FULLWIDTH NUMBER SIGN --- libc/localedata/charmaps/JOHAB 3 Nov 2002 01:21:08 -0000 1.4 +++ libc/localedata/charmaps/JOHAB 16 Feb 2007 01:25:26 -0000 1.6 @@ -11520,6 +11520,9 @@ CHARMAP /xd9/xe3 SQUARE AM /xd9/xe4 SQUARE PM /xd9/xe5 TELEPHONE SIGN + /xd9/xe6 EURO SIGN + /xd9/xe7 REGISTERED SIGN + /xd9/xe8 CIRCLED HANGUL IEUNG U /xda/x31 FULLWIDTH EXCLAMATION MARK /xda/x32 FULLWIDTH QUOTATION MARK /xda/x33 FULLWIDTH NUMBER SIGN glibc-bz4102.patch: getaddrinfo.c | 4 ++++ 1 files changed, 4 insertions(+) --- NEW FILE glibc-bz4102.patch --- 2007-04-28 Ulrich Drepper [BZ #4102] * sysdeps/posix/getaddrinfo.c (default_labels): Assign separate label to Teredo tunnel addresses 2001://32. --- libc/sysdeps/posix/getaddrinfo.c 18 Apr 2007 23:46:13 -0000 1.112 +++ libc/sysdeps/posix/getaddrinfo.c 28 Apr 2007 16:09:07 -0000 1.113 @@ -1095,6 +1099,10 @@ static const struct prefixentry default_ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }, 7, 6 }, { { .in6_u + = { .u6_addr8 = { 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }, + 32, 7 }, + { { .in6_u = { .u6_addr8 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }, 0, 1 } glibc-bz4131.patch: dl-addr.c | 236 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 118 insertions(+), 118 deletions(-) --- NEW FILE glibc-bz4131.patch --- 2007-05-06 Ulrich Drepper [BZ #4131] * elf/dl-addr.c (_dl_addr): Compare address with actual segment boundaries to work around systems with overlapping binary loading. Based on a patch by Suzuki . --- libc/elf/dl-addr.c 27 Oct 2006 23:11:41 -0000 1.32 +++ libc/elf/dl-addr.c 6 May 2007 21:00:04 -0000 1.33 @@ -22,141 +22,141 @@ #include +static void +__attribute ((always_inline)) +determine_info (const ElfW(Addr) addr, struct link_map *match, Dl_info *info, + struct link_map **mapp, const ElfW(Sym) **symbolp) +{ + /* Now we know what object the address lies in. */ + info->dli_fname = match->l_name; + info->dli_fbase = (void *) match->l_map_start; + + /* If this is the main program the information is incomplete. */ + if (__builtin_expect (match->l_name[0], 'a') == '\0' + && match->l_type == lt_executable) + info->dli_fname = _dl_argv[0]; + + const ElfW(Sym) *symtab + = (const ElfW(Sym) *) D_PTR (match, l_info[DT_SYMTAB]); + const char *strtab = (const char *) D_PTR (match, l_info[DT_STRTAB]); + + ElfW(Word) strtabsize = match->l_info[DT_STRSZ]->d_un.d_val; + + const ElfW(Sym) *matchsym = NULL; + if (match->l_info[DT_ADDRTAGIDX (DT_GNU_HASH) + DT_NUM + DT_THISPROCNUM + + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] != NULL) + { + /* We look at all symbol table entries referenced by the hash + table. */ + for (Elf_Symndx bucket = 0; bucket < match->l_nbuckets; ++bucket) + { + Elf32_Word symndx = match->l_gnu_buckets[bucket]; + if (symndx != 0) + { + const Elf32_Word *hasharr = &match->l_gnu_chain_zero[symndx]; + + do + { + /* The hash table never references local symbols so + we can omit that test here. */ + if ((symtab[symndx].st_shndx != SHN_UNDEF + || symtab[symndx].st_value != 0) +#ifdef USE_TLS + && ELFW(ST_TYPE) (symtab[symndx].st_info) != STT_TLS +#endif + && DL_ADDR_SYM_MATCH (match, &symtab[symndx], + matchsym, addr) + && symtab[symndx].st_name < strtabsize) + matchsym = (ElfW(Sym) *) &symtab[symndx]; + + ++symndx; + } + while ((*hasharr++ & 1u) == 0); + } + } + } + else + { + const ElfW(Sym) *symtabend; + if (match->l_info[DT_HASH] != NULL) + symtabend = (symtab + + ((Elf_Symndx *) D_PTR (match, l_info[DT_HASH]))[1]); + else + /* There is no direct way to determine the number of symbols in the + dynamic symbol table and no hash table is present. The ELF + binary is ill-formed but what shall we do? Use the beginning of + the string table which generally follows the symbol table. */ + symtabend = (const ElfW(Sym) *) strtab; + + for (; (void *) symtab < (void *) symtabend; ++symtab) + if ((ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL + || ELFW(ST_BIND) (symtab->st_info) == STB_WEAK) +#ifdef USE_TLS + && ELFW(ST_TYPE) (symtab->st_info) != STT_TLS +#endif + && (symtab->st_shndx != SHN_UNDEF + || symtab->st_value != 0) + && DL_ADDR_SYM_MATCH (match, symtab, matchsym, addr) + && symtab->st_name < strtabsize) + matchsym = (ElfW(Sym) *) symtab; + } + + if (mapp) + *mapp = match; + if (symbolp) + *symbolp = matchsym; + + if (matchsym) + { + /* We found a symbol close by. Fill in its name and exact + address. */ + lookup_t matchl = LOOKUP_VALUE (match); + + info->dli_sname = strtab + matchsym->st_name; + info->dli_saddr = DL_SYMBOL_ADDRESS (matchl, matchsym); + } + else + { + /* No symbol matches. We return only the containing object. */ + info->dli_sname = NULL; + info->dli_saddr = NULL; + } +} + + int internal_function _dl_addr (const void *address, Dl_info *info, struct link_map **mapp, const ElfW(Sym) **symbolp) { const ElfW(Addr) addr = DL_LOOKUP_ADDRESS (address); + int result = 0; /* Protect against concurrent loads and unloads. */ __rtld_lock_lock_recursive (GL(dl_load_lock)); /* Find the highest-addressed object that ADDRESS is not below. */ - struct link_map *match = NULL; for (Lmid_t ns = 0; ns < DL_NNS; ++ns) for (struct link_map *l = GL(dl_ns)[ns]._ns_loaded; l; l = l->l_next) if (addr >= l->l_map_start && addr < l->l_map_end) { - /* We know ADDRESS lies within L if in any shared object. - Make sure it isn't past the end of L's segments. */ - size_t n = l->l_phnum; - if (n > 0) - { - do - --n; - while (l->l_phdr[n].p_type != PT_LOAD); - if (addr >= (l->l_addr + - l->l_phdr[n].p_vaddr + l->l_phdr[n].p_memsz)) - /* Off the end of the highest-addressed shared object. */ - continue; - } - - match = l; - break; - } - - int result = 0; - if (match != NULL) - { - /* Now we know what object the address lies in. */ - info->dli_fname = match->l_name; - info->dli_fbase = (void *) match->l_map_start; - - /* If this is the main program the information is incomplete. */ - if (__builtin_expect (match->l_name[0], 'a') == '\0' - && match->l_type == lt_executable) - info->dli_fname = _dl_argv[0]; - - const ElfW(Sym) *symtab - = (const ElfW(Sym) *) D_PTR (match, l_info[DT_SYMTAB]); - const char *strtab = (const char *) D_PTR (match, l_info[DT_STRTAB]); - - ElfW(Word) strtabsize = match->l_info[DT_STRSZ]->d_un.d_val; - - const ElfW(Sym) *matchsym = NULL; - if (match->l_info[DT_ADDRTAGIDX (DT_GNU_HASH) + DT_NUM + DT_THISPROCNUM - + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] != NULL) - { - /* We look at all symbol table entries referenced by the - hash table. */ - for (Elf_Symndx bucket = 0; bucket < match->l_nbuckets; ++bucket) - { - Elf32_Word symndx = match->l_gnu_buckets[bucket]; - if (symndx != 0) - { - const Elf32_Word *hasharr = &match->l_gnu_chain_zero[symndx]; - - do - { - /* The hash table never references local symbols - so we can omit that test here. */ - if ((symtab[symndx].st_shndx != SHN_UNDEF - || symtab[symndx].st_value != 0) -#ifdef USE_TLS - && ELFW(ST_TYPE) (symtab[symndx].st_info) != STT_TLS -#endif - && DL_ADDR_SYM_MATCH (match, &symtab[symndx], - matchsym, addr) - && symtab[symndx].st_name < strtabsize) - matchsym = (ElfW(Sym) *) &symtab[symndx]; - - ++symndx; - } - while ((*hasharr++ & 1u) == 0); - } - } + /* Make sure it lies within one of L's segments. */ + int n = l->l_phnum; + const ElfW(Addr) reladdr = addr - l->l_addr; + while (--n >= 0) + if (l->l_phdr[n].p_type == PT_LOAD) + { + if (reladdr - l->l_phdr[n].p_vaddr >= 0 + && reladdr - l->l_phdr[n].p_vaddr < l->l_phdr[n].p_memsz) + { + determine_info (addr, l, info, mapp, symbolp); + result = 1; + goto out; + } + } } - else - { - const ElfW(Sym) *symtabend; - if (match->l_info[DT_HASH] != NULL) - symtabend = (symtab - + ((Elf_Symndx *) D_PTR (match, l_info[DT_HASH]))[1]); - else - /* There is no direct way to determine the number of symbols in the - dynamic symbol table and no hash table is present. The ELF - binary is ill-formed but what shall we do? Use the beginning of - the string table which generally follows the symbol table. */ - symtabend = (const ElfW(Sym) *) strtab; - - for (; (void *) symtab < (void *) symtabend; ++symtab) - if ((ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL - || ELFW(ST_BIND) (symtab->st_info) == STB_WEAK) -#ifdef USE_TLS - && ELFW(ST_TYPE) (symtab->st_info) != STT_TLS -#endif - && (symtab->st_shndx != SHN_UNDEF - || symtab->st_value != 0) - && DL_ADDR_SYM_MATCH (match, symtab, matchsym, addr) - && symtab->st_name < strtabsize) - matchsym = (ElfW(Sym) *) symtab; - } - - if (mapp) - *mapp = match; - if (symbolp) - *symbolp = matchsym; - - if (matchsym) - { - /* We found a symbol close by. Fill in its name and exact - address. */ - lookup_t matchl = LOOKUP_VALUE (match); - - info->dli_sname = strtab + matchsym->st_name; - info->dli_saddr = DL_SYMBOL_ADDRESS (matchl, matchsym); - } - else - { - /* No symbol matches. We return only the containing object. */ - info->dli_sname = NULL; - info->dli_saddr = NULL; - } - - result = 1; - } + out: __rtld_lock_unlock_recursive (GL(dl_load_lock)); return result; glibc-bz4342.patch: tstscanf.c | 2 +- vfscanf.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) --- NEW FILE glibc-bz4342.patch --- 2007-04-27 Ulrich Drepper [BZ #4342] * stdio-common/vfscanf.c (_IO_vfscanf_internal): Allow hexa-decimal floats without exponent. * stdio-common/tstscanf.c (main): Adjust Test 8 test for success. --- libc/stdio-common/vfscanf.c 19 Feb 2007 22:27:52 -0000 1.122 +++ libc/stdio-common/vfscanf.c 27 Apr 2007 19:28:32 -0000 1.123 @@ -1888,9 +1888,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const /* Have we read any character? If we try to read a number in hexadecimal notation and we have read only the `0x' - prefix or no exponent this is an error. */ - if (__builtin_expect (wpsize == 0 - || (is_hexa && (wpsize == 2 || ! got_e)), 0)) + prefix this is an error. */ + if (__builtin_expect (wpsize == 0 || (is_hexa && wpsize == 2), 0)) conv_error (); scan_float: --- libc/stdio-common/tstscanf.c 7 Aug 2001 04:33:13 -0000 1.21 +++ libc/stdio-common/tstscanf.c 27 Apr 2007 19:28:49 -0000 1.22 @@ -272,7 +272,7 @@ main (int argc, char **argv) res = sscanf ("0x1234", "%lf", &d); printf ("res = %d, d = %f\n", res, d); - if (res != 0 || d != 123456.789) + if (res != 1 || d != 4660) { fputs ("test failed!\n", stdout); result = 1; glibc-bz4381.patch: nis/nss_nis/nis-hosts.c | 18 +++++++++++++++--- nss/nss_files/files-hosts.c | 7 ++++++- resolv/nss_dns/dns-host.c | 13 +++++++++---- resolv/nss_dns/dns-network.c | 41 ++++++++++++++++++++++++++++------------- 4 files changed, 58 insertions(+), 21 deletions(-) --- NEW FILE glibc-bz4381.patch --- 2007-04-23 Jakub Jelinek [BZ #4381] * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Ensure sufficient alignment of buffer and tmp_buffer. * nis/nss_nis/nis-hosts.c (internal_nis_gethostent_r, internal_gethostbyname2_r, _nss_nis_gethostbyaddr_r): Ensure sufficient alignment of buffer. * resolv/nss_dns/dns-hosts.c (getanswer_r): Likewise. Handle buflen bigger than INT_MAX. * resolv/nss_dns/dns-network.c (getanswer_r): Likewise. Add errnop and h_errnop arguments. Fail if buflen is too small. (_nss_dns_getnetbyname_r, _nss_dns_getnetbyaddr_r): Adjust callers. --- libc/nss/nss_files/files-hosts.c 20 Nov 2006 03:26:24 -0000 1.24 +++ libc/nss/nss_files/files-hosts.c 23 Apr 2007 15:15:53 -0000 1.25 @@ -102,6 +103,10 @@ _nss_files_get##name##_r (proto, { \ enum nss_status status; \ \ + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct hostent_data); \ + buffer += pad; \ + buflen = buflen > pad ? buflen - pad : 0; \ + \ __libc_lock_lock (lock); \ \ /* Reset file pointer to beginning or open file. */ \ @@ -122,7 +127,8 @@ _nss_files_get##name##_r (proto, { \ /* We have to get all host entries from the file. */ \ const size_t tmp_buflen = MIN (buflen, 4096); \ - char tmp_buffer[tmp_buflen]; \ + char tmp_buffer[tmp_buflen] \ + __attribute__ ((__aligned__ (__alignof__ (struct hostent_data))));\ struct hostent tmp_result_buf; \ int naddrs = 1; \ int naliases = 0; \ --- libc/nis/nss_nis/nis-hosts.c 9 Apr 2006 02:08:28 -0000 1.26 +++ libc/nis/nss_nis/nis-hosts.c 23 Apr 2007 15:16:12 -0000 1.27 @@ -134,13 +134,17 @@ internal_nis_gethostent_r (struct hosten if (__builtin_expect (yp_get_default_domain (&domain), 0)) return NSS_STATUS_UNAVAIL; + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data); + buffer += pad; + struct parser_data *data = (void *) buffer; - if (__builtin_expect (buflen < sizeof *data + 1, 0)) + if (__builtin_expect (buflen < sizeof *data + 1 + pad, 0)) { *errnop = ERANGE; *h_errnop = NETDB_INTERNAL; return NSS_STATUS_TRYAGAIN; } + buflen -= pad; /* Get the next entry until we found a correct one. */ const size_t linebuflen = buffer + buflen - data->linebuffer; @@ -234,6 +238,9 @@ internal_gethostbyname2_r (const char *n char *buffer, size_t buflen, int *errnop, int *h_errnop, int flags) { + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data); + buffer += pad; + struct parser_data *data = (void *) buffer; if (name == NULL) @@ -246,12 +253,13 @@ internal_gethostbyname2_r (const char *n if (yp_get_default_domain (&domain)) return NSS_STATUS_UNAVAIL; - if (buflen < sizeof *data + 1) + if (buflen < sizeof *data + 1 + pad) { *h_errnop = NETDB_INTERNAL; *errnop = ERANGE; return NSS_STATUS_TRYAGAIN; } + buflen -= pad; /* Convert name to lowercase. */ size_t namlen = strlen (name); @@ -352,13 +360,17 @@ _nss_nis_gethostbyaddr_r (const void *ad if (__builtin_expect (yp_get_default_domain (&domain), 0)) return NSS_STATUS_UNAVAIL; + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data); + buffer += pad; + struct parser_data *data = (void *) buffer; - if (__builtin_expect (buflen < sizeof *data + 1, 0)) + if (__builtin_expect (buflen < sizeof *data + 1 + pad, 0)) { *errnop = ERANGE; *h_errnop = NETDB_INTERNAL; return NSS_STATUS_TRYAGAIN; } + buflen -= pad; char *buf = inet_ntoa (*(const struct in_addr *) addr); --- libc/resolv/nss_dns/dns-host.c 24 Oct 2004 23:02:07 -0000 1.43 +++ libc/resolv/nss_dns/dns-host.c 23 Apr 2007 15:16:31 -0000 1.44 @@ -465,8 +465,8 @@ getanswer_r (const querybuf *answer, int char *aliases[MAX_NR_ALIASES]; unsigned char host_addr[16]; /* IPv4 or IPv6 */ char *h_addr_ptrs[0]; - } *host_data = (struct host_data *) buffer; - int linebuflen = buflen - sizeof (struct host_data); + } *host_data; + int linebuflen; register const HEADER *hp; const u_char *end_of_message, *cp; int n, ancount, qdcount; @@ -478,8 +478,9 @@ getanswer_r (const querybuf *answer, int u_char packtmp[NS_MAXCDNAME]; int have_to_map = 0; int32_t ttl = 0; - - if (__builtin_expect (linebuflen, 0) < 0) + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data); + buffer += pad; + if (__builtin_expect (buflen < sizeof (struct host_data) + pad, 0)) { /* The buffer is too small. */ too_small: @@ -487,6 +488,10 @@ getanswer_r (const querybuf *answer, int *h_errnop = NETDB_INTERNAL; return NSS_STATUS_TRYAGAIN; } + host_data = (struct host_data *) buffer; + linebuflen = buflen - sizeof (struct host_data); + if (buflen - sizeof (struct host_data) != linebuflen) + linebuflen = INT_MAX; tname = qname; result->h_name = NULL; --- libc/resolv/nss_dns/dns-network.c 17 Feb 2005 01:16:23 -0000 1.21 +++ libc/resolv/nss_dns/dns-network.c 23 Apr 2007 15:17:00 -0000 1.22 @@ -102,7 +102,8 @@ extern int __ns_name_unpack (const u_cha /* Prototypes for local functions. */ static enum nss_status getanswer_r (const querybuf *answer, int anslen, struct netent *result, char *buffer, - size_t buflen, lookup_method net_i); + size_t buflen, int *errnop, int *h_errnop, + lookup_method net_i); enum nss_status @@ -142,7 +143,8 @@ _nss_dns_getnetbyname_r (const char *nam ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND; } - status = getanswer_r (net_buffer.buf, anslen, result, buffer, buflen, BYNAME); + status = getanswer_r (net_buffer.buf, anslen, result, buffer, buflen, + errnop, herrnop, BYNAME); if (net_buffer.buf != orig_net_buffer) free (net_buffer.buf); return status; @@ -218,7 +220,8 @@ _nss_dns_getnetbyaddr_r (uint32_t net, i ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND; } - status = getanswer_r (net_buffer.buf, anslen, result, buffer, buflen, BYADDR); + status = getanswer_r (net_buffer.buf, anslen, result, buffer, buflen, + errnop, herrnop, BYADDR); if (net_buffer.buf != orig_net_buffer) free (net_buffer.buf); if (status == NSS_STATUS_SUCCESS) @@ -240,7 +243,8 @@ _nss_dns_getnetbyaddr_r (uint32_t net, i static enum nss_status getanswer_r (const querybuf *answer, int anslen, struct netent *result, - char *buffer, size_t buflen, lookup_method net_i) + char *buffer, size_t buflen, int *errnop, int *h_errnop, + lookup_method net_i) { /* * Find first satisfactory answer @@ -260,8 +264,25 @@ getanswer_r (const querybuf *answer, int { char *aliases[MAX_NR_ALIASES]; char linebuffer[0]; - } *net_data = (struct net_data *) buffer; + } *net_data; + + uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct net_data); + buffer += pad; + + if (__builtin_expect (buflen < sizeof (*net_data) + pad, 0)) + { + /* The buffer is too small. */ + too_small: + *errnop = ERANGE; + *h_errnop = NETDB_INTERNAL; + return NSS_STATUS_TRYAGAIN; + } + buflen -= pad; + + net_data = (struct net_data *) buffer; int linebuflen = buflen - offsetof (struct net_data, linebuffer); + if (buflen - offsetof (struct net_data, linebuffer) != linebuflen) + linebuflen = INT_MAX; const unsigned char *end_of_message = &answer->buf[anslen]; const HEADER *header_pointer = &answer->hdr; /* #/records in the answer section. */ @@ -319,10 +340,7 @@ getanswer_r (const querybuf *answer, int if (n != -1 && __ns_name_ntop (packtmp, bp, linebuflen) == -1) { if (errno == EMSGSIZE) - { - errno = ERANGE; - return NSS_STATUS_TRYAGAIN; - } + goto too_small; n = -1; } @@ -346,10 +364,7 @@ getanswer_r (const querybuf *answer, int if (n != -1 && __ns_name_ntop (packtmp, bp, linebuflen) == -1) { if (errno == EMSGSIZE) - { - errno = ERANGE; - return NSS_STATUS_TRYAGAIN; - } + goto too_small; n = -1; } glibc-bz4438.patch: test-vfprintf.c | 6 ++++-- vfprintf.c | 25 ++++++++++++++++--------- 2 files changed, 20 insertions(+), 11 deletions(-) --- NEW FILE glibc-bz4438.patch --- 2007-05-04 Ulrich Drepper * stdio-common/vfprintf.c (process_string_arg): Adjust call to __mbsnrtowcs after last change. 2007-05-02 Jakub Jelinek * stdio-common/vfprintf.c (process_string_arg): Use a VLA rather than fixed length array for ignore. 2007-04-30 Ulrich Drepper [BZ #4438] * stdio-common/vfprintf.c (process_string_arg): Don't overflow the stack for large precisions. * stdio-common/test-vfprintf.c (main): Add test for large precision. --- libc/stdio-common/vfprintf.c 17 Mar 2007 17:08:56 -0000 1.135 +++ libc/stdio-common/vfprintf.c 5 May 2007 04:41:35 -0000 1.138 @@ -1160,19 +1160,26 @@ vfprintf (FILE *s, const CHAR_T *format, else \ { \ /* In case we have a multibyte character set the \ - situation is more compilcated. We must not copy \ + situation is more complicated. We must not copy \ bytes at the end which form an incomplete character. */\ - wchar_t ignore[prec]; \ + size_t ignore_size = (unsigned) prec > 1024 ? 1024 : prec;\ + wchar_t ignore[ignore_size]; \ const char *str2 = string; \ - mbstate_t ps; \ + const char *strend = string + prec; \ + if (strend < string) \ + strend = (const char *) UINTPTR_MAX; \ \ + mbstate_t ps; \ memset (&ps, '\0', sizeof (ps)); \ - if (__mbsnrtowcs (ignore, &str2, prec, prec, &ps) \ - == (size_t) -1) \ - { \ - done = -1; \ - goto all_done; \ - } \ + \ + while (str2 != NULL && str2 < strend) \ + if (__mbsnrtowcs (ignore, &str2, strend - str2, \ + ignore_size, &ps) == (size_t) -1) \ + { \ + done = -1; \ + goto all_done; \ + } \ + \ if (str2 == NULL) \ len = strlen (string); \ else \ --- libc/stdio-common/test-vfprintf.c 19 Aug 2003 20:23:55 -0000 1.4 +++ libc/stdio-common/test-vfprintf.c 1 May 2007 18:35:32 -0000 1.5 @@ -94,6 +94,7 @@ main (void) fprintf (fp, "%.*s", 30000, large); large[20000] = '\0'; fprintf (fp, large); + fprintf (fp, "%-1.300000000s", "hello"); if (fflush (fp) != 0 || ferror (fp) != 0 || fclose (fp) != 0) { @@ -108,11 +109,12 @@ main (void) setlocale (LC_ALL, NULL)); exit (1); } - else if (st.st_size != 99999) + else if (st.st_size != 50000 + 30000 + 19999 + 5) { printf ("file size incorrect for locale %s: %jd instead of %jd\n", setlocale (LC_ALL, NULL), - (intmax_t) st.st_size, (intmax_t) 99999); + (intmax_t) st.st_size, + (intmax_t) 50000 + 30000 + 19999 + 5); res = 1; } else glibc-bz4439.patch: Makefile | 2 - inet_ntop.c | 2 - tst-inet_ntop.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+), 2 deletions(-) --- NEW FILE glibc-bz4439.patch --- 2007-04-30 Jakub Jelinek [BZ #4439] * resolv/inet_ntop.c (inet_ntop4): Take terminating '\0' into account in the size check. * resolv/tst-inet_ntop.c: New test. * resolv/Makefile (tests): Add tst-inet_ntop. --- libc/resolv/Makefile 15 Aug 2004 20:21:59 -0000 1.48 +++ libc/resolv/Makefile 30 Apr 2007 22:30:05 -0000 1.49 @@ -32,7 +32,7 @@ distribute := ../conf/portability.h mapv routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init \ res_hconf res_libc res-state -tests = tst-aton tst-leaks +tests = tst-aton tst-leaks tst-inet_ntop xtests = tst-leaks2 generate := mtrace-tst-leaks tst-leaks.mtrace tst-leaks2.mtrace --- libc/resolv/inet_ntop.c 3 Aug 2002 12:08:47 -0000 1.9 +++ libc/resolv/inet_ntop.c 30 Apr 2007 22:29:33 -0000 1.10 @@ -96,7 +96,7 @@ inet_ntop4(src, dst, size) static const char fmt[] = "%u.%u.%u.%u"; char tmp[sizeof "255.255.255.255"]; - if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) > size) { + if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) >= size) { __set_errno (ENOSPC); return (NULL); } --- libc/resolv/tst-inet_ntop.c 1 Jan 1970 00:00:00 -0000 +++ libc/resolv/tst-inet_ntop.c 30 Apr 2007 22:29:21 -0000 1.1 @@ -0,0 +1,111 @@ +#include +#include +#include +#include +#include + +int +main (void) +{ + struct in_addr addr4; + struct in6_addr addr6; + char buf[64]; + int result = 0; + + addr4.s_addr = 0xe0e0e0e0; + addr6.s6_addr16[0] = 0; + addr6.s6_addr16[1] = 0; + addr6.s6_addr16[2] = 0; + addr6.s6_addr16[3] = 0; + addr6.s6_addr16[4] = 0; + addr6.s6_addr16[5] = 0xffff; + addr6.s6_addr32[3] = 0xe0e0e0e0; + memset (buf, 'x', sizeof buf); + + if (inet_ntop (AF_INET, &addr4, buf, 15) != NULL) + { + puts ("1st inet_ntop returned non-NULL"); + result++; + } + else if (errno != ENOSPC) + { + puts ("1st inet_ntop didn't fail with ENOSPC"); + result++; + } + if (buf[15] != 'x') + { + puts ("1st inet_ntop wrote past the end of buffer"); + result++; + } + + if (inet_ntop (AF_INET, &addr4, buf, 16) != buf) + { + puts ("2nd inet_ntop did not return buf"); + result++; + } + if (memcmp (buf, "224.224.224.224\0" "xxxxxxxx", 24) != 0) + { + puts ("2nd inet_ntop wrote past the end of buffer"); + result++; + } + + if (inet_ntop (AF_INET6, &addr6, buf, 22) != NULL) + { + puts ("3rd inet_ntop returned non-NULL"); + result++; + } + else if (errno != ENOSPC) + { + puts ("3rd inet_ntop didn't fail with ENOSPC"); + result++; + } + if (buf[22] != 'x') + { + puts ("3rd inet_ntop wrote past the end of buffer"); + result++; + } + + if (inet_ntop (AF_INET6, &addr6, buf, 23) != buf) + { + puts ("4th inet_ntop did not return buf"); + result++; + } + if (memcmp (buf, "::ffff:224.224.224.224\0" "xxxxxxxx", 31) != 0) + { + puts ("4th inet_ntop wrote past the end of buffer"); + result++; + } + + memset (&addr6.s6_addr, 0xe0, sizeof (addr6.s6_addr)); + + if (inet_ntop (AF_INET6, &addr6, buf, 39) != NULL) + { + puts ("5th inet_ntop returned non-NULL"); + result++; + } + else if (errno != ENOSPC) + { + puts ("5th inet_ntop didn't fail with ENOSPC"); + result++; + } + if (buf[39] != 'x') + { + puts ("5th inet_ntop wrote past the end of buffer"); + result++; + } + + if (inet_ntop (AF_INET6, &addr6, buf, 40) != buf) + { + puts ("6th inet_ntop did not return buf"); + result++; + } + if (memcmp (buf, "e0e0:e0e0:e0e0:e0e0:e0e0:e0e0:e0e0:e0e0\0" + "xxxxxxxx", 48) != 0) + { + puts ("6th inet_ntop wrote past the end of buffer"); + result++; + } + + + return result; +} glibc-bz4465.patch: nptl/tst-cancel-wrappers.sh | 1 nptl/tst-cancel4.c | 42 ++++++++++++++++++++++++++++++++++ posix/unistd.h | 2 - sysdeps/unix/sysv/linux/syscalls.list | 2 - 4 files changed, 45 insertions(+), 2 deletions(-) --- NEW FILE glibc-bz4465.patch --- 2007-05-06 Ulrich Drepper [BZ #4465] * posix/unistd.h: Remove __THROW from fdatasync. 2007-05-06 Mike Frysinger [BZ #4465] * sysdeps/unix/sysv/linux/syscalls.list (fdatasync): Add "C" to args. [BZ #4465] * tst-cancel-wrappers.sh: Set C["fdatasync"] to 1. * tst-cancel4.c (tf_fdatasync): New test. --- libc/posix/unistd.h 16 Apr 2007 23:44:06 -0000 1.149 +++ libc/posix/unistd.h 7 May 2007 04:21:34 -0000 1.150 @@ -1062,7 +1062,7 @@ extern int lockf64 (int __fd, int __cmd, #if defined __USE_POSIX199309 || defined __USE_UNIX98 /* Synchronize at least the data part of a file with the underlying media. */ -extern int fdatasync (int __fildes) __THROW; +extern int fdatasync (int __fildes); #endif /* Use POSIX199309 */ --- libc/sysdeps/unix/sysv/linux/syscalls.list 21 Feb 2007 19:02:17 -0000 1.129 +++ libc/sysdeps/unix/sysv/linux/syscalls.list 7 May 2007 03:58:18 -0000 1.130 @@ -10,7 +10,7 @@ delete_module EXTRA delete_module 3 dele epoll_create EXTRA epoll_create i:i epoll_create epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait -fdatasync - fdatasync i:i fdatasync +fdatasync - fdatasync Ci:i fdatasync flock - flock i:ii __flock flock fork - fork i: __libc_fork __fork fork get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms --- libc/nptl/tst-cancel-wrappers.sh 20 Jul 2003 08:35:45 -0000 1.7 +++ libc/nptl/tst-cancel-wrappers.sh 7 May 2007 04:22:20 -0000 1.8 @@ -26,6 +26,7 @@ C["close"]=1 C["connect"]=1 C["creat"]=1 C["fcntl"]=1 +C["fdatasync"]=1 C["fsync"]=1 C["msgrcv"]=1 C["msgsnd"]=1 --- libc/nptl/tst-cancel4.c 20 Jan 2006 06:59:03 -0000 1.20 +++ libc/nptl/tst-cancel4.c 7 May 2007 04:22:03 -0000 1.21 @@ -1571,6 +1571,47 @@ tf_fsync (void *arg) static void * +tf_fdatasync (void *arg) +{ + if (arg == NULL) + // XXX If somebody can provide a portable test case in which fdatasync() + // blocks we can enable this test to run in both rounds. + abort (); + + tempfd = open ("Makefile", O_RDONLY); + if (tempfd == -1) + { + printf ("%s: cannot open Makefile\n", __FUNCTION__); + exit (1); + } + + int r = pthread_barrier_wait (&b2); + if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) + { + printf ("%s: barrier_wait failed\n", __FUNCTION__); + exit (1); + } + + r = pthread_barrier_wait (&b2); + if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) + { + printf ("%s: 2nd barrier_wait failed\n", __FUNCTION__); + exit (1); + } + + pthread_cleanup_push (cl, NULL); + + fdatasync (tempfd); + + pthread_cleanup_pop (0); + + printf ("%s: fdatasync returned\n", __FUNCTION__); + + exit (1); +} + + +static void * tf_msync (void *arg) { if (arg == NULL) @@ -2078,6 +2119,7 @@ static struct ADD_TEST (pread, 2, 1), ADD_TEST (pwrite, 2, 1), ADD_TEST (fsync, 2, 1), + ADD_TEST (fdatasync, 2, 1), ADD_TEST (msync, 2, 1), ADD_TEST (sendto, 2, 1), ADD_TEST (sendmsg, 2, 1), glibc-bz4512.patch: Makefile | 6 +- pthread_mutex_lock.c | 2 pthread_mutex_timedlock.c | 6 +- pthread_mutex_trylock.c | 6 +- tst-robust9.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++ tst-robustpi9.c | 2 6 files changed, 109 insertions(+), 7 deletions(-) --- NEW FILE glibc-bz4512.patch --- 2007-05-21 Jakub Jelinek * tst-robust9.c (do_test): Don't fail if ENABLE_PI and pthread_mutex_init failed with ENOTSUP. 2007-05-17 Ulrich Drepper [BZ #4512] * pthread_mutex_lock.c: Preserve FUTEX_WAITERS bit when dead owner is detected. * pthread_mutex_timedlock.c: Likewise. * pthread_mutex_trylock.c: Likewise. Patch in part by Atsushi Nemoto . * Makefile (tests): Add tst-robust9 and tst-robustpi9. * tst-robust9.c: New file. * tst-robustpi9.c: New file. --- libc/nptl/Makefile 8 Sep 2006 10:40:49 -0000 1.188 +++ libc/nptl/Makefile 18 May 2007 00:52:02 -0000 1.189 @@ -209,9 +209,9 @@ tests = tst-typesizes \ tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \ tst-cond20 tst-cond21 tst-cond22 \ tst-robust1 tst-robust2 tst-robust3 tst-robust4 tst-robust5 \ - tst-robust6 tst-robust7 tst-robust8 \ - tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 \ - tst-robustpi5 tst-robustpi6 tst-robustpi7 tst-robustpi8 \ + tst-robust6 tst-robust7 tst-robust8 tst-robust9 \ + tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 tst-robustpi5 \ + tst-robustpi6 tst-robustpi7 tst-robustpi8 tst-robustpi9 \ tst-rwlock1 tst-rwlock2 tst-rwlock3 tst-rwlock4 tst-rwlock5 \ tst-rwlock6 tst-rwlock7 tst-rwlock8 tst-rwlock9 tst-rwlock10 \ tst-rwlock11 tst-rwlock12 tst-rwlock13 tst-rwlock14 \ --- libc/nptl/pthread_mutex_lock.c 14 Aug 2006 23:01:26 -0000 1.15 +++ libc/nptl/pthread_mutex_lock.c 18 May 2007 00:53:33 -0000 1.16 @@ -127,6 +127,8 @@ __pthread_mutex_lock (mutex) int newval = id; #ifdef NO_INCR newval |= FUTEX_WAITERS; +#else + newval |= (oldval & FUTEX_WAITERS); #endif newval --- libc/nptl/pthread_mutex_timedlock.c 14 Aug 2006 23:01:26 -0000 1.11 +++ libc/nptl/pthread_mutex_timedlock.c 18 May 2007 00:53:33 -0000 1.12 @@ -119,9 +119,11 @@ pthread_mutex_timedlock (mutex, abstime) if ((oldval & FUTEX_OWNER_DIED) != 0) { /* The previous owner died. Try locking the mutex. */ - int newval + int newval = id | (oldval & FUTEX_WAITERS); + + newval = atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, - id, oldval); + newval, oldval); if (newval != oldval) { oldval = newval; --- libc/nptl/pthread_mutex_trylock.c 28 Apr 2007 04:23:43 -0000 1.13 +++ libc/nptl/pthread_mutex_trylock.c 18 May 2007 00:53:33 -0000 1.14 @@ -84,9 +84,11 @@ __pthread_mutex_trylock (mutex) if ((oldval & FUTEX_OWNER_DIED) != 0) { /* The previous owner died. Try locking the mutex. */ - int newval + int newval = id | (oldval & FUTEX_WAITERS); + + newval = atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, - id, oldval); + newval, oldval); if (newval != oldval) { --- libc/nptl/tst-robust9.c 1 Jan 1970 00:00:00 -0000 +++ libc/nptl/tst-robust9.c 21 May 2007 22:12:40 -0000 1.2 @@ -0,0 +1,94 @@ +#include +#include +#include +#include +#include +#include + + +static pthread_mutex_t m; + +static void * +tf (void *data) +{ + int err = pthread_mutex_lock (&m); + if (err == EOWNERDEAD) + { + err = pthread_mutex_consistent_np (&m); + if (err) + { + puts ("pthread_mutex_consistent_np"); + exit (1); + } + } + else if (err) + { + puts ("pthread_mutex_lock"); + exit (1); + } + printf ("thread%ld got the lock.\n", (long int) data); + sleep (1); + /* exit without unlock */ + return NULL; +} + +static int +do_test (void) +{ + int err, i; + pthread_t t[3]; + pthread_mutexattr_t ma; + + pthread_mutexattr_init (&ma); + err = pthread_mutexattr_setrobust_np (&ma, PTHREAD_MUTEX_ROBUST_NP); + if (err) + { + puts ("pthread_mutexattr_setrobust_np"); + return 1; + } +#ifdef ENABLE_PI + if (pthread_mutexattr_setprotocol (&ma, PTHREAD_PRIO_INHERIT) != 0) + { + puts ("pthread_mutexattr_setprotocol failed"); + return 1; + } +#endif + err = pthread_mutex_init (&m, &ma); +#ifdef ENABLE_PI + if (err == ENOTSUP) + { + puts ("PI robust mutexes not supported"); + return 0; + } +#endif + if (err) + { + puts ("pthread_mutex_init"); + return 1; + } + + for (i = 0; i < sizeof (t) / sizeof (t[0]); i++) + { + err = pthread_create (&t[i], NULL, tf, (void *) (long int) i); + if (err) + { + puts ("pthread_create"); + return 1; + } + } + + for (i = 0; i < sizeof (t) / sizeof (t[0]); i++) + { + err = pthread_join (t[i], NULL); + if (err) + { + puts ("pthread_join"); + return 1; + } + } + return 0; +} + +#define TIMEOUT 5 +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" --- libc/nptl/tst-robustpi9.c 1 Jan 1970 00:00:00 -0000 +++ libc/nptl/tst-robustpi9.c 19 May 2007 08:21:27 -0000 1.1 @@ -0,0 +1,2 @@ +#define ENABLE_PI 1 +#include "tst-robust9.c" glibc-bz4514.patch: tst-sprintf.c | 21 +++++++++++++++++++++ vfprintf.c | 11 +++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) --- NEW FILE glibc-bz4514.patch --- 2007-05-21 Jakub Jelinek [BZ #4514] * stdio-common/vfprintf.c (vfprintf): Don't shadow workstart variable, reinitialize workend at the start of each do_positional format spec loop, free workstart before do_positional loops. (printf_unknown): Fix size of work_buffer. * stdio-common/tst-sprintf.c (main): Add 3 new testcases. --- libc/stdio-common/vfprintf.c 7 May 2007 03:43:55 -0000 1.139 +++ libc/stdio-common/vfprintf.c 21 May 2007 17:50:22 -0000 1.140 @@ -1627,6 +1627,8 @@ do_positional: /* Just a counter. */ size_t cnt; + free (workstart); + workstart = NULL; if (grouping == (const char *) -1) { @@ -1801,7 +1803,9 @@ do_positional: int use_outdigits = specs[nspecs_done].info.i18n; char pad = specs[nspecs_done].info.pad; CHAR_T spec = specs[nspecs_done].info.spec; - CHAR_T *workstart = NULL; + + workstart = NULL; + workend = &work_buffer[sizeof (work_buffer) / sizeof (CHAR_T)]; /* Fill in last information. */ if (specs[nspecs_done].width_arg != -1) @@ -1897,8 +1901,7 @@ do_positional: break; } - if (__builtin_expect (workstart != NULL, 0)) - free (workstart); + free (workstart); workstart = NULL; /* Write the following constant string. */ @@ -1926,7 +1929,7 @@ printf_unknown (FILE *s, const struct pr { int done = 0; - CHAR_T work_buffer[MAX (info->width, info->spec) + 32]; + CHAR_T work_buffer[MAX (sizeof (info->width), sizeof (info->prec)) * 3]; CHAR_T *const workend = &work_buffer[sizeof (work_buffer) / sizeof (CHAR_T)]; register CHAR_T *w; --- libc/stdio-common/tst-sprintf.c 25 Jun 2003 11:04:49 -0000 1.3 +++ libc/stdio-common/tst-sprintf.c 21 May 2007 17:50:42 -0000 1.4 @@ -37,5 +37,26 @@ main (void) free (dst); } + if (sprintf (buf, "%1$d%3$.*2$s%4$d", 7, 67108863, "x", 8) != 3 + || strcmp (buf, "7x8") != 0) + { + printf ("sprintf (buf, \"%%1$d%%3$.*2$s%%4$d\", 7, 67108863, \"x\", 8) produced `%s' output", buf); + result = 1; + } + + if (sprintf (buf, "%67108863.16\"%d", 7) != 14 + || strcmp (buf, "%67108863.16\"7") != 0) + { + printf ("sprintf (buf, \"%%67108863.16\\\"%%d\", 7) produced `%s' output", buf); + result = 1; + } + + if (sprintf (buf, "%*\"%d", 0x3ffffff, 7) != 11 + || strcmp (buf, "%67108863\"7") != 0) + { + printf ("sprintf (buf, \"%%*\\\"%%d\", 0x3ffffff, 7) produced `%s' output", buf); + result = 1; + } + return result; } glibc-bz4586.patch: i386/ldbl2mpn.c | 11 +++++++++-- ia64/ldbl2mpn.c | 1 + x86_64/ldbl2mpn.c | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) --- NEW FILE glibc-bz4586.patch --- 2007-06-06 Jakub Jelinek [BZ #4586] * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat pseudo-zeros as zero. * sysdeps/x86_64/ldbl2mpn.c: New file. * sysdeps/ia64/ldbl2mpn.c: New file. --- libc/sysdeps/i386/ldbl2mpn.c 6 Jul 2001 04:55:52 -0000 1.4 +++ libc/sysdeps/i386/ldbl2mpn.c 8 Jun 2007 02:50:11 -0000 1.5 @@ -19,7 +19,7 @@ #include "gmp.h" #include "gmp-impl.h" #include "longlong.h" -#include "ieee754.h" +#include #include #include @@ -46,7 +46,7 @@ __mpn_extract_long_double (mp_ptr res_pt #elif BITS_PER_MP_LIMB == 64 /* Hopefully the compiler will combine the two bitfield extracts and this composition into just the original quadword extract. */ - res_ptr[0] = ((unsigned long int) u.ieee.mantissa0 << 32) | u.ieee.mantissa1; + res_ptr[0] = ((mp_limb_t) u.ieee.mantissa0 << 32) | u.ieee.mantissa1; #define N 1 #else #error "mp_limb size " BITS_PER_MP_LIMB "not accounted for" @@ -109,6 +109,13 @@ __mpn_extract_long_double (mp_ptr res_pt } } } + else if (u.ieee.exponent < 0x7fff +#if N == 2 + && res_ptr[0] == 0 +#endif + && res_ptr[N - 1] == 0) + /* Pseudo zero. */ + *expt = 0; return N; } --- libc/sysdeps/ia64/ldbl2mpn.c 1 Jan 1970 00:00:00 -0000 +++ libc/sysdeps/ia64/ldbl2mpn.c 8 Jun 2007 02:50:49 -0000 1.1 @@ -0,0 +1 @@ +#include "../i386/ldbl2mpn.c" --- libc/sysdeps/x86_64/ldbl2mpn.c 1 Jan 1970 00:00:00 -0000 +++ libc/sysdeps/x86_64/ldbl2mpn.c 8 Jun 2007 02:50:35 -0000 1.1 @@ -0,0 +1 @@ +#include "../i386/ldbl2mpn.c" glibc-fgetc_unlocked.patch: stdio.h | 10 ++++++++++ 1 files changed, 10 insertions(+) --- NEW FILE glibc-fgetc_unlocked.patch --- 2007-04-25 Jakub Jelinek * libio/bits/stdio.h (fgetc_unlocked): Add extern inline optimized version. --- libc/libio/bits/stdio.h 17 Mar 2007 17:04:08 -0000 1.13 +++ libc/libio/bits/stdio.h 25 Apr 2007 14:35:54 -0000 1.14 @@ -44,6 +44,16 @@ getchar (void) } +# ifdef __USE_MISC +/* Faster version when locking is not necessary. */ +__STDIO_INLINE int +fgetc_unlocked (FILE *__fp) +{ + return _IO_getc_unlocked (__fp); +} +# endif /* misc */ + + # if defined __USE_POSIX || defined __USE_MISC /* This is defined in POSIX.1:1996. */ __STDIO_INLINE int glibc-getaddrinfo-172.16.patch: getaddrinfo.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE glibc-getaddrinfo-172.16.patch --- 2007-03-06 Ulrich Drepper * sysdeps/posix/getaddrinfo.c (get_scope): Correct test for 172.16/12 address range. --- libc/sysdeps/posix/getaddrinfo.c 9 Nov 2006 20:28:34 -0000 1.109 +++ libc/sysdeps/posix/getaddrinfo.c 6 Mar 2007 14:52:57 -0000 1.110 @@ -1157,7 +1157,7 @@ get_scope (const struct sockaddr_storage 169.254/16 and 127/8 are link-local. */ if ((addr[0] == 169 && addr[1] == 254) || addr[0] == 127) scope = 2; - else if (addr[0] == 10 || (addr[0] == 172 && addr[1] == 16) + else if (addr[0] == 10 || (addr[0] == 172 && (addr[1] & 0xf0) == 16) || (addr[0] == 192 && addr[1] == 168)) scope = 5; else glibc-ldso-locking1.patch: elf/dl-close.c | 230 ++++++---- elf/dl-lookup.c | 55 +- elf/dl-object.c | 5 elf/dl-open.c | 95 ++-- elf/dl-runtime.c | 63 ++ elf/dl-support.c | 3 elf/dl-sym.c | 74 +++ elf/do-lookup.h | 7 elf/rtld.c | 1 include/link.h | 6 nptl/allocatestack.c | 57 ++ nptl/descr.h | 1 nptl/init.c | 2 nptl/pthreadP.h | 2 nptl/sysdeps/alpha/tls.h | 23 + nptl/sysdeps/i386/tls.h | 21 nptl/sysdeps/ia64/tls.h | 23 + nptl/sysdeps/powerpc/tls.h | 23 + nptl/sysdeps/s390/tls.h | 24 + nptl/sysdeps/sh/tls.h | 23 + nptl/sysdeps/sparc/tls.h | 23 + nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h | 153 ++++++ nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 6 nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h | 6 nptl/sysdeps/x86_64/tls.h | 21 sysdeps/generic/ldsodefs.h | 9 sysdeps/generic/rtld-lowlevel.h | 1 sysdeps/generic/sysdep-cancel.h | 1 37 files changed, 868 insertions(+), 144 deletions(-) --- NEW FILE glibc-ldso-locking1.patch --- 2007-06-09 Ulrich Drepper * elf/do-lookup.h (do_lookup_x): Read r_nlist before r_list and make sure gcc doesn't mess around with this. 2007-06-08 Ulrich Drepper * elf/dl-lookup.c (_dl_lookup_symbol_x): Remove use of r_nlist. 2007-06-08 Jakub Jelinek * elf/dl-close.c (_dl_close_worker): Remove all to be removed libraries from the global scope at once and call THREAD_GSCOPE_WAIT at most once per _dl_close_worker. 2007-05-18 Ulrich Drepper * elf/dl-close.c (_dl_close_worker): When removing object from global scope, wait for all lookups to finish afterwards. * elf/dl-open.c (add_to_global): When global scope array must grow, allocate a new one and free old array only after all lookups finish. * elf/dl-runtime.c (_dl_fixup): Protect using global scope. (_dl_lookup_symbol_x): Likewise. * elf/dl-support.c: Define _dl_wait_lookup_done. * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_wait_lookup_done. 2007-05-11 Ulrich Drepper * elf/dl-close.c (_dl_close_worker): Help gcc to optimize by adding new variables. * elf/dl-open.c (add_to_global): Introduce variable ns to help gcc optimize. Completely extend global scope array before making the new entries visible. 2007-01-15 Ulrich Drepper * sysdeps/generic/ldsodefs.h: Define DL_LOOKUP_SCOPE_LOCK. * elf/dl-lookup.c (add_dependency): If scope map is locked, unlock it before getting dl_load_lock and then relock. (_dl_lookup_symbol_x): Pass flags to add_dependency. When rerunning _dl_lookup_symbol_x, compute symbol_scope again in case we unlocked the scope. * elf/dl-runtime.c (_dl_fixup): Pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x in case we locked the scope. (_dl_profile_fixup): Likewise. * elf/dl-sym.c (do_sym): In flags passed to call_dl_lookup, also set DL_LOOKUP_SCOPE_LOCK. 2006-10-29 Jakub Jelinek * elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P. * elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise. * elf/dl-close.c (_dl_close_worker): Likewise. * elf/dl-open.c (_dl_open_worker): Likewise. * sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define. 2006-10-27 Jakub Jelinek * elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope argument. (_dl_lookup_symbol_x): Adjust caller. * sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove _ns_global_scope. * elf/rtld.c (dl_main): Don't initialize _ns_global_scope. * elf/dl-libc.c: Revert l_scope name changes. * elf/dl-load.c: Likewise. * elf/dl-object.c: Likewise. * elf/rtld.c: Likewise. * elf/dl-close.c (_dl_close): Likewise. * elf/dl-open.c (dl_open_worker): Likewise. If not SINGLE_THREAD_P, always use __rtld_mrlock_{change,done}. Always free old scope list here if not l_scope_mem. * elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name change. Never free scope list here. Just __rtld_mrlock_lock before the lookup and __rtld_mrlock_unlock it after the lookup. * elf/dl-sym.c: Likewise. * include/link.h (struct r_scoperec): Remove. (struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem with l_scope_mem and l_scoperec_lock with l_scope_lock. 2006-10-18 Ulrich Drepper * elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to _dl_lookup_symbol_x code. 2006-10-17 Jakub Jelinek * elf/dl-runtime.c: Include sysdep-cancel.h. (_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and scoperec->nusers only if !SINGLE_THREAD_P. * elf/dl-sym.c: Include sysdep-cancel.h. (do_sym): Use __rtld_mrlock_* and scoperec->nusers only if !SINGLE_THREAD_P. * elf/dl-close.c: Include sysdep-cancel.h. (_dl_close): Use __rtld_mrlock_* and scoperec->nusers only if !SINGLE_THREAD_P. * elf/dl-open.c: Include sysdep-cancel.h. (dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only if !SINGLE_THREAD_P. 2006-10-09 Ulrich Drepper Jakub Jelinek Implement reference counting of scope records. * elf/dl-close.c (_dl_close): Remove all scopes from removed objects from the list in objects which remain. Always allocate new scope record. * elf/dl-open.c (dl_open_worker): When growing array for scopes, don't resize, allocate a new one. * elf/dl-runtime.c: Update reference counters before using a scope array. * elf/dl-sym.c: Likewise. * elf/dl-libc.c: Adjust for l_scope name change. * elf/dl-load.c: Likewise. * elf/dl-object.c: Likewise. * elf/rtld.c: Likewise. * include/link.h: Include . Define struct r_scoperec. Replace r_scope with pointer to r_scoperec structure. Add l_scoperec_lock. * sysdeps/generic/ldsodefs.h: Include . * sysdeps/generic/rtld-lowlevel.h: New file. nptl/ 2007-05-28 Jakub Jelinek * sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Use explicit insn suffix. (THREAD_GSCOPE_GET_FLAG): Remove. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Remove. * allocatestack.c (__wait_lookup_done): Revert 2007-05-24 changes. * sysdeps/powerpc/tls.h (tcbhead_t): Remove gscope_flag. (THREAD_GSCOPE_GET_FLAG): Remove. (THREAD_GSCOPE_RESET_FLAG): Use THREAD_SELF->header.gscope_flag instead of THREAD_GSCOPE_GET_FLAG. (THREAD_GSCOPE_SET_FLAG): Likewise. Add atomic_write_barrier after it. * sysdeps/s390/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/sparc/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/sh/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/ia64/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. 2007-05-24 Richard Henderson * descr.h (struct pthread): Add header.gscope_flag. * sysdeps/alpha/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. 2007-05-26 Ulrich Drepper * allocatestack.c: Revert last change. * init.c: Likewise. * sysdeps/i386/tls.h: Likewise. * sysdeps/x86_64/tls.h: Likewise. 2007-05-24 Jakub Jelinek * sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag. (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define. (THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use PTR_DEMANGLE. (THREAD_GSCOPE_GET_FLAG): Define. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define. * allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG instead of ->header.gscope_flag directly. 2007-05-21 Ulrich Drepper * sysdeps/pthread/pthread-functions.h (struct pthread_functions): Remove ptr_wait_lookup_done again. * init.c (pthread_functions): Don't add .ptr_wait_lookup_done here. (__pthread_initialize_minimal_internal): Initialize _dl_wait_lookup_done pointer in _rtld_global directly. * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init): Remove code to code _dl_wait_lookup_done. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_WAIT): The pointer is not encrypted for now. 2007-05-19 Ulrich Drepper * allocatestack.c (__wait_lookup_done): New function. * sysdeps/pthread/pthread-functions.h (struct pthread_functions): Add ptr_wait_lookup_done. * init.c (pthread_functions): Initialize .ptr_wait_lookup_done. * pthreadP.h: Declare __wait_lookup_done. * sysdeps/i386/tls.h (tcbhead_t): Add gscope_flag. Define macros to implement reference handling of global scope. * sysdeps/x86_64/tls.h: Likewise. * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init): Initialize GL(dl_wait_lookup_done). 2006-12-09 Ulrich Drepper * sysdeps/unix/sysv/linux/rtld-lowlevel.h (__rtld_mrlock_initialize): Add missing closing parenthesis. 2006-10-29 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define. (SINGLE_THREAD_P): Define to 1 if IS_IN_rtld. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. 2006-10-27 Jakub Jelinek * sysdeps/unix/sysv/linux/rtld-lowlevel.h (__rtld_mrlock_lock, __rtld_mrlock_change): Update oldval if atomic compare and exchange failed. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P): Define to THREAD_SELF->header.multiple_threads. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (SINGLE_THREAD_P): Likewise. 2006-10-09 Ulrich Drepper * sysdeps/unix/sysv/linux/rtld-lowlevel.h: New file.. --- libc/elf/dl-object.c.jj 2005-01-06 23:40:26.000000000 +0100 +++ libc/elf/dl-object.c 2007-06-13 11:34:19.000000000 +0200 @@ -85,6 +85,11 @@ _dl_new_object (char *realname, const ch new->l_scope = new->l_scope_mem; new->l_scope_max = sizeof (new->l_scope_mem) / sizeof (new->l_scope_mem[0]); + /* No need to initialize the scope lock if the initializer is zero. */ +#if _RTLD_MRLOCK_INITIALIZER != 0 + __rtld_mrlock_initialize (new->l_scope_lock); +#endif + /* Counter for the scopes we have to handle. */ idx = 0; --- libc/elf/dl-runtime.c.jj 2005-02-07 23:47:00.000000000 +0100 +++ libc/elf/dl-runtime.c 2007-06-13 11:34:19.000000000 +0200 @@ -24,7 +24,10 @@ #include #include #include +#include #include "dynamic-link.h" +#include + #if (!defined ELF_MACHINE_NO_RELA && !defined ELF_MACHINE_PLT_REL) \ || ELF_MACHINE_NO_REL @@ -92,16 +95,37 @@ _dl_fixup ( version = NULL; } - result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym, - l->l_scope, version, ELF_RTYPE_CLASS_PLT, - DL_LOOKUP_ADD_DEPENDENCY, NULL); + /* We need to keep the scope around so do some locking. This is + not necessary for objects which cannot be unloaded or when + we are not using any threads (yet). */ + int flags = DL_LOOKUP_ADD_DEPENDENCY; + if (!RTLD_SINGLE_THREAD_P) + { + THREAD_GSCOPE_SET_FLAG (); + + if (l->l_type == lt_loaded) + { + __rtld_mrlock_lock (l->l_scope_lock); + flags |= DL_LOOKUP_SCOPE_LOCK; + } + } + + result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym, l->l_scope, + version, ELF_RTYPE_CLASS_PLT, flags, NULL); + + if ((flags & DL_LOOKUP_SCOPE_LOCK) != 0) + __rtld_mrlock_unlock (l->l_scope_lock); + + /* We are done with the global scope. */ + if (!RTLD_SINGLE_THREAD_P) + THREAD_GSCOPE_RESET_FLAG (); /* Currently result contains the base load address (or link map) of the object that defines sym. Now add in the symbol offset. */ value = DL_FIXUP_MAKE_VALUE (result, - sym ? LOOKUP_VALUE_ADDRESS (result) - + sym->st_value : 0); + sym ? (LOOKUP_VALUE_ADDRESS (result) + + sym->st_value) : 0); } else { @@ -174,10 +198,31 @@ _dl_profile_fixup ( version = NULL; } - result = _dl_lookup_symbol_x (strtab + refsym->st_name, l, &defsym, - l->l_scope, version, - ELF_RTYPE_CLASS_PLT, - DL_LOOKUP_ADD_DEPENDENCY, NULL); + /* We need to keep the scope around so do some locking. This is + not necessary for objects which cannot be unloaded or when + we are not using any threads (yet). */ + int flags = DL_LOOKUP_ADD_DEPENDENCY; + if (!RTLD_SINGLE_THREAD_P) + { + THREAD_GSCOPE_SET_FLAG (); + + if (l->l_type == lt_loaded) + { + __rtld_mrlock_lock (l->l_scope_lock); + flags |= DL_LOOKUP_SCOPE_LOCK; + } + } + + result = _dl_lookup_symbol_x (strtab + refsym->st_name, l, + &defsym, l->l_scope, version, + ELF_RTYPE_CLASS_PLT, flags, NULL); + + if ((flags & DL_LOOKUP_SCOPE_LOCK) != 0) + __rtld_mrlock_unlock (l->l_scope_lock); + + /* We are done with the global scope. */ + if (!RTLD_SINGLE_THREAD_P) + THREAD_GSCOPE_RESET_FLAG (); /* Currently result contains the base load address (or link map) of the object that defines sym. Now add in the symbol --- libc/elf/dl-support.c.jj 2007-06-13 11:33:55.000000000 +0200 +++ libc/elf/dl-support.c 2007-06-13 11:34:19.000000000 +0200 @@ -134,6 +134,9 @@ int (*_dl_make_stack_executable_hook) (v = _dl_make_stack_executable; +/* Function in libpthread to wait for termination of lookups. */ +void (*_dl_wait_lookup_done) (void); + #ifdef NEED_DL_SYSINFO /* Needed for improved syscall handling on at least x86/Linux. */ uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; --- libc/elf/dl-lookup.c.jj 2006-07-10 23:49:38.000000000 +0200 +++ libc/elf/dl-lookup.c 2007-06-13 11:34:19.000000000 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -85,7 +86,7 @@ dl_new_hash (const char *s) /* Add extra dependency on MAP to UNDEF_MAP. */ static int internal_function -add_dependency (struct link_map *undef_map, struct link_map *map) +add_dependency (struct link_map *undef_map, struct link_map *map, int flags) { struct link_map **list; struct link_map *runp; @@ -98,8 +99,18 @@ add_dependency (struct link_map *undef_m if (undef_map == map) return 0; - /* Make sure nobody can unload the object while we are at it. */ - __rtld_lock_lock_recursive (GL(dl_load_lock)); + /* Make sure nobody can unload the object while we are at it. + If we hold a scope lock drop it now to avoid ABBA locking problems. */ + if ((flags & DL_LOOKUP_SCOPE_LOCK) != 0 && !RTLD_SINGLE_THREAD_P) + { + __rtld_mrlock_unlock (undef_map->l_scope_lock); + + __rtld_lock_lock_recursive (GL(dl_load_lock)); + + __rtld_mrlock_lock (undef_map->l_scope_lock); + } + else + __rtld_lock_lock_recursive (GL(dl_load_lock)); /* Avoid references to objects which cannot be unloaded anyway. */ if (map->l_type != lt_loaded @@ -200,14 +211,17 @@ add_dependency (struct link_map *undef_m static void internal_function _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, - const ElfW(Sym) **ref, struct r_scope_elem *symbol_scope[], - struct sym_val *value, + const ElfW(Sym) **ref, struct sym_val *value, const struct r_found_version *version, int type_class, int protected); /* Search loaded objects' symbol tables for a definition of the symbol - UNDEF_NAME, perhaps with a requested version for the symbol. */ + UNDEF_NAME, perhaps with a requested version for the symbol. + + We must never have calls to the audit functions inside this function + or in any function which gets called. If this would happen the audit + code might create a thread which can throw off all the scope locking. */ lookup_t internal_function _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map, @@ -223,19 +237,16 @@ _dl_lookup_symbol_x (const char *undef_n bump_num_relocations (); - /* No other flag than DL_LOOKUP_ADD_DEPENDENCY is allowed if we look - up a versioned symbol. */ - assert (version == NULL || flags == 0 || flags == DL_LOOKUP_ADD_DEPENDENCY); + /* No other flag than DL_LOOKUP_ADD_DEPENDENCY and DL_LOOKUP_SCOPE_LOCK + is allowed if we look up a versioned symbol. */ + assert (version == NULL || (flags & ~(DL_LOOKUP_ADD_DEPENDENCY + | DL_LOOKUP_SCOPE_LOCK)) == 0); size_t i = 0; if (__builtin_expect (skip_map != NULL, 0)) - { - /* Search the relevant loaded objects for a definition. */ - while ((*scope)->r_list[i] != skip_map) - ++i; - - assert (i < (*scope)->r_nlist); - } + /* Search the relevant loaded objects for a definition. */ + while ((*scope)->r_list[i] != skip_map) + ++i; /* Search the relevant loaded objects for a definition. */ for (size_t start = i; *scope != NULL; start = 0, ++scope) @@ -335,19 +346,20 @@ _dl_lookup_symbol_x (const char *undef_n runtime lookups. */ && (flags & DL_LOOKUP_ADD_DEPENDENCY) != 0 /* Add UNDEF_MAP to the dependencies. */ - && add_dependency (undef_map, current_value.m) < 0) + && add_dependency (undef_map, current_value.m, flags) < 0) /* Something went wrong. Perhaps the object we tried to reference was just removed. Try finding another definition. */ return _dl_lookup_symbol_x (undef_name, undef_map, ref, - symbol_scope, version, type_class, - flags, skip_map); + (flags & DL_LOOKUP_SCOPE_LOCK) == 0 + ? symbol_scope : undef_map->l_scope, version, + type_class, flags, skip_map); /* The object is used. */ current_value.m->l_used = 1; if (__builtin_expect (GLRO(dl_debug_mask) & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) - _dl_debug_bindings (undef_name, undef_map, ref, symbol_scope, + _dl_debug_bindings (undef_name, undef_map, ref, ¤t_value, version, type_class, protected); *ref = current_value.s; @@ -404,8 +416,7 @@ _dl_setup_hash (struct link_map *map) static void internal_function _dl_debug_bindings (const char *undef_name, struct link_map *undef_map, - const ElfW(Sym) **ref, struct r_scope_elem *symbol_scope[], - struct sym_val *value, + const ElfW(Sym) **ref, struct sym_val *value, const struct r_found_version *version, int type_class, int protected) { --- libc/elf/do-lookup.h.jj 2006-09-04 22:40:11.000000000 +0200 +++ libc/elf/do-lookup.h 2007-06-13 11:34:19.000000000 +0200 @@ -29,8 +29,13 @@ do_lookup_x (const char *undef_name, uin const struct r_found_version *const version, int flags, struct link_map *skip, int type_class) { - struct link_map **list = scope->r_list; size_t n = scope->r_nlist; + /* Make sure we read the value before proceeding. Otherwise we + might use r_list pointing to the initial scope and r_nlist being + the value after a resize. That is the only path in dl-open.c not + protected by GSCOPE. A read barrier here might be to expensive. */ + __asm volatile ("" : "+r" (n), "+m" (scope->r_list)); + struct link_map **list = scope->r_list; do { --- libc/elf/dl-sym.c.jj 2006-02-26 21:48:48.000000000 +0100 +++ libc/elf/dl-sym.c 2007-06-13 11:54:27.000000000 +0200 @@ -17,6 +17,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include #include #include #include @@ -24,6 +25,7 @@ #include #include #include +#include #ifdef USE_TLS # include #endif @@ -58,6 +60,29 @@ _dl_tls_symaddr (struct link_map *map, c #endif +struct call_dl_lookup_args +{ + /* Arguments to do_dlsym. */ + struct link_map *map; + const char *name; + struct r_found_version *vers; + int flags; + + /* Return values of do_dlsym. */ + lookup_t loadbase; + const ElfW(Sym) **refp; +}; + +static void +call_dl_lookup (void *ptr) +{ + struct call_dl_lookup_args *args = (struct call_dl_lookup_args *) ptr; + args->map = GLRO(dl_lookup_symbol_x) (args->name, args->map, args->refp, + args->map->l_scope, args->vers, 0, + args->flags, NULL); +} + + static void * internal_function do_sym (void *handle, const char *name, void *who, @@ -84,10 +109,51 @@ do_sym (void *handle, const char *name, } if (handle == RTLD_DEFAULT) - /* Search the global scope. */ - result = GLRO(dl_lookup_symbol_x) (name, match, &ref, match->l_scope, - vers, 0, flags|DL_LOOKUP_ADD_DEPENDENCY, - NULL); + { + /* Search the global scope. We have the simple case where + we look up in the scope of an object which was part of + the initial binary. And then the more complex part + where the object is dynamically loaded and the scope + array can change. */ + if (match->l_type != lt_loaded || RTLD_SINGLE_THREAD_P) + result = GLRO(dl_lookup_symbol_x) (name, match, &ref, + match->l_scope, vers, 0, + flags | DL_LOOKUP_ADD_DEPENDENCY, + NULL); + else + { + __rtld_mrlock_lock (match->l_scope_lock); + + struct call_dl_lookup_args args; + args.name = name; + args.map = match; + args.vers = vers; + args.flags = flags | DL_LOOKUP_ADD_DEPENDENCY | DL_LOOKUP_SCOPE_LOCK; + args.refp = &ref; + + const char *objname; + const char *errstring = NULL; + bool malloced; + int err = GLRO(dl_catch_error) (&objname, &errstring, &malloced, + call_dl_lookup, &args); + + __rtld_mrlock_unlock (match->l_scope_lock); + + if (__builtin_expect (errstring != NULL, 0)) + { + /* The lookup was unsuccessful. Rethrow the error. */ + char *errstring_dup = strdupa (errstring); + char *objname_dup = strdupa (objname); + if (malloced) + free ((char *) errstring); + + GLRO(dl_signal_error) (err, objname_dup, NULL, errstring_dup); + /* NOTREACHED */ + } + + result = args.map; + } + } else if (handle == RTLD_NEXT) { if (__builtin_expect (match == GL(dl_ns)[LM_ID_BASE]._ns_loaded, 0)) --- libc/elf/rtld.c.jj 2006-10-02 20:24:37.000000000 +0200 +++ libc/elf/rtld.c 2007-06-13 11:34:19.000000000 +0200 @@ -2143,7 +2143,6 @@ ERROR: ld.so: object '%s' cannot be load /* Now set up the variable which helps the assembler startup code. */ GL(dl_ns)[LM_ID_BASE]._ns_main_searchlist = &main_map->l_searchlist; - GL(dl_ns)[LM_ID_BASE]._ns_global_scope[0] = &main_map->l_searchlist; /* Save the information about the original global scope list since we need it in the memory handling later. */ --- libc/elf/dl-close.c.jj 2007-06-13 11:33:55.000000000 +0200 +++ libc/elf/dl-close.c 2007-06-13 12:24:42.000000000 +0200 @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -29,12 +30,18 @@ #include #include #include +#include +#include /* Type of the constructor functions. */ typedef void (*fini_t) (void); +/* Special l_idx value used to indicate which objects remain loaded. */ +#define IDX_STILL_USED -1 + + #ifdef USE_TLS /* Returns true we an non-empty was found. */ static bool @@ -103,8 +110,6 @@ remove_slotinfo (size_t idx, struct dtv_ void _dl_close_worker (struct link_map *map) { - Lmid_t ns = map->l_ns; - /* One less direct use. */ --map->l_direct_opencount; @@ -127,13 +132,16 @@ _dl_close_worker (struct link_map *map) return; } + Lmid_t nsid = map->l_ns; + struct link_namespaces *ns = &GL(dl_ns)[nsid]; + retry: dl_close_state = pending; #ifdef USE_TLS bool any_tls = false; #endif - const unsigned int nloaded = GL(dl_ns)[ns]._ns_nloaded; + const unsigned int nloaded = ns->_ns_nloaded; char used[nloaded]; char done[nloaded]; struct link_map *maps[nloaded]; @@ -141,7 +149,7 @@ _dl_close_worker (struct link_map *map) /* Run over the list and assign indexes to the link maps and enter them into the MAPS array. */ int idx = 0; - for (struct link_map *l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + for (struct link_map *l = ns->_ns_loaded; l != NULL; l = l->l_next) { l->l_idx = idx; maps[idx] = l; @@ -174,7 +182,7 @@ _dl_close_worker (struct link_map *map) done[done_index] = 1; used[done_index] = 1; /* Signal the object is still needed. */ - l->l_idx = -1; + l->l_idx = IDX_STILL_USED; /* Mark all dependencies as used. */ if (l->l_initfini != NULL) @@ -182,7 +190,7 @@ _dl_close_worker (struct link_map *map) struct link_map **lp = &l->l_initfini[1]; while (*lp != NULL) { - if ((*lp)->l_idx != -1) + if ((*lp)->l_idx != IDX_STILL_USED) { assert ((*lp)->l_idx >= 0 && (*lp)->l_idx < nloaded); @@ -203,7 +211,7 @@ _dl_close_worker (struct link_map *map) { struct link_map *jmap = l->l_reldeps[j]; - if (jmap->l_idx != -1) + if (jmap->l_idx != IDX_STILL_USED) { assert (jmap->l_idx >= 0 && jmap->l_idx < nloaded); @@ -218,20 +226,21 @@ _dl_close_worker (struct link_map *map) } /* Sort the entries. */ - _dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nloaded, used, ns); + _dl_sort_fini (ns->_ns_loaded, maps, nloaded, used, nsid); /* Call all termination functions at once. */ #ifdef SHARED - bool do_audit = GLRO(dl_naudit) > 0 && !GL(dl_ns)[ns]._ns_loaded->l_auditing; + bool do_audit = GLRO(dl_naudit) > 0 && !ns->_ns_loaded->l_auditing; #endif bool unload_any = false; + unsigned int unload_global = 0; unsigned int first_loaded = ~0; for (unsigned int i = 0; i < nloaded; ++i) { struct link_map *imap = maps[i]; /* All elements must be in the same namespace. */ - assert (imap->l_ns == ns); + assert (imap->l_ns == nsid); if (!used[i]) { @@ -246,7 +255,7 @@ _dl_close_worker (struct link_map *map) if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) _dl_debug_printf ("\ncalling fini: %s [%lu]\n\n", - imap->l_name, ns); + imap->l_name, nsid); if (imap->l_info[DT_FINI_ARRAY] != NULL) { @@ -289,6 +298,9 @@ _dl_close_worker (struct link_map *map) /* We indeed have an object to remove. */ unload_any = true; + if (imap->l_global) + ++unload_global; + /* Remember where the first dynamically loaded object is. */ if (i < first_loaded) first_loaded = i; @@ -296,8 +308,9 @@ _dl_close_worker (struct link_map *map) /* Else used[i]. */ else if (imap->l_type == lt_loaded) { - if (imap->l_searchlist.r_list == NULL - && imap->l_initfini != NULL) + struct r_scope_elem *new_list = NULL; + + if (imap->l_searchlist.r_list == NULL && imap->l_initfini != NULL) { /* The object is still used. But one of the objects we are unloading right now is responsible for loading it. If @@ -314,44 +327,108 @@ _dl_close_worker (struct link_map *map) imap->l_searchlist.r_list = &imap->l_initfini[cnt + 1]; imap->l_searchlist.r_nlist = cnt; - for (cnt = 0; imap->l_scope[cnt] != NULL; ++cnt) - /* This relies on l_scope[] entries being always set either - to its own l_symbolic_searchlist address, or some map's - l_searchlist address. */ - if (imap->l_scope[cnt] != &imap->l_symbolic_searchlist) - { - struct link_map *tmap; - - tmap = (struct link_map *) ((char *) imap->l_scope[cnt] - - offsetof (struct link_map, - l_searchlist)); - assert (tmap->l_ns == ns); - if (tmap->l_idx != -1) - { - imap->l_scope[cnt] = &imap->l_searchlist; - break; - } - } + new_list = &imap->l_searchlist; } - else + + /* Count the number of scopes which remain after the unload. + When we add the local search list count it. Always add + one for the terminating NULL pointer. */ + size_t remain = (new_list != NULL) + 1; + bool removed_any = false; + for (size_t cnt = 0; imap->l_scope[cnt] != NULL; ++cnt) + /* This relies on l_scope[] entries being always set either + to its own l_symbolic_searchlist address, or some map's + l_searchlist address. */ + if (imap->l_scope[cnt] != &imap->l_symbolic_searchlist) + { + struct link_map *tmap = (struct link_map *) + ((char *) imap->l_scope[cnt] + - offsetof (struct link_map, l_searchlist)); + assert (tmap->l_ns == nsid); + if (tmap->l_idx == IDX_STILL_USED) + ++remain; + else + removed_any = true; + } + else + ++remain; + + if (removed_any) { - unsigned int cnt = 0; - while (imap->l_scope[cnt] != NULL) + /* Always allocate a new array for the scope. This is + necessary since we must be able to determine the last + user of the current array. If possible use the link map's + memory. */ + size_t new_size; + struct r_scope_elem **newp; + +#define SCOPE_ELEMS(imap) \ + (sizeof (imap->l_scope_mem) / sizeof (imap->l_scope_mem[0])) + + if (imap->l_scope != imap->l_scope_mem + && remain < SCOPE_ELEMS (imap)) + { + new_size = SCOPE_ELEMS (imap); + newp = imap->l_scope_mem; + } + else + { + new_size = imap->l_scope_max; + newp = (struct r_scope_elem **) + malloc (new_size * sizeof (struct r_scope_elem *)); + if (newp == NULL) + _dl_signal_error (ENOMEM, "dlclose", NULL, + N_("cannot create scope list")); + } + + /* Copy over the remaining scope elements. */ + remain = 0; + for (size_t cnt = 0; imap->l_scope[cnt] != NULL; ++cnt) { - if (imap->l_scope[cnt] == &map->l_searchlist) + if (imap->l_scope[cnt] != &imap->l_symbolic_searchlist) { - while ((imap->l_scope[cnt] = imap->l_scope[cnt + 1]) - != NULL) - ++cnt; - break; + struct link_map *tmap = (struct link_map *) + ((char *) imap->l_scope[cnt] + - offsetof (struct link_map, l_searchlist)); + if (tmap->l_idx != IDX_STILL_USED) + { + /* Remove the scope. Or replace with own map's + scope. */ + if (new_list != NULL) + { + newp[remain++] = new_list; + new_list = NULL; + } + continue; + } } - ++cnt; + + newp[remain++] = imap->l_scope[cnt]; + } + newp[remain] = NULL; + + struct r_scope_elem **old = imap->l_scope; + + if (RTLD_SINGLE_THREAD_P) + imap->l_scope = newp; + else + { + __rtld_mrlock_change (imap->l_scope_lock); + imap->l_scope = newp; + __rtld_mrlock_done (imap->l_scope_lock); } + + /* No user anymore, we can free it now. */ + if (old != imap->l_scope_mem) + free (old); + + imap->l_scope_max = new_size; } /* The loader is gone, so mark the object as not having one. - Note: l_idx != -1 -> object will be removed. */ - if (imap->l_loader != NULL && imap->l_loader->l_idx != -1) + Note: l_idx != IDX_STILL_USED -> object will be removed. */ + if (imap->l_loader != NULL + && imap->l_loader->l_idx != IDX_STILL_USED) imap->l_loader = NULL; /* Remember where the first dynamically loaded object is. */ @@ -368,7 +445,7 @@ _dl_close_worker (struct link_map *map) /* Auditing checkpoint: we will start deleting objects. */ if (__builtin_expect (do_audit, 0)) { - struct link_map *head = GL(dl_ns)[ns]._ns_loaded; + struct link_map *head = ns->_ns_loaded; struct audit_ifaces *afct = GLRO(dl_audit); /* Do not call the functions for any auditing object. */ if (head->l_auditing == 0) @@ -385,10 +462,38 @@ _dl_close_worker (struct link_map *map) #endif /* Notify the debugger we are about to remove some loaded objects. */ - struct r_debug *r = _dl_debug_initialize (0, ns); + struct r_debug *r = _dl_debug_initialize (0, nsid); r->r_state = RT_DELETE; _dl_debug_state (); + if (unload_global) + { + /* Some objects are in the global scope list. Remove them. */ + struct r_scope_elem *ns_msl = ns->_ns_main_searchlist; + unsigned int i; + unsigned int j = 0; + unsigned int cnt = ns_msl->r_nlist; + + while (cnt > 0 && ns_msl->r_list[cnt - 1]->l_removed) + --cnt; + + if (cnt + unload_global == ns_msl->r_nlist) + /* Speed up removing most recently added objects. */ + j = cnt; + else + for (i = 0; i < cnt; i++) + if (ns_msl->r_list[i]->l_removed == 0) + { + if (i != j) + ns_msl->r_list[j] = ns_msl->r_list[i]; + j++; + } + ns_msl->r_nlist = j; + + if (!RTLD_SINGLE_THREAD_P) + THREAD_GSCOPE_WAIT (); + } + #ifdef USE_TLS size_t tls_free_start; size_t tls_free_end; @@ -406,23 +511,6 @@ _dl_close_worker (struct link_map *map) /* That was the last reference, and this was a dlopen-loaded object. We can unmap it. */ - if (__builtin_expect (imap->l_global, 0)) - { - /* This object is in the global scope list. Remove it. */ - unsigned int cnt = GL(dl_ns)[ns]._ns_main_searchlist->r_nlist; - - do - --cnt; - while (GL(dl_ns)[ns]._ns_main_searchlist->r_list[cnt] != imap); - - /* The object was already correctly registered. */ - while (++cnt - < GL(dl_ns)[ns]._ns_main_searchlist->r_nlist) - GL(dl_ns)[ns]._ns_main_searchlist->r_list[cnt - 1] - = GL(dl_ns)[ns]._ns_main_searchlist->r_list[cnt]; - - --GL(dl_ns)[ns]._ns_main_searchlist->r_nlist; - } #ifdef USE_TLS /* Remove the object from the dtv slotinfo array if it uses TLS. */ @@ -518,12 +606,12 @@ _dl_close_worker (struct link_map *map) else { #ifdef SHARED - assert (ns != LM_ID_BASE); + assert (nsid != LM_ID_BASE); #endif - GL(dl_ns)[ns]._ns_loaded = imap->l_next; + ns->_ns_loaded = imap->l_next; } - --GL(dl_ns)[ns]._ns_nloaded; + --ns->_ns_nloaded; if (imap->l_next != NULL) imap->l_next->l_prev = imap->l_prev; @@ -587,7 +675,7 @@ _dl_close_worker (struct link_map *map) /* Auditing checkpoint: we have deleted all objects. */ if (__builtin_expect (do_audit, 0)) { - struct link_map *head = GL(dl_ns)[ns]._ns_loaded; + struct link_map *head = ns->_ns_loaded; /* Do not call the functions for any auditing object. */ if (head->l_auditing == 0) { @@ -673,22 +761,22 @@ free_slotinfo (struct dtv_slotinfo_list libc_freeres_fn (free_mem) { - for (Lmid_t ns = 0; ns < DL_NNS; ++ns) - if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 - && (GL(dl_ns)[ns]._ns_main_searchlist->r_nlist + for (Lmid_t nsid = 0; nsid < DL_NNS; ++nsid) + if (__builtin_expect (GL(dl_ns)[nsid]._ns_global_scope_alloc, 0) != 0 + && (GL(dl_ns)[nsid]._ns_main_searchlist->r_nlist // XXX Check whether we need NS-specific initial_searchlist == GLRO(dl_initial_searchlist).r_nlist)) { /* All object dynamically loaded by the program are unloaded. Free the memory allocated for the global scope variable. */ - struct link_map **old = GL(dl_ns)[ns]._ns_main_searchlist->r_list; + struct link_map **old = GL(dl_ns)[nsid]._ns_main_searchlist->r_list; /* Put the old map in. */ - GL(dl_ns)[ns]._ns_main_searchlist->r_list + GL(dl_ns)[nsid]._ns_main_searchlist->r_list // XXX Check whether we need NS-specific initial_searchlist = GLRO(dl_initial_searchlist).r_list; /* Signal that the original map is used. */ - GL(dl_ns)[ns]._ns_global_scope_alloc = 0; + GL(dl_ns)[nsid]._ns_global_scope_alloc = 0; /* Now free the old map. */ free (old); --- libc/elf/dl-open.c.jj 2007-06-13 11:33:55.000000000 +0200 +++ libc/elf/dl-open.c 2007-06-13 11:34:19.000000000 +0200 @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include @@ -96,17 +98,17 @@ add_to_global (struct link_map *new) in an realloc() call. Therefore we allocate a completely new array the first time we have to add something to the locale scope. */ - if (GL(dl_ns)[new->l_ns]._ns_global_scope_alloc == 0) + struct link_namespaces *ns = &GL(dl_ns)[new->l_ns]; + if (ns->_ns_global_scope_alloc == 0) { /* This is the first dynamic object given global scope. */ - GL(dl_ns)[new->l_ns]._ns_global_scope_alloc - = GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_nlist + to_add + 8; + ns->_ns_global_scope_alloc + = ns->_ns_main_searchlist->r_nlist + to_add + 8; new_global = (struct link_map **) - malloc (GL(dl_ns)[new->l_ns]._ns_global_scope_alloc - * sizeof (struct link_map *)); + malloc (ns->_ns_global_scope_alloc * sizeof (struct link_map *)); if (new_global == NULL) { - GL(dl_ns)[new->l_ns]._ns_global_scope_alloc = 0; + ns->_ns_global_scope_alloc = 0; nomem: _dl_signal_error (ENOMEM, new->l_libname->name, NULL, N_("cannot extend global scope")); @@ -114,29 +116,39 @@ add_to_global (struct link_map *new) } /* Copy over the old entries. */ - GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list - = memcpy (new_global, - GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list, - (GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_nlist + ns->_ns_main_searchlist->r_list + = memcpy (new_global, ns->_ns_main_searchlist->r_list, + (ns->_ns_main_searchlist->r_nlist * sizeof (struct link_map *))); } - else if (GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_nlist + to_add - > GL(dl_ns)[new->l_ns]._ns_global_scope_alloc) + else if (ns->_ns_main_searchlist->r_nlist + to_add + > ns->_ns_global_scope_alloc) { /* We have to extend the existing array of link maps in the main map. */ + struct link_map **old_global + = GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list; + size_t new_nalloc = ((ns->_ns_global_scope_alloc + to_add) * 2); + new_global = (struct link_map **) - realloc (GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list, - ((GL(dl_ns)[new->l_ns]._ns_global_scope_alloc + to_add + 8) - * sizeof (struct link_map *))); + malloc (new_nalloc * sizeof (struct link_map *)); if (new_global == NULL) goto nomem; - GL(dl_ns)[new->l_ns]._ns_global_scope_alloc += to_add + 8; - GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list = new_global; + memcpy (new_global, old_global, + ns->_ns_global_scope_alloc * sizeof (struct link_map *)); + + ns->_ns_global_scope_alloc = new_nalloc; + ns->_ns_main_searchlist->r_list = new_global; + + if (!RTLD_SINGLE_THREAD_P) + THREAD_GSCOPE_WAIT (); + + free (old_global); } /* Now add the new entries. */ + unsigned int new_nlist = ns->_ns_main_searchlist->r_nlist; for (cnt = 0; cnt < new->l_searchlist.r_nlist; ++cnt) { struct link_map *map = new->l_searchlist.r_list[cnt]; @@ -144,11 +156,11 @@ add_to_global (struct link_map *new) if (map->l_global == 0) { map->l_global = 1; - GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_list[GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_nlist] - = map; - ++GL(dl_ns)[new->l_ns]._ns_main_searchlist->r_nlist; + ns->_ns_main_searchlist->r_list[new_nlist++] = map; } } + atomic_write_barrier (); + ns->_ns_main_searchlist->r_nlist = new_nlist; return 0; } @@ -380,6 +392,8 @@ dl_open_worker (void *a) while (*runp != NULL) { + if (*runp == &new->l_searchlist) + break; ++cnt; ++runp; } @@ -392,35 +406,52 @@ dl_open_worker (void *a) { /* The 'r_scope' array is too small. Allocate a new one dynamically. */ + size_t new_size; struct r_scope_elem **newp; - size_t new_size = imap->l_scope_max * 2; - if (imap->l_scope == imap->l_scope_mem) +#define SCOPE_ELEMS(imap) \ + (sizeof (imap->l_scope_mem) / sizeof (imap->l_scope_mem[0])) + + if (imap->l_scope != imap->l_scope_mem + && imap->l_scope_max < SCOPE_ELEMS (imap)) + { + new_size = SCOPE_ELEMS (imap); + newp = imap->l_scope_mem; + } + else { + new_size = imap->l_scope_max * 2; newp = (struct r_scope_elem **) malloc (new_size * sizeof (struct r_scope_elem *)); if (newp == NULL) _dl_signal_error (ENOMEM, "dlopen", NULL, N_("cannot create scope list")); - imap->l_scope = memcpy (newp, imap->l_scope, - cnt * sizeof (imap->l_scope[0])); } + + memcpy (newp, imap->l_scope, cnt * sizeof (imap->l_scope[0])); + struct r_scope_elem **old = imap->l_scope; + + if (RTLD_SINGLE_THREAD_P) + imap->l_scope = newp; else { - newp = (struct r_scope_elem **) - realloc (imap->l_scope, - new_size * sizeof (struct r_scope_elem *)); - if (newp == NULL) - _dl_signal_error (ENOMEM, "dlopen", NULL, - N_("cannot create scope list")); + __rtld_mrlock_change (imap->l_scope_lock); imap->l_scope = newp; + __rtld_mrlock_done (imap->l_scope_lock); } + if (old != imap->l_scope_mem) + free (old); + imap->l_scope_max = new_size; } - imap->l_scope[cnt++] = &new->l_searchlist; - imap->l_scope[cnt] = NULL; + /* First terminate the extended list. Otherwise a thread + might use the new last element and then use the garbage + at offset IDX+1. */ + imap->l_scope[cnt + 1] = NULL; + atomic_write_barrier (); + imap->l_scope[cnt] = &new->l_searchlist; } #if USE_TLS /* Only add TLS memory if this object is loaded now and --- libc/include/link.h.jj 2007-06-13 11:33:55.000000000 +0200 +++ libc/include/link.h 2007-06-13 11:34:19.000000000 +0200 @@ -42,7 +42,9 @@ extern unsigned int la_objopen (struct l #include #include #include -#include /* Defines USE_TLS. */ +#include +#include +#include /* Some internal data structures of the dynamic linker used in the @@ -220,6 +222,8 @@ struct link_map /* This is an array defining the lookup scope for this link map. There are initially at most three different scope lists. */ struct r_scope_elem **l_scope; + /* We need to protect using the SCOPEREC. */ + __rtld_mrlock_define (, l_scope_lock) /* A similar array, this time only with the local scope. This is used occasionally. */ --- libc/nptl/descr.h.jj 2006-09-24 19:10:55.000000000 +0200 +++ libc/nptl/descr.h 2007-06-13 11:34:26.000000000 +0200 @@ -131,6 +131,7 @@ struct pthread struct { int multiple_threads; + int gscope_flag; } header; #endif --- libc/nptl/allocatestack.c.jj 2006-08-23 19:39:47.000000000 +0200 +++ libc/nptl/allocatestack.c 2007-06-13 11:34:26.000000000 +0200 @@ -982,3 +982,60 @@ __pthread_init_static_tls (struct link_m lll_unlock (stack_cache_lock); } + + +void +attribute_hidden +__wait_lookup_done (void) +{ + lll_lock (stack_cache_lock); + + struct pthread *self = THREAD_SELF; + + /* Iterate over the list with system-allocated threads first. */ + list_t *runp; + list_for_each (runp, &stack_used) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self || t->header.gscope_flag == THREAD_GSCOPE_FLAG_UNUSED) + continue; + + int *const gscope_flagp = &t->header.gscope_flag; + + /* We have to wait until this thread is done with the global + scope. First tell the thread that we are waiting and + possibly have to be woken. */ + if (atomic_compare_and_exchange_bool_acq (gscope_flagp, + THREAD_GSCOPE_FLAG_WAIT, + THREAD_GSCOPE_FLAG_USED)) + continue; + + do + lll_futex_wait (gscope_flagp, THREAD_GSCOPE_FLAG_WAIT); + while (*gscope_flagp == THREAD_GSCOPE_FLAG_WAIT); + } + + /* Now the list with threads using user-allocated stacks. */ + list_for_each (runp, &__stack_user) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self || t->header.gscope_flag == THREAD_GSCOPE_FLAG_UNUSED) + continue; + + int *const gscope_flagp = &t->header.gscope_flag; + + /* We have to wait until this thread is done with the global + scope. First tell the thread that we are waiting and + possibly have to be woken. */ + if (atomic_compare_and_exchange_bool_acq (gscope_flagp, + THREAD_GSCOPE_FLAG_WAIT, + THREAD_GSCOPE_FLAG_USED)) + continue; + + do + lll_futex_wait (gscope_flagp, THREAD_GSCOPE_FLAG_WAIT); + while (*gscope_flagp == THREAD_GSCOPE_FLAG_WAIT); + } + + lll_unlock (stack_cache_lock); +} --- libc/nptl/init.c.jj 2006-08-23 19:41:31.000000000 +0200 +++ libc/nptl/init.c 2007-06-13 11:34:26.000000000 +0200 @@ -386,6 +386,8 @@ __pthread_initialize_minimal_internal (v GL(dl_init_static_tls) = &__pthread_init_static_tls; + GL(dl_wait_lookup_done) = &__wait_lookup_done; + /* Register the fork generation counter with the libc. */ #ifndef TLS_MULTIPLE_THREADS_IN_TCB __libc_multiple_threads_ptr = --- libc/nptl/pthreadP.h.jj 2006-08-23 19:42:52.000000000 +0200 +++ libc/nptl/pthreadP.h 2007-06-13 11:34:26.000000000 +0200 @@ -545,6 +545,8 @@ extern int __nptl_setxid (struct xid_com extern void __free_stack_cache (void) attribute_hidden; +extern void __wait_lookup_done (void) attribute_hidden; + #ifdef SHARED # define PTHREAD_STATIC_FN_REQUIRE(name) #else --- libc/nptl/sysdeps/alpha/tls.h.jj 2006-01-13 22:38:17.000000000 +0100 +++ libc/nptl/sysdeps/alpha/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -124,6 +124,29 @@ typedef struct #define THREAD_SETMEM_NC(descr, member, idx, value) \ descr->member[idx] = (value) +/* Get and set the global scope generation counter in struct pthread. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res \ + = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ + THREAD_GSCOPE_FLAG_UNUSED); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + do \ + { \ + THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ + atomic_write_barrier (); \ + } \ + while (0) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/ia64/tls.h.jj 2006-01-06 22:46:10.000000000 +0100 +++ libc/nptl/sysdeps/ia64/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -166,6 +166,29 @@ register struct pthread *__thread_self _ (((uintptr_t *) ((char *) (descr) + TLS_PRE_TCB_SIZE))[-2] \ = THREAD_GET_POINTER_GUARD ()) +/* Get and set the global scope generation counter in struct pthread. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res \ + = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ + THREAD_GSCOPE_FLAG_UNUSED); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + do \ + { \ + THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ + atomic_write_barrier (); \ + } \ + while (0) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/i386/tls.h.jj 2005-12-18 07:57:32.000000000 +0100 +++ libc/nptl/sysdeps/i386/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -51,6 +51,7 @@ typedef struct uintptr_t sysinfo; uintptr_t stack_guard; uintptr_t pointer_guard; + int gscope_flag; } tcbhead_t; # define TLS_MULTIPLE_THREADS_IN_TCB 1 @@ -434,6 +435,26 @@ union user_desc_init = THREAD_GETMEM (THREAD_SELF, header.pointer_guard)) +/* Get and set the global scope generation counter in the TCB head. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res; \ + asm volatile ("xchgl %0, %%gs:%P1" \ + : "=r" (__res) \ + : "i" (offsetof (struct pthread, header.gscope_flag)), \ + "0" (THREAD_GSCOPE_FLAG_UNUSED)); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + THREAD_SETMEM (THREAD_SELF, header.gscope_flag, THREAD_GSCOPE_FLAG_USED) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/s390/tls.h.jj 2005-12-20 07:46:06.000000000 +0100 +++ libc/nptl/sysdeps/s390/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -50,6 +50,7 @@ typedef struct int multiple_threads; uintptr_t sysinfo; uintptr_t stack_guard; + int gscope_flag; } tcbhead_t; # ifndef __s390x__ @@ -171,6 +172,29 @@ typedef struct #define THREAD_SET_POINTER_GUARD(value) #define THREAD_COPY_POINTER_GUARD(descr) +/* Get and set the global scope generation counter in struct pthread. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res \ + = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ + THREAD_GSCOPE_FLAG_UNUSED); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + do \ + { \ + THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ + atomic_write_barrier (); \ + } \ + while (0) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/powerpc/tls.h.jj 2005-12-20 07:44:40.000000000 +0100 +++ libc/nptl/sysdeps/powerpc/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -183,6 +183,29 @@ register void *__thread_register __asm__ different value to mean unset l_tls_offset. */ # define NO_TLS_OFFSET -1 +/* Get and set the global scope generation counter in struct pthread. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res \ + = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ + THREAD_GSCOPE_FLAG_UNUSED); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + do \ + { \ + THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ + atomic_write_barrier (); \ + } \ + while (0) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/x86_64/tls.h.jj 2006-04-27 03:25:34.000000000 +0200 +++ libc/nptl/sysdeps/x86_64/tls.h 2007-06-13 11:39:47.000000000 +0200 @@ -47,6 +47,7 @@ typedef struct dtv_t *dtv; void *self; /* Pointer to the thread descriptor. */ int multiple_threads; + int gscope_flag; uintptr_t sysinfo; uintptr_t stack_guard; uintptr_t pointer_guard; @@ -339,6 +340,26 @@ typedef struct = THREAD_GETMEM (THREAD_SELF, header.pointer_guard)) +/* Get and set the global scope generation counter in the TCB head. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res; \ + asm volatile ("xchgl %0, %%fs:%P1" \ + : "=r" (__res) \ + : "i" (offsetof (struct pthread, header.gscope_flag)), \ + "0" (THREAD_GSCOPE_FLAG_UNUSED)); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + THREAD_SETMEM (THREAD_SELF, header.gscope_flag, THREAD_GSCOPE_FLAG_USED) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/sparc/tls.h.jj 2006-01-02 21:55:23.000000000 +0100 +++ libc/nptl/sysdeps/sparc/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -144,6 +144,29 @@ register struct pthread *__thread_self _ # define THREAD_COPY_POINTER_GUARD(descr) \ ((descr)->header.pointer_guard = THREAD_GET_POINTER_GUARD ()) +/* Get and set the global scope generation counter in struct pthread. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res \ + = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ + THREAD_GSCOPE_FLAG_UNUSED); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + do \ + { \ + THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ + atomic_write_barrier (); \ + } \ + while (0) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* !ASSEMBLER */ #endif /* tls.h */ --- libc/nptl/sysdeps/sh/tls.h.jj 2005-12-20 16:24:05.000000000 +0100 +++ libc/nptl/sysdeps/sh/tls.h 2007-06-13 11:34:26.000000000 +0200 @@ -153,6 +153,29 @@ typedef struct __asm __volatile ("stc gbr,%0" : "=r" (__tcbp)); \ ((tcbhead_t *) (descr + 1))->pointer_guard = __tcbp->pointer_guard;}) +/* Get and set the global scope generation counter in struct pthread. */ +#define THREAD_GSCOPE_FLAG_UNUSED 0 +#define THREAD_GSCOPE_FLAG_USED 1 +#define THREAD_GSCOPE_FLAG_WAIT 2 +#define THREAD_GSCOPE_RESET_FLAG() \ + do \ + { int __res \ + = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \ + THREAD_GSCOPE_FLAG_UNUSED); \ + if (__res == THREAD_GSCOPE_FLAG_WAIT) \ + lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1); \ + } \ + while (0) +#define THREAD_GSCOPE_SET_FLAG() \ + do \ + { \ + THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \ + atomic_write_barrier (); \ + } \ + while (0) +#define THREAD_GSCOPE_WAIT() \ + GL(dl_wait_lookup_done) () + #endif /* __ASSEMBLER__ */ #endif /* tls.h */ --- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h.jj 2004-09-06 03:12:02.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -167,3 +167,9 @@ extern int __local_multiple_threads attr # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h.jj 2004-07-06 06:25:45.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -220,3 +220,9 @@ __GC_##name: \ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h.jj 2007-06-13 12:56:51.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/rtld-lowlevel.h 2007-06-13 12:57:34.000000000 +0200 @@ -0,0 +1,153 @@ +/* Defintions for lowlevel handling in ld.so. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#ifndef _RTLD_LOWLEVEL_H +#define _RTLD_LOWLEVEL_H 1 + +#include +#include + + +/* Special multi-reader lock used in ld.so. */ +#define __RTLD_MRLOCK_WRITER 1 +#define __RTLD_MRLOCK_RWAIT 2 +#define __RTLD_MRLOCK_WWAIT 4 +#define __RTLD_MRLOCK_RBITS \ + ~(__RTLD_MRLOCK_WRITER | __RTLD_MRLOCK_RWAIT | __RTLD_MRLOCK_WWAIT) +#define __RTLD_MRLOCK_INC 8 +#define __RTLD_MRLOCK_TRIES 5 + + +typedef int __rtld_mrlock_t; + + +#define __rtld_mrlock_define(CLASS,NAME) \ + CLASS __rtld_mrlock_t NAME; + + +#define _RTLD_MRLOCK_INITIALIZER 0 +#define __rtld_mrlock_initialize(NAME) \ + (void) ((NAME) = 0) + + +#define __rtld_mrlock_lock(lock) \ + do { \ + __label__ out; \ + while (1) \ + { \ + int oldval; \ + for (int tries = 0; tries < __RTLD_MRLOCK_TRIES; ++tries) \ + { \ + oldval = lock; \ + while (__builtin_expect ((oldval \ + & (__RTLD_MRLOCK_WRITER \ + | __RTLD_MRLOCK_WWAIT)) \ + == 0, 1)) \ + { \ + int newval = ((oldval & __RTLD_MRLOCK_RBITS) \ + + __RTLD_MRLOCK_INC); \ + int ret = atomic_compare_and_exchange_val_acq (&(lock), \ + newval, \ + oldval); \ + if (__builtin_expect (ret == oldval, 1)) \ + goto out; \ + oldval = ret; \ + } \ + atomic_delay (); \ + } \ + if ((oldval & __RTLD_MRLOCK_RWAIT) == 0) \ + { \ + atomic_or (&(lock), __RTLD_MRLOCK_RWAIT); \ + oldval |= __RTLD_MRLOCK_RWAIT; \ + } \ + lll_futex_wait (lock, oldval); \ + } \ + out:; \ + } while (0) + + +#define __rtld_mrlock_unlock(lock) \ + do { \ + int oldval = atomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_INC); \ + if (__builtin_expect ((oldval \ + & (__RTLD_MRLOCK_RBITS | __RTLD_MRLOCK_WWAIT)) \ + == (__RTLD_MRLOCK_INC | __RTLD_MRLOCK_WWAIT), 0)) \ + /* We have to wake all threads since there might be some queued \ + readers already. */ \ + lll_futex_wake (&(lock), 0x7fffffff); \ + } while (0) + + +/* There can only ever be one thread trying to get the exclusive lock. */ +#define __rtld_mrlock_change(lock) \ + do { \ + __label__ out; \ + while (1) \ + { \ + int oldval; \ + for (int tries = 0; tries < __RTLD_MRLOCK_TRIES; ++tries) \ + { \ + oldval = lock; \ + while (__builtin_expect ((oldval & __RTLD_MRLOCK_RBITS) == 0, 1)) \ + { \ + int newval = ((oldval & __RTLD_MRLOCK_RWAIT) \ + + __RTLD_MRLOCK_WRITER); \ + int ret = atomic_compare_and_exchange_val_acq (&(lock), \ + newval, \ + oldval); \ + if (__builtin_expect (ret == oldval, 1)) \ + goto out; \ + oldval = ret; \ + } \ + atomic_delay (); \ + } \ + atomic_or (&(lock), __RTLD_MRLOCK_WWAIT); \ + oldval |= __RTLD_MRLOCK_WWAIT; \ + lll_futex_wait (lock, oldval); \ + } \ + out:; \ + } while (0) + + +#define __rtld_mrlock_done(lock) \ + do { \ + int oldval = atomic_exchange_and_add (&(lock), -__RTLD_MRLOCK_WRITER); \ + if (__builtin_expect ((oldval & __RTLD_MRLOCK_RWAIT) != 0, 0)) \ + lll_futex_wake (&(lock), 0x7fffffff); \ + } while (0) + + +/* Function to wait for variable become zero. Used in ld.so for + reference counters. */ +#define __rtld_waitzero(word) \ + do { \ + while (1) \ + { \ + int val = word; \ + if (val == 0) \ + break; \ + lll_futex_wait (&(word), val); \ + } \ + } while (0) + + +#define __rtld_notify(word) \ + lll_futex_wake (&(word), 1) + +#endif --- libc/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h.jj 2005-05-04 00:58:41.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -137,3 +137,9 @@ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h.jj 2004-07-06 06:25:44.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -113,3 +113,9 @@ L(pseudo_end): # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h.jj 2004-07-06 06:25:44.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -126,3 +126,9 @@ extern int __local_multiple_threads attr # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h.jj 2006-01-04 21:03:07.000000000 +0100 +++ libc/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -117,3 +117,9 @@ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h.jj 2006-01-04 21:03:07.000000000 +0100 +++ libc/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -128,3 +128,9 @@ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h.jj 2005-03-31 12:00:15.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -136,3 +136,9 @@ extern int __local_multiple_threads attr # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h.jj 2006-03-06 02:34:01.000000000 +0100 +++ libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -104,3 +104,9 @@ __##syscall_name##_nocancel: \ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h.jj 2006-03-06 02:34:01.000000000 +0100 +++ libc/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -102,3 +102,9 @@ __##syscall_name##_nocancel: \ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h.jj 2005-12-30 23:18:03.000000000 +0100 +++ libc/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -161,3 +161,9 @@ # define NO_CANCELLATION 1 #endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif --- libc/sysdeps/generic/rtld-lowlevel.h.jj 2007-06-13 11:34:26.000000000 +0200 +++ libc/sysdeps/generic/rtld-lowlevel.h 2007-06-13 12:56:19.000000000 +0200 @@ -0,0 +1 @@ +#error "Lowlevel primitives for ld.so not implemented" --- libc/sysdeps/generic/ldsodefs.h.jj 2006-08-24 22:27:05.000000000 +0200 +++ libc/sysdeps/generic/ldsodefs.h 2007-06-13 11:34:26.000000000 +0200 @@ -38,6 +38,7 @@ #include #include #include +#include __BEGIN_DECLS @@ -376,8 +377,6 @@ struct rtld_global struct link_map *_ns_loaded; /* Number of object in the _dl_loaded list. */ unsigned int _ns_nloaded; - /* Array representing global scope. */ - struct r_scope_elem *_ns_global_scope[2]; /* Direct pointer to the searchlist of the main object. */ struct r_scope_elem *_ns_main_searchlist; /* This is zero at program start to signal that the global scope map is @@ -493,6 +492,8 @@ struct rtld_global EXTERN void (*_dl_init_static_tls) (struct link_map *); #endif + EXTERN void (*_dl_wait_lookup_done) (void); + #ifdef SHARED }; # define __rtld_global_attribute__ @@ -853,7 +854,9 @@ enum DL_LOOKUP_ADD_DEPENDENCY = 1, /* Return most recent version instead of default version for unversioned lookup. */ - DL_LOOKUP_RETURN_NEWEST = 2 + DL_LOOKUP_RETURN_NEWEST = 2, + /* Set if the scopr lock in the UNDEF_MAP is taken. */ + DL_LOOKUP_SCOPE_LOCK = 4 }; /* Lookup versioned symbol. */ --- libc/sysdeps/generic/sysdep-cancel.h.jj 2003-01-07 01:12:06.000000000 +0100 +++ libc/sysdeps/generic/sysdep-cancel.h 2007-06-13 11:34:26.000000000 +0200 @@ -2,6 +2,7 @@ /* No multi-thread handling enabled. */ #define SINGLE_THREAD_P (1) +#define RTLD_SINGLE_THREAD_P (1) #define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */ #define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */ #define LIBC_CANCEL_HANDLED() /* Nothing. */ glibc-ldso-locking2.patch: elf/dl-close.c | 39 ++++++++++++++++++++++++++++----------- elf/dl-lookup.c | 31 +++++++++---------------------- elf/dl-object.c | 5 ----- elf/dl-open.c | 45 ++++++++++++++++++++++++++++++++++++--------- elf/dl-runtime.c | 26 ++------------------------ elf/dl-support.c | 2 ++ elf/dl-sym.c | 10 +++++----- include/link.h | 3 --- sysdeps/generic/ldsodefs.h | 16 ++++++++++++---- 9 files changed, 94 insertions(+), 83 deletions(-) --- NEW FILE glibc-ldso-locking2.patch --- 2007-06-19 Ulrich Drepper * elf/dl-close.c (free_mem): Free _dl_scope_free_list. 2007-06-13 Jakub Jelinek * include/link.h: Don't include rtld-lowlevel.h. (struct link_map): Remove l_scope_lock. * sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h. (_dl_scope_free_list): New field (variable) in _rtld_global. (DL_LOOKUP_SCOPE_LOCK): Remove. (_dl_scope_free): New prototype. * elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock. Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x. (_dl_profile_fixup): Likewise. * elf/dl-sym.c (do_sym): Likewise. Use wrapped _dl_lookup_symbol_x whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and THREAD_GSCOPE_RESET_FLAG around it. * elf/dl-close.c (_dl_close_worker): Don't use __rtld_mrlock_{change,done}. Call _dl_scope_free on the old scope. Make sure THREAD_GSCOPE_WAIT () happens if any old scopes were queued or if l_scope_mem has been abandoned. * elf/dl-open.c (_dl_scope_free): New function. (dl_open_worker): Use it. Don't use __rtld_mrlock_{change,done}. * elf/dl-support.c (_dl_scope_free_list): New variable. * elf/dl-lookup.c (add_dependency): Remove flags argument. Remove DL_LOOKUP_SCOPE_LOCK handling. (_dl_lookup_symbol_x): Adjust caller. Remove DL_LOOKUP_SCOPE_LOCK handling. * elf/dl-object.c (_dl_new_object): Don't use __rtld_mrlock_initialize. --- libc/elf/dl-object.c.jj 2006-10-31 23:08:30.000000000 +0100 +++ libc/elf/dl-object.c 2007-06-12 15:51:44.000000000 +0200 @@ -85,11 +85,6 @@ _dl_new_object (char *realname, const ch new->l_scope = new->l_scope_mem; new->l_scope_max = sizeof (new->l_scope_mem) / sizeof (new->l_scope_mem[0]); - /* No need to initialize the scope lock if the initializer is zero. */ -#if _RTLD_MRLOCK_INITIALIZER != 0 - __rtld_mrlock_initialize (new->l_scope_lock); -#endif - /* Counter for the scopes we have to handle. */ idx = 0; --- libc/elf/dl-runtime.c.jj 2007-06-07 16:20:58.000000000 +0200 +++ libc/elf/dl-runtime.c 2007-06-12 15:51:44.000000000 +0200 @@ -100,22 +100,11 @@ _dl_fixup ( we are not using any threads (yet). */ int flags = DL_LOOKUP_ADD_DEPENDENCY; if (!RTLD_SINGLE_THREAD_P) - { - THREAD_GSCOPE_SET_FLAG (); - - if (l->l_type == lt_loaded) - { - __rtld_mrlock_lock (l->l_scope_lock); - flags |= DL_LOOKUP_SCOPE_LOCK; - } - } + THREAD_GSCOPE_SET_FLAG (); result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym, l->l_scope, version, ELF_RTYPE_CLASS_PLT, flags, NULL); - if ((flags & DL_LOOKUP_SCOPE_LOCK) != 0) - __rtld_mrlock_unlock (l->l_scope_lock); - /* We are done with the global scope. */ if (!RTLD_SINGLE_THREAD_P) THREAD_GSCOPE_RESET_FLAG (); @@ -203,23 +192,12 @@ _dl_profile_fixup ( we are not using any threads (yet). */ int flags = DL_LOOKUP_ADD_DEPENDENCY; if (!RTLD_SINGLE_THREAD_P) - { - THREAD_GSCOPE_SET_FLAG (); - - if (l->l_type == lt_loaded) - { - __rtld_mrlock_lock (l->l_scope_lock); - flags |= DL_LOOKUP_SCOPE_LOCK; - } - } + THREAD_GSCOPE_SET_FLAG (); result = _dl_lookup_symbol_x (strtab + refsym->st_name, l, &defsym, l->l_scope, version, ELF_RTYPE_CLASS_PLT, flags, NULL); - if ((flags & DL_LOOKUP_SCOPE_LOCK) != 0) - __rtld_mrlock_unlock (l->l_scope_lock); - /* We are done with the global scope. */ if (!RTLD_SINGLE_THREAD_P) THREAD_GSCOPE_RESET_FLAG (); --- libc/elf/dl-support.c.jj 2007-05-21 23:33:49.000000000 +0200 +++ libc/elf/dl-support.c 2007-06-12 15:51:44.000000000 +0200 @@ -135,6 +135,8 @@ int (*_dl_make_stack_executable_hook) (v /* Function in libpthread to wait for termination of lookups. */ void (*_dl_wait_lookup_done) (void); +struct dl_scope_free_list *_dl_scope_free_list; + #ifdef NEED_DL_SYSINFO /* Needed for improved syscall handling on at least x86/Linux. */ uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; --- libc/elf/dl-lookup.c.jj 2007-06-12 14:08:14.000000000 +0200 +++ libc/elf/dl-lookup.c 2007-06-12 15:51:44.000000000 +0200 @@ -86,7 +86,7 @@ dl_new_hash (const char *s) /* Add extra dependency on MAP to UNDEF_MAP. */ static int internal_function -add_dependency (struct link_map *undef_map, struct link_map *map, int flags) +add_dependency (struct link_map *undef_map, struct link_map *map) { struct link_map **list; struct link_map *runp; @@ -99,18 +99,8 @@ add_dependency (struct link_map *undef_m if (undef_map == map) return 0; - /* Make sure nobody can unload the object while we are at it. - If we hold a scope lock drop it now to avoid ABBA locking problems. */ - if ((flags & DL_LOOKUP_SCOPE_LOCK) != 0 && !RTLD_SINGLE_THREAD_P) - { - __rtld_mrlock_unlock (undef_map->l_scope_lock); - - __rtld_lock_lock_recursive (GL(dl_load_lock)); - - __rtld_mrlock_lock (undef_map->l_scope_lock); - } - else - __rtld_lock_lock_recursive (GL(dl_load_lock)); + /* Make sure nobody can unload the object while we are at it. */ + __rtld_lock_lock_recursive (GL(dl_load_lock)); /* Avoid references to objects which cannot be unloaded anyway. */ if (map->l_type != lt_loaded @@ -237,10 +227,9 @@ _dl_lookup_symbol_x (const char *undef_n bump_num_relocations (); - /* No other flag than DL_LOOKUP_ADD_DEPENDENCY and DL_LOOKUP_SCOPE_LOCK - is allowed if we look up a versioned symbol. */ - assert (version == NULL || (flags & ~(DL_LOOKUP_ADD_DEPENDENCY - | DL_LOOKUP_SCOPE_LOCK)) == 0); + /* No other flag than DL_LOOKUP_ADD_DEPENDENCY is allowed if we look + up a versioned symbol. */ + assert (version == NULL || (flags & ~(DL_LOOKUP_ADD_DEPENDENCY)) == 0); size_t i = 0; if (__builtin_expect (skip_map != NULL, 0)) @@ -346,13 +335,11 @@ _dl_lookup_symbol_x (const char *undef_n runtime lookups. */ && (flags & DL_LOOKUP_ADD_DEPENDENCY) != 0 /* Add UNDEF_MAP to the dependencies. */ - && add_dependency (undef_map, current_value.m, flags) < 0) + && add_dependency (undef_map, current_value.m) < 0) /* Something went wrong. Perhaps the object we tried to reference was just removed. Try finding another definition. */ - return _dl_lookup_symbol_x (undef_name, undef_map, ref, - (flags & DL_LOOKUP_SCOPE_LOCK) == 0 - ? symbol_scope : undef_map->l_scope, version, - type_class, flags, skip_map); + return _dl_lookup_symbol_x (undef_name, undef_map, ref, symbol_scope, + version, type_class, flags, skip_map); /* The object is used. */ current_value.m->l_used = 1; --- libc/elf/dl-sym.c.jj 2007-05-21 23:33:49.000000000 +0200 +++ libc/elf/dl-sym.c 2007-06-12 15:51:44.000000000 +0200 @@ -113,29 +113,29 @@ do_sym (void *handle, const char *name, the initial binary. And then the more complex part where the object is dynamically loaded and the scope array can change. */ - if (match->l_type != lt_loaded || RTLD_SINGLE_THREAD_P) + if (RTLD_SINGLE_THREAD_P) result = GLRO(dl_lookup_symbol_x) (name, match, &ref, match->l_scope, vers, 0, flags | DL_LOOKUP_ADD_DEPENDENCY, NULL); else { - __rtld_mrlock_lock (match->l_scope_lock); - struct call_dl_lookup_args args; args.name = name; args.map = match; args.vers = vers; - args.flags = flags | DL_LOOKUP_ADD_DEPENDENCY | DL_LOOKUP_SCOPE_LOCK; + args.flags = flags | DL_LOOKUP_ADD_DEPENDENCY; args.refp = &ref; + THREAD_GSCOPE_SET_FLAG (); + const char *objname; const char *errstring = NULL; bool malloced; int err = GLRO(dl_catch_error) (&objname, &errstring, &malloced, call_dl_lookup, &args); - __rtld_mrlock_unlock (match->l_scope_lock); + THREAD_GSCOPE_RESET_FLAG (); if (__builtin_expect (errstring != NULL, 0)) { --- libc/elf/dl-close.c.jj 2007-06-12 14:08:14.000000000 +0200 +++ libc/elf/dl-close.c 2007-06-13 13:12:00.000000000 +0200 @@ -229,6 +229,7 @@ _dl_close_worker (struct link_map *map) bool do_audit = GLRO(dl_naudit) > 0 && !ns->_ns_loaded->l_auditing; #endif bool unload_any = false; + bool scope_mem_left = false; unsigned int unload_global = 0; unsigned int first_loaded = ~0; for (unsigned int i = 0; i < nloaded; ++i) @@ -405,18 +406,18 @@ _dl_close_worker (struct link_map *map) struct r_scope_elem **old = imap->l_scope; - if (RTLD_SINGLE_THREAD_P) - imap->l_scope = newp; - else - { - __rtld_mrlock_change (imap->l_scope_lock); - imap->l_scope = newp; - __rtld_mrlock_done (imap->l_scope_lock); - } + imap->l_scope = newp; /* No user anymore, we can free it now. */ if (old != imap->l_scope_mem) - free (old); + { + if (_dl_scope_free (old)) + /* If _dl_scope_free used THREAD_GSCOPE_WAIT (), + no need to repeat it. */ + scope_mem_left = false; + } + else + scope_mem_left = true; imap->l_scope_max = new_size; } @@ -485,9 +486,21 @@ _dl_close_worker (struct link_map *map) j++; } ns_msl->r_nlist = j; + } + + if (!RTLD_SINGLE_THREAD_P + && (unload_global + || scope_mem_left + || (GL(dl_scope_free_list) != NULL + && GL(dl_scope_free_list)->count))) + { + struct dl_scope_free_list *fsl; - if (!RTLD_SINGLE_THREAD_P) - THREAD_GSCOPE_WAIT (); + THREAD_GSCOPE_WAIT (); + /* Now we can free any queued old scopes. */ + if ((fsl = GL(dl_scope_free_list)) != NULL) + while (fsl->count > 0) + free (fsl->list[--fsl->count]); } size_t tls_free_start; @@ -786,4 +799,8 @@ libc_freeres_fn (free_mem) free_slotinfo (&GL(dl_tls_dtv_slotinfo_list)->next); } #endif + + void *scope_free_list = GL(dl_scope_free_list); + GL(dl_scope_free_list) = NULL; + free (scope_free_list); } --- libc/elf/dl-open.c.jj 2007-05-21 23:33:49.000000000 +0200 +++ libc/elf/dl-open.c 2007-06-13 13:12:10.000000000 +0200 @@ -165,6 +165,40 @@ add_to_global (struct link_map *new) return 0; } +int +_dl_scope_free (struct r_scope_elem **old) +{ + struct dl_scope_free_list *fsl; +#define DL_SCOPE_FREE_LIST_SIZE (sizeof (fsl->list) / sizeof (fsl->list[0])) + + if (RTLD_SINGLE_THREAD_P) + free (old); + else if ((fsl = GL(dl_scope_free_list)) == NULL) + { + GL(dl_scope_free_list) = fsl = malloc (sizeof (*fsl)); + if (fsl == NULL) + { + THREAD_GSCOPE_WAIT (); + free (old); + return 1; + } + else + { + fsl->list[0] = old; + fsl->count = 1; + } + } + else if (fsl->count < DL_SCOPE_FREE_LIST_SIZE) + fsl->list[fsl->count++] = old; + else + { + THREAD_GSCOPE_WAIT (); + while (fsl->count > 0) + free (fsl->list[--fsl->count]); + return 1; + } + return 0; +} static void dl_open_worker (void *a) @@ -429,17 +463,10 @@ dl_open_worker (void *a) memcpy (newp, imap->l_scope, cnt * sizeof (imap->l_scope[0])); struct r_scope_elem **old = imap->l_scope; - if (RTLD_SINGLE_THREAD_P) - imap->l_scope = newp; - else - { - __rtld_mrlock_change (imap->l_scope_lock); - imap->l_scope = newp; - __rtld_mrlock_done (imap->l_scope_lock); - } + imap->l_scope = newp; if (old != imap->l_scope_mem) - free (old); + _dl_scope_free (old); imap->l_scope_max = new_size; } --- libc/include/link.h.jj 2007-05-21 23:33:49.000000000 +0200 +++ libc/include/link.h 2007-06-13 13:10:50.000000000 +0200 @@ -44,7 +44,6 @@ extern unsigned int la_objopen (struct l #include #include #include -#include /* Some internal data structures of the dynamic linker used in the @@ -220,8 +219,6 @@ struct link_map /* This is an array defining the lookup scope for this link map. There are initially at most three different scope lists. */ struct r_scope_elem **l_scope; - /* We need to protect using the SCOPEREC. */ - __rtld_mrlock_define (, l_scope_lock) /* A similar array, this time only with the local scope. This is used occasionally. */ --- libc/sysdeps/generic/ldsodefs.h.jj 2007-05-21 23:33:53.000000000 +0200 +++ libc/sysdeps/generic/ldsodefs.h 2007-06-13 13:11:09.000000000 +0200 @@ -38,7 +38,6 @@ #include #include #include -#include __BEGIN_DECLS @@ -488,6 +487,12 @@ struct rtld_global EXTERN void (*_dl_wait_lookup_done) (void); + /* Scopes to free after next THREAD_GSCOPE_WAIT (). */ + EXTERN struct dl_scope_free_list + { + size_t count; + struct r_scope_elem **list[50]; + } *_dl_scope_free_list; #ifdef SHARED }; # define __rtld_global_attribute__ @@ -840,9 +845,7 @@ enum DL_LOOKUP_ADD_DEPENDENCY = 1, /* Return most recent version instead of default version for unversioned lookup. */ - DL_LOOKUP_RETURN_NEWEST = 2, - /* Set if the scopr lock in the UNDEF_MAP is taken. */ - DL_LOOKUP_SCOPE_LOCK = 4 + DL_LOOKUP_RETURN_NEWEST = 2 }; /* Lookup versioned symbol. */ @@ -1050,6 +1053,11 @@ extern void *_dl_open (const char *name, Lmid_t nsid, int argc, char *argv[], char *env[]) attribute_hidden; +/* Free or queue for freeing scope OLD. If other threads might be + in the middle of _dl_fixup, _dl_profile_fixup or dl*sym using the + old scope, OLD can't be freed until no thread is using it. */ +extern int _dl_scope_free (struct r_scope_elem **old) attribute_hidden; + /* Add module to slot information data. */ extern void _dl_add_to_slotinfo (struct link_map *l) attribute_hidden; glibc-lowlevelrobustlock.patch: lowlevelrobustlock.c | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 deletions(-) --- NEW FILE glibc-lowlevelrobustlock.patch --- 2007-05-07 Ulrich Drepper * sysdeps/unix/sysv/linux/lowlevelrobustlock.c (__lll_robust_lock_wait): Fix race caused by reloading of futex value. (__lll_robust_timedlock_wait): Likewise. Reported by Alexey Kuznetsov . --- libc/nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c 2 Mar 2006 00:25:10 -0000 1.3 +++ libc/nptl/sysdeps/unix/sysv/linux/lowlevelrobustlock.c 7 May 2007 14:25:01 -0000 1.4 @@ -30,6 +30,10 @@ __lll_robust_lock_wait (int *futex) int oldval = *futex; int tid = THREAD_GETMEM (THREAD_SELF, tid); + /* If the futex changed meanwhile try locking again. */ + if (oldval == 0) + goto try; + do { if (__builtin_expect (oldval & FUTEX_OWNER_DIED, 0)) @@ -41,6 +45,9 @@ __lll_robust_lock_wait (int *futex) continue; lll_futex_wait (futex, newval); + + try: + ; } while ((oldval = atomic_compare_and_exchange_val_acq (futex, tid | FUTEX_WAITERS, @@ -57,6 +64,11 @@ __lll_robust_timedlock_wait (int *futex, return EINVAL; int tid = THREAD_GETMEM (THREAD_SELF, tid); + int oldval = *futex; + + /* If the futex changed meanwhile try locking again. */ + if (oldval == 0) + goto try; do { @@ -80,7 +92,6 @@ __lll_robust_timedlock_wait (int *futex, return ETIMEDOUT; /* Wait. */ - int oldval = *futex; if (__builtin_expect (oldval & FUTEX_OWNER_DIED, 0)) return oldval; @@ -90,8 +101,13 @@ __lll_robust_timedlock_wait (int *futex, continue; lll_futex_timed_wait (futex, newval, &rt); + + try: + ; } - while (atomic_compare_and_exchange_bool_acq (futex, tid | FUTEX_WAITERS, 0)); + while ((oldval = atomic_compare_and_exchange_val_acq (futex, + tid | FUTEX_WAITERS, + 0)) != 0); return 0; } glibc-nonnull.patch: cdefs.h | 6 ++++++ 1 files changed, 6 insertions(+) --- NEW FILE glibc-nonnull.patch --- 2007-05-10 Ulrich Drepper * include/sys/cdefs.h: Redefine __nonnull so that test for incorrect parameters in the libc code itself are not omitted. --- libc/include/sys/cdefs.h 18 Oct 2004 04:17:15 -0000 1.2 +++ libc/include/sys/cdefs.h 10 May 2007 20:15:11 -0000 1.3 @@ -2,6 +2,12 @@ #include +/* The compiler will optimize based on the knowledge the parameter is + not NULL. This will omit tests. A robust implementation cannot allow + this so when compiling glibc itself we ignore this attribute. */ +#undef __nonnull +#define __nonnull(params) + extern void __chk_fail (void) __attribute__ ((__noreturn__)); libc_hidden_proto (__chk_fail) rtld_hidden_proto (__chk_fail) glibc-nscd-get_mapping.patch: nscd_helper.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) --- NEW FILE glibc-nscd-get_mapping.patch --- 2007-05-29 Ulrich Drepper * nscd/nscd_helper.c (get_mapping): Handle short replies instead of crashing. When this is the case or if the reply is malformed, don't try to close the new file descriptor since it does not exist. Patch in part by Guillaume Chazarain . --- libc/nscd/nscd_helper.c 16 Feb 2007 06:34:19 -0000 1.22 +++ libc/nscd/nscd_helper.c 29 May 2007 15:04:02 -0000 1.24 @@ -269,11 +269,12 @@ get_mapping (request_type type, const ch != keylen, 0)) goto out_close2; - mapfd = *(int *) CMSG_DATA (cmsg); + if (__builtin_expect (CMSG_FIRSTHDR (&msg) == NULL + || (CMSG_FIRSTHDR (&msg)->cmsg_len + != CMSG_LEN (sizeof (int))), 0)) + goto out_close2; - if (__builtin_expect (CMSG_FIRSTHDR (&msg)->cmsg_len - != CMSG_LEN (sizeof (int)), 0)) - goto out_close; + mapfd = *(int *) CMSG_DATA (cmsg); struct stat64 st; if (__builtin_expect (strcmp (resdata, key) != 0, 0) glibc-nscd-pad.patch: nscd_helper.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) --- NEW FILE glibc-nscd-pad.patch --- 2007-02-15 Ulrich Drepper * nscd/nscd_helper.c (open_socket): Don't send padding bytes from reqdata. --- libc/nscd/nscd_helper.c 2 Feb 2007 15:53:35 -0000 1.21 +++ libc/nscd/nscd_helper.c 16 Feb 2007 06:34:19 -0000 1.22 @@ -187,6 +187,7 @@ get_mapping (request_type type, const ch request_header req; char key[keylen]; } reqdata; + size_t real_sizeof_reqdata = sizeof (request_header) + keylen; int sock = open_socket (); if (sock < 0) @@ -201,9 +202,9 @@ get_mapping (request_type type, const ch # define MSG_NOSIGNAL 0 # endif if (__builtin_expect (TEMP_FAILURE_RETRY (__send (sock, &reqdata, - sizeof (reqdata), + real_sizeof_reqdata, MSG_NOSIGNAL)) - != sizeof (reqdata), 0)) + != real_sizeof_reqdata, 0)) /* We cannot even write the request. */ goto out_close2; glibc-ppc-ldouble-inout.patch: stdio-common/Makefile | 2 stdio-common/tst-sprintf2.c | 82 +++++++++++++++++++++++++++++ sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c | 73 +++++++++++++++++++++---- sysdeps/ieee754/ldbl-128ibm/printf_fphex.c | 33 ++++++----- 4 files changed, 162 insertions(+), 28 deletions(-) --- NEW FILE glibc-ppc-ldouble-inout.patch --- 2007-06-05 Jakub Jelinek * sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c (__mpn_construct_long_double): Fix conversion where result ought to be smaller than __LDBL_MIN__, or the low double should be denormal. Fix decision where to negate low double - honor round to even rules. * stdio-common/tst-sprintf2.c: Include string.h. (COMPARE_LDBL): Define. (TEST): Also test whether a string hexadecimal float representation can be parsed back to the number. (main): Add a couple of further tests. 2007-06-04 Jakub Jelinek * sysdeps/ieee754/ldbl-128ibm/printf_fphex.c (PRINT_FPHEX_LONG_DOUBLE): Fix printing numbers where lower double is non-zero, but smaller than 2 * __DBL_MIN__. * stdio-common/tst-sprintf2.c: New test. * stdio-common/Makefile (tests): Add tst-sprintf2. --- libc/stdio-common/Makefile 18 Feb 2007 08:25:39 -0000 1.100 +++ libc/stdio-common/Makefile 4 Jun 2007 14:38:03 -0000 1.101 @@ -54,7 +54,7 @@ tests := tstscanf test_rdwr test-popen t tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \ tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15 \ tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \ - tst-fwrite bug16 bug17 + tst-fwrite bug16 bug17 tst-sprintf2 test-srcs = tst-unbputc tst-printf --- libc/stdio-common/tst-sprintf2.c 1 Jan 1970 00:00:00 -0000 +++ libc/stdio-common/tst-sprintf2.c 8 Jun 2007 03:06:43 -0000 1.2 @@ -0,0 +1,82 @@ +#include +#include +#include +#include + +int +main (void) +{ + volatile union { long double l; long long x[2]; } u, v; + char buf[64]; + int result = 0; + +#if LDBL_MANT_DIG == 106 || LDBL_MANT_DIG == 113 +# define COMPARE_LDBL(u, v) \ + ((u).l == (v).l && (u).x[0] == (v).x[0] && (u).x[1] == (v).x[1]) +#else +# define COMPARE_LDBL(u, v) ((u).l == (v).l) +#endif + +#define TEST(val) \ + do \ + { \ + u.l = (val); \ + snprintf (buf, sizeof buf, "%LaL", u.l); \ + if (strcmp (buf, #val) != 0) \ + { \ + printf ("Error on line %d: %s != %s\n", __LINE__, buf, #val); \ + result = 1; \ + } \ + if (sscanf (#val, "%La", &v.l) != 1 || !COMPARE_LDBL (u, v)) \ + { \ + printf ("Error sscanf on line %d: %La != %La\n", __LINE__, \ + u.l, v.l); \ + result = 1; \ + } \ + /* printf ("%s %La %016Lx %016Lx\n", #val, u.l, u.x[0], u.x[1]); */ \ + } \ + while (0) + +#if LDBL_MANT_DIG >= 106 +# if LDBL_MANT_DIG == 106 + TEST (0x0.ffffffffffffp-1022L); + TEST (0x0.ffffffffffff1p-1022L); + TEST (0x0.fffffffffffffp-1022L); +# endif + TEST (0x1p-1022L); + TEST (0x1.0000000000001p-1022L); + TEST (0x1.00000000001e7p-1022L); + TEST (0x1.fffffffffffffp-1022L); + TEST (0x1p-1021L); + TEST (0x1.00000000000008p-1021L); + TEST (0x1.0000000000001p-1021L); + TEST (0x1.00000000000018p-1021L); + TEST (0x1.0000000000000f8p-1017L); + TEST (0x1.0000000000001p-1017L); + TEST (0x1.000000000000108p-1017L); + TEST (0x1.000000000000dcf8p-1013L); + TEST (0x1.000000000000ddp-1013L); + TEST (0x1.000000000000dd08p-1013L); + TEST (0x1.ffffffffffffffffffffffffffp-1L); + TEST (0x1.ffffffffffffffffffffffffff8p-1L); + TEST (0x1p+0L); + TEST (0x1.000000000000000000000000008p+0L); + TEST (0x1.00000000000000000000000001p+0L); + TEST (0x1.000000000000000000000000018p+0L); + TEST (0x1.23456789abcdef123456789abc8p+0L); + TEST (0x1.23456789abcde7123456789abc8p+0L); + TEST (0x1.23456789abcdef123456789abc8p+64L); + TEST (0x1.23456789abcde7123456789abc8p+64L); + TEST (0x1.123456789abcdef123456789p-969L); +# if LDBL_MANT_DIG == 106 + TEST (-0x1.2d71957cc1263bbbeb1d365f1e8p-969L); + TEST (0x1.23456789abcdef0123456789abp-970L); + TEST (0x1.579bde02468acp-1001L); + TEST (0x0.abcdef0123456p-1022L); + TEST (0x1.abcdef0123456p-1022L); + TEST (0x1.abcdef012345678p-1014L); + TEST (0x1.abcdef0123456f8p-1014L); +# endif +#endif + return result; +} --- libc/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c 28 Jan 2006 00:07:25 -0000 1.1 +++ libc/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c 8 Jun 2007 03:06:31 -0000 1.2 @@ -31,19 +31,20 @@ long double __mpn_construct_long_double (mp_srcptr frac_ptr, int expt, int sign) { union ibm_extended_long_double u; - unsigned long hidden2, lzcount; + unsigned long lzcount; unsigned long long hi, lo; + int exponent2; u.ieee.negative = sign; u.ieee.negative2 = sign; u.ieee.exponent = expt + IBM_EXTENDED_LONG_DOUBLE_BIAS; - u.ieee.exponent2 = expt - 53 + IBM_EXTENDED_LONG_DOUBLE_BIAS; + u.ieee.exponent2 = 0; + exponent2 = expt - 53 + IBM_EXTENDED_LONG_DOUBLE_BIAS; #if BITS_PER_MP_LIMB == 32 /* The low order 53 bits (52 + hidden) go into the lower double */ lo = frac_ptr[0]; lo |= (frac_ptr[1] & ((1LL << (53 - 32)) - 1)) << 32; - hidden2 = (frac_ptr[1] >> (52 - 32)) & ((mp_limb_t) 1); /* The high order 53 bits (52 + hidden) go into the upper double */ hi = (frac_ptr[1] >> (53 - 32)) & ((1 << 11) - 1); hi |= ((unsigned long long) frac_ptr[2]) << 11; @@ -51,7 +52,6 @@ __mpn_construct_long_double (mp_srcptr f #elif BITS_PER_MP_LIMB == 64 /* The low order 53 bits (52 + hidden) go into the lower double */ lo = frac_ptr[0] & (((mp_limb_t) 1 << 53) - 1); - hidden2 = (frac_ptr[0] >> 52) & ((mp_limb_t) 1); /* The high order 53 bits (52 + hidden) go into the upper double */ hi = (frac_ptr[0] >> 53) & (((mp_limb_t) 1 << 11) - 1); hi |= (frac_ptr[1] << 11); @@ -59,14 +59,62 @@ __mpn_construct_long_double (mp_srcptr f #error "mp_limb size " BITS_PER_MP_LIMB "not accounted for" #endif + if ((hi & (1LL << 52)) == 0 && (hi | lo) != 0) + { + /* denormal number */ + unsigned long long val = hi ? hi : lo; + + if (sizeof (val) == sizeof (long)) + lzcount = __builtin_clzl (val); + else if ((val >> 32) != 0) + lzcount = __builtin_clzl ((long) (val >> 32)); + else + lzcount = __builtin_clzl ((long) val) + 32; + if (hi) + lzcount = lzcount - 11; + else + lzcount = lzcount + 42; + + if (lzcount > u.ieee.exponent) + { + lzcount = u.ieee.exponent; + u.ieee.exponent = 0; + exponent2 -= lzcount; + } + else + { + u.ieee.exponent -= (lzcount - 1); + exponent2 -= (lzcount - 1); + } + + if (lzcount <= 53) + { + hi = (hi << lzcount) | (lo >> (53 - lzcount)); + lo = (lo << lzcount) & ((1LL << 53) - 1); + } + else + { + hi = lo << (lzcount - 53); + lo = 0; + } + } + if (lo != 0L) { /* hidden2 bit of low double controls rounding of the high double. - If hidden2 is '1' then round up hi and adjust lo (2nd mantissa) + If hidden2 is '1' and either the explicit mantissa is non-zero + or hi is odd, then round up hi and adjust lo (2nd mantissa) plus change the sign of the low double to compensate. */ - if (hidden2) + if ((lo & (1LL << 52)) != 0 + && ((hi & 1) != 0 || (lo & ((1LL << 52) - 1)))) { hi++; + if ((hi & ((1LL << 52) - 1)) == 0) + { + if ((hi & (1LL << 53)) != 0) + hi -= 1LL << 52; + u.ieee.exponent++; + } u.ieee.negative2 = !sign; lo = (1LL << 53) - lo; } @@ -85,17 +133,18 @@ __mpn_construct_long_double (mp_srcptr f if (lzcount > 0) { lo = lo << lzcount; - u.ieee.exponent2 = u.ieee.exponent2 - lzcount; + exponent2 = exponent2 - lzcount; } + if (exponent2 > 0) + u.ieee.exponent2 = exponent2; + else + lo >>= 1 - exponent2; } else - { - u.ieee.negative2 = 0; - u.ieee.exponent2 = 0; - } + u.ieee.negative2 = 0; u.ieee.mantissa3 = lo & 0xffffffffLL; - u.ieee.mantissa2 = (lo >> 32) & 0xffffff; + u.ieee.mantissa2 = (lo >> 32) & 0xfffff; u.ieee.mantissa1 = hi & 0xffffffffLL; u.ieee.mantissa0 = (hi >> 32) & ((1LL << (LDBL_MANT_DIG - 86)) - 1); --- libc/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 28 Jan 2006 00:07:25 -0000 1.1 +++ libc/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 4 Jun 2007 14:37:23 -0000 1.2 @@ -35,21 +35,24 @@ do { \ \ lo = ((long long)eldbl.ieee.mantissa2 << 32) | eldbl.ieee.mantissa3; \ hi = ((long long)eldbl.ieee.mantissa0 << 32) | eldbl.ieee.mantissa1; \ - /* If the lower double is not a denomal or zero then set the hidden \ - 53rd bit. */ \ - if (eldbl.ieee.exponent2 > 0x001) \ - { \ - lo |= (1ULL << 52); \ - lo = lo << 7; /* pre-shift lo to match ieee854. */ \ - /* The lower double is normalized separately from the upper. We \ - may need to adjust the lower manitissa to reflect this. */ \ - ediff = eldbl.ieee.exponent - eldbl.ieee.exponent2; \ - if (ediff > 53) \ - lo = lo >> (ediff-53); \ - } \ - \ - if ((eldbl.ieee.negative != eldbl.ieee.negative2) \ - && ((eldbl.ieee.exponent2 != 0) && (lo != 0L))) \ + lo <<= 7; /* pre-shift lo to match ieee854. */ \ + /* If the lower double is not a denomal or zero then set the hidden \ + 53rd bit. */ \ + if (eldbl.ieee.exponent2 != 0) \ + lo |= (1ULL << (52 + 7)); \ + else \ + lo <<= 1; \ + /* The lower double is normalized separately from the upper. We \ + may need to adjust the lower manitissa to reflect this. */ \ + ediff = eldbl.ieee.exponent - eldbl.ieee.exponent2; \ + if (ediff > 53 + 63) \ + lo = 0; \ + else if (ediff > 53) \ + lo = lo >> (ediff - 53); \ + else if (eldbl.ieee.exponent2 == 0 && ediff < 53) \ + lo = lo << (53 - ediff); \ + if (eldbl.ieee.negative != eldbl.ieee.negative2 \ + && (eldbl.ieee.exponent2 != 0 || lo != 0L)) \ { \ lo = (1ULL << 60) - lo; \ if (hi == 0L) \ glibc-ppc-nextafterl.patch: s_fpclassifyl.c | 35 +++++++++++++------- s_nextafterl.c | 97 +++++++++++++++++++++++++++++++------------------------- 2 files changed, 78 insertions(+), 54 deletions(-) --- NEW FILE glibc-ppc-nextafterl.patch --- 2007-06-04 Jakub Jelinek * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Remove unused ily variable. Fix nextafterl on +-__LDBL_MAX__ and +-Inf. Remove unreachable code at the end. 2007-06-01 Steven Munroe * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c: Correct description of ldbl-128ibm in comment. (fpclassifyl): Correct classification of denormals. * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Correct return value for MIN denormal. Rewrite using long double math too correctly handle denormals and canonicalize the results. --- libc/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c 28 Jan 2006 00:07:25 -0000 1.1 +++ libc/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c 8 Jun 2007 03:08:13 -0000 1.2 @@ -30,14 +30,16 @@ * -NaN fffn nnnn nnnn nnnn xxxx xxxx xxxx xxxx * +Inf 7ff0 0000 0000 0000 xxxx xxxx xxxx xxxx * -Inf fff0 0000 0000 0000 xxxx xxxx xxxx xxxx - * +0 0000 0000 0000 0000 - * -0 8000 0000 0000 0000 - * +normal 001n nnnn nnnn nnnn (smallest) - * -normal 801n nnnn nnnn nnnn (smallest) - * +normal 7fen nnnn nnnn nnnn (largest) - * -normal ffen nnnn nnnn nnnn (largest) - * +denorm 000n nnnn nnnn nnnn - * -denorm 800n nnnn nnnn nnnn + * +0 0000 0000 0000 0000 xxxx xxxx xxxx xxxx + * -0 8000 0000 0000 0000 xxxx xxxx xxxx xxxx + * +normal 0360 0000 0000 0000 0000 0000 0000 0000 (smallest) + * -normal 8360 0000 0000 0000 0000 0000 0000 0000 (smallest) + * +normal 7fef ffff ffff ffff 7c8f ffff ffff fffe (largest) + * +normal ffef ffff ffff ffff fc8f ffff ffff fffe (largest) + * +denorm 0360 0000 0000 0000 8000 0000 0000 0001 (largest) + * -denorm 8360 0000 0000 0000 0000 0000 0000 0001 (largest) + * +denorm 000n nnnn nnnn nnnn xxxx xxxx xxxx xxxx + * -denorm 800n nnnn nnnn nnnn xxxx xxxx xxxx xxxx */ int @@ -59,12 +61,23 @@ ___fpclassifyl (long double x) /* +/-zero or +/- normal or +/- denormal */ if (hx & 0x7fffffffffffffffULL) { /* +/- normal or +/- denormal */ - if ((hx & 0x7ff0000000000000ULL) >= 0x0360000000000000ULL) { + if ((hx & 0x7ff0000000000000ULL) > 0x0360000000000000ULL) { /* +/- normal */ retval = FP_NORMAL; } else { - /* +/- denormal */ - retval = FP_SUBNORMAL; + if ((hx & 0x7ff0000000000000ULL) == 0x0360000000000000ULL) { + if ((lx & 0x7fffffffffffffff) /* lower is non-zero */ + && ((lx^hx) & 0x8000000000000000ULL)) { /* and sign differs */ + /* +/- denormal */ + retval = FP_SUBNORMAL; + } else { + /* +/- normal */ + retval = FP_NORMAL; + } + } else { + /* +/- denormal */ + retval = FP_SUBNORMAL; + } } } else { /* +/- zero */ --- libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c 16 Apr 2007 20:42:16 -0000 1.2 +++ libc/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c 8 Jun 2007 03:08:38 -0000 1.3 @@ -35,7 +35,7 @@ static char rcsid[] = "$NetBSD: $"; long double x,y; #endif { - int64_t hx,hy,ihx,ihy,ilx,ily; + int64_t hx,hy,ihx,ihy,ilx; u_int64_t lx,ly; GET_LDOUBLE_WORDS64(hx,lx,x); @@ -43,7 +43,6 @@ static char rcsid[] = "$NetBSD: $"; ihx = hx&0x7fffffffffffffffLL; /* |hx| */ ilx = lx&0x7fffffffffffffffLL; /* |lx| */ ihy = hy&0x7fffffffffffffffLL; /* |hy| */ - ily = ly&0x7fffffffffffffffLL; /* |ly| */ if((((ihx&0x7ff0000000000000LL)==0x7ff0000000000000LL)&& ((ihx&0x000fffffffffffffLL)!=0)) || /* x is nan */ @@ -54,54 +53,66 @@ static char rcsid[] = "$NetBSD: $"; return y; /* x=y, return y */ if(ihx == 0 && ilx == 0) { /* x == 0 */ long double u; - SET_LDOUBLE_WORDS64(x,hy&0x8000000000000000ULL,1);/* return +-minsubnormal */ - u = math_opt_barrier (u); + hy = (hy & 0x8000000000000000ULL) | 1; + SET_LDOUBLE_WORDS64(x,hy,0ULL);/* return +-minsubnormal */ + u = math_opt_barrier (x); u = u * u; math_force_eval (u); /* raise underflow flag */ return x; } - if(ihx>=0) { /* x > 0 */ - if(ihx>ihy||((ihx==ihy)&&(ilx>ily))) { /* x > y, x -= ulp */ - - if(ilx==0) - hx--; - else - lx--; - } else { /* x < y, x += ulp */ - if((hx==0x7fefffffffffffffLL)&&(lx==0x7c8ffffffffffffeLL)) - { - SET_LDOUBLE_WORDS64(x,0x7ff0000000000000,0x8000000000000000); - return x; - } - else if((hx==0xffefffffffffffffLL)&&(lx==0xfc8ffffffffffffeLL)) - { - SET_LDOUBLE_WORDS64(x,0xfff0000000000000,0x8000000000000000); - return x; - } - else if((lx&0x7fffffffffffffff)==0) hx++; - else - lx++; + + long double u; + if(x > y) { /* x > y, x -= ulp */ + if((hx==0xffefffffffffffffLL)&&(lx==0xfc8ffffffffffffeLL)) + return x+x; /* overflow, return -inf */ + if (hx >= 0x7ff0000000000000LL) { + SET_LDOUBLE_WORDS64(u,0x7fefffffffffffffLL,0x7c8ffffffffffffeLL); + return u; } - } else { /* x < 0 */ - if(ihy>=0||ihx>ihy||((ihx==ihy)&&(ilx>ily))){/* x < y, x -= ulp */ - if((lx&0x7fffffffffffffff)==0) - hx--; - else - lx--; - } else { /* x > y, x += ulp */ - if((lx&0x7fffffffffffffff)==0) hx++; - else - lx++; + if(ihx <= 0x0360000000000000LL) { /* x <= LDBL_MIN */ + u = math_opt_barrier (x); + x -= __LDBL_DENORM_MIN__; + if (ihx < 0x0360000000000000LL + || (hx > 0 && (int64_t) lx <= 0) + || (hx < 0 && (int64_t) lx > 1)) { + u = u * u; + math_force_eval (u); /* raise underflow flag */ + } + return x; } + if (ihx < 0x06a0000000000000LL) { /* ulp will denormal */ + SET_LDOUBLE_WORDS64(u,(hx&0x7ff0000000000000LL),0ULL); + u *= 0x1.0000000000000p-105L; + } else + SET_LDOUBLE_WORDS64(u,(hx&0x7ff0000000000000LL)-0x0690000000000000LL,0ULL); + return x - u; + } else { /* x < y, x += ulp */ + if((hx==0x7fefffffffffffffLL)&&(lx==0x7c8ffffffffffffeLL)) + return x+x; /* overflow, return +inf */ + if ((u_int64_t) hx >= 0xfff0000000000000ULL) { + SET_LDOUBLE_WORDS64(u,0xffefffffffffffffLL,0xfc8ffffffffffffeLL); + return u; + } + if(ihx <= 0x0360000000000000LL) { /* x <= LDBL_MIN */ + u = math_opt_barrier (x); + x += __LDBL_DENORM_MIN__; + if (ihx < 0x0360000000000000LL + || (hx > 0 && (int64_t) lx < 0 && lx != 0x8000000000000001LL) + || (hx < 0 && (int64_t) lx >= 0)) { + u = u * u; + math_force_eval (u); /* raise underflow flag */ + } + if (x == 0.0L) /* handle negative __LDBL_DENORM_MIN__ case */ + x = -0.0L; + return x; + } + if (ihx < 0x06a0000000000000LL) { /* ulp will denormal */ + SET_LDOUBLE_WORDS64(u,(hx&0x7ff0000000000000LL),0ULL); + u *= 0x1.0000000000000p-105L; + } else + SET_LDOUBLE_WORDS64(u,(hx&0x7ff0000000000000LL)-0x0690000000000000LL,0ULL); + return x + u; } - hy = hx&0x7ff0000000000000LL; - if(hy==0x7ff0000000000000LL) return x+x;/* overflow */ - if(hy==0) { - long double u = x * x; /* underflow */ - math_force_eval (u); /* raise underflow flag */ - } - SET_LDOUBLE_WORDS64(x,hx,lx); - return x; } strong_alias (__nextafterl, __nexttowardl) long_double_symbol (libm, __nextafterl, nextafterl); glibc-printf-string-len.patch: vfprintf.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) --- NEW FILE glibc-printf-string-len.patch --- 2007-05-06 Ulrich Drepper * stdio-common/vfprintf.c (process_string_arg): Optimize ridiculous precision in wide char code printing multi-byte string. Reported by Jim Meyering . --- libc/stdio-common/vfprintf.c 5 May 2007 04:41:35 -0000 1.138 +++ libc/stdio-common/vfprintf.c 7 May 2007 03:43:55 -0000 1.139 @@ -1026,10 +1026,11 @@ vfprintf (FILE *s, const CHAR_T *format, const char *mbs = (const char *) string; \ mbstate_t mbstate; \ \ - len = prec != -1 ? (size_t) prec : strlen (mbs); \ + len = prec != -1 ? __strnlen (mbs, (size_t) prec) : strlen (mbs); \ \ /* Allocate dynamically an array which definitely is long \ - enough for the wide character version. */ \ + enough for the wide character version. Each byte in the \ + multi-byte string can produce at most one wide character. */ \ if (__libc_use_alloca (len * sizeof (wchar_t))) \ string = (CHAR_T *) alloca (len * sizeof (wchar_t)); \ else if ((string = (CHAR_T *) malloc (len * sizeof (wchar_t))) \ glibc-rh180432.patch: rtld.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) --- NEW FILE glibc-rh180432.patch --- 2007-06-18 Jakub Jelinek * elf/rtld.c (dl_main): Don't call init_tls more than once. --- libc/elf/rtld.c 12 Feb 2007 15:17:21 -0000 1.370 +++ libc/elf/rtld.c 18 Jun 2007 20:50:34 -0000 1.371 @@ -1400,6 +1400,12 @@ of this helper program; chances are you /* Iterate over all entries in the list. The order is important. */ struct audit_ifaces *last_audit = NULL; struct audit_list *al = audit_list->next; + +#ifdef USE_TLS + /* Since we start using the auditing DSOs right away we need to + initialize the data structures now. */ + tcbp = init_tls (); +#endif do { int tls_idx = GL(dl_tls_max_dtv_idx); @@ -1409,11 +1414,7 @@ of this helper program; chances are you always allocate the static block, we never defer it even if no DF_STATIC_TLS bit is set. The reason is that we know glibc will use the static model. */ - - /* Since we start using the auditing DSOs right away we need to - initialize the data structures now. */ - tcbp = init_tls (); #endif struct dlmopen_args dlmargs; dlmargs.fname = al->name; dlmargs.map = NULL; glibc-rh218035.patch: as_IN | 34 +++++++++++++++++----------------- 1 files changed, 17 insertions(+), 17 deletions(-) --- NEW FILE glibc-rh218035.patch --- 2007-05-07 Ulrich Drepper * locales/as_IN: Fix currency_symbol, abday for Sunday, abmon for January, February, and September to December, mon for January, February, September, and December, am_pm, and name_*. Patch by Amitakhya Phukan . --- libc/localedata/locales/as_IN 30 Jul 2006 22:19:44 -0000 1.2 +++ libc/localedata/locales/as_IN 7 May 2007 13:13:55 -0000 1.3 @@ -610,7 +610,7 @@ END LC_NUMERIC %%%%%%%%%%%%% LC_MONETARY int_curr_symbol "" -currency_symbol "" +currency_symbol "" mon_decimal_point "" mon_thousands_sep "" mon_grouping 3;2 @@ -634,7 +634,7 @@ END LC_MONETARY %%%%%%%%%%%%% LC_TIME -abday "";/ +abday "";/ "";/ "";/ "";/ @@ -648,37 +648,37 @@ day "";/ "";/ "" -abmon "";/ - "";/ +abmon "";/ + "";/ "";/ "";/ "";/ "";/ "";/ "";/ - "";/ - "";/ - "";/ - "" -mon "";/ - "";/ + "";/ + "";/ + "";/ + "" +mon "";/ + "";/ "";/ "";/ "";/ "";/ "";/ "";/ - "";/ + "";/ "";/ "";/ - "" + "" % d_fmt "%e-%m-%Y" d_fmt "" % t_fmt "%I.%M.%S %p" t_fmt "" % d_t_fmt"%e %B, %Y %I.%M.%S %p %Z" d_t_fmt "" -am_pm "";"" +am_pm "";"" % t_fmt_ampm "%I.%M.%S %p" t_fmt_ampm "" END LC_TIME @@ -704,10 +704,10 @@ LC_NAME name_fmt "/ " name_gen "" -name_mr "" -name_mrs "" -name_miss "" -name_ms "" +name_mr "" +name_mrs "" +name_miss "" +name_ms "" END LC_NAME %%%%%%%%%%%%% glibc-rh234946.patch: elf/dl-fini.c | 4 ++-- include/link.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) --- NEW FILE glibc-rh234946.patch --- 2006-12-25 Sripathi Kodi * include/link.h: Declare new flag l_fini_called in struct link_map. * elf/dl-fini.c: In _dl_fini, set l_fini_called to 1 instead of l_init_called to 0. --- libc/elf/dl-fini.c 2006-12-22 01:54:22.000000000 -0600 +++ libc/elf/dl-fini.c 2006-12-24 22:51:52.000000000 -0600 @@ -215,10 +215,10 @@ _dl_fini (void) { l = maps[i]; - if (l->l_init_called) + if (l->l_init_called && !l->l_fini_called) { /* Make sure nothing happens if we are called twice. */ - l->l_init_called = 0; + l->l_fini_called = 1; /* Is there a destructor function? */ if (l->l_info[DT_FINI_ARRAY] != NULL --- libc/include/link.h 2006-12-22 01:54:22.000000000 -0600 +++ libc/include/link.h 2006-12-24 22:53:29.000000000 -0600 @@ -185,6 +185,8 @@ struct link_map unsigned int l_contiguous:1; /* Nonzero if inter-segment holes are mprotected or if no holes are present at all. */ + unsigned int l_fini_called:1; /* Nonzero if _dl_fini has processed + this object */ /* Array with version names. */ unsigned int l_nversions; glibc-rh237711.patch: arena.c | 34 +++++++++++++++++++++++++++------- 1 files changed, 27 insertions(+), 7 deletions(-) --- NEW FILE glibc-rh237711.patch --- 2007-05-07 Ulrich Drepper Jakub Jelinek * malloc/arena.c (heap_info): Add mprotect_size field, adjust pad. (new_heap): Initialize mprotect_size. (grow_heap): When growing, only mprotect from mprotect_size till new_size if mprotect_size is smaller. When shrinking, use PROT_NONE MMAP for __libc_enable_secure only, otherwise use MADV_DONTNEED. --- libc/malloc/arena.c 27 Oct 2006 23:11:43 -0000 1.25 +++ libc/malloc/arena.c 7 May 2007 15:30:57 -0000 1.26 @@ -59,10 +60,12 @@ typedef struct _heap_info { mstate ar_ptr; /* Arena for this heap. */ struct _heap_info *prev; /* Previous heap. */ size_t size; /* Current size in bytes. */ + size_t mprotect_size; /* Size in bytes that has been mprotected + PROT_READ|PROT_WRITE. */ /* Make sure the following data is properly aligned, particularly that sizeof (heap_info) + 2 * SIZE_SZ is a multiple of - MALLOG_ALIGNMENT. */ - char pad[-5 * SIZE_SZ & MALLOC_ALIGN_MASK]; + MALLOC_ALIGNMENT. */ + char pad[-6 * SIZE_SZ & MALLOC_ALIGN_MASK]; } heap_info; /* Get a compile-time error if the heap_info padding is not correct @@ -692,6 +695,7 @@ new_heap(size, top_pad) size_t size, top } h = (heap_info *)p2; h->size = size; + h->mprotect_size = size; THREAD_STAT(stat_n_heaps++); return h; } @@ -714,17 +718,34 @@ grow_heap(h, diff) heap_info *h; long di new_size = (long)h->size + diff; if((unsigned long) new_size > (unsigned long) HEAP_MAX_SIZE) return -1; - if(mprotect((char *)h + h->size, diff, PROT_READ|PROT_WRITE) != 0) - return -2; + if((unsigned long) new_size > h->mprotect_size) { + if (mprotect((char *)h + h->mprotect_size, + (unsigned long) new_size - h->mprotect_size, + PROT_READ|PROT_WRITE) != 0) + return -2; + h->mprotect_size = new_size; + } } else { new_size = (long)h->size + diff; if(new_size < (long)sizeof(*h)) return -1; /* Try to re-map the extra heap space freshly to save memory, and make it inaccessible. */ - if((char *)MMAP((char *)h + new_size, -diff, PROT_NONE, - MAP_PRIVATE|MAP_FIXED) == (char *) MAP_FAILED) - return -2; +#ifdef _LIBC + if (__builtin_expect (__libc_enable_secure, 0)) +#else + if (1) +#endif + { + if((char *)MMAP((char *)h + new_size, -diff, PROT_NONE, + MAP_PRIVATE|MAP_FIXED) == (char *) MAP_FAILED) + return -2; + h->mprotect_size = new_size; + } +#ifdef _LIBC + else + madvise ((char *)h + new_size, -diff, MADV_DONTNEED); +#endif /*fprintf(stderr, "shrink %p %08lx\n", h, new_size);*/ } h->size = new_size; glibc-rh238431.patch: printf_fp.c | 8 +++++++- tfformat.c | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) --- NEW FILE glibc-rh238431.patch --- 2007-04-30 Jakub Jelinek * stdio-common/printf_fp.c (___printf_fp): Don't print negative sign for exponent 0. * stdio-common/tfformat.c (sprint_doubles): Add a new test. --- libc/stdio-common/printf_fp.c 16 Apr 2007 23:28:26 -0000 1.62 +++ libc/stdio-common/printf_fp.c 30 Apr 2007 22:31:21 -0000 1.63 @@ -793,7 +793,7 @@ ___printf_fp (FILE *fp, else { /* This is a special case. We don't need a factor because the - numbers are in the range of 0.0 <= fp < 8.0. We simply + numbers are in the range of 1.0 <= |fp| < 8.0. We simply shift it to the right place and divide it by 1.0 to get the leading digit. (Of course this division is not really made.) */ assert (0 <= exponent && exponent < 3 && @@ -1013,6 +1013,12 @@ ___printf_fp (FILE *fp, { *wstartp = '1'; exponent += expsign == 0 ? 1 : -1; + + /* The above exponent adjustment could lead to 1.0e-00, + e.g. for 0.999999999. Make sure exponent 0 always + uses + sign. */ + if (exponent == 0) + expsign = 0; } else if (intdig_no == dig_max) { --- libc/stdio-common/tfformat.c 16 Apr 2007 23:28:37 -0000 1.9 +++ libc/stdio-common/tfformat.c 30 Apr 2007 22:31:36 -0000 1.10 @@ -4021,6 +4021,8 @@ sprint_double_type sprint_doubles[] = {__LINE__, 0.000098, "0.0001", "%#.0g"}, {__LINE__, 0.0000996, "0.00010", "%#.2g"}, {__LINE__, 9.999999999999999e-05, "0.0001", "%g"}, + {__LINE__, 1.0, "1.000000e+00", "%e"}, + {__LINE__, .9999999999999999, "1.000000e+00", "%e"}, {0 } glibc-rh244545.patch: dlfcn/dlinfo.c | 5 ++--- elf/dl-addr.c | 36 +++++++++++++++++++++--------------- elf/dl-iteratephdr.c | 6 +++--- elf/dl-load.c | 3 +++ elf/dl-open.c | 24 +++++++++++++++++++++--- elf/dl-sym.c | 5 ++--- include/link.h | 3 +++ sysdeps/generic/ldsodefs.h | 24 +++++++++++++----------- 8 files changed, 68 insertions(+), 38 deletions(-) --- NEW FILE glibc-rh244545.patch --- 2007-06-19 Ulrich Drepper * sysdeps/generic/ldsodefs.h (rtld_global): Reorder some elements to fill in holes (rtld_global_ro): Likewise. 2007-06-18 Jakub Jelinek * elf/dl-addr.c (_dl_addr): Skip PT_LOAD checking if l_contiguous. Move PT_LOAD checking to... (_dl_addr_inside_object): ... here, new function. * elf/dl-sym.c (do_sym): If not l_contiguous, call _dl_addr_inside_object. * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise. * dlfcn/dlinfo.c (dlinfo_doit): Likewise. * elf/dl-open.c (dl_open_worker): Likewise. (_dl_addr_inside_object): New function if IS_IN_rtld. * elf/dl-load.c (_dl_map_object_from_fd): Set l_contiguous if no holes are present or are PROT_NONE protected. * include/link.h (struct link_map): Add l_contiguous field. * sysdeps/generic/ldsodefs.h (_dl_addr_inside_object): New prototype. --- libc/dlfcn/dlinfo.c 27 Oct 2006 23:11:41 -0000 1.7 +++ libc/dlfcn/dlinfo.c 19 Jun 2007 22:56:18 -0000 1.8 @@ -56,9 +56,8 @@ dlinfo_doit (void *argsblock) /* Find the highest-addressed object that CALLER is not below. */ for (nsid = 0; nsid < DL_NNS; ++nsid) for (l = GL(dl_ns)[nsid]._ns_loaded; l != NULL; l = l->l_next) - if (caller >= l->l_map_start && caller < l->l_map_end) - /* There must be exactly one DSO for the range of the virtual - memory. Otherwise something is really broken. */ + if (caller >= l->l_map_start && caller < l->l_map_end + && (l->l_contiguous || _dl_addr_inside_object (l, caller))) break; if (l == NULL) --- libc/elf/dl-addr.c 6 May 2007 21:00:04 -0000 1.33 +++ libc/elf/dl-addr.c 19 Jun 2007 22:54:07 -0000 1.34 @@ -134,22 +134,12 @@ _dl_addr (const void *address, Dl_info * /* Find the highest-addressed object that ADDRESS is not below. */ for (Lmid_t ns = 0; ns < DL_NNS; ++ns) for (struct link_map *l = GL(dl_ns)[ns]._ns_loaded; l; l = l->l_next) - if (addr >= l->l_map_start && addr < l->l_map_end) + if (addr >= l->l_map_start && addr < l->l_map_end + && (l->l_contiguous || _dl_addr_inside_object (l, addr))) { - /* Make sure it lies within one of L's segments. */ - int n = l->l_phnum; - const ElfW(Addr) reladdr = addr - l->l_addr; - while (--n >= 0) - if (l->l_phdr[n].p_type == PT_LOAD) - { - if (reladdr - l->l_phdr[n].p_vaddr >= 0 - && reladdr - l->l_phdr[n].p_vaddr < l->l_phdr[n].p_memsz) - { - determine_info (addr, l, info, mapp, symbolp); - result = 1; - goto out; - } - } + determine_info (addr, l, info, mapp, symbolp); + result = 1; + goto out; } out: @@ -158,3 +148,19 @@ _dl_addr (const void *address, Dl_info * return result; } libc_hidden_def (_dl_addr) + +/* Return non-zero if ADDR lies within one of L's segments. */ +int +internal_function +_dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr) +{ + int n = l->l_phnum; + const ElfW(Addr) reladdr = addr - l->l_addr; + + while (--n >= 0) + if (l->l_phdr[n].p_type == PT_LOAD + && reladdr - l->l_phdr[n].p_vaddr >= 0 + && reladdr - l->l_phdr[n].p_vaddr < l->l_phdr[n].p_memsz) + return 1; + return 0; +} --- libc/elf/dl-iteratephdr.c 27 Oct 2006 23:11:41 -0000 1.14 +++ libc/elf/dl-iteratephdr.c 19 Jun 2007 22:54:28 -0000 1.15 @@ -54,9 +54,9 @@ __dl_iterate_phdr (int (*callback) (stru nloaded += GL(dl_ns)[cnt]._ns_nloaded; if (caller >= (const void *) l->l_map_start - && caller < (const void *) l->l_map_end) - /* There must be exactly one DSO for the range of the virtual - memory. Otherwise something is really broken. */ + && caller < (const void *) l->l_map_end + && (l->l_contiguous + || _dl_addr_inside_object (l, (ElfW(Addr)) caller))) ns = cnt; } --- libc/elf/dl-load.c 9 Nov 2006 16:08:30 -0000 1.284 +++ libc/elf/dl-load.c 19 Jun 2007 22:55:42 -0000 1.285 @@ -1223,6 +1223,8 @@ cannot allocate TLS data structures for loadcmds[nloadcmds - 1].mapstart - c->mapend, PROT_NONE); + l->l_contiguous = 1; + goto postmap; } @@ -1242,6 +1244,7 @@ cannot allocate TLS data structures for /* Remember which part of the address space this object uses. */ l->l_map_start = c->mapstart + l->l_addr; l->l_map_end = l->l_map_start + maplength; + l->l_contiguous = !has_holes; while (c < &loadcmds[nloadcmds]) { --- libc/elf/dl-open.c 19 May 2007 07:07:43 -0000 1.140 +++ libc/elf/dl-open.c 19 Jun 2007 22:54:55 -0000 1.141 @@ -201,10 +201,10 @@ dl_open_worker (void *a) for (Lmid_t ns = 0; ns < DL_NNS; ++ns) for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) if (caller_dlopen >= (const void *) l->l_map_start - && caller_dlopen < (const void *) l->l_map_end) + && caller_dlopen < (const void *) l->l_map_end + && (l->l_contiguous + || _dl_addr_inside_object (l, (ElfW(Addr)) caller_dlopen))) { - /* There must be exactly one DSO for the range of the virtual - memory. Otherwise something is really broken. */ assert (ns == l->l_ns); call_map = l; goto found_caller; @@ -662,3 +662,21 @@ show_scope (struct link_map *new) } } #endif + +#ifdef IS_IN_rtld +/* Return non-zero if ADDR lies within one of L's segments. */ +int +internal_function +_dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr) +{ + int n = l->l_phnum; + const ElfW(Addr) reladdr = addr - l->l_addr; + + while (--n >= 0) + if (l->l_phdr[n].p_type == PT_LOAD + && reladdr - l->l_phdr[n].p_vaddr >= 0 + && reladdr - l->l_phdr[n].p_vaddr < l->l_phdr[n].p_memsz) + return 1; + return 0; +} +#endif --- libc/elf/dl-sym.c 15 Jan 2007 20:47:44 -0000 1.34 +++ libc/elf/dl-sym.c 19 Jun 2007 22:53:50 -0000 1.35 @@ -98,10 +98,9 @@ do_sym (void *handle, const char *name, for (Lmid_t ns = 0; ns < DL_NNS; ++ns) for (struct link_map *l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) - if (caller >= l->l_map_start && caller < l->l_map_end) + if (caller >= l->l_map_start && caller < l->l_map_end + && (l->l_contiguous || _dl_addr_inside_object (l, caller))) { - /* There must be exactly one DSO for the range of the virtual - memory. Otherwise something is really broken. */ match = l; break; } --- libc/include/link.h 11 May 2007 06:38:05 -0000 1.44 +++ libc/include/link.h 19 Jun 2007 22:55:55 -0000 1.45 @@ -187,6 +187,9 @@ struct link_map is interested in the PLT interception.*/ unsigned int l_removed:1; /* Nozero if the object cannot be used anymore since it is removed. */ + unsigned int l_contiguous:1; /* Nonzero if inter-segment holes are + mprotected or if no holes are present at + all. */ /* Collected information about own RPATH directories. */ struct r_search_path_struct l_rpath_dirs; --- libc/sysdeps/generic/ldsodefs.h 19 May 2007 07:07:16 -0000 1.135 +++ libc/sysdeps/generic/ldsodefs.h 19 Jun 2007 22:59:32 -0000 1.136 @@ -438,23 +438,23 @@ struct rtld_global EXTERN void (*_dl_rtld_unlock_recursive) (void *); #endif - /* Prevailing state of the stack, PF_X indicating it's executable. */ - EXTERN ElfW(Word) _dl_stack_flags; - /* If loading a shared object requires that we make the stack executable when it was not, we do it by calling this function. It returns an errno code or zero on success. */ EXTERN int (*_dl_make_stack_executable_hook) (void **) internal_function; + /* Prevailing state of the stack, PF_X indicating it's executable. */ + EXTERN ElfW(Word) _dl_stack_flags; + /* Keep the conditional TLS members at the end so the layout of the structure used by !USE_TLS code matches the prefix of the layout in the USE_TLS rtld. Note that `struct link_map' is conditionally defined as well, so _dl_rtld_map needs to be last before this. */ #ifdef USE_TLS - /* Highest dtv index currently needed. */ - EXTERN size_t _dl_tls_max_dtv_idx; /* Flag signalling whether there are gaps in the module ID allocation. */ EXTERN bool _dl_tls_dtv_gaps; + /* Highest dtv index currently needed. */ + EXTERN size_t _dl_tls_max_dtv_idx; /* Information about the dtv slots. */ EXTERN struct dtv_slotinfo_list { @@ -549,15 +549,15 @@ struct rtld_global_ro #define DL_DEBUG_HELP (1 << 9) #define DL_DEBUG_PRELINK (1 << 10) - /* Cached value of `getpagesize ()'. */ - EXTERN size_t _dl_pagesize; - /* OS version. */ EXTERN unsigned int _dl_osversion; /* Platform name. */ EXTERN const char *_dl_platform; EXTERN size_t _dl_platformlen; + /* Cached value of `getpagesize ()'. */ + EXTERN size_t _dl_pagesize; + /* Copy of the content of `_dl_main_searchlist' at startup time. */ EXTERN struct r_scope_elem _dl_initial_searchlist; @@ -586,9 +586,6 @@ struct rtld_global_ro /* Expected cache ID. */ EXTERN int _dl_correct_cache_id; - /* 0 if internal pointer values should not be guarded, 1 if they should. */ - EXTERN int _dl_pointer_guard; - /* Mask for hardware capabilities that are available. */ EXTERN uint64_t _dl_hwcap; @@ -672,6 +669,9 @@ struct rtld_global_ro /* List of auditing interfaces. */ struct audit_ifaces *_dl_audit; unsigned int _dl_naudit; + + /* 0 if internal pointer values should not be guarded, 1 if they should. */ + EXTERN int _dl_pointer_guard; }; # define __rtld_global_attribute__ # ifdef IS_IN_rtld @@ -1085,6 +1085,8 @@ extern struct link_map *_dl_update_sloti but never touch anything. Return null if it's not allocated yet. */ extern void *_dl_tls_get_addr_soft (struct link_map *l) internal_function; +extern int _dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr) + internal_function attribute_hidden; __END_DECLS glibc-sem_timedwait.patch: Makefile | 2 sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S | 9 +- sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S | 8 +- tst-sem10.c | 88 ++++++++++++++++++++++ 4 files changed, 98 insertions(+), 9 deletions(-) --- NEW FILE glibc-sem_timedwait.patch --- 2007-05-25 Ulrich Drepper * Makefile (tests): Add tst-sem10. * tst-sem10.c: New file. 2007-05-25 Ulrich Drepper Jakub Jelinek * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): Move __pthread_enable_asynccancel right before futex syscall. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): Likewise. --- libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S 9 Apr 2006 02:42:29 -0000 1.8 +++ libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S 25 May 2007 19:27:03 -0000 1.9 @@ -79,10 +79,7 @@ sem_timedwait: jae 6f cfi_offset(3, -16) /* %ebx */ -7: call __pthread_enable_asynccancel - movl %eax, 8(%esp) - - xorl %ecx, %ecx +7: xorl %ecx, %ecx movl %esp, %ebx movl %ecx, %edx movl $SYS_gettimeofday, %eax @@ -105,6 +102,10 @@ sem_timedwait: movl %ecx, (%esp) /* Store relative timeout. */ movl %edx, 4(%esp) + + call __pthread_enable_asynccancel + movl %eax, 8(%esp) + movl 28(%esp), %ebx xorl %ecx, %ecx movl %esp, %esi --- libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S 15 May 2007 06:24:23 -0000 1.11 +++ libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S 25 May 2007 19:27:03 -0000 1.12 @@ -73,10 +73,7 @@ sem_timedwait: cfi_offset(14, -24) /* %r14 */ jae 6f -7: call __pthread_enable_asynccancel - movl %eax, 16(%rsp) - - xorl %esi, %esi +7: xorl %esi, %esi movq %rsp, %rdi movq $VSYSCALL_ADDR_vgettimeofday, %rax callq *%rax @@ -99,6 +96,9 @@ sem_timedwait: movq %rdi, (%rsp) /* Store relative timeout. */ movq %rsi, 8(%rsp) + call __pthread_enable_asynccancel + movl %eax, 16(%rsp) + movq %rsp, %r10 movq %r12, %rdi xorl %esi, %esi --- libc/nptl/Makefile 18 May 2007 00:52:02 -0000 1.189 +++ libc/nptl/Makefile 26 May 2007 01:30:09 -0000 1.190 @@ -218,7 +218,7 @@ tests = tst-typesizes \ tst-once1 tst-once2 tst-once3 tst-once4 \ tst-key1 tst-key2 tst-key3 tst-key4 \ tst-sem1 tst-sem2 tst-sem3 tst-sem4 tst-sem5 tst-sem6 tst-sem7 \ - tst-sem8 tst-sem9 \ + tst-sem8 tst-sem9 tst-sem10 \ tst-barrier1 tst-barrier2 tst-barrier3 tst-barrier4 \ tst-align tst-align2 tst-align3 \ tst-basic1 tst-basic2 tst-basic3 tst-basic4 tst-basic5 tst-basic6 \ --- libc/nptl/tst-sem10.c 1 Jan 1970 00:00:00 -0000 +++ libc/nptl/tst-sem10.c 26 May 2007 01:23:04 -0000 1.1 @@ -0,0 +1,88 @@ +/* Copyright (C) 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek , 2007. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include +#include +#include +#include +#include +#include +#include + + +static int +do_test (void) +{ + sem_t s; + if (sem_init (&s, 0, 0) == -1) + { + puts ("sem_init failed"); + return 1; + } + + struct timeval tv; + if (gettimeofday (&tv, NULL) != 0) + { + puts ("gettimeofday failed"); + return 1; + } + + struct timespec ts; + TIMEVAL_TO_TIMESPEC (&tv, &ts); + + /* Set ts to yesterday. */ + ts.tv_sec -= 86400; + + int type_before; + if (pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, &type_before) != 0) + { + puts ("first pthread_setcanceltype failed"); + return 1; + } + + errno = 0; + if (TEMP_FAILURE_RETRY (sem_timedwait (&s, &ts)) != -1) + { + puts ("sem_timedwait succeeded"); + return 1; + } + if (errno != ETIMEDOUT) + { + printf ("sem_timedwait return errno = %d instead of ETIMEDOUT\n", + errno); + return 1; + } + + int type_after; + if (pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, &type_after) != 0) + { + puts ("second pthread_setcanceltype failed"); + return 1; + } + if (type_after != PTHREAD_CANCEL_DEFERRED) + { + puts ("sem_timedwait changed cancellation type"); + return 1; + } + + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" glibc-x86_64-memcpy.patch: unix/sysv/linux/x86_64/sysconf.c | 319 --------------------- x86_64/Makefile | 4 x86_64/cacheinfo.c | 451 ++++++++++++++++++++++++++++++ x86_64/memcpy.S | 571 +++++++++++++++++++++++++++++++++++---- x86_64/mempcpy.S | 1 5 files changed, 982 insertions(+), 364 deletions(-) --- NEW FILE glibc-x86_64-memcpy.patch --- 2007-05-21 Ulrich Drepper * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct value as second parameter to handle_intel. * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Move cache information handling to ... * sysdeps/x86_64/cacheinfo.c: ... here. New file. * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add cacheinfo. * sysdeps/x86_64/memcpy.S: Complete rewrite. * sysdeps/x86_64/mempcpy.S: Adjust appropriately. Patch by Evandro Menezes . --- libc/sysdeps/x86_64/Makefile 16 Aug 2004 06:46:14 -0000 1.4 +++ libc/sysdeps/x86_64/Makefile 21 May 2007 19:20:45 -0000 1.5 @@ -9,3 +9,7 @@ endif ifeq ($(subdir),gmon) sysdep_routines += _mcount endif + +ifeq ($(subdir),string) +sysdep_routines += cacheinfo +endif --- libc/sysdeps/x86_64/cacheinfo.c 1 Jan 1970 00:00:00 -0000 +++ libc/sysdeps/x86_64/cacheinfo.c 21 May 2007 22:37:45 -0000 1.2 @@ -0,0 +1,451 @@ +/* x86_64 cache info. + Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. +*/ + +#include +#include +#include +#include + +static const struct intel_02_cache_info +{ + unsigned int idx; + int name; + long int size; + long int assoc; + long int linesize; +} intel_02_known [] = + { + { 0x06, _SC_LEVEL1_ICACHE_SIZE, 8192, 4, 32 }, + { 0x08, _SC_LEVEL1_ICACHE_SIZE, 16384, 4, 32 }, + { 0x0a, _SC_LEVEL1_DCACHE_SIZE, 8192, 2, 32 }, + { 0x0c, _SC_LEVEL1_DCACHE_SIZE, 16384, 4, 32 }, + { 0x22, _SC_LEVEL3_CACHE_SIZE, 524288, 4, 64 }, + { 0x23, _SC_LEVEL3_CACHE_SIZE, 1048576, 8, 64 }, + { 0x25, _SC_LEVEL3_CACHE_SIZE, 2097152, 8, 64 }, + { 0x29, _SC_LEVEL3_CACHE_SIZE, 4194304, 8, 64 }, + { 0x2c, _SC_LEVEL1_DCACHE_SIZE, 32768, 8, 64 }, + { 0x30, _SC_LEVEL1_ICACHE_SIZE, 32768, 8, 64 }, + { 0x39, _SC_LEVEL2_CACHE_SIZE, 131072, 4, 64 }, + { 0x3a, _SC_LEVEL2_CACHE_SIZE, 196608, 6, 64 }, + { 0x3b, _SC_LEVEL2_CACHE_SIZE, 131072, 2, 64 }, + { 0x3c, _SC_LEVEL2_CACHE_SIZE, 262144, 4, 64 }, + { 0x3d, _SC_LEVEL2_CACHE_SIZE, 393216, 6, 64 }, + { 0x3e, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 64 }, + { 0x41, _SC_LEVEL2_CACHE_SIZE, 131072, 4, 32 }, + { 0x42, _SC_LEVEL2_CACHE_SIZE, 262144, 4, 32 }, + { 0x43, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 32 }, + { 0x44, _SC_LEVEL2_CACHE_SIZE, 1048576, 4, 32 }, + { 0x45, _SC_LEVEL2_CACHE_SIZE, 2097152, 4, 32 }, + { 0x46, _SC_LEVEL3_CACHE_SIZE, 4194304, 4, 64 }, + { 0x47, _SC_LEVEL3_CACHE_SIZE, 8388608, 8, 64 }, + { 0x49, _SC_LEVEL2_CACHE_SIZE, 4194304, 16, 64 }, + { 0x4a, _SC_LEVEL3_CACHE_SIZE, 6291456, 12, 64 }, + { 0x4b, _SC_LEVEL3_CACHE_SIZE, 8388608, 16, 64 }, + { 0x4c, _SC_LEVEL3_CACHE_SIZE, 12582912, 12, 64 }, + { 0x4d, _SC_LEVEL3_CACHE_SIZE, 16777216, 16, 64 }, + { 0x60, _SC_LEVEL1_DCACHE_SIZE, 16384, 8, 64 }, + { 0x66, _SC_LEVEL1_DCACHE_SIZE, 8192, 4, 64 }, + { 0x67, _SC_LEVEL1_DCACHE_SIZE, 16384, 4, 64 }, + { 0x68, _SC_LEVEL1_DCACHE_SIZE, 32768, 4, 64 }, + { 0x78, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 }, + { 0x79, _SC_LEVEL2_CACHE_SIZE, 131072, 8, 64 }, + { 0x7a, _SC_LEVEL2_CACHE_SIZE, 262144, 8, 64 }, + { 0x7b, _SC_LEVEL2_CACHE_SIZE, 524288, 8, 64 }, + { 0x7c, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 }, + { 0x7d, _SC_LEVEL2_CACHE_SIZE, 2097152, 8, 64 }, + { 0x7f, _SC_LEVEL2_CACHE_SIZE, 524288, 2, 64 }, + { 0x82, _SC_LEVEL2_CACHE_SIZE, 262144, 8, 32 }, + { 0x83, _SC_LEVEL2_CACHE_SIZE, 524288, 8, 32 }, + { 0x84, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 32 }, + { 0x85, _SC_LEVEL2_CACHE_SIZE, 2097152, 8, 32 }, + { 0x86, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 64 }, + { 0x87, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 }, + }; + +#define nintel_02_known (sizeof (intel_02_known) / sizeof (intel_02_known [0])) + +static int +intel_02_known_compare (const void *p1, const void *p2) +{ + const struct intel_02_cache_info *i1; + const struct intel_02_cache_info *i2; + + i1 = (const struct intel_02_cache_info *) p1; + i2 = (const struct intel_02_cache_info *) p2; + + if (i1->idx == i2->idx) + return 0; + + return i1->idx < i2->idx ? -1 : 1; +} + + +static long int +__attribute__ ((noinline)) +intel_check_word (int name, unsigned int value, bool *has_level_2, + bool *no_level_2_or_3) +{ + if ((value & 0x80000000) != 0) + /* The register value is reserved. */ + return 0; + + /* Fold the name. The _SC_ constants are always in the order SIZE, + ASSOC, LINESIZE. */ + int folded_name = (_SC_LEVEL1_ICACHE_SIZE + + ((name - _SC_LEVEL1_ICACHE_SIZE) / 3) * 3); + + while (value != 0) + { + unsigned int byte = value & 0xff; + + if (byte == 0x40) + { + *no_level_2_or_3 = true; + + if (folded_name == _SC_LEVEL3_CACHE_SIZE) + /* No need to look further. */ + break; + } + else + { + if (byte == 0x49 && folded_name == _SC_LEVEL3_CACHE_SIZE) + { + /* Intel reused this value. For family 15, model 6 it + specifies the 3rd level cache. Otherwise the 2nd + level cache. */ + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (1)); + + unsigned int family = ((eax >> 20) & 0xff) + ((eax >> 8) & 0xf); + unsigned int model = ((((eax >>16) & 0xf) << 4) + + ((eax >> 4) & 0xf)); + if (family == 15 && model == 6) + { + /* The level 3 cache is encoded for this model like + the level 2 cache is for other models. Pretend + the caller asked for the level 2 cache. */ + name = (_SC_LEVEL2_CACHE_SIZE + + (name - _SC_LEVEL3_CACHE_SIZE)); + folded_name = _SC_LEVEL3_CACHE_SIZE; + } + } + + struct intel_02_cache_info *found; + struct intel_02_cache_info search; + + search.idx = byte; + found = bsearch (&search, intel_02_known, nintel_02_known, + sizeof (intel_02_known[0]), intel_02_known_compare); + if (found != NULL) + { + if (found->name == folded_name) + { + unsigned int offset = name - folded_name; + + if (offset == 0) + /* Cache size. */ + return found->size; + if (offset == 1) + return found->assoc; + + assert (offset == 2); + return found->linesize; + } + + if (found->name == _SC_LEVEL2_CACHE_SIZE) + *has_level_2 = true; + } + } + + /* Next byte for the next round. */ + value >>= 8; + } + + /* Nothing found. */ + return 0; +} + + +static long int __attribute__ ((noinline)) +handle_intel (int name, unsigned int maxidx) +{ + assert (maxidx >= 2); + + /* OK, we can use the CPUID instruction to get all info about the + caches. */ + unsigned int cnt = 0; + unsigned int max = 1; + long int result = 0; + bool no_level_2_or_3 = false; + bool has_level_2 = false; + + while (cnt++ < max) + { + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (2)); + + /* The low byte of EAX in the first round contain the number of + rounds we have to make. At least one, the one we are already + doing. */ + if (cnt == 1) + { + max = eax & 0xff; + eax &= 0xffffff00; + } + + /* Process the individual registers' value. */ + result = intel_check_word (name, eax, &has_level_2, &no_level_2_or_3); + if (result != 0) + return result; + + result = intel_check_word (name, ebx, &has_level_2, &no_level_2_or_3); + if (result != 0) + return result; + + result = intel_check_word (name, ecx, &has_level_2, &no_level_2_or_3); + if (result != 0) + return result; + + result = intel_check_word (name, edx, &has_level_2, &no_level_2_or_3); + if (result != 0) + return result; + } + + if (name >= _SC_LEVEL2_CACHE_SIZE && name <= _SC_LEVEL3_CACHE_LINESIZE + && no_level_2_or_3) + return -1; + + return 0; +} + + +static long int __attribute__ ((noinline)) +handle_amd (int name) +{ + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (0x80000000)); + + if (name >= _SC_LEVEL3_CACHE_SIZE) + return 0; + + unsigned int fn = 0x80000005 + (name >= _SC_LEVEL2_CACHE_SIZE); + if (eax < fn) + return 0; + + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (fn)); + + if (name < _SC_LEVEL1_DCACHE_SIZE) + { + name += _SC_LEVEL1_DCACHE_SIZE - _SC_LEVEL1_ICACHE_SIZE; + ecx = edx; + } + + switch (name) + { + case _SC_LEVEL1_DCACHE_SIZE: + return (ecx >> 14) & 0x3fc00; + case _SC_LEVEL1_DCACHE_ASSOC: + ecx >>= 16; + if ((ecx & 0xff) == 0xff) + /* Fully associative. */ + return (ecx << 2) & 0x3fc00; + return ecx & 0xff; + case _SC_LEVEL1_DCACHE_LINESIZE: + return ecx & 0xff; + case _SC_LEVEL2_CACHE_SIZE: + return (ecx & 0xf000) == 0 ? 0 : (ecx >> 6) & 0x3fffc00; + case _SC_LEVEL2_CACHE_ASSOC: + ecx >>= 12; + switch (ecx & 0xf) + { + case 0: + case 1: + case 2: + case 4: + return ecx & 0xf; + case 6: + return 8; + case 8: + return 16; + case 0xf: + return (ecx << 6) & 0x3fffc00; + default: + return 0; + } + case _SC_LEVEL2_CACHE_LINESIZE: + return (ecx & 0xf000) == 0 ? 0 : ecx & 0xff; + default: + assert (! "cannot happen"); + } + return -1; +} + + +/* Get the value of the system variable NAME. */ +long int +attribute_hidden +__cache_sysconf (int name) +{ + /* Find out what brand of processor. */ + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (0)); + + /* This spells out "GenuineIntel". */ + if (ebx == 0x756e6547 && ecx == 0x6c65746e && edx == 0x49656e69) + return handle_intel (name, eax); + + /* This spells out "AuthenticAMD". */ + if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65) + return handle_amd (name); + + // XXX Fill in more vendors. + + /* CPU not known, we have no information. */ + return 0; +} + + +/* Half the core cache size for use in memory and string routines, typically + L1 size. */ +long int __x86_64_core_cache_size_half attribute_hidden = 32 * 1024 / 2; +/* Shared cache size for use in memory and string routines, typically + L2 or L3 size. */ +long int __x86_64_shared_cache_size_half attribute_hidden = 1024 * 1024 / 2; +/* PREFETCHW support flag for use in memory and string routines. */ +int __x86_64_prefetchw attribute_hidden; + + +static void +__attribute__((constructor)) +init_cacheinfo (void) +{ + /* Find out what brand of processor. */ + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + int max_cpuid; + int max_cpuid_ex; + long int core = -1; + long int shared = -1; + unsigned int level; + unsigned int threads = 0; + + asm volatile ("cpuid" + : "=a" (max_cpuid), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (0)); + + /* This spells out "GenuineIntel". */ + if (ebx == 0x756e6547 && ecx == 0x6c65746e && edx == 0x49656e69) + { + core = handle_intel (_SC_LEVEL1_DCACHE_SIZE, max_cpuid); + + /* Try L3 first. */ + level = 3; + shared = handle_intel (_SC_LEVEL3_CACHE_SIZE, max_cpuid); + + if (shared <= 0) + { + /* Try L2 otherwise. */ + level = 2; + shared = handle_intel (_SC_LEVEL2_CACHE_SIZE, max_cpuid); + } + + /* Figure out the number of logical threads that share the + highest cache level. */ + if (max_cpuid >= 4) + { + int i = 0; + + /* Query until desired cache level is enumerated. */ + do + { + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (4), "2" (i++)); + } + while (((eax >> 5) & 0x7) != level); + + threads = ((eax >> 14) & 0x3ff) + 1; + } + else + { + /* Assume that all logical threads share the highest cache level. */ + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (1)); + + threads = (ebx >> 16) & 0xff; + } + + /* Cap usage of highest cache level to the number of supported + threads. */ + if (shared > 0 && threads > 0) + shared /= threads; + } + /* This spells out "AuthenticAMD". */ + else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65) + { + core = handle_amd (_SC_LEVEL1_DCACHE_SIZE); + shared = handle_amd (_SC_LEVEL2_CACHE_SIZE); + + asm volatile ("cpuid" + : "=a" (max_cpuid_ex), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (0x80000000)); + + if (max_cpuid_ex >= 0x80000001) + { + asm volatile ("cpuid" + : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) + : "0" (0x80000001)); + /* PREFETCHW || 3DNow! */ + if ((ecx & 0x100) || (edx & 0x80000000)) + __x86_64_prefetchw = -1; + } + } + + if (core > 0) + __x86_64_core_cache_size_half = core / 2; + + if (shared > 0) + __x86_64_shared_cache_size_half = shared / 2; +} --- libc/sysdeps/x86_64/memcpy.S 18 Oct 2004 04:17:08 -0000 1.5 +++ libc/sysdeps/x86_64/memcpy.S 21 May 2007 19:21:01 -0000 1.6 @@ -1,7 +1,10 @@ -/* Highly optimized version for x86-64. - Copyright (C) 1997, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. +/* + Optimized memcpy for x86-64. + + Copyright (C) 2007 Free Software Foundation, Inc. + Contributed by Evandro Menezes , 2007. + This file is part of the GNU C Library. - Based on i586 version contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -16,86 +19,556 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ + 02111-1307 USA. +*/ #include #include "asm-syntax.h" -#include "bp-sym.h" -#include "bp-asm.h" -/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy', - and the return value is the byte after the last one copied in - the destination. */ -#define MEMPCPY_P (defined memcpy) +/* Stack slots in the red-zone. */ + +#ifdef USE_AS_MEMPCPY +# define RETVAL (0) +#else +# define RETVAL (-8) +#endif +#define SAVE0 (RETVAL - 8) +#define SAVE1 (SAVE0 - 8) +#define SAVE2 (SAVE1 - 8) +#define SAVE3 (SAVE2 - 8) .text + #if defined PIC && !defined NOT_IN_libc ENTRY (__memcpy_chk) + cmpq %rdx, %rcx jb HIDDEN_JUMPTARGET (__chk_fail) + END (__memcpy_chk) #endif -ENTRY (BP_SYM (memcpy)) - /* Cutoff for the big loop is a size of 32 bytes since otherwise - the loop will never be entered. */ + +ENTRY(memcpy) /* (void *, const void*, size_t) */ + +/* Handle tiny blocks. */ + +L(1try): /* up to 32B */ cmpq $32, %rdx - movq %rdx, %rcx -#if !MEMPCPY_P - movq %rdi, %r10 /* Save value. */ +#ifndef USE_AS_MEMPCPY + movq %rdi, %rax /* save return value */ #endif + jae L(1after) - /* We need this in any case. */ - cld +L(1): /* 1-byte once */ + testb $1, %dl + jz L(1a) - jbe 1f + movzbl (%rsi), %ecx + movb %cl, (%rdi) - /* Align destination. */ - movq %rdi, %rax - negq %rax - andq $7, %rax - subq %rax, %rcx - xchgq %rax, %rcx + incq %rsi + incq %rdi + + .p2align 4,, 4 + +L(1a): /* 2-byte once */ + testb $2, %dl + jz L(1b) + + movzwl (%rsi), %ecx + movw %cx, (%rdi) - rep; movsb + addq $2, %rsi + addq $2, %rdi - movq %rax, %rcx - subq $32, %rcx - js 2f + .p2align 4,, 4 + +L(1b): /* 4-byte once */ + testb $4, %dl + jz L(1c) + + movl (%rsi), %ecx + movl %ecx, (%rdi) + + addq $4, %rsi + addq $4, %rdi + + .p2align 4,, 4 + +L(1c): /* 8-byte once */ + testb $8, %dl + jz L(1d) + + movq (%rsi), %rcx + movq %rcx, (%rdi) + + addq $8, %rsi + addq $8, %rdi + + .p2align 4,, 4 + +L(1d): /* 16-byte loop */ + andl $0xf0, %edx + jz L(exit) .p2align 4 -3: - /* Now correct the loop counter. Please note that in the following - code the flags are not changed anymore. */ - subq $32, %rcx +L(1loop): + movq (%rsi), %rcx + movq 8 (%rsi), %r8 + movq %rcx, (%rdi) + movq %r8, 8 (%rdi) + + subl $16, %edx + + leaq 16 (%rsi), %rsi + leaq 16 (%rdi), %rdi + + jnz L(1loop) + + .p2align 4,, 4 + +L(exit): /* exit */ +#ifdef USE_AS_MEMPCPY + movq %rdi, %rax /* return value */ +#else + rep +#endif + retq + + .p2align 4 + +L(1after): +#ifndef USE_AS_MEMPCPY + movq %rax, RETVAL (%rsp) /* save return value */ +#endif + +/* Align to the natural word size. */ + +L(aligntry): + movl %esi, %ecx /* align by destination */ + + andl $7, %ecx + jz L(alignafter) /* already aligned */ + +L(align): /* align */ + leaq -8 (%rcx, %rdx), %rdx /* calculate remaining bytes */ + subl $8, %ecx + + .p2align 4 + +L(alignloop): /* 1-byte alignment loop */ + movzbl (%rsi), %eax + movb %al, (%rdi) + + incl %ecx + + leaq 1 (%rsi), %rsi + leaq 1 (%rdi), %rdi + + jnz L(alignloop) + + .p2align 4 + +L(alignafter): + +/* Loop to handle mid-sized blocks. */ + +L(32try): /* up to 1KB */ + cmpq $1024, %rdx + ja L(32after) + +L(32): /* 32-byte loop */ + movl %edx, %ecx + shrl $5, %ecx + jz L(32skip) + + .p2align 4 + +L(32loop): + decl %ecx movq (%rsi), %rax - movq 8(%rsi), %rdx - movq 16(%rsi), %r8 - movq 24(%rsi), %r9 + movq 8 (%rsi), %r8 + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + movq %rax, (%rdi) - movq %rdx, 8(%rdi) - movq %r8, 16(%rdi) - movq %r9, 24(%rdi) + movq %r8, 8 (%rdi) + movq %r9, 16 (%rdi) + movq %r10, 24 (%rdi) leaq 32(%rsi), %rsi leaq 32(%rdi), %rdi - jns 3b + jz L(32skip) /* help out smaller blocks */ + + decl %ecx + + movq (%rsi), %rax + movq 8 (%rsi), %r8 + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + + movq %rax, (%rdi) + movq %r8, 8 (%rdi) + movq %r9, 16 (%rdi) + movq %r10, 24 (%rdi) + + leaq 32 (%rsi), %rsi + leaq 32 (%rdi), %rdi + + jnz L(32loop) + + .p2align 4 - /* Correct extra loop counter modification. */ -2: addq $32, %rcx -1: rep; movsb +L(32skip): + andl $31, %edx /* check for left overs */ +#ifdef USE_AS_MEMPCPY + jnz L(1) -#if MEMPCPY_P - movq %rdi, %rax /* Set return value. */ + movq %rdi, %rax #else - movq %r10, %rax /* Set return value. */ + movq RETVAL (%rsp), %rax + jnz L(1) + rep +#endif + retq /* exit */ + + .p2align 4 + +L(32after): + +/* + In order to minimize code-size in RTLD, algorithms specific for + larger blocks are excluded when building for RTLD. +*/ + +/* Handle large blocks smaller than 1/2 L1. */ + +L(fasttry): /* first 1/2 L1 */ +#ifndef NOT_IN_libc /* only up to this algorithm outside of libc.so */ + movq __x86_64_core_cache_size_half (%rip), %r11 + cmpq %rdx, %r11 /* calculate the smaller of */ + cmovaq %rdx, %r11 /* remaining bytes and 1/2 L1 */ +#endif + +L(fast): /* good ol' MOVS */ +#ifndef NOT_IN_libc + movq %r11, %rcx + andq $-8, %r11 +#else + movq %rdx, %rcx +#endif + shrq $3, %rcx + jz L(fastskip) + + rep + movsq + + .p2align 4,, 4 + +L(fastskip): +#ifndef NOT_IN_libc + subq %r11, %rdx /* check for more */ + testq $-8, %rdx + jnz L(fastafter) #endif - ret -END (BP_SYM (memcpy)) -#if !MEMPCPY_P + andl $7, %edx /* check for left overs */ +#ifdef USE_AS_MEMPCPY + jnz L(1) + + movq %rdi, %rax +#else + movq RETVAL (%rsp), %rax + jnz L(1) + + rep +#endif + retq /* exit */ + +#ifndef NOT_IN_libc /* none of the algorithms below for RTLD */ + + .p2align 4 + +L(fastafter): + +/* Handle large blocks smaller than 1/2 L2. */ + +L(pretry): /* first 1/2 L2 */ + movq __x86_64_shared_cache_size_half (%rip), %r8 + cmpq %rdx, %r8 /* calculate the lesser of */ + cmovaq %rdx, %r8 /* remaining bytes and 1/2 L2 */ + +L(pre): /* 64-byte with prefetching */ + movq %r8, %rcx + andq $-64, %r8 + shrq $6, %rcx + jz L(preskip) + + movq %r14, SAVE0 (%rsp) + cfi_rel_offset (%r14, SAVE0) + movq %r13, SAVE1 (%rsp) + cfi_rel_offset (%r13, SAVE1) + movq %r12, SAVE2 (%rsp) + cfi_rel_offset (%r12, SAVE2) + movq %rbx, SAVE3 (%rsp) + cfi_rel_offset (%rbx, SAVE3) + + cmpl $0, __x86_64_prefetchw (%rip) + jz L(preloop) /* check if PREFETCHW OK */ + + .p2align 4 + +/* ... when PREFETCHW is available (less cache-probe traffic in MP systems). */ + +L(prewloop): /* cache-line in state M */ + decq %rcx + + movq (%rsi), %rax + movq 8 (%rsi), %rbx + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + movq 32 (%rsi), %r11 + movq 40 (%rsi), %r12 + movq 48 (%rsi), %r13 + movq 56 (%rsi), %r14 + + prefetcht0 0 + 896 (%rsi) + prefetcht0 64 + 896 (%rsi) + + movq %rax, (%rdi) + movq %rbx, 8 (%rdi) + movq %r9, 16 (%rdi) + movq %r10, 24 (%rdi) + movq %r11, 32 (%rdi) + movq %r12, 40 (%rdi) + movq %r13, 48 (%rdi) + movq %r14, 56 (%rdi) + + leaq 64 (%rsi), %rsi + leaq 64 (%rdi), %rdi + + jz L(prebail) + + decq %rcx + + movq (%rsi), %rax + movq 8 (%rsi), %rbx + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + movq 32 (%rsi), %r11 + movq 40 (%rsi), %r12 + movq 48 (%rsi), %r13 + movq 56 (%rsi), %r14 + + movq %rax, (%rdi) + movq %rbx, 8 (%rdi) + movq %r9, 16 (%rdi) + movq %r10, 24 (%rdi) + movq %r11, 32 (%rdi) + movq %r12, 40 (%rdi) + movq %r13, 48 (%rdi) + movq %r14, 56 (%rdi) + + prefetchw 896 - 64 (%rdi) + prefetchw 896 - 0 (%rdi) + + leaq 64 (%rsi), %rsi + leaq 64 (%rdi), %rdi + + jnz L(prewloop) + jmp L(prebail) + + .p2align 4 + +/* ... when PREFETCHW is not available. */ + +L(preloop): /* cache-line in state E */ + decq %rcx + + movq (%rsi), %rax + movq 8 (%rsi), %rbx + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + movq 32 (%rsi), %r11 + movq 40 (%rsi), %r12 + movq 48 (%rsi), %r13 + movq 56 (%rsi), %r14 + + prefetcht0 896 + 0 (%rsi) + prefetcht0 896 + 64 (%rsi) + + movq %rax, (%rdi) + movq %rbx, 8 (%rdi) + movq %r9, 16 (%rdi) + movq %r10, 24 (%rdi) + movq %r11, 32 (%rdi) + movq %r12, 40 (%rdi) + movq %r13, 48 (%rdi) + movq %r14, 56 (%rdi) + + leaq 64 (%rsi), %rsi + leaq 64 (%rdi), %rdi + + jz L(prebail) + + decq %rcx + + movq (%rsi), %rax + movq 8 (%rsi), %rbx + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + movq 32 (%rsi), %r11 + movq 40 (%rsi), %r12 + movq 48 (%rsi), %r13 + movq 56 (%rsi), %r14 + + prefetcht0 896 - 64 (%rdi) + prefetcht0 896 - 0 (%rdi) + + movq %rax, (%rdi) + movq %rbx, 8 (%rdi) + movq %r9, 16 (%rdi) + movq %r10, 24 (%rdi) + movq %r11, 32 (%rdi) + movq %r12, 40 (%rdi) + movq %r13, 48 (%rdi) + movq %r14, 56 (%rdi) + + leaq 64 (%rsi), %rsi + leaq 64 (%rdi), %rdi + + jnz L(preloop) + +L(prebail): + movq SAVE3 (%rsp), %rbx + cfi_restore (%rbx) + movq SAVE2 (%rsp), %r12 + cfi_restore (%r12) + movq SAVE1 (%rsp), %r13 + cfi_restore (%r13) + movq SAVE0 (%rsp), %r14 + cfi_restore (%r14) + +/* .p2align 4 */ + +L(preskip): + subq %r8, %rdx /* check for more */ + testq $-64, %rdx + jnz L(preafter) + + andl $63, %edx /* check for left overs */ +#ifdef USE_AS_MEMPCPY + jnz L(1) + + movq %rdi, %rax +#else + movq RETVAL (%rsp), %rax + jnz L(1) + + rep +#endif + retq /* exit */ + + .p2align 4 + +L(preafter): + +/* Loop to handle huge blocks. */ + +L(NTtry): + +L(NT): /* non-temporal 128-byte */ + movq %rdx, %rcx + shrq $7, %rcx + jz L(NTskip) + + movq %r14, SAVE0 (%rsp) + cfi_rel_offset (%r14, SAVE0) + movq %r13, SAVE1 (%rsp) + cfi_rel_offset (%r13, SAVE1) + movq %r12, SAVE2 (%rsp) + cfi_rel_offset (%r12, SAVE2) + + .p2align 4 + +L(NTloop): + prefetchnta 768 (%rsi) + prefetchnta 832 (%rsi) + + decq %rcx + + movq (%rsi), %rax + movq 8 (%rsi), %r8 + movq 16 (%rsi), %r9 + movq 24 (%rsi), %r10 + movq 32 (%rsi), %r11 + movq 40 (%rsi), %r12 + movq 48 (%rsi), %r13 + movq 56 (%rsi), %r14 + + movntiq %rax, (%rdi) + movntiq %r8, 8 (%rdi) + movntiq %r9, 16 (%rdi) + movntiq %r10, 24 (%rdi) + movntiq %r11, 32 (%rdi) + movntiq %r12, 40 (%rdi) + movntiq %r13, 48 (%rdi) + movntiq %r14, 56 (%rdi) + + movq 64 (%rsi), %rax + movq 72 (%rsi), %r8 + movq 80 (%rsi), %r9 + movq 88 (%rsi), %r10 + movq 96 (%rsi), %r11 + movq 104 (%rsi), %r12 + movq 112 (%rsi), %r13 + movq 120 (%rsi), %r14 + + movntiq %rax, 64 (%rdi) + movntiq %r8, 72 (%rdi) + movntiq %r9, 80 (%rdi) + movntiq %r10, 88 (%rdi) + movntiq %r11, 96 (%rdi) + movntiq %r12, 104 (%rdi) + movntiq %r13, 112 (%rdi) + movntiq %r14, 120 (%rdi) + + leaq 128 (%rsi), %rsi + leaq 128 (%rdi), %rdi + + jnz L(NTloop) + + sfence /* serialize memory stores */ + + movq SAVE2 (%rsp), %r12 + cfi_restore (%r12) + movq SAVE1 (%rsp), %r13 + cfi_restore (%r13) + movq SAVE0 (%rsp), %r14 + cfi_restore (%r14) + +L(NTskip): + andl $127, %edx /* check for left overs */ +#ifdef USE_AS_MEMPCPY + jnz L(1) + + movq %rdi, %rax +#else + movq RETVAL (%rsp), %rax + jnz L(1) + + rep +#endif + retq /* exit */ + +#endif /* !NOT_IN_libc */ + +END(memcpy) + +#ifndef USE_AS_MEMPCPY libc_hidden_builtin_def (memcpy) #endif --- libc/sysdeps/x86_64/mempcpy.S 18 Oct 2004 04:17:08 -0000 1.3 +++ libc/sysdeps/x86_64/mempcpy.S 21 May 2007 19:21:16 -0000 1.4 @@ -1,3 +1,4 @@ +#define USE_AS_MEMPCPY #define memcpy __mempcpy #define __memcpy_chk __mempcpy_chk #include --- libc/sysdeps/unix/sysv/linux/x86_64/sysconf.c 10 Nov 2006 07:31:55 -0000 1.7 +++ libc/sysdeps/unix/sysv/linux/x86_64/sysconf.c 21 May 2007 19:18:37 -0000 1.8 @@ -24,328 +24,17 @@ static long int linux_sysconf (int name); - - -static const struct intel_02_cache_info -{ - unsigned int idx; - int name; - long int size; - long int assoc; - long int linesize; -} intel_02_known[] = - { - { 0x06, _SC_LEVEL1_ICACHE_SIZE, 8192, 4, 32 }, - { 0x08, _SC_LEVEL1_ICACHE_SIZE, 16384, 4, 32 }, - { 0x0a, _SC_LEVEL1_DCACHE_SIZE, 8192, 2, 32 }, - { 0x0c, _SC_LEVEL1_DCACHE_SIZE, 16384, 4, 32 }, - { 0x22, _SC_LEVEL3_CACHE_SIZE, 524288, 4, 64 }, - { 0x23, _SC_LEVEL3_CACHE_SIZE, 1048576, 8, 64 }, - { 0x25, _SC_LEVEL3_CACHE_SIZE, 2097152, 8, 64 }, - { 0x29, _SC_LEVEL3_CACHE_SIZE, 4194304, 8, 64 }, - { 0x2c, _SC_LEVEL1_DCACHE_SIZE, 32768, 8, 64 }, - { 0x30, _SC_LEVEL1_ICACHE_SIZE, 32768, 8, 64 }, - { 0x39, _SC_LEVEL2_CACHE_SIZE, 131072, 4, 64 }, - { 0x3a, _SC_LEVEL2_CACHE_SIZE, 196608, 6, 64 }, - { 0x3b, _SC_LEVEL2_CACHE_SIZE, 131072, 2, 64 }, - { 0x3c, _SC_LEVEL2_CACHE_SIZE, 262144, 4, 64 }, - { 0x3d, _SC_LEVEL2_CACHE_SIZE, 393216, 6, 64 }, - { 0x3e, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 64 }, - { 0x41, _SC_LEVEL2_CACHE_SIZE, 131072, 4, 32 }, - { 0x42, _SC_LEVEL2_CACHE_SIZE, 262144, 4, 32 }, - { 0x43, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 32 }, - { 0x44, _SC_LEVEL2_CACHE_SIZE, 1048576, 4, 32 }, - { 0x45, _SC_LEVEL2_CACHE_SIZE, 2097152, 4, 32 }, - { 0x46, _SC_LEVEL3_CACHE_SIZE, 4194304, 4, 64 }, - { 0x47, _SC_LEVEL3_CACHE_SIZE, 8388608, 8, 64 }, - { 0x49, _SC_LEVEL2_CACHE_SIZE, 4194304, 16, 64 }, - { 0x4a, _SC_LEVEL3_CACHE_SIZE, 6291456, 12, 64 }, - { 0x4b, _SC_LEVEL3_CACHE_SIZE, 8388608, 16, 64 }, - { 0x4c, _SC_LEVEL3_CACHE_SIZE, 12582912, 12, 64 }, - { 0x4d, _SC_LEVEL3_CACHE_SIZE, 16777216, 16, 64 }, - { 0x60, _SC_LEVEL1_DCACHE_SIZE, 16384, 8, 64 }, - { 0x66, _SC_LEVEL1_DCACHE_SIZE, 8192, 4, 64 }, - { 0x67, _SC_LEVEL1_DCACHE_SIZE, 16384, 4, 64 }, - { 0x68, _SC_LEVEL1_DCACHE_SIZE, 32768, 4, 64 }, - { 0x78, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 }, - { 0x79, _SC_LEVEL2_CACHE_SIZE, 131072, 8, 64 }, - { 0x7a, _SC_LEVEL2_CACHE_SIZE, 262144, 8, 64 }, - { 0x7b, _SC_LEVEL2_CACHE_SIZE, 524288, 8, 64 }, - { 0x7c, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 }, - { 0x7d, _SC_LEVEL2_CACHE_SIZE, 2097152, 8, 64 }, - { 0x7f, _SC_LEVEL2_CACHE_SIZE, 524288, 2, 64 }, - { 0x82, _SC_LEVEL2_CACHE_SIZE, 262144, 8, 32 }, - { 0x83, _SC_LEVEL2_CACHE_SIZE, 524288, 8, 32 }, - { 0x84, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 32 }, - { 0x85, _SC_LEVEL2_CACHE_SIZE, 2097152, 8, 32 }, - { 0x86, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 64 }, - { 0x87, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 }, - }; -#define nintel_02_known (sizeof (intel_02_known) / sizeof (intel_02_known[0])) - - -static int -intel_02_known_compare (const void *p1, const void *p2) -{ - const struct intel_02_cache_info *i1; - const struct intel_02_cache_info *i2; - - i1 = (const struct intel_02_cache_info *) p1; - i2 = (const struct intel_02_cache_info *) p2; - - if (i1->idx == i2->idx) - return 0; - - return i1->idx < i2->idx ? -1 : 1; -} - - -static long int -__attribute__ ((noinline)) -intel_check_word (int name, unsigned int value, bool *has_level_2, - bool *no_level_2_or_3) -{ - if ((value & 0x80000000) != 0) - /* The register value is reserved. */ - return 0; - - /* Fold the name. The _SC_ constants are always in the order SIZE, - ASSOC, LINESIZE. */ - int folded_name = (_SC_LEVEL1_ICACHE_SIZE - + ((name - _SC_LEVEL1_ICACHE_SIZE) / 3) * 3); - - while (value != 0) - { - unsigned int byte = value & 0xff; - - if (byte == 0x40) - { - *no_level_2_or_3 = true; - - if (folded_name == _SC_LEVEL3_CACHE_SIZE) - /* No need to look further. */ - break; - } - else - { - if (byte == 0x49 && folded_name == _SC_LEVEL3_CACHE_SIZE) - { - /* Intel reused this value. For family 15, model 6 it - specifies the 3rd level cache. Otherwise the 2nd - level cache. */ - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "0" (1)); - - unsigned int family = ((eax >> 20) & 0xff) + ((eax >> 8) & 0xf); - unsigned int model = ((((eax >>16) & 0xf) << 4) - + ((eax >> 4) & 0xf)); - if (family == 15 && model == 6) - { - /* The level 3 cache is encoded for this model like - the level 2 cache is for other models. Pretend - the caller asked for the level 2 cache. */ - name = (_SC_LEVEL2_CACHE_SIZE - + (name - _SC_LEVEL3_CACHE_SIZE)); - folded_name = _SC_LEVEL3_CACHE_SIZE; - } - } - - struct intel_02_cache_info *found; - struct intel_02_cache_info search; - - search.idx = byte; - found = bsearch (&search, intel_02_known, nintel_02_known, - sizeof (intel_02_known[0]), intel_02_known_compare); - if (found != NULL) - { - if (found->name == folded_name) - { - unsigned int offset = name - folded_name; - - if (offset == 0) - /* Cache size. */ - return found->size; - if (offset == 1) - return found->assoc; - - assert (offset == 2); - return found->linesize; - } - - if (found->name == _SC_LEVEL2_CACHE_SIZE) - *has_level_2 = true; - } - } - - /* Next byte for the next round. */ - value >>= 8; - } - - /* Nothing found. */ - return 0; -} - - -static long int __attribute__ ((noinline)) -handle_intel (int name, unsigned int maxidx) -{ - assert (maxidx >= 2); - - /* OK, we can use the CPUID instruction to get all info about the - caches. */ - unsigned int cnt = 0; - unsigned int max = 1; - long int result = 0; - bool no_level_2_or_3 = false; - bool has_level_2 = false; - while (cnt++ < max) - { - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "0" (2)); - - /* The low byte of EAX in the first round contain the number of - rounds we have to make. At least one, the one we are already - doing. */ - if (cnt == 1) - { - max = eax & 0xff; - eax &= 0xffffff00; - } - - /* Process the individual registers' value. */ - result = intel_check_word (name, eax, &has_level_2, &no_level_2_or_3); - if (result != 0) - return result; - - result = intel_check_word (name, ebx, &has_level_2, &no_level_2_or_3); - if (result != 0) - return result; - - result = intel_check_word (name, ecx, &has_level_2, &no_level_2_or_3); - if (result != 0) - return result; - - result = intel_check_word (name, edx, &has_level_2, &no_level_2_or_3); - if (result != 0) - return result; - } - - if (name >= _SC_LEVEL2_CACHE_SIZE && name <= _SC_LEVEL3_CACHE_LINESIZE - && no_level_2_or_3) - return -1; - - return 0; -} - - -static long int __attribute__ ((noinline)) -handle_amd (int name) -{ - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "0" (0x80000000)); - - if (name >= _SC_LEVEL3_CACHE_SIZE) - return 0; - - unsigned int fn = 0x80000005 + (name >= _SC_LEVEL2_CACHE_SIZE); - if (eax < fn) - return 0; - - asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "0" (fn)); - - if (name < _SC_LEVEL1_DCACHE_SIZE) - { - name += _SC_LEVEL1_DCACHE_SIZE - _SC_LEVEL1_ICACHE_SIZE; - ecx = edx; - } - - switch (name) - { - case _SC_LEVEL1_DCACHE_SIZE: - return (ecx >> 14) & 0x3fc00; - case _SC_LEVEL1_DCACHE_ASSOC: - ecx >>= 16; - if ((ecx & 0xff) == 0xff) - /* Fully associative. */ - return (ecx << 2) & 0x3fc00; - return ecx & 0xff; - case _SC_LEVEL1_DCACHE_LINESIZE: - return ecx & 0xff; - case _SC_LEVEL2_CACHE_SIZE: - return (ecx & 0xf000) == 0 ? 0 : (ecx >> 6) & 0x3fffc00; - case _SC_LEVEL2_CACHE_ASSOC: - ecx >>= 12; - switch (ecx & 0xf) - { - case 0: - case 1: - case 2: - case 4: - return ecx & 0xf; - case 6: - return 8; - case 8: - return 16; - case 0xf: - return (ecx << 6) & 0x3fffc00; - default: - return 0; - } - case _SC_LEVEL2_CACHE_LINESIZE: - return (ecx & 0xf000) == 0 ? 0 : ecx & 0xff; - default: - assert (! "cannot happen"); - } - return -1; -} +extern long int __cache_sysconf (int) attribute_hidden; /* Get the value of the system variable NAME. */ long int __sysconf (int name) { - /* We only handle the cache information here (for now). */ - if (name < _SC_LEVEL1_ICACHE_SIZE || name > _SC_LEVEL4_CACHE_LINESIZE) - return linux_sysconf (name); - - /* Find out what brand of processor. */ - unsigned int eax; - unsigned int ebx; - unsigned int ecx; - unsigned int edx; - asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" - : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx) - : "0" (0)); - - /* This spells out "GenuineIntel". */ - if (ebx == 0x756e6547 && ecx == 0x6c65746e && edx == 0x49656e69) - return handle_intel (name, eax); - - /* This spells out "AuthenticAMD". */ - if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65) - return handle_amd (name); - - // XXX Fill in more vendors. + if (name >= _SC_LEVEL1_ICACHE_SIZE && name <= _SC_LEVEL4_CACHE_LINESIZE) + return __cache_sysconf (name); - /* CPU not known, we have no information. */ - return 0; + return linux_sysconf (name); } /* Now the generic Linux version. */ Index: glibc.spec =================================================================== RCS file: /cvs/dist/rpms/glibc/FC-6/glibc.spec,v retrieving revision 1.280 retrieving revision 1.281 diff -u -r1.280 -r1.281 --- glibc.spec 27 Apr 2007 11:57:13 -0000 1.280 +++ glibc.spec 27 Jun 2007 19:12:31 -0000 1.281 @@ -3,7 +3,7 @@ %define glibcsrcdir glibc-2.5-20061008T1257 %define glibc_release_tarballs 0 %define glibcversion 2.5 -%define glibcrelease 13%{?dist} +%define glibcrelease 17%{?dist} %define auxarches i586 i686 athlon sparcv9 alphaev6 %define xenarches i686 athlon %ifarch %{xenarches} @@ -39,7 +39,6 @@ Patch2: glibc-bz3352.patch Patch3: glibc-bz3369.patch Patch4: glibc-i386-syscall6.patch -Patch5: glibc-rh210130.patch Patch6: glibc-rh211116.patch Patch7: glibc-bz3429.patch Patch8: glibc-bz3451.patch @@ -73,7 +72,6 @@ Patch36: glibc-rh220420.patch Patch37: glibc-rh220658.patch Patch38: glibc-nis-getservbyname.patch -Patch39: glibc-rh210748-workaround.patch Patch40: glibc-rh225315.patch Patch41: glibc-rh222089.patch Patch42: glibc-rh221187.patch @@ -119,6 +117,38 @@ Patch82: glibc-bz4406.patch Patch83: glibc-rh232633.patch Patch84: glibc-rh230198.patch +Patch85: glibc-bz3213.patch +Patch86: glibc-bz4342.patch +Patch87: glibc-bz4438.patch +Patch88: glibc-bz4439.patch +Patch89: glibc-rh238431.patch +Patch91: glibc-bz4131.patch +Patch92: glibc-bz4465.patch +Patch93: glibc-bz4512.patch +Patch94: glibc-bz4514.patch +Patch95: glibc-lowlevelrobustlock.patch +Patch96: glibc-printf-string-len.patch +Patch97: glibc-rh218035.patch +Patch98: glibc-rh237711.patch +Patch99: glibc-sem_timedwait.patch +Patch100: glibc-x86_64-memcpy.patch +Patch101: glibc-bz4586.patch +Patch102: glibc-ppc-ldouble-inout.patch +Patch103: glibc-ppc-nextafterl.patch +Patch104: glibc-bz3954.patch +Patch105: glibc-bz4102.patch +Patch106: glibc-fgetc_unlocked.patch +Patch107: glibc-getaddrinfo-172.16.patch +Patch108: glibc-ldso-locking1.patch +Patch109: glibc-ldso-locking2.patch +Patch110: glibc-nonnull.patch +Patch111: glibc-nscd-get_mapping.patch +Patch112: glibc-nscd-pad.patch +Patch113: glibc-bz4381.patch +Patch114: glibc-rh180432.patch +Patch115: glibc-rh244545.patch +Patch116: glibc-rh234946.patch + Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers, Obsoletes: gencat, locale, ldconfig, locale-ja, glibc-profile @@ -333,7 +363,6 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 -#%patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 @@ -367,7 +396,6 @@ %patch36 -p1 %patch37 -p1 %patch38 -p1 -%patch39 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 @@ -413,6 +441,38 @@ %patch82 -p1 %patch83 -p1 %patch84 -p1 +%patch85 -p1 +%patch86 -p1 +%patch87 -p1 +%patch88 -p1 +%patch89 -p1 +%patch91 -p1 +%patch92 -p1 +%patch93 -p1 +%patch94 -p1 +%patch95 -p1 +%patch96 -p1 +%patch97 -p1 +%patch98 -p1 +%patch99 -p1 +# Postpone until this is enough tested in F8 development +#%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 +%patch105 -p1 +%patch106 -p1 +%patch107 -p1 +%patch108 -p1 +%patch109 -p1 +%patch110 -p1 +%patch111 -p1 +%patch112 -p1 +%patch113 -p1 +%patch114 -p1 +%patch115 -p1 +%patch116 -p1 # Hack till glibc-kernheaders get updated, argh mkdir -p override_headers/linux @@ -1715,6 +1775,42 @@ %endif %changelog +* Wed Jun 27 2007 Jakub Jelinek 2.5-17.fc6 +- disable workaround for #210748 and #211133, instead backport + ld.so locking fixes from the trunk (#235026) +- Korean charsets additions (BZ#3954, BZ#3955) +- fix handling of 2001::/32 IPv6 addresses in getaddrinfo (BZ#4102) +- add inline optimization for fgetc_unlocked +- fix handling of 172.{1[7-9],2[0-9],3[01]}/16 IPv4 addresses in + getaddrinfo +- make sure NULL checks in routines with nonnull attribute aren't + optimized away +- don't write uninitialized padding bytes to nscd socket +- avoid misaligned reads/writes in gethostbyname_r (#243967, BZ#4381) +- fix dl{,v}sym, dl_iterate_phdr and dlopen if some library is + mapped into ld.so's inter-segment hole on x86_64 (#244545) +- fix LD_AUDIT=a:b program (#180432) +- don't crash on pseudo-zero long double values passed to + *printf on i?86/x86_64/ia64 (BZ#4586) +- fix *printf %La and strtold with some hexadecimal floating point + constants on ppc/ppc64 +- fix nextafterl on ppc/ppc64 +- robust mutex fixes (BZ#4512) +- *printf fixes (BZ#4514) +- as_IN updates (#218035) +- use MADV_DONTNEED in malloc (#237711) +- fix sem_timedwait on i?86 and x86_64 +- fix dladdr if some shared library is mapped into ld.so intersegment + VM hole (#232224, BZ#4131) +- fdatasync is a cancellation point (BZ#4465) +- add a temporary hack to avoid reruning DSO initializers if dlopen + is called from _dl_fini destructors (#234946) +- add transliteration for (BZ#3213) +- fix *scanf with %f on hexadecimal floats without exponent (BZ#4342) +- fix *printf with very large precisions for %s (#238406, BZ#4438) +- fix inet_ntop size checking for AF_INET (BZ#4439) +- for *printf %e avoid 1.000e-00, for exponent 0 always use + sign (#238431) + * Fri Apr 27 2007 Jakub Jelinek 2.5-13.fc6 - fix application crashes when doing NSS lookups through nscd mmapped databases and nscd decides to start garbage collection --- glibc-rh210130.patch DELETED --- --- glibc-rh210748-workaround.patch DELETED --- From fedora-cvs-commits at redhat.com Thu Jun 28 09:15:27 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 28 Jun 2007 05:15:27 -0400 Subject: rpms/net-snmp/FC-6 net-snmp-5.3.1-shared-ip.patch,NONE,1.1 Message-ID: <200706280915.l5S9FR8i022120@cvs.devel.redhat.com> Author: jsafrane Update of /cvs/dist/rpms/net-snmp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22102 Added Files: net-snmp-5.3.1-shared-ip.patch Log Message: fix ugly error message when more interfaces share one IP address net-snmp-5.3.1-shared-ip.patch: net-snmp-5.3.1/include/net-snmp/library/container.h | 31 +++++++++- net-snmp-5.3.1/snmplib/container.c | 23 +++++++ net-snmp-5.4/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c | 11 +++ net-snmp-5.4/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c | 12 +++ 4 files changed, 74 insertions(+), 3 deletions(-) --- NEW FILE net-snmp-5.3.1-shared-ip.patch --- --- net-snmp-5.3.1/include/net-snmp/library/container.h.orig 2005-12-04 19:43:04.000000000 +0100 +++ net-snmp-5.3.1/include/net-snmp/library/container.h 2007-05-04 10:01:38.000000000 +0200 @@ -330,6 +330,11 @@ int CONTAINER_INSERT(netsnmp_container *x, const void *k); /* + * check if k is in any container and insert it into all if not + */ + int CONTAINER_TRY_INSERT(netsnmp_container *x, const void *k); + + /* * remove k from all containers */ int CONTAINER_REMOVE(netsnmp_container *x, const void *k); @@ -370,8 +370,32 @@ } } return rc; - } + } + + int CONTAINER_TRY_INSERT(netsnmp_container *x, const void *k) + { + const void *res = NULL; + + netsnmp_container *start; + /** start at first container */ + while(x->prev) + x = x->prev; + + start = x; + + for(; x; x = x->next) { + if ((NULL != x->insert_filter) && + (x->insert_filter(x,k) == 1)) + continue; + res = x->find(x,k); + if (res) { + return -1; + } + } + return CONTAINER_INSERT(start, k); + } + /*------------------------------------------------------------------ * These functions should EXACTLY match the function version in * container.c. If you change one, change them both. --- net-snmp-5.3.1/snmplib/container.c.orig 2006-04-21 02:24:47.000000000 +0200 +++ net-snmp-5.3.1/snmplib/container.c 2007-05-04 10:34:23.000000000 +0200 @@ -286,6 +286,29 @@ return rc; } +int CONTAINER_TRY_INSERT(netsnmp_container *x, const void *k) +{ + const void *res = NULL; + + netsnmp_container *start; + /** start at first container */ + while(x->prev) + x = x->prev; + + start = x; + + for(; x; x = x->next) { + if ((NULL != x->insert_filter) && + (x->insert_filter(x,k) == 1)) + continue; + res = x->find(x,k); + if (res) { + return -1; + } + } + return CONTAINER_INSERT(start, k); +} + /*------------------------------------------------------------------ * These functions should EXACTLY match the inline version in * container.h. If you change one, change them both. --- net-snmp-5.4/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c.orig 2005-10-31 05:32:17.000000000 +0100 +++ net-snmp-5.4/agent/mibgroup/ip-mib/data_access/ipaddress_ioctl.c 2007-05-04 12:03:17.000000000 +0200 @@ -272,7 +272,16 @@ /* * add entry to container */ - CONTAINER_INSERT(container, entry); + rc = CONTAINER_TRY_INSERT(container, entry); + if (rc < 0) { + static int logged = 0; + if (!logged) { + snmp_log(LOG_NOTICE, "Duplicate IP address detected, some interfaces may not be visible in IP-MIB\n"); + logged = 1; + } + netsnmp_access_ipaddress_entry_free(entry); + rc = 0; + } } /* --- net-snmp-5.4/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c.orig 2006-09-15 02:48:40.000000000 +0200 +++ net-snmp-5.4/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c 2007-05-04 12:03:44.000000000 +0200 @@ -324,7 +324,17 @@ /* * add entry to container */ - CONTAINER_INSERT(container, entry); + rc = CONTAINER_TRY_INSERT(container, entry); + if (rc < 0) { + static int logged = 0; + if (!logged) { + snmp_log(LOG_NOTICE, "Duplicate IPv6 address detected, some interfaces may not be visible in IP-MIB\n"); + logged = 1; + } + netsnmp_access_ipaddress_entry_free(entry); + rc = 0; + } + } fclose(in); From fedora-cvs-commits at redhat.com Thu Jun 28 09:18:46 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 28 Jun 2007 05:18:46 -0400 Subject: rpms/net-snmp/FC-6 net-snmp.spec,1.100,1.101 Message-ID: <200706280918.l5S9Ikl4022190@cvs.devel.redhat.com> Author: jsafrane Update of /cvs/dist/rpms/net-snmp/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv22176 Modified Files: net-snmp.spec Log Message: Release++ Index: net-snmp.spec =================================================================== RCS file: /cvs/dist/rpms/net-snmp/FC-6/net-snmp.spec,v retrieving revision 1.100 retrieving revision 1.101 diff -u -r1.100 -r1.101 --- net-snmp.spec 26 Jun 2007 15:06:08 -0000 1.100 +++ net-snmp.spec 28 Jun 2007 09:18:44 -0000 1.101 @@ -7,7 +7,7 @@ Summary: A collection of SNMP protocol tools and libraries. Name: net-snmp Version: %{major_ver} -Release: 14%{?dist} +Release: 15%{?dist} Epoch: 1 License: BSDish @@ -370,7 +370,7 @@ %{_libdir}/lib*.so.* %changelog -* Thu May 3 2007 Jan Safranek +* Thu May 3 2007 Jan Safranek - 5.3.1-15 - fix snmptrapd hostname logging (#238587) - fix udpEndpointProcess remote IP address (#236551) - fix snmpwalk / bulkwalk on TCP scalars (#243316) From fedora-cvs-commits at redhat.com Fri Jun 29 10:21:37 2007 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Fri, 29 Jun 2007 06:21:37 -0400 Subject: rpms/xterm/FC-6 .cvsignore, 1.19, 1.20 sources, 1.19, 1.20 xterm.spec, 1.53, 1.54 Message-ID: <200706291021.l5TALbOc021770@cvs.devel.redhat.com> Author: mlichvar Update of /cvs/dist/rpms/xterm/FC-6 In directory cvs.devel.redhat.com:/tmp/cvs-serv21753 Modified Files: .cvsignore sources xterm.spec Log Message: - update to 227 Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/xterm/FC-6/.cvsignore,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- .cvsignore 22 Jun 2007 12:26:41 -0000 1.19 +++ .cvsignore 29 Jun 2007 10:21:35 -0000 1.20 @@ -1,2 +1,2 @@ 16colors.txt -xterm-226.tgz +xterm-227.tgz Index: sources =================================================================== RCS file: /cvs/dist/rpms/xterm/FC-6/sources,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- sources 22 Jun 2007 12:26:41 -0000 1.19 +++ sources 29 Jun 2007 10:21:35 -0000 1.20 @@ -1,2 +1,2 @@ 6093439b8d79089f4ff1cdfed358b401 16colors.txt -93d1f43ac3c13af86c598493f14a36f6 xterm-226.tgz +6a2be9a63735fc8127e9098012361695 xterm-227.tgz Index: xterm.spec =================================================================== RCS file: /cvs/dist/rpms/xterm/FC-6/xterm.spec,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- xterm.spec 22 Jun 2007 12:26:41 -0000 1.53 +++ xterm.spec 29 Jun 2007 10:21:35 -0000 1.54 @@ -1,6 +1,6 @@ Summary: xterm terminal emulator for the X Window System Name: xterm -Version: 226 +Version: 227 Release: 1%{?dist} URL: http://dickey.his.com/xterm License: MIT @@ -71,6 +71,9 @@ %{x11_app_defaults_dir}/XTerm-color %changelog +* Fri Jun 29 2007 Miroslav Lichvar 227-1.fc6 +- update to 227 + * Fri Jun 22 2007 Miroslav Lichvar 226-1.fc6 - update to 226