diff options
Diffstat (limited to 'net-analyzer/ngrep/files/ngrep-1.45-build-fixes.patch')
-rw-r--r-- | net-analyzer/ngrep/files/ngrep-1.45-build-fixes.patch | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/net-analyzer/ngrep/files/ngrep-1.45-build-fixes.patch b/net-analyzer/ngrep/files/ngrep-1.45-build-fixes.patch new file mode 100644 index 000000000000..9cde0f81926d --- /dev/null +++ b/net-analyzer/ngrep/files/ngrep-1.45-build-fixes.patch @@ -0,0 +1,186 @@ +This patch fixes a number of problems with have with build: + + * more clean cut off pcre library; we'll never use bundled pcre library, so + some autoconf added REGEX_LIBS to pass correct system libs and header change. + + * We use AC_CONFIG_SUBDIRS to pass make autoconf reconfigure gnuregex library + - this way ./configure will be called correctly and correct comipler will be + selected automatically. + + * With the previous change some modifications were required to make gnuregex + buildable: a) we should not overide CFLAGS in Makefile.in (as they together + with -DHAVE_CONFIG_H will be passed to gnuregex and it'll fail to build, + since no config.h exist) b) obvious way to remove warning "_GNU_SOURCE" + redefined + + * also we don't pass $(MAKEFLAGS) since it caused us problems in the past (bug + #178684) + +--- a/Makefile.in ++++ b/Makefile.in +@@ -7,7 +7,8 @@ + + CC=@CC@ + +-CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ ++# Never redefine CFLAGS, as it pollutes env and gnuregex build failes ++EXTRA_CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ + INCLUDES=-I@srcdir@ @PCAP_INCLUDE@ @EXTRA_INCLUDES@ + + LDFLAGS=@LDFLAGS@ @PCAP_LINK@ +@@ -34,25 +35,25 @@ + + REGEX_DIR=@REGEX_DIR@ + REGEX_OBJS=@REGEX_OBJS@ +- ++REGEX_LIBS=@REGEX_LIBS@ + + all: $(TARGET) + + $(TARGET): $(REGEX_OBJS) $(OBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) ++ $(CC) $(EXTRA_CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(REGEX_LIBS) $(LIBS) + + debug: $(REGEX_OBJS) $(OBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) -g -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) ++ $(CC) $(EXTRA_CFLAGS) $(LDFLAGS) -g -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(REGEX_LIBS) $(LIBS) + + static: $(REGEX_OBJS) $(OBJS) +- $(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET).static -static $(OBJS) $(REGEX_OBJS) $(LIBS) ++ $(CC) $(EXTRA_CFLAGS) $(LDFLAGS) -o $(TARGET).static -static $(OBJS) $(REGEX_OBJS) $(REGEX_LIBS) $(LIBS) + + install: $(TARGET) + $(INSTALL) -c -m 0755 $(TARGET) $(DESTDIR)/$(BINDIR_INSTALL)/$(TARGET) + $(INSTALL) -c -m 0644 $(MANPAGE) $(DESTDIR)/$(MANDIR_INSTALL)/$(MANPAGE) + + .c.o: +- $(CC) $(CFLAGS) $(INCLUDES) -g -c $< ++ $(CC) $(EXTRA_CFLAGS) $(INCLUDES) -g -c $< + + clean: + make -C $(REGEX_DIR) clean +@@ -63,7 +64,7 @@ + rm -f config.status config.cache config.log config.h Makefile + + $(REGEX_OBJS): $(REGEX_OBJS:.o=.c) $(REGEX_DIR)/*.h +- $(MAKE) $(MAKEFLAGS) -C $(REGEX_DIR) $(notdir $(REGEX_OBJS)) ++ $(MAKE) -C $(REGEX_DIR) $(notdir $(REGEX_OBJS)) + + $(OBJS): Makefile ngrep.c ngrep.h + + +--- a/configure.in ++++ b/configure.in +@@ -124,14 +124,16 @@ + use_pcre="no" + ]) + ++REGEX_DIR="" ++REGEX_OBJS="" ++REGEX_LIBS="" + if test $use_pcre = yes; then + + echo +- echo 'Configuring Perl-Compatible Regular Expression (PCRE) library ...' ++ echo 'Using System Perl-Compatible Regular Expression (PCRE) library ...' + echo + +- REGEX_DIR='pcre-5.0' +- REGEX_OBJS="$REGEX_DIR/pcre.o $REGEX_DIR/study.o" ++ REGEX_LIBS="`pcre-config --libs`" + USE_PCRE="1" + + else +@@ -144,12 +146,19 @@ + REGEX_OBJS="$REGEX_DIR/regex.o" + USE_PCRE="0" + ++ AC_CONFIG_SUBDIRS([regex-0.12]) ++ ++ echo ++ echo 'GNU Regular Expression library is configured...' ++ echo ++ + fi + +-( cd $REGEX_DIR && ./configure ) + + AC_SUBST(REGEX_DIR) + AC_SUBST(REGEX_OBJS) ++AC_SUBST(REGEX_LIBS) ++ + + + echo + +--- a/ngrep.c ++++ b/ngrep.c +@@ -92,7 +92,7 @@ + #endif + + #if USE_PCRE +-#include "pcre-5.0/pcre.h" ++#include <pcre.h> + #else + #include "regex-0.12/regex.h" + #endif + +--- a/regex-0.12/Makefile.in ++++ b/regex-0.12/Makefile.in +@@ -18,23 +18,6 @@ + + version = 0.12 + +-# You can define CPPFLAGS on the command line. Aside from system-specific +-# flags, you can define: +-# -DREGEX_MALLOC to use malloc/realloc/free instead of alloca. +-# -DDEBUG to enable the compiled pattern disassembler and execution +-# tracing; code runs substantially slower. +-# -DEXTRACT_MACROS to use the macros EXTRACT_* (as opposed to +-# the corresponding C procedures). If not -DDEBUG, the macros +-# are used. +-CPPFLAGS = +- +-# Likewise, you can override CFLAGS to optimize, use -Wall, etc. +-CFLAGS = -g +- +-# Ditto for LDFLAGS and LOADLIBES. +-LDFLAGS = +-LOADLIBES = +- + srcdir = @srcdir@ + VPATH = @srcdir@ + +@@ -43,7 +26,7 @@ + + SHELL = /bin/sh + +-subdirs = doc test ++subdirs = + + default all:: regex.o + .PHONY: default all + +--- a/regex-0.12/configure.in ++++ b/regex-0.12/configure.in +@@ -34,4 +34,4 @@ + + esac + +-AC_OUTPUT(Makefile doc/Makefile test/Makefile) ++AC_OUTPUT(Makefile) + +=== modified file 'regex-0.12/regex.c' +--- a/regex-0.12/regex.c ++++ b/regex-0.12/regex.c +@@ -34,7 +34,9 @@ + #pragma alloca + #endif + ++#ifndef _GNU_SOURCE + #define _GNU_SOURCE ++#endif + + /* We need this for `regex.h', and perhaps for the Emacs include files. */ + #include <sys/types.h> + |