Hello community,
here is the log from the commit of package seamonkey
checked in at Thu Oct 23 22:53:05 CEST 2008.
--------
--- seamonkey/seamonkey.changes 2008-09-05 21:12:29.000000000 +0200
+++ /d/STABLE/seamonkey/seamonkey.changes 2008-10-15 19:57:34.000000000 +0200
@@ -1,0 +2,13 @@
+Wed Oct 15 12:56:28 CDT 2008 - maw@suse.de
+
+- Review and approve changes.
+
+-------------------------------------------------------------------
+Tue Sep 23 12:25:26 CEST 2008 - wr@rosenauer.org
+
+- update to security release 1.1.12 (bnc#429179)
+ for details:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey11.html
+- merged Factoy and mozilla versions (again)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
seamonkey-source-1.1.11.tar.bz2
New:
----
seamonkey-source-1.1.12.tar.bz2
unused-includes.patch
xremote.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ seamonkey.spec ++++++
--- /var/tmp/diff_new_pack.W19627/_old 2008-10-23 22:52:39.000000000 +0200
+++ /var/tmp/diff_new_pack.W19627/_new 2008-10-23 22:52:39.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package seamonkey (Version 1.1.11)
+# spec file for package seamonkey (Version 1.1.12)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -34,17 +34,28 @@
# * Update the .changes file
# * Update this checklist if necessary and keep it in sync on all supported
# platforms.
-BuildRequires: fdupes gcc-c++ libgnomeui-devel libidl-devel orbit-devel unzip update-desktop-files zip
+BuildRequires: gcc-c++ libgnomeui-devel libidl-devel orbit-devel unzip update-desktop-files zip
+%if %suse_version > 1020
+BuildRequires: fdupes
+%endif
+# fixing broken requirements on 9.3
+%if %suse_version <= 930
+BuildRequires: freetype2-devel popt-devel
+# fix broken SLES9 requirements
+%if %suse_version == 910
+BuildRequires: gnome-vfs2 libgnome libgnomeui pkgconfig
+%endif
+%endif
License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
Provides: web_browser
-Version: 1.1.11
+Version: 1.1.12
Release: 1
Summary: The successor of the Mozilla Application Suite
Url: http://www.mozilla.org/projects/seamonkey
Group: Productivity/Networking/Web/Browsers
%if %suse_version > 1000
-Provides: mozilla
-Obsoletes: mozilla
+Provides: mozilla = 1.8
+Obsoletes: mozilla < 1.8
%endif
Source: seamonkey-source-%{version}.tar.bz2
Source1: seamonkey-desktop.tar.bz2
@@ -72,7 +83,7 @@
Patch11: freetype.dif
Patch12: misc.dif
Patch13: nss-opt.patch
-#Patch14: xremote.patch
+Patch14: xremote.patch
Patch15: autoconf.dif
Patch16: canvas-xlibs.patch
Patch17: mozilla-default-plugin-less-annoying.patch
@@ -81,11 +92,11 @@
Patch22: cjk-postscript-fonts.dif
Patch27: postscript.patch
Patch29: cups-paper.patch
-#Patch30: unused-includes.patch
+Patch30: unused-includes.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: libstdc++ fileutils textutils /bin/sh
%define _unpackaged_files_terminate_build 0
-%define releasedate 2008071500
+%define releasedate 2008092200
%define progname seamonkey
%define prefix /usr
%define progdir %_libdir/%{progname}
@@ -101,16 +112,18 @@
%define debug 0
%define build_enigmail 1
### build options end
-%if %suse_version > 930
+# the following conditions are always met in Factory by definition
+# so using %opensuse_bs is secure for now
+%if %suse_version > 930 || 0%{?opensuse_bs}
BuildRequires: mozilla-nspr-devel
PreReq: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
%endif
-%if %suse_version > 1010
+%if %suse_version > 1010 || 0%{?opensuse_bs}
BuildRequires: mozilla-nss-devel
-PreReq: mozilla-nss
+PreReq: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
%endif
%if %build_enigmail
-Recommends: gpg
+Requires: /usr/bin/gpg
%if %suse_version > 1020
Requires: pinentry-dialog
%endif
@@ -212,9 +225,8 @@
Summary: A Spell Checker for SeaMonkey
Group: Productivity/Networking/Email/Utilities
PreReq: %{name} = %{version}
-%if %suse_version > 820
-PreReq: myspell-dictionary
-%endif
+# most likely not needed
+#PreReq: myspell-dictionary
%if %suse_version > 1000
Provides: mozilla-spellchecker
Obsoletes: mozilla-spellchecker
@@ -254,7 +266,7 @@
%patch22
%patch27
%patch29
-#%patch30
+%patch30
# additional CA certificates
cd $RPM_BUILD_DIR/mozilla/security/nss/lib/ckfw/builtins
cat %{SOURCE8} >> certdata.txt
@@ -268,15 +280,19 @@
%if %suse_version > 1000
export CFLAGS="$CFLAGS -fstack-protector"
%endif
+# enigmail build fails with visibility enabled
%if %suse_version > 1020
-#% #ifarch x86_64 s390 s390x
+%ifarch x86_64 s390 s390x
+export ac_cv_visibility_hidden="no"
+%endif
+# hopefully only temporary for gcc 4.3
+%if %suse_version > 1030
export ac_cv_visibility_hidden="no"
-# % # endif
+%endif
%endif
export CXXFLAGS="$CFLAGS"
./configure --enable-application=suite \
--disable-tests \
- --enable-optimize="$CFLAGS" \
--enable-extensions=default \
--enable-xinerama --enable-crypto \
--enable-reorder \
@@ -297,11 +313,13 @@
--disable-freetype2 \
--enable-default-toolkit=gtk2 \
--with-default-mozilla-five-home=%{progdir} \
-%if %suse_version > 930
+%if %suse_version > 930 || 0%{?opensuse_bs}
--with-system-nspr \
+%endif
+%if %suse_version > 930
--enable-system-cairo \
%endif
-%if %suse_version > 1010
+%if %suse_version > 1010 || 0%{?opensuse_bs}
--with-system-nss \
%endif
--libdir=%{progdir} \
@@ -325,7 +343,6 @@
%install
rm -rf $RPM_BUILD_ROOT
-mkdir %buildroot
DESTDIR=$RPM_BUILD_ROOT \
make install
#
@@ -449,15 +466,9 @@
cp suse-default-prefs $RPM_BUILD_ROOT/%{progdir}/defaults/pref/all-novell.js
rm suse-default-prefs
# Desktop definition
-%if %suse_version > 820
mkdir -p $RPM_BUILD_ROOT/usr/share/applications
install -m 644 $RPM_BUILD_DIR/*.desktop \
$RPM_BUILD_ROOT/usr/share/applications
-%else
-mkdir -p $RPM_BUILD_ROOT/opt/gnome2/share/applications
-install -m 644 $RPM_BUILD_DIR/*.desktop \
- $RPM_BUILD_ROOT/opt/gnome2/share/applications
-%endif
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps/
install -m 644 $RPM_BUILD_DIR/*.png $RPM_BUILD_ROOT/usr/share/pixmaps/
# gtk icons (for gtk2 build)
@@ -524,11 +535,9 @@
#
touch $RPM_BUILD_ROOT%{progdir}/installed-chrome.d/manual
touch $RPM_BUILD_ROOT%{progdir}/chrome/locale.alias
-%if %suse_version > 820
%suse_update_desktop_file seamonkey Network WebBrowser GTK
%suse_update_desktop_file seamonkey-mail Network Email GTK
%suse_update_desktop_file seamonkey-composer Network WebDevelopment GTK
-%endif
%if %suse_version == 1000 || %suse_version == 1010
# modify provides and requires lists
cat << EOF > %{my_provides}
@@ -543,11 +552,10 @@
%define __find_requires %{my_requires}
%endif
%if %suse_version > 1020
-# Some sites use different partitions for /usr/(lib|lib64) and /usr/share.
-# Since you can't create hardlinks across partitions, we'll do this more
-# than once.
-%fdupes $RPM_BUILD_ROOT/%{progdir}
-%fdupes $RPM_BUILD_ROOT/%{_datadir}
+# Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you
+# can't create hardlinks across partitions, we'll do this more than once.
+%fdupes $RPM_BUILD_ROOT%{progdir}
+%fdupes $RPM_BUILD_ROOT%{_datadir}
%endif
%clean
@@ -662,12 +670,8 @@
%verify (not md5 mtime size) %{progdir}/components/xpti.dat
%verify (not md5 mtime size) %{progdir}/components/compreg.dat
/usr/bin/%{progname}
-%if %suse_version > 820
/usr/share/applications/seamonkey.desktop
/usr/share/applications/seamonkey-composer.desktop
-%else
-/opt/gnome2/share/applications/*.desktop
-%endif
/usr/share/pixmaps/%{progname}-orig.png
/usr/share/pixmaps/%{progname}.png
/usr/share/pixmaps/%{progname}-composer.png
@@ -678,9 +682,7 @@
%files mail -f %{_tmppath}/mozilla-mail.list
%defattr(-,root,root)
-%if %suse_version > 820
/usr/share/applications/seamonkey-mail.desktop
-%endif
/usr/share/pixmaps/%{progname}-mail.png
# enigmail
%if %build_enigmail
@@ -709,6 +711,13 @@
%dir %{progdir}/dictionaries
%changelog
+* Wed Oct 15 2008 maw@suse.de
+- Review and approve changes.
+* Tue Sep 23 2008 wr@rosenauer.org
+- update to security release 1.1.12 (bnc#429179)
+ for details:
+ http://www.mozilla.org/security/known-vulnerabilities/seamonkey11.html
+- merged Factoy and mozilla versions (again)
* Fri Sep 05 2008 mauro@suse.de
- Update to Seamonkey 1.1.11 [bnc#407573, bnc#416147]
for details:
@@ -718,7 +727,7 @@
- Remove unused includes.
* Wed Apr 09 2008 maw@suse.de
- Merge changes and fixes from the build service.
-* Thu Apr 03 2008 maw@suse.de
+* Wed Apr 02 2008 maw@suse.de
- Security update to version 1.1.9 (bnc#370353):
+ MFSA 2008-19/CVE-2008-1241: XUL popup spoofing variant
(cross-tab popups)
@@ -733,10 +742,10 @@
+ MFSA 2008-14/CVE-2008-1233, CVE-2008-1234, and CVE-2008-1235:
JavaScript privilege escalation and arbitrary code execution
- Respin abuild.patch.
-* Tue Mar 25 2008 maw@suse.de
+* Mon Mar 24 2008 maw@suse.de
- Add mozilla-missing-decl.patch, which is necessary when building
against new versions of mozilla-nss (bmo#399589).
-* Tue Feb 12 2008 maw@suse.de
+* Mon Feb 11 2008 maw@suse.de
- Security update to version 1.1.8 (bnc#354469) (thanks, Wolfgang)
+ MFSA 2008-10/CVE-2008-0593 URL token stealing via stylesheet
redirect
@@ -757,7 +766,7 @@
- Add mozilla-maxpathlen.patch (#354150 and bmo #412610).
* Tue Nov 13 2007 maw@suse.de
- Add seamonkey-gcc4.3-fixes.patch.
-* Sat Oct 20 2007 maw@suse.de
+* Fri Oct 19 2007 maw@suse.de
- security update to version 1.1.5 (#332512) (thanks, Wolfgang)
* MFSA 2007-29 Crashes with evidence of memory corruption
* MFSA 2007-30 onUnload Tailgating
@@ -827,7 +836,7 @@
* Added support for signing attachments with inline-PGP
* Sun Aug 06 2006 aj@suse.de
- Fix build (remove wrong extern "C").
-* Sun Jul 30 2006 stark@suse.de
+* Sat Jul 29 2006 stark@suse.de
- update to 1.0.4 fixing a major regression in 1.0.3 (#195402)
* Thu Jul 27 2006 stark@suse.de
- update to security release 1.0.3 (#195043)
@@ -846,14 +855,14 @@
- changed defaults for printer properties (#6534)
- get available paper sizes from CUPS (#65482)
- fixed memory leak in clipboard caching (bmo #289897)
-* Fri Mar 17 2006 stark@suse.de
+* Thu Mar 16 2006 stark@suse.de
- added seamonkey icon to filelist and use it for mail and composer
component as well for now (#158556)
- also provide the old mozilla packagenames for correct upgrade
* Tue Mar 14 2006 stark@suse.de
- added Khmer (km-*) to pango locales (#157397)
- yet another set of upstream fixes (#148876)
-* Sun Mar 05 2006 stark@suse.de
+* Sat Mar 04 2006 stark@suse.de
- fixed plugin inclusion if started from Thunderbird (#151614)
- fixed crash with multipart JPEGs (bmo #328684) (#140416)
- implemented mail alert notification (bmo #327613)
@@ -900,7 +909,7 @@
- use system NSS since CODE10
* Wed Dec 28 2005 stark@suse.de
- update to snapshot 1.8-20051227 (1.0b)
-* Mon Dec 12 2005 stark@suse.de
+* Sun Dec 11 2005 stark@suse.de
- update to snapshot 1.8-20051211
- use plugins in /usr/lib/browser-plugins
- update enigmail to 0.93.2
@@ -949,7 +958,7 @@
* Fri Sep 24 2004 stark@suse.de
- enabled logging for non-debug builds to be able to get some
logfiles for debugging
-* Sat Sep 18 2004 stark@suse.de
+* Fri Sep 17 2004 stark@suse.de
- fixed broken patch-file
* Fri Sep 17 2004 stark@suse.de
- added security fix for mozilla bug #258005
@@ -977,7 +986,7 @@
* Fri Sep 03 2004 stark@suse.de
- update enigmail to 0.86.0
- reworked start-script to invoke mozilla start/stop scripts
-* Tue Aug 24 2004 ro@suse.de
+* Mon Aug 23 2004 ro@suse.de
- make sure we can call mozilla-make-package.pl
(do not rely on any permissions in RPM_SOURCE_DIR)
* Thu Aug 19 2004 sbrabec@suse.cz
@@ -993,7 +1002,7 @@
- fixed file-list (packages-unix) and kprinter config for Desktop
- disabled SVG for distributions older than 8.2
- modified bounce patch to not disturb language-packs
-* Thu Aug 05 2004 ro@suse.de
+* Wed Aug 04 2004 ro@suse.de
- recode desktop file to utf-8
* Fri Jun 18 2004 stark@suse.de
- update to 1.7
@@ -1002,7 +1011,7 @@
- no longer disable-xprint
- build with heimdal
(Support for Kerberos HTTP authentication using GSSAPI)
-* Fri Jun 18 2004 ro@suse.de
+* Thu Jun 17 2004 ro@suse.de
- added patch from garnome list to build with current freetype
* Thu May 06 2004 stark@suse.de
- added patch to avoid compile-warnings
@@ -1030,7 +1039,7 @@
- renewed bookmark-changes
* Tue Mar 09 2004 stark@suse.de
- patch for keeping ui fonts (#35236)
-* Mon Mar 08 2004 ro@suse.de
+* Sun Mar 07 2004 ro@suse.de
- match function declaration in enigmail mimedummy.cpp
* Wed Mar 03 2004 stark@suse.de
- fixed enigmail file-list (#35302)
@@ -1096,7 +1105,7 @@
- another upstream sync
* Fri Aug 15 2003 stark@suse.de
- again more CVS patches from mozilla.org
-* Mon Aug 11 2003 stark@suse.de
+* Sun Aug 10 2003 stark@suse.de
- updated enigmail to 0.76.5
* Fri Aug 08 2003 stark@suse.de
- again more CVS patches from mozilla.org
@@ -1208,7 +1217,7 @@
- fixed add-plugins.sh for flash-player
* Mon Feb 24 2003 ro@suse.de
- added tclplug and djvulibre
-* Mon Feb 24 2003 ro@suse.de
+* Sun Feb 23 2003 ro@suse.de
- add-plugins: use /usr/%%_lib/browser-plugins
- flash plugin moved from netscape-plugins to flash-player
* Tue Feb 18 2003 stark@suse.de
@@ -1341,7 +1350,7 @@
- update mozgest to compatible 0.3.2
* Tue Feb 05 2002 stark@suse.de
- minor changes of the configure parameters
-* Fri Feb 01 2002 ro@suse.de
+* Thu Jan 31 2002 ro@suse.de
- changed neededforbuild <libpng> to <libpng-devel-packages>
* Thu Jan 31 2002 hhetter@suse.de
- added gdkxft-mozilla patch for TT Font Rendering
@@ -1419,10 +1428,10 @@
* Fri Sep 21 2001 egger@suse.de
- Add libcms and libmng-devel to neededforbuild as suggested
by Werner Fink.
-* Fri Sep 21 2001 egger@suse.de
+* Thu Sep 20 2001 egger@suse.de
- Redid my former patch to disable Debug menus and default
to SuSE homepage.
-* Fri Sep 21 2001 mfabian@suse.de
+* Thu Sep 20 2001 mfabian@suse.de
- update Japanese language pack to mozilla0.9.4-langjajp-RC1.xpi
and mozilla0.9.4-regjp-RC1.xpi
* Thu Sep 20 2001 draht@suse.de
@@ -1464,7 +1473,7 @@
* Wed Apr 04 2001 mfabian@suse.de
- update Japanese language pack to langjajp-081-RC1.xpi
and regjp-081-RC1.xpi
-* Thu Mar 29 2001 egger@suse.de
+* Wed Mar 28 2001 egger@suse.de
- Updated to version 0.8.1.
* Mon Mar 19 2001 bk@suse.de
- strip mozilla shared libraries
@@ -1476,7 +1485,7 @@
* Tue Feb 20 2001 egger@suse.de
- Integrated a reworked version of Bernd Kaindls
patch to get the beast running from anywhere again.
-* Tue Feb 20 2001 egger@suse.de
+* Mon Feb 19 2001 egger@suse.de
- Use BuildRoot.
- Reworked specfile.
- Corrected -devel package.
@@ -1499,7 +1508,7 @@
- Enabled JAR file creation.
- Added GNOME icon.
- New wrapper script.
-* Mon Dec 25 2000 bk@suse.de
+* Sun Dec 24 2000 bk@suse.de
- set CFLAGS and CXXFLAGS for confgure to $RPM_OPT_FLAGS. With our
configure flags(--enable-optimize -> adds -O after CFLAGS) enabled
this enables only the i486 arch code which brought me 5%% speed
@@ -1521,28 +1530,28 @@
* Wed Nov 22 2000 egger@suse.de
- Reworked the specfile and of course
- Made a new snapshot.
-* Tue Nov 21 2000 egger@suse.de
+* Mon Nov 20 2000 egger@suse.de
- Made a new snapshot.
* Fri Nov 10 2000 egger@suse.de
- Made a new snapshot.
* Mon Nov 06 2000 egger@suse.de
- Made a new snapshot.
-* Mon Nov 06 2000 ro@suse.de
+* Sun Nov 05 2000 ro@suse.de
- fixed neededforbuild
-* Sun Oct 29 2000 egger@suse.de
+* Sat Oct 28 2000 egger@suse.de
- Made a new snapshot.
-* Wed Oct 25 2000 egger@suse.de
+* Tue Oct 24 2000 egger@suse.de
- Made a new snapshot.
* Fri Oct 13 2000 egger@suse.de
- Made a new snapshot.
- Changed specfile slightly.
-* Fri Oct 13 2000 egger@suse.de
+* Thu Oct 12 2000 egger@suse.de
- Made a new snapshot.
* Sun Oct 08 2000 egger@suse.de
- Made a new snapshot.
-* Fri Oct 06 2000 egger@suse.de
+* Thu Oct 05 2000 egger@suse.de
- Made a new snapshot.
-* Wed Oct 04 2000 egger@suse.de
+* Tue Oct 03 2000 egger@suse.de
- Made a new snapshot.
* Wed Sep 27 2000 egger@suse.de
- Made a new snapshot.
@@ -1556,7 +1565,7 @@
- New snapshot.
- Removed SPARC patch, the mozilla people applied the patch.
- Tested package on i386.
-* Tue Aug 22 2000 egger@suse.de
+* Mon Aug 21 2000 egger@suse.de
- Try a hint from the mozilla people to prevent that ugly mail
hack.
- Made a new snapshot.
@@ -1567,7 +1576,7 @@
- Correct the wrapper script to work from anywhere.
- Send a mail to the admin after installing mozilla
to tell him that he has to run mozilla once as root.
-* Tue Jul 11 2000 ro@suse.de
+* Mon Jul 10 2000 ro@suse.de
- specfile fix
* Mon Jul 10 2000 ro@suse.de
- try to call mozilla to create registry
@@ -1576,11 +1585,11 @@
* Thu Jul 06 2000 egger@suse.de
- Unified tarballs.
- Change incorrect strip command.
-* Thu Jul 06 2000 ro@suse.de
+* Wed Jul 05 2000 ro@suse.de
- added more dirs
* Wed Jul 05 2000 egger@suse.de
- Add missing dirs...
-* Wed Jul 05 2000 egger@suse.de
+* Tue Jul 04 2000 egger@suse.de
- Use latest bugfix snapshot.
- Try to prevent a bug in libpthreads/nspr by building
with debugging and strip everything afterwards.
@@ -1605,13 +1614,13 @@
- Checked in new snapshot.
* Mon May 15 2000 egger@suse.de
- Readded orbit to the requirements.
-* Sun May 14 2000 egger@suse.de
+* Sat May 13 2000 egger@suse.de
- Checked in completely new .spec-file and the
latest CVS snapshot.
* Sun Apr 09 2000 bk@suse.de
- added suse update config macro
- added automake to list of packages needed for building mozilla
-* Wed Mar 29 2000 ro@suse.de
+* Tue Mar 28 2000 ro@suse.de
- removed optimize
* Thu Mar 23 2000 ro@suse.de
- update to M14-no-crypto
@@ -1628,7 +1637,7 @@
- added comment for ld-script
* Mon Oct 18 1999 ro@suse.de
- fixed config.sub for ev6
-* Wed Oct 13 1999 ro@suse.de
+* Tue Oct 12 1999 ro@suse.de
- update to M10
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
@@ -1642,5 +1651,5 @@
* Tue Jun 01 1999 ro@suse.de
- moved libraries to /usr/lib/mozilla/lib
and start using "LD_LIBRARY_PATH"
-* Tue Jun 01 1999 ro@suse.de
+* Mon May 31 1999 ro@suse.de
- created packages (mozilla and mozillad)
++++++ cups-paper.patch ++++++
--- /var/tmp/diff_new_pack.W19627/_old 2008-10-23 22:52:39.000000000 +0200
+++ /var/tmp/diff_new_pack.W19627/_new 2008-10-23 22:52:40.000000000 +0200
@@ -523,17 +523,185 @@
+
+
+#endif /* nsPaperFactoryPS_h__ */
---- gfx/src/psshared/nsPaperPS.cpp
-+++ gfx/src/psshared/nsPaperPS.cpp
-@@ -22,6 +22,7 @@
+--- gfx/src/psshared/nsPaperPS.h
++++ gfx/src/psshared/nsPaperPS.h
+@@ -40,9 +40,9 @@
+ #ifndef _PAPERPS_H_
+ #define _PAPERPS_H_
+
+-#include "prtypes.h"
++#include "nsIPaperPS.h"
+ #include "nsDebug.h"
+-#include "psSharedCore.h"
++#include "nsCUPSShim.h"
+
+ struct nsPaperSizePS_ {
+ const char *name;
+@@ -51,13 +51,13 @@
+ PRBool isMetric; // Present to the user in metric, if possible
+ };
+
+-class NS_PSSHARED nsPaperSizePS {
++class NS_PSSHARED nsPaperSizePS : public nsIPaperSizePS {
+ public:
+ /** ---------------------------------------------------
+ * Constructor
+ */
+- nsPaperSizePS() { mCurrent = 0; }
+-
++ nsPaperSizePS();
++
+ /** ---------------------------------------------------
+ * @return PR_TRUE if the cursor points past the last item.
+ */
+@@ -85,6 +85,12 @@
+ PRBool Find(const char *aName);
+
+ /** ---------------------------------------------------
++ * Position the cursor at the beginning of the paper size list.
++ * @return PR_TRUE
++ */
++ PRBool FindDefault() { mCurrent = 0; return PR_TRUE; }
++
++ /** ---------------------------------------------------
+ * @return a pointer to the name of the current paper size
+ */
+ const char *Name() {
+@@ -117,11 +123,83 @@
+ return mList[mCurrent].isMetric;
+ }
+
+- private:
++ protected:
+ unsigned int mCurrent;
+ // the class visibility should export these, but it doesn't
+ static NS_PSSHARED_STATIC_MEMBER_(const nsPaperSizePS_) mList[];
+- static NS_PSSHARED_STATIC_MEMBER_(const unsigned int) mCount;
++ unsigned int mCount;
++};
++
++class NS_PSSHARED nsPaperSizeCUPS : public nsPaperSizePS {
++ public:
++ /** ---------------------------------------------------
++ * Constructor for a specific CUPS printer.
++ * @param fullPrinterName Fully qualified name, e.g., "CUPS/myprinter"
++ * @param printerName Stripped name, e.g., "myprinter"
++ */
++ nsPaperSizeCUPS(const char* fullPrinterName, const char* printerName);
++
++ /** ---------------------------------------------------
++ * Destructor.
++ */
++ ~nsPaperSizeCUPS();
++
++ /** ---------------------------------------------------
++ * Position the cursor at the beginning of the paper size list.
++ * @return VOID
++ */
++ void First() {
++ nsPaperSizePS::First();
++ SkipZeroSizes();
++ }
++
++ /** ---------------------------------------------------
++ * Advance the cursor to the next item.
++ * @return VOID
++ */
++ void Next() {
++ nsPaperSizePS::Next();
++ SkipZeroSizes();
++ }
++
++ /** ---------------------------------------------------
++ * Point the cursor to the entry with the given paper name.
++ * @return PR_TRUE if pointing to a valid entry.
++ */
++ PRBool Find(const char *aName);
++
++ /** ---------------------------------------------------
++ * Point the cursor to the CUPS default entry for paper size.
++ * @return PR_TRUE if pointing to a valid entry.
++ */
++ PRBool FindDefault();
++
++ /** ---------------------------------------------------
++ * @return a pointer to the name of the current paper size
++ */
++ const char *Name();
++
++ /** ---------------------------------------------------
++ * @return the width of the page in millimeters
++ */
++ float Width_mm();
++
++ /** ---------------------------------------------------
++ * @return the height of the page in millimeters
++ */
++ float Height_mm();
++
++ /** ---------------------------------------------------
++ * @return PR_TRUE if the paper should be presented to
++ * the user in metric units.
++ */
++ PRBool IsMetric();
++
++ private:
++ void SkipZeroSizes();
++ PRBool mUsingCups;
++ static NS_PSSHARED_STATIC_MEMBER_(nsCUPSShim) mCups;
++ ppd_file_t* mPPD;
+ };
+
+ #endif
+--- gfx/src/xlib/nsDeviceContextSpecXlib.cpp
++++ gfx/src/xlib/nsDeviceContextSpecXlib.cpp
+@@ -1212,7 +1212,11 @@
+ #endif /* SET_PRINTER_FEATURES_VIA_PREFS */
+ nsXPIDLCString papername;
+ if (NS_SUCCEEDED(CopyPrinterCharPref(pPrefs, "postscript", printerName, "paper_size", getter_Copies(papername)))) {
+- nsPaperSizePS paper;
++ nsIPaperSizePS* paper;
++ nsresult rv;
++ rv = nsPaperFactoryPS::CreatePaper
++ (fullPrinterName.get(), printerName.get(), paper);
++ if (NS_FAILED(rv)) return rv;
+
+ if (paper.Find(papername)) {
+ DO_PR_DEBUG_LOG(("setting default paper size to '%s' (%g mm/%g mm)\n",
+@@ -1238,6 +1242,7 @@
+ }
+ printerFeatures.SetNumPaperSizeRecords(count);
+ #endif /* SET_PRINTER_FEATURES_VIA_PREFS */
++ delete(paper);
+ }
+
+ PRBool hasSpoolerCmd = (nsPSPrinterList::kTypePS ==
+Index: gfx/src/psshared/nsPaperPS.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/gfx/src/psshared/nsPaperPS.cpp,v
+retrieving revision 1.1.20.1
+diff -u -p -6 -r1.1.20.1 nsPaperPS.cpp
+--- gfx/src/psshared/nsPaperPS.cpp 3 Dec 2006 17:59:29 -0000 1.1.20.1
++++ gfx/src/psshared/nsPaperPS.cpp 31 Oct 2007 14:28:58 -0000
+@@ -19,12 +19,14 @@
+ * The Initial Developer of the Original Code is
+ * Kenneth Herron