Accepting request 76843 from M17N

bnc704612_othersubr (forwarded request 76760 from keichwa)

OBS-URL: https://build.opensuse.org/request/show/76843
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/freetype2?expand=0&rev=38
This commit is contained in:
Sascha Peilicke 2011-08-04 06:59:17 +00:00 committed by Git OBS Bridge
commit 9872516cb9
16 changed files with 209 additions and 459 deletions

View File

@ -1,36 +0,0 @@
---
src/cff/cffgload.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
Index: freetype-2.4.2/src/cff/cffgload.c
===================================================================
--- freetype-2.4.2.orig/src/cff/cffgload.c
+++ freetype-2.4.2/src/cff/cffgload.c
@@ -204,7 +204,7 @@
2, /* hsbw */
0,
0,
- 0,
+ 1,
5, /* seac */
4, /* sbw */
2 /* setcurrentpoint */
@@ -2041,6 +2041,9 @@
if ( Rand >= 0x8000L )
Rand++;
+ if ( args - stack >= CFF_MAX_OPERANDS )
+ goto Stack_Overflow;
+
args[0] = Rand;
seed = FT_MulFix( seed, 0x10000L - seed );
if ( seed == 0 )
@@ -2166,6 +2169,8 @@
case cff_op_dup:
FT_TRACE4(( " dup\n" ));
+ if ( args + 1 - stack >= CFF_MAX_OPERANDS )
+ goto Stack_Overflow;
args[1] = args[0];
args += 2;
break;

View File

