diff options
Diffstat (limited to 'packaging')
-rw-r--r-- | packaging/flex-2.5.35-gcc44.patch | 22 | ||||
-rw-r--r-- | packaging/flex-2.5.35-hardening.patch | 36 | ||||
-rw-r--r-- | packaging/flex-2.5.35-sign.patch | 11 | ||||
-rw-r--r-- | packaging/flex.changes | 13 | ||||
-rw-r--r-- | packaging/flex.manifest | 5 | ||||
-rw-r--r-- | packaging/flex.spec | 61 |
6 files changed, 148 insertions, 0 deletions
diff --git a/packaging/flex-2.5.35-gcc44.patch b/packaging/flex-2.5.35-gcc44.patch new file mode 100644 index 0000000..7929fc0 --- /dev/null +++ b/packaging/flex-2.5.35-gcc44.patch @@ -0,0 +1,22 @@ +diff -urNp flex-2.5.35.orig/flex.skl flex-2.5.35/flex.skl +--- flex-2.5.35.orig/flex.skl 2009-04-20 03:09:46.000000000 +0530 ++++ flex-2.5.35/flex.skl 2009-04-20 07:46:58.000000000 +0530 +@@ -217,6 +217,7 @@ m4preproc_include(`flexint.h') + /* begin standard C++ headers. */ + #include <iostream> + #include <errno.h> ++#include <cstdio> + #include <cstdlib> + #include <cstring> + /* end standard C++ headers. */ +diff -urNp flex-2.5.35.orig/skel.c flex-2.5.35/skel.c +--- flex-2.5.35.orig/skel.c 2009-04-20 03:09:46.000000000 +0530 ++++ flex-2.5.35/skel.c 2009-04-20 07:46:40.000000000 +0530 +@@ -284,6 +284,7 @@ const char *skel[] = { + "/* begin standard C++ headers. */", + "#include <iostream> ", + "#include <errno.h>", ++ "#include <cstdio>", + "#include <cstdlib>", + "#include <cstring>", + "/* end standard C++ headers. */", diff --git a/packaging/flex-2.5.35-hardening.patch b/packaging/flex-2.5.35-hardening.patch new file mode 100644 index 0000000..7d608ea --- /dev/null +++ b/packaging/flex-2.5.35-hardening.patch @@ -0,0 +1,36 @@ +diff -u flex-2.5.35/scan.c flex-2.5.35/scan.c +--- flex-2.5.35/scan.c ++++ flex-2.5.35/scan.c +@@ -2096,7 +2096,7 @@ + /* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +-#define ECHO fwrite( yytext, yyleng, 1, yyout ) ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) + #endif + + /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, +diff -u flex-2.5.35/flex.skl flex-2.5.35/flex.skl +--- flex-2.5.35/flex.skl ++++ flex-2.5.35/flex.skl +@@ -1075,7 +1075,7 @@ + /* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +-#define ECHO fwrite( yytext, yyleng, 1, yyout ) ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) + %endif + %if-c++-only C++ definition + #define ECHO LexerOutput( yytext, yyleng ) +diff -u flex-2.5.35/skel.c flex-2.5.35/skel.c +--- flex-2.5.35/skel.c ++++ flex-2.5.35/skel.c +@@ -1142,7 +1142,7 @@ + "/* This used to be an fputs(), but since the string might contain NUL's,", + " * we now use fwrite().", + " */", +- "#define ECHO fwrite( yytext, yyleng, 1, yyout )", ++ "#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)", + "%endif", + "%if-c++-only C++ definition", + "#define ECHO LexerOutput( yytext, yyleng )", diff --git a/packaging/flex-2.5.35-sign.patch b/packaging/flex-2.5.35-sign.patch new file mode 100644 index 0000000..fbee18b --- /dev/null +++ b/packaging/flex-2.5.35-sign.patch @@ -0,0 +1,11 @@ +--- flex-2.5.35/gen.c-orig 2008-04-30 22:51:08.000000000 +0200 ++++ flex-2.5.35/gen.c 2008-04-30 22:51:14.000000000 +0200 +@@ -1890,7 +1890,7 @@ + outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); + outn ("\t\t{ \\"); + outn ("\t\tint c = '*'; \\"); +- outn ("\t\tint n; \\"); ++ outn ("\t\tunsigned n; \\"); + outn ("\t\tfor ( n = 0; n < max_size && \\"); + outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); + outn ("\t\t\tbuf[n] = (char) c; \\"); diff --git a/packaging/flex.changes b/packaging/flex.changes new file mode 100644 index 0000000..9984948 --- /dev/null +++ b/packaging/flex.changes @@ -0,0 +1,13 @@ +* Wed May 30 2012 Anas Nashif <anas.nashif@intel.com> 30489d0 +- Do not use macro for installation +[ Ryan Ware ] +- Add default Smack manifest for flex.spec + +* Wed May 30 2012 Anas Nashif <anas.nashif@intel.com> 2bb52a0 +- Do not use macro for installation + +* Mon May 21 2012 Kim Kibum <kb0929.kim@samsung.com> 2ae147a +- Upload Tizen:Base source +[ Hyesook Choi ] +- Initial empty repository + diff --git a/packaging/flex.manifest b/packaging/flex.manifest new file mode 100644 index 0000000..017d22d --- /dev/null +++ b/packaging/flex.manifest @@ -0,0 +1,5 @@ +<manifest> + <request> + <domain name="_"/> + </request> +</manifest> diff --git a/packaging/flex.spec b/packaging/flex.spec new file mode 100644 index 0000000..de071cf --- /dev/null +++ b/packaging/flex.spec @@ -0,0 +1,61 @@ +Name: flex +Version: 2.5.35 +Release: 3 +License: BSD +Summary: A tool for creating scanners (text pattern recognizers) +Url: http://flex.sourceforge.net/ +Group: Development/Tools +Source: http://prdownloads.sourceforge.net/flex/flex-%{version}.tar.bz2 +Source1001: flex.manifest +Patch0: flex-2.5.35-sign.patch +# borrowed from fc12 +Patch1: flex-2.5.35-hardening.patch +Patch2: flex-2.5.35-gcc44.patch +BuildRequires: bison +BuildRequires: m4 +Requires: m4 + +%description +The flex program generates scanners. Scanners are programs which can +recognize lexical patterns in text. Flex takes pairs of regular +expressions and C code as input and generates a C source file as +output. The output file is compiled and linked with a library to +produce an executable. The executable searches through its input for +occurrences of the regular expressions. When a match is found, it +executes the corresponding C code. Flex was designed to work with +both Yacc and Bison, and is used by many programs as part of their +build process. + +You should install flex if you are going to use your system for +application development. + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +cp %{SOURCE1001} . +%configure --disable-dependency-tracking CFLAGS="-fPIC %{optflags}" --disable-nls +make %{?_smp_mflags} + +%install +make install DESTDIR=%{buildroot} +rm -f %{buildroot}/%{_infodir}/* + +( cd %{buildroot} + ln -sf flex .%{_bindir}/lex + ln -sf flex .%{_bindir}/flex++ + ln -s libfl.a .%{_libdir}/libl.a +) + +%remove_docs + +%files +%manifest flex.manifest +%doc COPYING +%{_bindir}/* +%{_libdir}/*.a +%{_includedir}/FlexLexer.h + |