@ -1,38 +0,0 @@
Index: freetype-2.4.2/src/base/ftstream.c
===================================================================
--- freetype-2.4.2.orig/src/base/ftstream.c
+++ freetype-2.4.2/src/base/ftstream.c
@@ -70,8 +70,16 @@
{
FT_Error error = FT_Err_Ok;
+ /* note that seeking to the first position after the file is valid */
+ if ( pos > stream->size )
+ {
+ FT_ERROR(( "FT_Stream_Seek:"
+ " invalid i/o; pos = 0x%lx, size = 0x%lx\n",
+ pos, stream->size ));
+ error = FT_Err_Invalid_Stream_Operation;
+ }
- if ( stream->read )
+ if ( !error && stream->read )
{
if ( stream->read( stream, pos, 0, 0 ) )
{
@@ -82,15 +90,6 @@
error = FT_Err_Invalid_Stream_Operation;
}
}
- /* note that seeking to the first position after the file is valid */
- else if ( pos > stream->size )
- {
- FT_ERROR(( "FT_Stream_Seek:"
- " invalid i/o; pos = 0x%lx, size = 0x%lx\n",
- pos, stream->size ));
-
- error = FT_Err_Invalid_Stream_Operation;
- }
if ( !error )
stream->pos = pos;

99
bnc704612_othersubr.diff Normal file
View File

@ -0,0 +1,99 @@
--- freetype-2.4.4/src/psaux/t1decode.c.orig 2011-07-21 16:44:40.000000000 +0000
+++ freetype-2.4.4/src/psaux/t1decode.c 2011-07-21 17:00:05.000000000 +0000
@@ -28,6 +28,8 @@
#include "psauxerr.h"
+/* ensure proper sign extension */
+#define Fix2Int( f ) ( (FT_Int)(FT_Short)( (f) >> 16 ) )
/*************************************************************************/
/* */
@@ -662,7 +664,7 @@
if ( large_int )
FT_TRACE4(( " %ld", value ));
else
- FT_TRACE4(( " %ld", (FT_Int32)( value >> 16 ) ));
+ FT_TRACE4(( " %ld", Fix2Int( value ) ));
#endif
*top++ = value;
@@ -684,8 +686,8 @@
top -= 2;
- subr_no = (FT_Int)( top[1] >> 16 );
- arg_cnt = (FT_Int)( top[0] >> 16 );
+ subr_no = Fix2Int( top[1] );
+ arg_cnt = Fix2Int( top[0] );
/***********************************************************/
/* */
@@ -862,7 +864,7 @@
if ( arg_cnt != 1 || blend == NULL )
goto Unexpected_OtherSubr;
- idx = (FT_Int)( top[0] >> 16 );
+ idx = Fix2Int( top[0] );
if ( idx < 0 ||
idx + blend->num_designs > decoder->len_buildchar )
@@ -930,7 +932,7 @@
if ( arg_cnt != 2 || blend == NULL )
goto Unexpected_OtherSubr;
- idx = (FT_Int)( top[1] >> 16 );
+ idx = Fix2Int( top[1] );
if ( idx < 0 || (FT_UInt) idx >= decoder->len_buildchar )
goto Unexpected_OtherSubr;
@@ -951,7 +953,7 @@
if ( arg_cnt != 1 || blend == NULL )
goto Unexpected_OtherSubr;
- idx = (FT_Int)( top[0] >> 16 );
+ idx = Fix2Int( top[0] );
if ( idx < 0 || (FT_UInt) idx >= decoder->len_buildchar )
goto Unexpected_OtherSubr;
@@ -1009,11 +1011,15 @@
break;
default:
- FT_ERROR(( "t1_decoder_parse_charstrings:"
- " unknown othersubr [%d %d], wish me luck\n",
- arg_cnt, subr_no ));
- unknown_othersubr_result_cnt = arg_cnt;
- break;
+ if ( arg_cnt >= 0 && subr_no >= 0 )
+ {
+ FT_ERROR(( "t1_decoder_parse_charstrings:"
+ " unknown othersubr [%d %d], wish me luck\n",
+ arg_cnt, subr_no ));
+ unknown_othersubr_result_cnt = arg_cnt;
+ break;
+ }
+ /* fall through */
Unexpected_OtherSubr:
FT_ERROR(( "t1_decoder_parse_charstrings:"
@@ -1139,8 +1145,8 @@
top[0],
top[1],
top[2],
- (FT_Int)( top[3] >> 16 ),
- (FT_Int)( top[4] >> 16 ) );
+ Fix2Int( top[3] ),
+ Fix2Int( top[4] ) );
case op_sbw:
FT_TRACE4(( " sbw" ));
@@ -1324,7 +1330,7 @@
FT_TRACE4(( " callsubr" ));
- idx = (FT_Int)( top[0] >> 16 );
+ idx = Fix2Int( top[0] );
if ( idx < 0 || idx >= (FT_Int)decoder->num_subrs )
{
FT_ERROR(( "t1_decoder_parse_charstrings:"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b8281c7dc4d375c6b65d3c6f4808e488a313fab47d7be82aad2c871c8480fef
size 1442053

3
freetype-2.4.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73e835881b3413df8a0653b046048932794df0cfec9c4dd5adf28f64de445af2
size 1483537

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9205ea8899ae005ceede2c7d4ab6dfac6d669b16a9e4a0d49f90c081bc916ae3
size 104304

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2dc5dcb35a8c7f51ce885fc908c9c9b164ca65727926d9d5c7bff91fad0d3c9c
size 106683

View File

@ -16,6 +16,6 @@
- if test "$enable_shared" = "yes" ; then
- eval "rpath=\"$hardcode_libdir_flag_spec\""
- fi
libs="-lfreetype @LIBZ@ @FT2_EXTRA_LIBS@"
libs="-lfreetype @LIBZ@ @LIBBZ2@ @FT2_EXTRA_LIBS@"
if test "${SYSROOT}$libdir" != "/usr/lib" && test "${SYSROOT}$libdir" != "/usr/lib64"; then
echo -L${SYSROOT}$libdir $libs

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Fri Jul 22 13:41:02 CEST 2011 - ke@suse.de
- added bnc704612_othersubr.diff, CVE-2011-0226, bnc#704612.
-------------------------------------------------------------------
Thu Jul 7 13:16:05 UTC 2011 - idonmez@novell.com
- Clean spec file
- Disable static libraries
- Drop unneeded use_unix.diff
- Disable newly introduced bzip2 support, it seems to create
problems with subpixel rendering
-------------------------------------------------------------------
Sat Jun 25 08:37:55 UTC 2011 - idonmez@novell.com
- Update to version 2.4.5
* A rendering regression for second-order Bézier curves has been
fixed, introduced in 2.4.3.
* If autohinting is not explicitly disabled, FreeType now uses
the autohinter if a TrueType based font doesn't contain native
hints.
* The load flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH has been made
redundant and is simply ignored; this means that FreeType now
ignores the global advance width value in TrueType fonts.
* `FT_Sfnt_Table_Info' can now return the number of SFNT tables of
a font.
* Support for PCF files compressed with bzip2 has been contributed
by Joel Klinghed. To make this work, the OS must provide a
bzip2 library.
* Again some fixes to better handle broken fonts.
* Some improvements to the B/W rasterizer.
* Fixes to the cache module to improve robustness.
* Just Fill Bugs contributed (experimental) code to compute blue
zones for CJK Ideographs, improving the alignment of horizontal
stems at the top or bottom edges.
- Dropped the following patches:
* bnc628213_1797.diff (fixed upstream)
* bnc641580_CVE-2010-3311.diff (fixed upstream)
* ft2-stream-compat.diff (only needed for SLE8->SLE9 update)
- Add libbz2-devel to BuildRequires to enable bzip2 support
-------------------------------------------------------------------
Mon Feb 28 16:36:35 UTC 2011 - jw@novell.com

View File

@ -15,42 +15,31 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: freetype2
BuildRequires: pkg-config zlib-devel
License: Freetype License (BSD-like). See http://freetype.sourceforge.net/FTL.TXT
Group: System/Libraries
AutoReqProv: on
BuildRequires: pkg-config
BuildRequires: zlib-devel
# bug437293
%ifarch ppc64
Obsoletes: freetype2-64bit
%endif
#
Version: 2.4.4
Release: 9
Url: http://www.freetype.org
Version: 2.4.5
Release: 1
Summary: A TrueType Font Library
# CVS repository:
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype login
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co freetype2
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co ft2demos
Url: http://www.freetype.org
Source0: http://download.savannah.gnu.org/releases/freetype/freetype-%{version}.tar.bz2
Source1: http://download.savannah.gnu.org/releases/freetype/freetype-doc-%{version}.tar.bz2
Source3: baselibs.conf
Patch3: freetype2-bitmap-foundry.patch
Patch4: ft2-stream-compat.diff
Patch9: fix-build.patch
Patch10: freetype2-no_rpath.patch
Patch308961: bugzilla-308961-cmex-workaround.patch
Patch200: freetype2-subpixel.patch
Patch201: use_unix.diff
Patch1000: bnc628213_1797.diff
Patch1015: bnc641580_CVE-2010-3311.diff
Source1015: bug-641580_CVE-2010-3311.cff
Patch1018: bnc704612_othersubr.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -72,12 +61,14 @@ version also contains an autohinter for producing improved output.
License: GPLv2+ ; Freetype License (BSD-like). See http://freetype.sourceforge.net/FTL.TXT
Summary: Development environment for the freetype2 TrueType font library
Group: Development/Libraries/C and C++
Requires: libfreetype6 = %{version}, zlib-devel
Requires: libfreetype6 = %{version}
Requires: zlib-devel
# bug437293
%ifarch ppc64
Obsoletes: freetype2-devel-64bit
%endif
#
# there is no freetype-devel on suse:
Provides: freetype-devel
%description devel
This package contains all necessary include files, libraries and
@ -90,58 +81,30 @@ It also contains a small tutorial for using that library.
%define enable_subpixel_rendering 0
%setup -q -n freetype-%{version} -a 1
%patch3 -p 1 -b .bitmap-foundry
%patch4 -p 1 -b .ft2-stream-compat
#%patch8 -p 1
%patch9 -p 1
%patch10
%patch308961 -p 1
%if %{enable_subpixel_rendering}
%patch200 -p 1 -b .subpixel
%endif
%patch201 -p1
%patch1018 -p 1 -b .othersubr
# bnc628213_1797.diff
%patch1000 -p1
# bnc629447_CVE-2010-2805..8.diff
#%patch1001 -p1
#%patch1002 -p1
#%patch1003 -p1
#%patch1004 -p1
# bnc619562_CVE-2010-2497..2541.diff
#%patch1005 -p1
#%patch1006 -p1
#%patch1007 -p1
#%patch1008 -p1
#%patch1009 -p1
#%patch1010 -p1
# bnc633938_CVE-2010-3053.diff
#%patch1013 -p1
# bnc641580_CVE-2010-3311.diff
%patch1015 -p1
find . -name CVS -type d | xargs rm -rf
find . -name ".cvsignore" | xargs rm -f
cp /usr/share/automake*/config.{guess,sub} builds/unix
rm docs/reference/.gitignore
%build
export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing"
%ifarch arm
export CFLAGS="$CFLAGS -std=gnu99"
%endif
ln -s /usr/bin/libtool ./builds/unix/libtool
make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib"
make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs}
# build the documentation in the references subdirectory:
# (this needs python and we cannot have python in the BuildRequires of
# a basic package like freetype2, therefore we cannot do it here but we have
# to generate this documentation manually)
#make refdoc
%configure --without-bzip2 \
--disable-static
make %{_smp_mflags}
%install
%makeinstall
# these development documents should go into the freetype2-devel package:
mv docs/reference freetype-%{version}/docs
make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/%{_libdir} install
# remove documentation that does not belong in an rpm
rm docs/INSTALL*
@ -161,11 +124,11 @@ rm -rf %{buildroot}
%files devel
%defattr(-,root,root)
%doc freetype-%{version}/docs/*
/usr/include/*
%{_includedir}/*
%exclude %{_libdir}/libfreetype.*a
%{_libdir}/libfreetype.so
%{_libdir}/pkgconfig/freetype2.pc
/usr/bin/*
/usr/share/aclocal/*
%{_bindir}/*
%{_datadir}/aclocal/*
%changelog

View File

@ -1,218 +0,0 @@
---
src/base/ftstream.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 56 insertions(+), 2 deletions(-)
Index: freetype-2.4.2/src/base/ftstream.c
===================================================================
--- freetype-2.4.2.orig/src/base/ftstream.c
+++ freetype-2.4.2/src/base/ftstream.c
@@ -44,6 +44,17 @@
stream->close = 0;
}
+ FT_BASE_DEF( void )
+ FT_New_Memory_Stream( FT_Library, FT_Byte*, FT_ULong, FT_Stream ) __attribute__((weak));
+ FT_BASE_DEF( void )
+ FT_New_Memory_Stream( FT_Library library,
+ FT_Byte* base,
+ FT_ULong size,
+ FT_Stream stream )
+ {
+ stream->memory = library->memory;
+ FT_Stream_OpenMemory( stream, (const FT_Byte*) base, size );
+ }
FT_BASE_DEF( void )
FT_Stream_Close( FT_Stream stream )
@@ -87,6 +98,8 @@
return error;
}
+ FT_BASE_DEF( FT_Error )
+ FT_Seek_Stream(FT_Stream, FT_ULong) __attribute__((weak, alias("FT_Stream_Seek")));
FT_BASE_DEF( FT_Error )
FT_Stream_Skip( FT_Stream stream,
@@ -98,6 +111,8 @@
return FT_Stream_Seek( stream, (FT_ULong)( stream->pos + distance ) );
}
+ FT_BASE_DEF( FT_Error )
+ FT_Skip_Stream(FT_Stream, FT_Long) __attribute__((weak, alias("FT_Stream_Skip")));
FT_BASE_DEF( FT_Long )
FT_Stream_Pos( FT_Stream stream )
@@ -114,6 +129,8 @@
return FT_Stream_ReadAt( stream, stream->pos, buffer, count );
}
+ FT_BASE_DEF( FT_Error )
+ FT_Read_Stream( FT_Stream, FT_Byte*, FT_ULong ) __attribute__((weak, alias("FT_Stream_Read")));
FT_BASE_DEF( FT_Error )
FT_Stream_ReadAt( FT_Stream stream,
@@ -188,6 +205,8 @@
return read_bytes;
}
+ FT_BASE_DEF( FT_Error )
+ FT_Read_Stream_At( FT_Stream, FT_ULong, FT_Byte*, FT_ULong) __attribute__((weak, alias("FT_Stream_ReadAt")));
FT_BASE_DEF( FT_Error )
FT_Stream_ExtractFrame( FT_Stream stream,
@@ -210,7 +229,9 @@
return error;
}
-
+ FT_BASE_DEF( FT_Error )
+ FT_Extract_Frame( FT_Stream, FT_ULong, FT_Byte** ) __attribute__((weak, alias("FT_Stream_ExtractFrame")));
+
FT_BASE_DEF( void )
FT_Stream_ReleaseFrame( FT_Stream stream,
FT_Byte** pbytes )
@@ -229,6 +250,8 @@
*pbytes = 0;
}
+ FT_BASE_DEF( void )
+ FT_Release_Frame( FT_Stream, FT_Byte** ) __attribute__((weak, alias("FT_Stream_ReleaseFrame")));
FT_BASE_DEF( FT_Error )
FT_Stream_EnterFrame( FT_Stream stream,
@@ -307,6 +330,8 @@
return error;
}
+ FT_BASE_DEF( FT_Error )
+ FT_Access_Frame( FT_Stream, FT_ULong ) __attribute__((weak, alias("FT_Stream_EnterFrame")));
FT_BASE_DEF( void )
FT_Stream_ExitFrame( FT_Stream stream )
@@ -337,6 +362,8 @@
stream->limit = 0;
}
+ FT_BASE_DEF( void )
+ FT_Forget_Frame( FT_Stream ) __attribute__((weak, alias("FT_Stream_ExitFrame")));
FT_BASE_DEF( FT_Char )
FT_Stream_GetChar( FT_Stream stream )
@@ -353,6 +380,8 @@
return result;
}
+ FT_BASE_DEF( FT_Char )
+ FT_Get_Char( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetChar")));
FT_BASE_DEF( FT_Short )
FT_Stream_GetShort( FT_Stream stream )
@@ -372,6 +401,8 @@
return result;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Get_Short( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetShort")));
FT_BASE_DEF( FT_Short )
FT_Stream_GetShortLE( FT_Stream stream )
@@ -391,6 +422,8 @@
return result;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Get_ShortLE( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetShortLE")));
FT_BASE_DEF( FT_Long )
FT_Stream_GetOffset( FT_Stream stream )
@@ -409,6 +442,8 @@
return result;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Get_Offset( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetOffset")));
FT_BASE_DEF( FT_Long )
FT_Stream_GetLong( FT_Stream stream )
@@ -427,6 +462,8 @@
return result;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Get_Long( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetLong")));
FT_BASE_DEF( FT_Long )
FT_Stream_GetLongLE( FT_Stream stream )
@@ -445,6 +482,8 @@
return result;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Get_LongLE( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetLongLE")));
FT_BASE_DEF( FT_Char )
FT_Stream_ReadChar( FT_Stream stream,
@@ -482,6 +521,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Char )
+ FT_Read_Char( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadChar")));
FT_BASE_DEF( FT_Short )
FT_Stream_ReadShort( FT_Stream stream,
@@ -529,6 +570,9 @@
return 0;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Read_Short( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadShort")));
+
FT_BASE_DEF( FT_Short )
FT_Stream_ReadShortLE( FT_Stream stream,
@@ -576,6 +620,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Read_ShortLE( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadShortLE")));
FT_BASE_DEF( FT_Long )
FT_Stream_ReadOffset( FT_Stream stream,
@@ -623,6 +669,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Read_Offset( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadOffset")));
FT_BASE_DEF( FT_Long )
FT_Stream_ReadLong( FT_Stream stream,
@@ -670,6 +718,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Read_Long( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadLong")));
FT_BASE_DEF( FT_Long )
FT_Stream_ReadLongLE( FT_Stream stream,
@@ -717,6 +767,9 @@
return 0;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Read_LongLE( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadLongLE")));
+
FT_BASE_DEF( FT_Error )
FT_Stream_ReadFields( FT_Stream stream,
@@ -860,5 +913,6 @@
return error;
}
-
+ FT_BASE_DEF( FT_Error )
+ FT_Read_Fields( FT_Stream, const FT_Frame_Field*, void* ) __attribute__((weak, alias("FT_Stream_ReadFields")));
/* END */

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:176091eacbc0a27a420f097ebc997b7d2b96c12143bf3a41d470a66879ca02c4
size 161949

3
ft2demos-2.4.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b305408ef319414b89e387342f440c96736532795272186f02dd0968fb15ae5
size 162976

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Fri Jul 22 13:41:52 CEST 2011 - ke@suse.de
- added bnc704612_othersubr.diff, CVE-2011-0226, bnc#704612.
-------------------------------------------------------------------
Thu Jul 7 13:20:45 UTC 2011 - idonmez@novell.com
- Cleanup spec file
- Drop unneeded use_unix.diff
-------------------------------------------------------------------
Sat Jun 25 08:43:59 UTC 2011 - idonmez@novell.com
- Update to version 2.4.5
* The `ftgrid' demo program can now display autohinter segments,
to be toggled on and off with key `s'.
-------------------------------------------------------------------
Fri Feb 25 12:06:26 UTC 2011 - jw@novell.com

View File

@ -15,42 +15,31 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: ft2demos
BuildRequires: xorg-x11-devel
License: GPLv2+
Group: Productivity/Publishing/Other
AutoReqProv: on
Supplements: fonts-config
Version: 2.4.4
Version: 2.4.5
Release: 4
License: GPLv2+
Summary: Freetype2 Utilities and Demo Programs
%define freetype_version %{version}
Url: http://www.freetype.org
Summary: Freetype2 Utilities and Demo Programs
# CVS repository:
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype login
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co freetype2
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co ft2demos
Group: Productivity/Publishing/Other
Source0: http://savannah.nongnu.org/download/freetype/freetype-%{version}.tar.bz2
# Uncomment to save space:
#NoSource: 0
Source1: http://savannah.nongnu.org/download/freetype/ft2demos-%{version}.tar.bz2
Patch4: ft2-stream-compat.diff
Patch9: fix-build.patch
Patch308961: bugzilla-308961-cmex-workaround.patch
Patch50: ft2demos-build-testname.patch
Patch200: freetype2-subpixel.patch
Patch201: use_unix.diff
BuildRequires: xorg-x11-devel
Supplements: fonts-config
Patch1000: bnc628213_1797.diff
Source1000: bnc628213_test.otf
Source1004: bnc629447_sigsegv31.ttf
Source1013: bnc633938_badbdf.0
Patch1015: bnc641580_CVE-2010-3311.diff
Source1015: bug-641580_CVE-2010-3311.cff
Source1016: bug-647375_tt2.ttf
Patch1018: bnc704612_othersubr.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -60,9 +49,6 @@ Freetype2 utilities and demo programs.
%prep
%define enable_subpixel_rendering 0%{?opensuse_bs}
%setup -n freetype-%{freetype_version} -b 1
%patch4 -p 1 -b .ft2-stream-compat
#%patch5 -p 1
#%patch8 -p 1
%patch9 -p 1
%patch308961 -p 1
pushd ../ft2demos-%{version}
@ -71,66 +57,30 @@ popd
%if %{enable_subpixel_rendering}
%patch200 -p 1 -b .subpixel
%endif
%patch201 -p1
# bnc628213_1797.diff
%patch1000 -p1
# bnc629447_CVE-2010-2805..8.diff
#%patch1001 -p1
#%patch1002 -p1
#%patch1003 -p1
#%patch1004 -p1
# bnc619562_CVE-2010-2497..2541.diff
#%patch1005 -p1
#%patch1006 -p1
#%patch1007 -p1
#%patch1008 -p1
#%patch1009 -p1
#%patch1010 -p1
pushd ../ft2demos-%{version}
#%patch1011 -p1
#%patch1012 -p1
popd
# bnc633938_CVE-2010-3053.diff
#%patch1013 -p1
# bnc641580_CVE-2010-3311.diff
%patch1015 -p1
find . -name CVS -type d | xargs rm -rf
find . -name ".cvsignore" | xargs rm -f
cp /usr/share/automake*/config.{guess,sub} builds/unix
%patch1018 -p 1 -b .othersubr
%build
export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing "
ln -s /usr/bin/libtool ./builds/unix/libtool
make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib"
make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs}
# build the documentation in the references subdirectory:
# (this needs python and we cannot have python in the BuildRequires of
# a basic package like freetype2, therefore we cannot do it here but we have
# to generate this documentation manually)
# make refdoc
%configure --without-bzip2
make %{_smp_mflags}
pushd ..
ln -s freetype-%{freetype_version} freetype2
cd ft2demos-%{version}
make prefix=/usr libdir=%{_libdir} \
X11_PATH="/usr/X11R6" \
LDFLAGS="-L/usr/X11R6/%{_lib} -lm "
make %{_smp_mflags}
popd
%install
#make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/%{_libdir} install
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p %{buildroot}%{_bindir}
pushd ../ft2demos-%{version}/bin/.libs
install -m 755 ft* $RPM_BUILD_ROOT%{_bindir}
install -m 755 ft* %{buildroot}%{_bindir}
popd
%check
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1000}
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1004} |& grep -v "couldn't load font resource" && echo "should fail"
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1013} |& grep -v "couldn't load font resource" && echo "should fail"
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1015} |& grep -v "couldn't load font resource" && echo "should fail"
$RPM_BUILD_ROOT/usr/bin/ftbench -c 1 %{S:1016}
%{buildroot}%{_bindir}/ftbench -c 1 %{S:1000}
%{buildroot}%{_bindir}/ftbench -c 1 %{S:1004} |& grep -v "couldn't load font resource" && echo "should fail"
%{buildroot}%{_bindir}/ftbench -c 1 %{S:1013} |& grep -v "couldn't load font resource" && echo "should fail"
%{buildroot}%{_bindir}/ftbench -c 1 %{S:1015} |& grep -v "couldn't load font resource" && echo "should fail"
%{buildroot}%{_bindir}/ftbench -c 1 %{S:1016}
%clean

View File

@ -1,31 +0,0 @@
---
builds/toplevel.mk | 2 +-
builds/unix/detect.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: freetype-2.4.2/builds/toplevel.mk
===================================================================
--- freetype-2.4.2.orig/builds/toplevel.mk
+++ freetype-2.4.2/builds/toplevel.mk
@@ -120,7 +120,7 @@ ifdef check_platform
#
# Note: This test is duplicated in `builds/unix/detect.mk'.
#
- is_unix := $(strip $(wildcard /sbin/init) \
+ is_unix := $(strip $(wildcard /bin/ls) \
$(wildcard /usr/sbin/init) \
$(wildcard /hurd/auth))
ifneq ($(is_unix),)
Index: freetype-2.4.2/builds/unix/detect.mk
===================================================================
--- freetype-2.4.2.orig/builds/unix/detect.mk
+++ freetype-2.4.2/builds/unix/detect.mk
@@ -18,7 +18,7 @@ ifeq ($(PLATFORM),ansi)
# Note: this test is duplicated in "builds/toplevel.mk".
#
- is_unix := $(strip $(wildcard /sbin/init) \
+ is_unix := $(strip $(wildcard /bin/ls) \
$(wildcard /usr/sbin/init) \
$(wildcard /hurd/auth))
ifneq ($(is_unix),)