diff options
Diffstat (limited to 'net-proxy/oops')
-rw-r--r-- | net-proxy/oops/Manifest | 2 | ||||
-rw-r--r-- | net-proxy/oops/files/implicit-decl.patch | 9 | ||||
-rw-r--r-- | net-proxy/oops/files/libpcreposix.patch | 19 | ||||
-rw-r--r-- | net-proxy/oops/files/modules-as-needed.patch | 17 | ||||
-rw-r--r-- | net-proxy/oops/files/oops-1.5.24-pthread-rwlock.patch | 30 | ||||
-rw-r--r-- | net-proxy/oops/files/oops-1.5.24-respect-flags.patch | 352 | ||||
-rw-r--r-- | net-proxy/oops/files/oops-1.5.24-textrel.patch | 24 | ||||
-rw-r--r-- | net-proxy/oops/files/oops-1.5.24_pre20050503+db-5.0.patch | 13 | ||||
-rw-r--r-- | net-proxy/oops/files/oops.cfg | 654 | ||||
-rw-r--r-- | net-proxy/oops/files/oops.initd | 27 | ||||
-rw-r--r-- | net-proxy/oops/files/rotate-logs.patch | 12 | ||||
-rw-r--r-- | net-proxy/oops/metadata.xml | 6 | ||||
-rw-r--r-- | net-proxy/oops/oops-1.5.24_pre20050503-r4.ebuild | 98 | ||||
-rw-r--r-- | net-proxy/oops/oops-1.5.24_pre20050503-r5.ebuild | 112 |
14 files changed, 1375 insertions, 0 deletions
diff --git a/net-proxy/oops/Manifest b/net-proxy/oops/Manifest new file mode 100644 index 000000000000..112ff567b3b7 --- /dev/null +++ b/net-proxy/oops/Manifest @@ -0,0 +1,2 @@ +DIST oops-1.5.23.tar.gz 473290 SHA256 b9ab7c0b5b11de7944f098d6f99158fe1b9c3b9cf82fe7827685c6cec8ccfa04 SHA512 5d33b19d6a48f3b38cffe7eb17ef0b0a00cc92cb1608a05f196ec747df51e318e8f0a82d1f0c2e254c16a7d97f640ed8bf30be62994f3b81d5ebd3cdc6358be3 WHIRLPOOL d2d9d1da409e91beb5e7761285b360dce3824f3defacc3c7f10305617bcdbd9e8807be645e74c268f4b8126ff330a7c49936ced06247c3bdc2190f8d194b4710 +DIST oops-1.5.24_pre20050503.patch.gz 101103 SHA256 954e59d046096867a8e818bf47190ab06c8416abb80d151757825a664192aded SHA512 230fede3d76ebd35f404055605381555707aed4d3fdf53e5e5074c66500b55360e7546c3faa54466791f485a89e359c3e5576162eef6c17ca49c1006ebfddb0a WHIRLPOOL 6ae6284393ed53d3d083af6abca2b7a5cb2c80d0c02838f5d518f02de12a13122900e2dbe62532953bdd839430d94523d28a8abf555e463d25a807a75f692cff diff --git a/net-proxy/oops/files/implicit-decl.patch b/net-proxy/oops/files/implicit-decl.patch new file mode 100644 index 000000000000..767814dd6a82 --- /dev/null +++ b/net-proxy/oops/files/implicit-decl.patch @@ -0,0 +1,9 @@ +diff -Nru oops-1.5.23.orig/src/hash.c oops-1.5.23/src/hash.c +--- oops-1.5.23.orig/src/hash.c 2001-01-28 14:34:43.000000000 +0200 ++++ oops-1.5.23/src/hash.c 2007-04-11 14:19:26.000000000 +0300 +@@ -1,4 +1,5 @@ + #include <stdio.h> ++#include <string.h> + #include <strings.h> + #include "hash.h" + diff --git a/net-proxy/oops/files/libpcreposix.patch b/net-proxy/oops/files/libpcreposix.patch new file mode 100644 index 000000000000..1648ecabb152 --- /dev/null +++ b/net-proxy/oops/files/libpcreposix.patch @@ -0,0 +1,19 @@ +diff -Nru oops-1.5.23.orig/configure.in oops-1.5.23/configure.in +--- oops-1.5.23.orig/configure.in 2007-11-20 22:47:27.000000000 +0200 ++++ oops-1.5.23/configure.in 2007-11-20 22:58:42.000000000 +0200 +@@ -454,14 +454,7 @@ + AC_DEFINE(REGEX_H, <regex.h>) + ;; + pcre) +- if test -r "/usr/lib/libpcreposix.a" -a -r "/usr/lib/libpcre.a"; then +- LIBS="$LIBS /usr/lib/libpcreposix.a /usr/lib/libpcre.a" +- elif test -r "/usr/local/lib/libpcreposix.a" -a -r "/usr/local/lib/libpcre.a"; then +- LIBS="$LIBS /usr/local/lib/libpcreposix.a /usr/local/lib/libpcre.a" +- fi +- if test "X`echo $CFLAGS | grep '\-I/usr/local/include'`" = "X"; then +- CFLAGS="$CFLAGS -I/usr/local/include" +- fi ++ LIBS="$LIBS -lpcreposix" + AC_DEFINE(REGEX_H, <pcreposix.h>) + ;; + builtin) diff --git a/net-proxy/oops/files/modules-as-needed.patch b/net-proxy/oops/files/modules-as-needed.patch new file mode 100644 index 000000000000..41703cd389ee --- /dev/null +++ b/net-proxy/oops/files/modules-as-needed.patch @@ -0,0 +1,17 @@ +diff -Nru src/modules.orig/Makefile.in src/modules/Makefile.in +--- src/modules.orig/Makefile.in 2006-05-20 01:28:11.000000000 +0300 ++++ src/modules/Makefile.in 2006-05-20 01:29:11.827604500 +0300 +@@ -110,11 +110,11 @@ + + passwd_pgsql.so: passwd_sql.c ../modules.h ../oops.h + ${CC} ${CFLAGS} ${CDEFS} -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o +- ${LD} $(SOFLAGS) $(LDFLAGS) $(LIBS) -o passwd_pgsql.so passwd_pgsql.o $(PGSQL_LIB) ++ ${LD} $(SOFLAGS) $(LDFLAGS) -o passwd_pgsql.so passwd_pgsql.o $(LIBS) $(PGSQL_LIB) + + passwd_mysql.so: passwd_sql.c ../modules.h ../oops.h + ${CC} ${CFLAGS} ${CDEFS} -D__MYSQL -c passwd_sql.c -o passwd_mysql.o +- ${LD} $(SOFLAGS) $(LDFLAGS) $(LIBS) -o passwd_mysql.so passwd_mysql.o $(MYSQL_LIB) ++ ${LD} $(SOFLAGS) $(LDFLAGS) -o passwd_mysql.so passwd_mysql.o $(LIBS) $(MYSQL_LIB) + + passwd_pgsql.o: passwd_sql.c ../modules.h ../oops.h + ${CC} ${CFLAGS} ${CDEFS} -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o diff --git a/net-proxy/oops/files/oops-1.5.24-pthread-rwlock.patch b/net-proxy/oops/files/oops-1.5.24-pthread-rwlock.patch new file mode 100644 index 000000000000..2606af7330d5 --- /dev/null +++ b/net-proxy/oops/files/oops-1.5.24-pthread-rwlock.patch @@ -0,0 +1,30 @@ +diff -Nru oops-1.5.23.orig/src/lib/rwlock/rwlock.c oops-1.5.23/src/lib/rwlock/rwlock.c +--- oops-1.5.23.orig/src/lib/rwlock/rwlock.c 2000-11-29 19:03:35.000000000 +0200 ++++ oops-1.5.23/src/lib/rwlock/rwlock.c 2006-09-06 00:30:36.000000000 +0300 +@@ -53,6 +53,8 @@ + #include <pthread.h> + #include "rwlock.h" + ++#if defined(OOPS_IMPLEMENT_RWLOCK) ++ + /* maximum number of times a read lock may be obtained */ + #define MAX_READ_LOCKS (INT_MAX - 1) + +@@ -375,4 +377,6 @@ + return(0); + } + ++#endif /* defined(OOPS_IMPLEMENT_RWLOCK) */ ++ + #endif /* _THREAD_SAFE || _PTHREADS || _REENTRANT */ +diff -Nru oops-1.5.23.orig/src/lib/rwlock/rwlock.h oops-1.5.23/src/lib/rwlock/rwlock.h +--- oops-1.5.23.orig/src/lib/rwlock/rwlock.h 2003-10-06 17:15:40.000000000 +0300 ++++ oops-1.5.23/src/lib/rwlock/rwlock.h 2006-09-06 00:29:46.000000000 +0300 +@@ -53,6 +53,7 @@ + + #if !defined(PTHREAD_RWLOCK_INITIALIZER) + #define PTHREAD_RWLOCK_INITIALIZER NULL ++#define OOPS_IMPLEMENT_RWLOCK 1 + + struct pthread_rwlock { + pthread_mutex_t lock; /* monitor lock */ diff --git a/net-proxy/oops/files/oops-1.5.24-respect-flags.patch b/net-proxy/oops/files/oops-1.5.24-respect-flags.patch new file mode 100644 index 000000000000..67c814aea2f2 --- /dev/null +++ b/net-proxy/oops/files/oops-1.5.24-respect-flags.patch @@ -0,0 +1,352 @@ +diff --git a/configure.in b/configure.in +index 0b9ac65..a68d7c1 100644 +--- a/configure.in ++++ b/configure.in +@@ -204,8 +204,6 @@ tm.__tm_gmtoff__ = tm.__tm_gmtoff__*2; + AC_DEFINE(HAVE__GMTOFF__) AC_MSG_RESULT(yes) + ],[AC_MSG_RESULT(no)]) + +-LD=ld +- + ## + ## + ## +@@ -309,18 +307,18 @@ CXXCOMPFLAGS=-c + CXXSOFLAGS=$SOFLAGS + + case "$host_os" in +-irix*) CFLAGS="-D_SGI_MP_SOURCE" ++irix*) EXTCFLAGS+="-D_SGI_MP_SOURCE" + ;; +-osf*) CFLAGS="$CFLAGS -D_REENTRANT -DOSF" ++osf*) EXTCFLAGS+="$CFLAGS -D_REENTRANT -DOSF" + LIBS="-oldstyle_liblookup -lpthread $LIBS" + + ;; +-freebsd*) CFLAGS="$CFLAGS -D_REENTRANT -DFREEBSD -D_THREAD_SAFE -DFD_SETSIZE=2048 -I." ++freebsd*) EXTCFLAGS+="$CFLAGS -D_REENTRANT -DFREEBSD -D_THREAD_SAFE -DFD_SETSIZE=2048 -I." + CXXSOFLAGS="-shared" + LIBS="$LEXLIB $LIBS" + if test "$large_files" = "yes" ; then + ## FreeBSD need no any special flags for 64bit files +- CFLAGS="$CFLAGS -DWITH_LARGE_FILES" ++ EXTCFLAGS+=" -DWITH_LARGE_FILES" + fi + if test "X$LIBGB_NAME" != "X" ; then + LIBGB_NAME="$LIBGB_NAME -lstdc++" +@@ -328,39 +326,38 @@ freebsd*) CFLAGS="$CFLAGS -D_REENTRANT -DFREEBSD -D_THREAD_SAFE -DFD_SETSIZE=204 + rel=`uname -r` + case "$rel" in + 4*) +- CFLAGS="$CFLAGS -pthread" ++ EXTCFLAGS+=" -pthread" + ;; + 5*) + LIBS="-lc_r $LEXLIB $LIBS" + ;; + *) +- CFLAGS="$CFLAGS -pthread" ++ EXTCFLAGS+=" -pthread" + LIBS="-lc_r $LEXLIB $LIBS" + ;; + esac + RPATH_OPTION="-rpath" + ;; +-bsdi*) CFLAGS="$CFLAGS -pthread -DBSDOS" ++bsdi*) EXTCFLAGS+=" -pthread -DBSDOS" + rel=`uname -r` + case "$rel" in + 4*) +- CFLAGS="$CFLAGS -pthread" ++ EXTCFLAGS+=" -pthread" + ;; + 5*) + LIBS="-lc_r $LEXLIB $LIBS" + ;; + *) +- CFLAGS="$CFLAGS -pthread" ++ EXTCFLAGS+=" -pthread" + LIBS="-lc_r $LEXLIB $LIBS" + ;; + esac + LIBS="$LEXLIB $LIBS" + CXX=g++ + ;; +-gnu*|linux*) CFLAGS="$CFLAGS -D_REENTRANT -DLINUX" +- CXX=g++ ++gnu*|linux*) EXTCFLAGS+=" -D_REENTRANT -DLINUX" + if test "$pthread_in" = "pthreads" ; then +- CFLAGS="$CFLAGS -D_MIT_POSIX_THREADS" ++ EXTCFLAGS+=" -D_MIT_POSIX_THREADS" + LIBS="-lpthreads $LEXLIB -ldb $LIBS" + echo Probably you have MIT-threads. If yes, swich to LinuxThreads. + else +@@ -369,11 +366,11 @@ gnu*|linux*) CFLAGS="$CFLAGS -D_REENTRANT -DLINUX" + if test "$large_files" = "yes" ; then + ## Linux ext2fs does'nt support large files yet. + AC_MSG_RESULT(Warning: Linux ext2fs doesn't support large files.) +- CFLAGS="$CFLAGS -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64" ++ EXTCFLAGS+=" -DWITH_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__USE_FILE_OFFSET64" + fi + RPATH_OPTION="-rpath" + ;; +-solaris*) CFLAGS="$CFLAGS -D_REENTRANT -DSOLARIS" ++solaris*) EXTCFLAGS="$CFLAGS -D_REENTRANT -DSOLARIS" + if test "X$LIBDB_REAL_PATH" != "X" ; then + LIBDB_NAME="-R$LIBDB_REAL_PATH $LIBDB_NAME" + fi +@@ -390,7 +387,7 @@ solaris*) CFLAGS="$CFLAGS -D_REENTRANT -DSOLARIS" + LIBGB_NAME="$LIBGB_NAME -lstdc++" + fi + ;; +- *) CFLAGS="$CFLAGS -mt" ++ *) EXTCFLAGS+="-mt" + SUNPRO_CC_VER=`CC -V 2>&1 | sed 's/.*C++ //' | sed 's/\..*//'` + if test "$SUNPRO_CC_VER" = "5" ; then + CXX="CC -compat=4 -w -fast -xO3 -DNO_MEMBER_TEMPLATES=1" +@@ -407,14 +404,14 @@ solaris*) CFLAGS="$CFLAGS -D_REENTRANT -DSOLARIS" + ;; + esac + if test "$large_files" = "yes" ; then +- CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DWITH_LARGE_FILES" ++ EXTCFLAGS=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DWITH_LARGE_FILES" + fi + ;; + aix4*) AC_DEFINE(MODULES) + LIBS="$LIBS -ldl $LEXLIB" + SOFLAGS=-G + case "$CC" in +- gcc*) CFLAGS="-D_THREAD_SAFE $CFLAGS" ++ gcc*) EXTCFLAGS+=" -D_THREAD_SAFE $CFLAGS" + CXX=g++ + LIBS="$LIBS -lpthreads -lc_r" + ;; +@@ -424,7 +421,7 @@ aix4*) AC_DEFINE(MODULES) + ;; + esac + if test "$large_files" = "yes" ; then +- CFLAGS="$CFLAGS -D_LARGE_FILES -D_LARGE_FILE_API -DWITH_LARGE_FILES" ++ EXTCFLAGS+=" -D_LARGE_FILES -D_LARGE_FILE_API -DWITH_LARGE_FILES" + fi + ;; + esac +@@ -432,14 +429,14 @@ esac + if test "X$MYSQL_PATH" != "X" ; then + LIBS="-L$MYSQL_PATH/lib -lmysqlclient $LIBS" + AC_DEFINE(HAVE_MYSQL) +- CFLAGS="$CFLAGS -I$MYSQL_PATH/include" ++ CFLAGS+=" -I$MYSQL_PATH/include" + MYSQL_LIB="-L$MYSQL_PATH/lib -lmysqlclient" + fi + + if test "X$PGSQL_PATH" != "X" ; then + LIBS="$LIBS -L$PGSQL_PATH/lib -lpg" + AC_DEFINE(HAVE_PGSQL) +- CFLAGS="-I$PGSQL_PATH/include $LIBS" ++ CFLAGS+="-I$PGSQL_PATH/include $LIBS" + PGSQL_LIB="-L$PGSQL_PATH/lib -lpg" + fi + +@@ -601,7 +598,7 @@ if test "X$LIBDB_PATH" != "X" ; then + esac + fi + +-CFLAGS="$CFLAGS $LIBDB_INCL" ++EXTCFLAGS+=" $LIBDB_INCL" + + AC_MSG_CHECKING(for GigaBASE) + if test "$LIBGB_PATH" = "no" ; then +@@ -653,7 +650,7 @@ elif test -r "/usr/local/lib/libz.a"; then + AC_DEFINE(HAVE_ZLIB) + AC_MSG_RESULT(/usr/local/lib/libz.a) + if test "X`echo $CFLAGS | grep '\-I/usr/local/include'`" = "X"; then +- CFLAGS="$CFLAGS -I/usr/local/include" ++ EXTCFLAGS+=" -I/usr/local/include" + fi + elif test -r "/usr/lib/libz.a"; then + LIBZ_NAME="/usr/lib/libz.a" +@@ -689,7 +686,7 @@ EOF + res=`./confmain` + fi + if test "$res" = "yes"; then +- CFLAGS="$CFLAGS -export-dynamic" ++ EXTCFLAGS+=" -export-dynamic" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) +@@ -698,7 +695,7 @@ fi + rm -f confmain* + + echo $CC +-echo $CFLAGS ++echo $EXTCFLAGS + echo $LIBS + + if test "${enable_oops_user+set}" != set; then +@@ -728,8 +725,6 @@ AC_SUBST(MOD_EXT) + AC_SUBST(OPT_MODS) + AC_SUBST(STATIC_MODULES) + AC_SUBST(CHOWN) +-AC_SUBST(LD) +-AC_SUBST(LDFLAGS) + AC_SUBST(VER) + AC_SUBST(LIBGB_PATH) + AC_SUBST(LIBGB_NAME) +@@ -795,6 +790,7 @@ AC_SUBST(LIBDB_INCL) + AC_SUBST(LIBZ_NAME) + AC_SUBST(EXTRASRC) + AC_SUBST(EXTLDFLAGS) ++AC_SUBST(EXTCFLAGS) + + AC_DEFINE_UNQUOTED(OOPS_HOME, "$oops_prefix/oops") + AC_DEFINE_UNQUOTED(OOPS_SBINDIR, "$oops_sbindir") +diff --git a/src/Makefile.in b/src/Makefile.in +index b366c2f..0ac6aff 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -1,6 +1,4 @@ +-CC = @CC@ +-CXX = @CXX@ +-LDFLAGS = @LDFLAGS@ ++EXTCFLAGS = @EXTCFLAGS@ + EXTLDFLAGS = @EXTLDFLAGS@ + INSTALL = @INSTALL@ @SETOWNER@ + INSTALL_DATA = @INSTALL@ -m 644 @SETOWNER@ +@@ -29,13 +27,13 @@ EXTRAOBJS = $(EXTRASRC:.c=.o) + + #CFLAGS = -Wall -ggdb -D_REENTRANT -D_POSIX_PTHREADS_SEMANTICS + +-CFLAGS = @CFLAGS@ -fPIE @DEFS@ ++CFLAGS += -fPIE @DEFS@ + + VER=@VER@ + OOPSPATH=@prefix@/oops + + .c.o: +- ${CC} -c ${CFLAGS} ${CDEFS} $< ++ ${CC} -c ${CFLAGS} ${EXTCFLAGS} ${CDEFS} $< + + all: extras modules oops + +@@ -45,7 +43,7 @@ modules:: + cd modules; $(MAKE) + + oops: ${OBJS} +- ${CXX} ${CFLAGS} ${OBJS} ${EXTLDFLAGS} ${LIBGB_PATH} ${LIBGB_NAME} ${OOPS_LIBS} ${LIBZ_NAME} ${OOPS_RPATH} -o oops ++ ${CXX} ${CFLAGS} ${EXTCFLAGS} ${OBJS} ${EXTLDFLAGS} ${LIBGB_PATH} ${LIBGB_NAME} ${OOPS_LIBS} ${LIBZ_NAME} ${OOPS_RPATH} -o oops + + mkinstalldirs: + ../mkinstalldirs ${OOPSPATH} \ +@@ -150,7 +148,7 @@ version.h: version + echo "#define VERSION \""`cat version`"\""> version.h + + lex.yy.o: lex.yy.c y.tab.h oops.h +- ${CC} ${CFLAGS} ${CDEFS} -c lex.yy.c ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -c lex.yy.c + + lex.yy.c: parser.l + @LEX@ parser.l +@@ -159,13 +157,13 @@ y.tab.c: parser.y + @YACC@ -d parser.y + + y.tab.o: y.tab.c oops.h +- ${CC} ${CFLAGS} ${CDEFS} -c y.tab.c ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -c y.tab.c + + malloc.o: malloc.c +- ${CC} ${CFLAGS} ${CDEFS} -DEBUG -c malloc.c ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -DEBUG -c malloc.c + + gnu_regex.o: gnu_regex.c +- ${CC} ${CFLAGS} -DREGEX -c gnu_regex.c ++ ${CC} ${CFLAGS} ${EXTCFLAGS} -DREGEX -c gnu_regex.c + + clean: + rm -f *o lex.yy.c y.tab.[ch] version.h oops DEADJOE +diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in +index d8e3c50..60c6b73 100644 +--- a/src/modules/Makefile.in ++++ b/src/modules/Makefile.in +@@ -1,9 +1,4 @@ +-CC = @CC@ +-CXX = @CXX@ + LIBS = @LIBS@ +-CFLAGS = @CFLAGS@ -fPIC @DEFS@ +-LDFLAGS = @LDFLAGS@ +-LD = @LD@ + SOFLAGS = @SOFLAGS@ + OPT_MODS = @OPT_MODS@ + CXXCOMPFLAGS = @LIBGB_INCL@ @CXXCOMPFLAGS@ +@@ -15,27 +10,30 @@ LIBDB_NAME = @LIBDB_NAME@ + MYSQL_LIB = @MYSQL_LIB@ + PGSQL_LIB = @PGSQL_LIB@ + EXTRASRC = @EXTRASRC@ ++EXTCFLAGS = @EXTCFLAGS@ ++ ++CFLAGS += -fPIC @DEFS@ + + .SUFFIXES: .c .cpp .o .so + + EXTRAOBJS = $(EXTRASRC:%c=../%o) + + .c.o: +- ${CC} ${CFLAGS} ${LIBDB_INCL} ${CDEFS} -c $< ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${LIBDB_INCL} ${CDEFS} -c $< + # + .o.so: + ${LD} $(SOFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) + + .c.so: +- ${CC} ${CFLAGS} ${LIBDB_INCL} ${SOFLAGS} ${CDEFS} -c $< ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${LIBDB_INCL} ${SOFLAGS} ${CDEFS} -c $< + ${LD} $(SOFLAGS) $(LDFLAGS) -o $@ $(<:.c=.o) $(LIBS) + + .cpp.o: +- ${CXX} ${CFLAGS} ${SOFLAGS} ${CDEFS} $(CXXCOMPFLAGS) $< -o $*.a ++ ${CXX} ${CFLAGS} ${EXTCFLAGS} ${SOFLAGS} ${CDEFS} $(CXXCOMPFLAGS) $< -o $*.a + mv $*.a $*.o + + .cpp.so: +- ${CXX} ${CFLAGS} ${CXXSOFLAGS} ${CDEFS} $< @LIBGB_PATH@ @LIBGB_NAME@ $(LIBS) -o $@ ++ ${CXX} ${CFLAGS} ${EXTCFLAGS} ${CXXSOFLAGS} ${CDEFS} $< @LIBGB_PATH@ @LIBGB_NAME@ $(LIBS) -o $@ + + all: log_dummy.@MOD_EXT@ \ + err.@MOD_EXT@ \ +@@ -97,30 +95,30 @@ custom_log.@MOD_EXT@: custom_log.c ../modules.h ../oops.h + #berkeley_db_api.@MOD_EXT@: berkeley_db_api.c ../modules.h ../oops.h + + berkeley_db_api.o: berkeley_db_api.c ../modules.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} ${LIBDB_INCL} -c berkeley_db_api.c -o berkeley_db_api.o ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} ${LIBDB_INCL} -c berkeley_db_api.c -o berkeley_db_api.o + + berkeley_db_api.so: berkeley_db_api.c ../modules.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} ${LIBDB_INCL} -c berkeley_db_api.c -o berkeley_db_api.o ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} ${LIBDB_INCL} -c berkeley_db_api.c -o berkeley_db_api.o + ${LD} $(SOFLAGS) $(LDFLAGS) -L $(LIBDB_PATH)/lib berkeley_db_api.o -o berkeley_db_api.so $(LIBS) $(LIBDB_NAME) + + gigabase_db_api.@MOD_EXT@: gigabase_db_api.cpp ../modules.h ../oops.h + + oopsctl: oopsctl.c ../modules.h ../config.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} oopsctl.c ${EXTRAOBJS} ${LIBS} -o oopsctl ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} oopsctl.c ${EXTRAOBJS} ${LIBS} -o oopsctl + + passwd_pgsql.so: passwd_sql.c ../modules.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o + ${LD} $(SOFLAGS) $(LDFLAGS) -o passwd_pgsql.so passwd_pgsql.o $(LIBS) $(PGSQL_LIB) + + passwd_mysql.so: passwd_sql.c ../modules.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} -D__MYSQL -c passwd_sql.c -o passwd_mysql.o ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -D__MYSQL -c passwd_sql.c -o passwd_mysql.o + ${LD} $(SOFLAGS) $(LDFLAGS) -o passwd_mysql.so passwd_mysql.o $(LIBS) $(MYSQL_LIB) + + passwd_pgsql.o: passwd_sql.c ../modules.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -D__PGSQL -c passwd_sql.c -o passwd_pgsql.o + + passwd_mysql.o: passwd_sql.c ../modules.h ../oops.h +- ${CC} ${CFLAGS} ${CDEFS} -D__MYSQL -c passwd_sql.c -o passwd_mysql.o ++ ${CC} ${CFLAGS} ${EXTCFLAGS} ${CDEFS} -D__MYSQL -c passwd_sql.c -o passwd_mysql.o + + + clean: diff --git a/net-proxy/oops/files/oops-1.5.24-textrel.patch b/net-proxy/oops/files/oops-1.5.24-textrel.patch new file mode 100644 index 000000000000..432a86d07435 --- /dev/null +++ b/net-proxy/oops/files/oops-1.5.24-textrel.patch @@ -0,0 +1,24 @@ +diff -Nru oops-1.5.23.orig/src/Makefile.in oops-1.5.23/src/Makefile.in +--- oops-1.5.23.orig/src/Makefile.in 2006-03-06 22:14:53.000000000 +0200 ++++ oops-1.5.23/src/Makefile.in 2006-03-06 22:17:58.954199750 +0200 +@@ -29,7 +29,7 @@ + + #CFLAGS = -Wall -ggdb -D_REENTRANT -D_POSIX_PTHREADS_SEMANTICS + +-CFLAGS = @CFLAGS@ @DEFS@ ++CFLAGS = @CFLAGS@ -fPIE @DEFS@ + + VER=@VER@ + OOPSPATH=@prefix@/oops +diff -Nru oops-1.5.23.orig/src/modules/Makefile.in oops-1.5.23/src/modules/Makefile.in +--- oops-1.5.23.orig/src/modules/Makefile.in 2006-03-06 22:14:52.000000000 +0200 ++++ oops-1.5.23/src/modules/Makefile.in 2006-03-06 22:18:21.967638000 +0200 +@@ -1,7 +1,7 @@ + CC = @CC@ + CXX = @CXX@ + LIBS = @LIBS@ +-CFLAGS = @CFLAGS@ @DEFS@ ++CFLAGS = @CFLAGS@ -fPIC @DEFS@ + LDFLAGS = @LDFLAGS@ + LD = @LD@ + SOFLAGS = @SOFLAGS@ diff --git a/net-proxy/oops/files/oops-1.5.24_pre20050503+db-5.0.patch b/net-proxy/oops/files/oops-1.5.24_pre20050503+db-5.0.patch new file mode 100644 index 000000000000..190944828ee8 --- /dev/null +++ b/net-proxy/oops/files/oops-1.5.24_pre20050503+db-5.0.patch @@ -0,0 +1,13 @@ +Index: oops-1.5.23/src/modules/berkeley_db_api.c +=================================================================== +--- oops-1.5.23.orig/src/modules/berkeley_db_api.c ++++ oops-1.5.23/src/modules/berkeley_db_api.c +@@ -283,7 +283,7 @@ int rc; + dbp->set_bt_compare(dbp, my_bt_compare); + dbp->set_pagesize(dbp, OOPS_DB_PAGE_SIZE); + rc = dbp->open(dbp, +- #if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0 ++ #if DB_VERSION_MAJOR > 4 || DB_VERSION_MINOR > 0 + NULL, + #endif + dbname, diff --git a/net-proxy/oops/files/oops.cfg b/net-proxy/oops/files/oops.cfg new file mode 100644 index 000000000000..3dc96fad2331 --- /dev/null +++ b/net-proxy/oops/files/oops.cfg @@ -0,0 +1,654 @@ +## +# nameservers. Multiple nameserver entries are allowed. +## + +nameserver 127.0.0.1 + +## +# Ports and address to use for HTTP and ICP +## + +#bind ip_addr|hostname +http_port 3128 +icp_port 3130 + +## +## Change euid to that user +## +## WARNING: if you use userid, then you will not be able to open new sockets on +## reserved (< 1024) ports and will not be able to return to original userid. +## +userid oops + +## +## Change root directory. If don't know exactly what are you doing - +## leave commented. +#chroot ??? + +## +# Logfile - just debug output +# When used in form 'filename [{N S}] [[un]buffered]' +# will be rotated automatically (up to N files up to S bytes in size) +## +logfile /var/log/oops/oops.log +#logfile /usr/oops/logs/oops.log { 3 1m } unbuffered + +## +# Accesslog - the same as for squid. Re rotating - see note for logfile +## +accesslog /var/log/oops/oops.access +#accesslog /usr/oops/logs/access.log + +## +# Pidfile. for kill -1 `cat oops.pid` and for locking. +## +pidfile /var/run/oops/oops.pid + +## +# Statistics file - once per minute flush some statistics to this file +## +statistics /var/log/oops/oops_statfile + +## +# icons - where to find link.gif, dir.gif, binary.gif and so on (for +# ftp lists). If omitted - name of running host will be used. But +# using explicit names is better way. +## + +#icons-host ss5.paco.net +#icons-port 80 +#icons-path icons + +## +# When total object volume in memory grow over this (this mean +# that cachable data from network came faster then we can save on disk) +# drop objects (without attempt to save on disk). +## +mem_max 64m + +## +# Hint, how much cached objects keep in memory. +# When total amount become larger then this limit - start +# swaping cachable objects to disk +## +lo_mark 8m + +## +# start random early drop when number of clients reach some level. +# this can protect you against attacks and against situation when +# oops cant handle too much connections. By default - 0 (or no limits). +## +#start_red 0 + +## +# refuse any connection when number of already connected clients reach some +# level. By default - 0 (or no limits). +## +#refuse_at 0 + +## +# if document contain no Expires: then expire after (in days) +# ftp-expire-value - expire time for ftp (in days) +## +default-expire-value 7 +ftp-expire-value 7 + +## +# Maximum expite time - doc will not keep in cache more then +# this number of days (except if defaiult-expire-value used for this documeny) +## +max-expire-value 30 + +## +# in which proportion time passed since last document modification +# will accounted in expire time. For example, if last-modified-factor=5 +# and there was passed 10 days since document modification, then expiration +# will be setted to 2 days in future (but no nore then max-expire-value) +## +last-modified-factor 5 + +## +# If you want not cache replies without Last-Modified: +# uncomment next line. +## +#dont_cache_without_last_modified + +# run expire every ( in hours ) +## +default-expire-interval 1 + +## +# icp_timeout - how long to wait icp reply from peer (in ms, e.g 1000 = 1sec) +## +icp_timeout 1000 + +## +# start disk cache cleanup when free space will be (in %%) +# As on the very large storages 1% is large space (1% from 9G is +# 90M), then on such storages you can set both disk-low-free and +# disk-ok-free to 0. Oops will start cleanup if it have less then 256 +# free blocks(1M), and stop when it reach 512 bree blocks(2M). +## +disk-low-free 3 + +## +# stop disk cache cleanup when free space will be (in %%) +## +disk-ok-free 5 + +## +# Force_http11 - turn on http/1.1 for each request to document server +# This option required if module 'vary' used. +## +force_http11 + +## +# Always check document freshness, even it is not stale or expired +# This force Oops behave like squid - first check cached doc, then send +## +#always_check_freshness + +## +# If user-requestor aborted connection to proxy, but there was received more +# then some percent ot the document - then continue. +# default value - 75% +## +force_completion 75 + +## +# maximum size of the object we will cache +## +maxresident 1m + +insert_x_forwarded_for yes +insert_via yes + +## +# If host have several interfaces or aliases, use exactly +# this name when connecting to server: +## +#connect-from proxy.paco.net + +## +# ACLs - currently: urlregex, urlpath, usercharset +# port, dstdom, dstdom_regex, src_ip, time +# each acl can be loaded from file. +## +#acl CACHEABLECGI urlregex http://www\.topping\.com\.ua/cgi-bin/pingstat\.cgi\?072199131826 +#acl WWWPACO urlregex www\.paco\.net +#acl NO_RLH urlregex zipper +#acl REWRITEPORTS urlregex (www.job.ru|www.sale.ru) +#acl REWRITEHOSTS urlregex (www.asm.ru|zipper\.paco) +#acl WINUSER usercharset windows-1251 +#acl DOSUSER usercharset ibm866 +#acl UNIXUSER usercharset koi8-r +#acl RUS dstdom ru su +#acl UKR dstdom ua +#acl BADPORTS port [0:79],110,138,139,513,[6000:6010] +#acl BADDOMAIN dstdom baddomain1.com baddomain2.com +#acl BADDOMREGEX dstdom_regex baddomain\.((com)|(org)) +#acl LOCAL_NETWORKS src_ip include:/etc/oops/acl_local_networks +#acl BADNETWORKS src_ip 192.168.10/24 +#acl WORKTIME time Mon,Tue:Fri 0900:1800 +#acl HTMLS content_type text/html +#acl USERS username joe +acl ADMINS src_ip 127.0.0.1 +acl PURGE method PURGE + +## +# acl_deny [!]ACL [!]ACL ... +# deny access for combined acl +## +acl_deny PURGE !ADMINS + +## +# Never cache objects with URL, containing... +## +stop_cache ? +stop_cache cgi-bin + +## +# stop_cache_acl [!]ACL [!]ACL ... +# Stop cache using ACL +## +#stop_cache_acl WWWPACO + +## +# refresh_pattern ACLNAME min percent max +# 'min' and 'max' are limits between Expite time will be assigned +# Iff document have no expire: header and have Last-Modified: header +# we will use 'percent' to estimate how far in the future document will +# be expired. +## +#refresh_pattern CACHEABLECGI 20 50% 200 +#refresh_pattern WWWPACO 0 0% 0 + +## +# bind_acl {hostname|ip} [!]ACL [!]ACL ... +# bind to given address when connecting to server +# if request match ACLNAME +## +#bind_acl outname1 RUS +#bind_acl outname2 UKR + +## +# Always check document freshness, but now on acl basis. +# You can have several such lines. +## This example will force to check freshness only for html documents. +#always_check_freshness_acl HTMLS + +## +# line 'parent ....' will force all connections (except to destinations +# in local-domain or local-networks) go through parent host +## +#parent proxy.paco.net 3128 + +## +# parent_auth login:password +# if your parent require login/password from your proxy +## +#parent_auth login:password + +# ICP peer's +#peer proxy.paco.net 3128 3130 { +## ^^^ peer name ^http port ^icp port +## icp port can be 0, in which case we assume this is non-icp +## proxy. We assume that non-icp peer act like parent which +## answer MISS all th etime. If this peer refused connection +## then it goes down for 60 seconds - it doesn't take part in +## any peer-related decisions. +# sibling ; +## if this peer require login/password from your proxy +# my_auth my_login:my_password; +## we will send requests for these domains +# allow dstdomain * ; +## we will NOT send requests for these domains +# deny dstdomain * ; +## we will send only requests matched to this acl +# peer_access [!]ACL1 [!]ACL2 +## if (and only if) peer is not icp-capable, then , in case of fail we +## leave failed peer alone for the down_timeout interval (in seconds). +## Then we will try again +# down_timeout 60 ; +#} + +#peer proxy.gu.net 80 3130 { +# parent ; +# allow dstdomain * ; +# deny dstdomain paco.net odessa.ua ; +#} + +## +# Never use "parent" when connecting to server in these domains +## +local-domain odessa.ua od.ua +local-domain odessa.net paco.net netsy.net netsy.com te.net.ua + +local-networks 195.114.128/19 10/8 192.168/16 + +# +# Groups +# + +group main { +## +# You can describe group ip adresses here, or using src_ip acl's +# with networks_acl directive. +# networks_acl always have higher preference (checked first) and +# are checked in the order of appearance. +# If host wil not fall in any networks_acl - we check in networks. +# networks are ordered by masklen - longest masks(most specific networks) +# are checked first. +## + +#Next line enables redirection features and transparent proxying + redir_mods fastredir transparent; +#Change this next line to list the IP's of everyone in this group + networks 195.114.128/19 127/8 195.5.40.93/32 ; + +# networks_acl LOCAL_NETWORKS !BAD_NETWORKS ; + badports [0:79],110,138,139,513,[6000:6010] ; + miss allow; +## +# denytime - when deny access to proxy server for this group +## +# denytime Sat,Sun 0642:1000 +# denytime Mon,Thu:Fri,Sun 0900:2100 +## +# Authentication modules for this group (seprated by space) +## +# auth_mods passwd_file; + +## +# URL-Redirector (porno, ad. filtering) modules for this group (separate by +# space) +## +# redir_mods redir; + + +## +# limit whole group to 8Kbytes per sec +## +# bandwidth 8k; + +## +# limit each host 8Kbytes per sec +## +# per_ip_bw 8k; + +## +# limit connections number from each host +# +# per_ip_conn 8; + +## +# limit request rate from this group (requests per second). This is crude, +# and must be used as last resort +## +# maxreqrate 100; + +## +# icp acl ... +## +# icp { +# allow dstdomain * ; +# } + +## +# http acl +## + http { +## +# http acls can be in form 'allow dstdomain domainname domainname ... domainname ; +# or in form 'allow dstdomain include:filename ; +# where filename - name of the file, which contain +# domainnames (one per line, # - comment line); +# the same rules for 'deny' +## + allow dstdomain * ; + } +} + +group world { + networks 0/0; + badports [0:79],110,138,139,513,[6000:6010]; + http { + deny dstdomain * ; + } + icp { + deny dstdomain * ; + } +} + +## +# Storage section +# Change this for your own situation. Oops can work without +# storages (using only in-memory cache). +## + +## +# Storage description (can be several) +# path - filename of storage. can be raw device (be carefull!) +# size - size (of storage file). Can be smthng like 100k or 200m or 4g +# Size used only durig format process (oops -z). +## + +storage { + path /var/lib/oops/storage/oops_storage ; +# Size of the storage. Can be in bytes or 'auto'. Auto is +# usefull for pre-created storages or disk slices. +# NOTE: 'size auto' won't work for Linux on disk slices. +# To use large ( > 2G ) files run configure with --enable-large-files + + size 100m ; + +# You have to use 'offset' in the case your raw device (or slice) +# require that. For example if you use entire disk as storage +# under AIX and Soalris/Sparc - you have to skip first block +# which contain disk label (that is storage will start from +# next 512 sector. +# offset 512; +} + +#storage { +# path /usr/oops/storages/oops_storage1 ; +# size 600m ; +#} + +module lang { + + default_charset eng + + # Recode tables and other charset stuff + CharsetRecodeTable windows-1251 /etc/oops/tables/koi-win.tab + CharsetRecodeTable ISO-8859-5 /etc/oops/tables/koi-iso.tab + CharsetRecodeTable ibm866 /etc/oops/tables/koi-alt.tab + CharsetAgent windows-1251 AIR_Mosaic IWENG/1 MSIE WinMosaic (Windows (WinNT; + CharsetAgent windows-1251 (Win16; (Win95; (Win98; (16-bit) Opera/3.0 + CharsetAgent ibm866 DosLynx Lynx2/OS/2 +} + +module err { + # error reporting module + + # template + template /etc/oops/err_template.html + + # Language to use when generate Error messages + lang eng +} + +module passwd_file { + # password proxy-authentication module + # + # default realm, scheme and passwd file + # the only thing you really want to change is 'file' and 'template' + # you don't have to reconfigure oops if you only + # change content passwd file or template: oops authomatically + # reload file + + realm oops + scheme Basic + file /etc/oops/passwd + template /etc/oops/auth_template.html +} + +module passwd_pgsql { + # proxy authentication using postgresql + # "Ivan B. Yelnikov" <bahek@khspu.ru> + # + # host - host where database live, + # user,password - login and password for database access + # database - database name + # select - file with request body + # template - file with html doc which user will receive + # during authentication + scheme Basic + realm oops + host <host address/name> + user <database_user> + password <user_password> + database <database_name> + select /etc/oops/select.sql + template /etc/oops/auth_template.html +} + +module passwd_mysql { + # proxy authentication usin mysql + # "Ivan B. Yelnikov" <bahek@khspu.ru> + # + # look passwd_pgsql description + # + scheme Basic + realm oops + host <host address/name> + user <database_user> + password <user_password> + database <database_name> + select /etc/oops/select.sql + template /etc/oops/auth_template.html +} + +module redir { + # file - regex rules. + # each line consist of one or two fields (separated with white space) + # 1. regular expression + # 2. redirect-location + # if requested (by client) url match regex then + # if we have redirect-url then we send '302 Moved Temporary' to + # redirect-location + # if we have no redirect-location (i.e. we have no 2-nd field) + # then we send template.html (%R will be substituted by rule) + # or some default message if we have no template. + # you don't have to reconfigure oops each time + # you edit rules or template, they will be reloaded authomatically + + file /etc/oops/redir_rules + template /etc/oops/redir_template.html +## mode control will redir rewrite url or send Location: header +## with new location. Values are 'rewrite' or 'bounce' +# mode rewrite + + # This module can process requests which come on http_port + # and/or on different port. For example, you wish oops + # bind on two ports - 3128 and 3129, and all requests which come on + # port 3129 must pass through filters, and requests which come on port + # 3128 (common http_port) - not. Then you have to uncomment next line + # myport 3129 + # which means exactly: bind oops to additional port 3129 and process + # requests which come on this port. + # myport can be in the next form: + # myport [{hostname|ip_addr}:]port +} + +module oopsctl { + # path to oopsctl unix socket + socket_path /var/run/oops/oopsctl + # time to auto-refresh page (seconds) + html_refresh 300 +} + +## +## This module hadnle 'Vary' header - it was written to better support +## Russian Apache +## +module vary { + user-agent by_charset + accept-charset ignore +} + +## +## WWW -accelerator. To use - add word accel to +## redir_mods line for +## the group 'world' description +## You will find more description of this module in supplied accel_maps file +## +#module accel { +# myport can have next form: +# myport [{hostname|ip_addr}:]port ... +# myport 80 +## +# allow access to proxy through accel module. +# Deny will stop proxy through accel completely, regardless +# of any other access rules +## +# proxy_requests deny +# +## +# File with maps and other config directives +# Checked once per minute. No need to restart oops if maps changed +## +# file /etc/oops/accel_maps +#} + +## +## Transparent proxy. To use - add word 'transparent' into +## redir_mods line for your group. +## in the your local (or any other) group description +## +#module transparent { +# myport can have next form: +# myport [{hostname|ip_addr}:]port ... +# myport 3128 +#} + +## +## %h - remote ip address +## %A - local ip address +## %d - ip address of source (peer or document server) +## %l - remote logname from identd (not suported now) +## %U - remote user (from 'Authorization' header) +## %u - remote user (from proxy-auth) +## %{format}t - time with optional {format} (for strftime) +## %t - time with standard format %d/%b/%Y:%T %Z +## %r - request line +## %s - status code +## %b - bytes received +## %{header}i - value of header in request +## %m - HIT/MISS +## %k - hierarchy (DIRECT/NONE/...) +## +## directive buffered can be followed by size of the buffer, +## like 'buffered 32000' +## +#module customlog { +# path /usr/local/oops/logs/access_custom1 +# format "%h %l %u %t \"%r\" %>s %b" +# squid httpd mode log emulation +# format "%h %u %l %t \"%r\" %s %b %m:%k" +# buffered +# path /usr/local/oops/logs/access_custom2 +# format "%h->%A %l %u [%t] \"%r\" %s %b \"%{User-Agent}i\"" +#} + +module berkeley_db { + ## + # dbhome - directory where all DB indexes reside. Use full path + # this directory must exist. + # dbname - filename for index file. Use just filename (no full path) + ## + + dbhome /var/lib/oops/db + dbname dburl + + ## + # This parameter specifies internal cache size of BerkeleyDB. + # Increase this parameter for best performance (if you have a lot of memory). + # For example: db_cache_mem 64m + # Default and minimum value: 4m + # + # This memory pool is not part of memory pool, specified by mem_max parameter. + # WARNING: the amount of RAM used by oops will be increased by the value of + # this parameter. + ## + #db_cache_mem 4m + +} + +#module gigabase_db { +# This module enable GigaBASE as database engine. +# You can use berkeley_db or gigabase_db, not both. +# Also, important notice - indexes created with different modules +# are not compatible. +# ## +# # dbhome - directory where all DB indexes reside. Use full path +# # this directory must exist. +# # dbname - filename for index file. Use just filename (no full path) +# ## +# +# dbhome /var/lib/oops/db +# dbname gdburl +# +# ## +# # This parameter specifies internal cache size of BerkeleyDB. +# # Increase this parameter for best performance (if you have a lot of memory). +# # For example: db_cache_mem 64m +# # Default and minimum value: 4m +# # +# # This memory pool is not part of memory pool, specified by mem_max parameter. +# # WARNING: the amount of RAM used by oops will be increased by the value of +# # this parameter. +# ## +# #db_cache_mem 4m +# +#} diff --git a/net-proxy/oops/files/oops.initd b/net-proxy/oops/files/oops.initd new file mode 100644 index 000000000000..fec45e6afda4 --- /dev/null +++ b/net-proxy/oops/files/oops.initd @@ -0,0 +1,27 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net +} + +start() { + ebegin "Starting oops" + /usr/sbin/oopsctl start &> /dev/null + eend $? +} + +status() { + if service_started "${myservice}"; then + /usr/sbin/oopsctl stat + fi + return 0 +} + +stop() { + ebegin "Stopping oops" + /usr/sbin/oopsctl stop &> /dev/null + eend $? +} diff --git a/net-proxy/oops/files/rotate-logs.patch b/net-proxy/oops/files/rotate-logs.patch new file mode 100644 index 000000000000..236aa4b60926 --- /dev/null +++ b/net-proxy/oops/files/rotate-logs.patch @@ -0,0 +1,12 @@ +diff -Nru oops-1.5.23.orig/src/rotate_logs.c oops-1.5.23/src/rotate_logs.c +--- oops-1.5.23.orig/src/rotate_logs.c 2001-08-31 15:30:30.000000000 +0200 ++++ oops-1.5.23/src/rotate_logs.c 2009-07-12 12:47:56.000000000 +0200 +@@ -32,7 +32,7 @@ + if ( !num ) { + /* if no number of logs configured just reopen file */ + close(fb->fd); +- fb->fd = open(name, O_WRONLY|O_APPEND|O_CREAT); ++ fb->fd = open(name, O_WRONLY|O_APPEND|O_CREAT, 0660); + return; + + } diff --git a/net-proxy/oops/metadata.xml b/net-proxy/oops/metadata.xml new file mode 100644 index 000000000000..3a9154222f27 --- /dev/null +++ b/net-proxy/oops/metadata.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer><email>maintainer-needed@gentoo.org</email></maintainer> +<longdescription>An advanced multithreaded caching web proxy</longdescription> +</pkgmetadata> diff --git a/net-proxy/oops/oops-1.5.24_pre20050503-r4.ebuild b/net-proxy/oops/oops-1.5.24_pre20050503-r4.ebuild new file mode 100644 index 000000000000..daad5346c82a --- /dev/null +++ b/net-proxy/oops/oops-1.5.24_pre20050503-r4.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="2" + +inherit eutils flag-o-matic toolchain-funcs autotools user + +MY_P="${PN}-1.5.23" + +DESCRIPTION="An advanced multithreaded caching web proxy" +HOMEPAGE="http://zipper.paco.net/~igor/oops.eng/" +SRC_URI="http://zipper.paco.net/~igor/oops/${MY_P}.tar.gz + mirror://gentoo/${P}.patch.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 sparc x86" +IUSE="" + +RDEPEND="dev-libs/libpcre + >=sys-libs/db-3" +DEPEND="${RDEPEND} + sys-devel/flex" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup oops + enewuser oops -1 -1 /var/lib/oops oops +} + +src_prepare() { + epatch "${WORKDIR}/${P}.patch" + epatch "${FILESDIR}/${P/_*}-textrel.patch" + epatch "${FILESDIR}/${P/_*}-pthread-rwlock.patch" + epatch "${FILESDIR}/modules-as-needed.patch" + epatch "${FILESDIR}/implicit-decl.patch" + epatch "${FILESDIR}/libpcreposix.patch" + epatch "${FILESDIR}/rotate-logs.patch" + epatch "${FILESDIR}/${P}+db-5.0.patch" + sed -i -e 's:y\.tab\.h:y.tab.c:' src/Makefile.in + eautoreconf +} + +src_configure() { + econf \ + --prefix=/usr \ + --libdir=/usr/$(get_libdir)/oops \ + --enable-oops-user=oops \ + --sysconfdir=/etc/oops \ + --sbindir=/usr/sbin \ + --with-regexp=pcre \ + --localstatedir=/var/run/oops \ + --enable-large-files \ + --with-zlib=-lz \ + || die "configure problem" + + sed -i -e '/STRERROR_R/d' src/config.h.in + sed -i \ + -e "s|OOPS_LIBDIR = /usr/$(get_libdir)/oops|OOPS_LIBDIR = ${D}/usr/$(get_libdir)/oops|" \ + -e "s|OOPS_SBINDIR = /usr/sbin|OOPS_SBINDIR = ${D}/usr/sbin|" \ + -e "s|OOPS_SYSCONFDIR = /etc/oops|OOPS_SYSCONFDIR = ${D}/etc/oops|" \ + -e "s|OOPS_LOCALSTATEDIR = /var/run/oops|OOPS_LOCALSTATEDIR = ${D}/var/run/oops|" \ + -e "s|OOPSPATH=/usr/oops|OOPSPATH=${D}/usr/oops|" \ + src/Makefile + sed -i \ + -e "s|^\(LDFLAGS *= *\)${LDFLAGS}|\1$(raw-ldflags)|" \ + src/modules/Makefile #modules makefile use ld directly +} + +src_install() { + dodir /usr/sbin + einstall || die "install problem" + + newinitd "${FILESDIR}/oops.initd" oops + diropts -m0750 -o root -g oops + dodir /etc/oops + insinto /etc/oops + doins "${FILESDIR}/oops.cfg" + + diropts -m0755 -o oops -g oops + keepdir /var/run/oops + diropts -m0770 -o oops -g oops + keepdir /var/log/oops + keepdir /var/lib/oops/storage + keepdir /var/lib/oops/db + + # cleanups + rm -rf "${D}/usr/oops" + rm -rf "${D}/usr/lib/oops/modules" +} + +pkg_postinst() { + #Set proper owner/group if installed from binary package + chgrp oops "${ROOT}/etc/oops" + chown -R oops:oops "${ROOT}/var/run/oops" "${ROOT}/var/log/oops" "${ROOT}/var/lib/oops" +} diff --git a/net-proxy/oops/oops-1.5.24_pre20050503-r5.ebuild b/net-proxy/oops/oops-1.5.24_pre20050503-r5.ebuild new file mode 100644 index 000000000000..e14de892a7f0 --- /dev/null +++ b/net-proxy/oops/oops-1.5.24_pre20050503-r5.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils flag-o-matic toolchain-funcs autotools user + +MY_P="${PN}-1.5.23" + +DESCRIPTION="An advanced multithreaded caching web proxy" +HOMEPAGE="http://zipper.paco.net/~igor/oops.eng/" +SRC_URI="http://zipper.paco.net/~igor/oops/${MY_P}.tar.gz + mirror://gentoo/${P}.patch.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="" + +RDEPEND="dev-libs/libpcre + >=sys-libs/db-3" +DEPEND="${RDEPEND} + sys-devel/flex" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup oops + enewuser oops -1 -1 /var/lib/oops oops +} + +src_prepare() { + epatch "${WORKDIR}/${P}.patch" + epatch "${FILESDIR}/${P/_*}-textrel.patch" + epatch "${FILESDIR}/${P/_*}-pthread-rwlock.patch" + epatch "${FILESDIR}/modules-as-needed.patch" + epatch "${FILESDIR}/implicit-decl.patch" + epatch "${FILESDIR}/libpcreposix.patch" + epatch "${FILESDIR}/rotate-logs.patch" + epatch "${FILESDIR}/${P}+db-5.0.patch" + epatch "${FILESDIR}/${P/_*}-respect-flags.patch" + sed -i -e 's:y\.tab\.h:y.tab.c:' src/Makefile.in + eautoreconf +} + +src_configure() { + econf \ + --prefix=/usr \ + --libdir=/usr/$(get_libdir)/oops \ + --enable-oops-user=oops \ + --sysconfdir=/etc/oops \ + --sbindir=/usr/sbin \ + --with-regexp=pcre \ + --localstatedir=/run/oops \ + --enable-large-files \ + --with-zlib=-lz \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + LD="$(tc-getCC)" + + sed -i -e '/STRERROR_R/d' src/config.h.in || die + sed -i \ + -e "s|OOPS_LIBDIR = /usr/$(get_libdir)/oops|OOPS_LIBDIR = ${D}/usr/$(get_libdir)/oops|" \ + -e "s|OOPS_SBINDIR = /usr/sbin|OOPS_SBINDIR = ${D}/usr/sbin|" \ + -e "s|OOPS_SYSCONFDIR = /etc/oops|OOPS_SYSCONFDIR = ${D}/etc/oops|" \ + -e "s|OOPS_LOCALSTATEDIR = /var/run/oops|OOPS_LOCALSTATEDIR = ${D}/run/oops|" \ + -e "s|OOPSPATH=/usr/oops|OOPSPATH=${D}/usr/oops|" \ + src/Makefile || die + sed -i \ + -e "s|^\(LDFLAGS *= *\)${LDFLAGS}|\1$(raw-ldflags)|" \ + src/modules/Makefile || die #modules makefile use ld directly +} + +src_compile() { + emake \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + LD="$(tc-getCC)" \ + RANLIB=":" \ + STRIP=":" +} + +src_install() { + dodir /usr/sbin + einstall || die "install problem" + + newinitd "${FILESDIR}/oops.initd" oops + diropts -m0750 -o root -g oops + dodir /etc/oops + insinto /etc/oops + doins "${FILESDIR}/oops.cfg" + + diropts -m0755 -o oops -g oops + keepdir /run/oops + diropts -m0770 -o oops -g oops + keepdir /var/log/oops + keepdir /var/lib/oops/storage + keepdir /var/lib/oops/db + + # cleanups + rm -rf "${D}/usr/oops" + rm -rf "${D}/usr/lib/oops/modules" +} + +pkg_postinst() { + #Set proper owner/group if installed from binary package + chgrp oops "${ROOT}/etc/oops" + chown -R oops:oops "${ROOT}/run/oops" "${ROOT}/var/log/oops" "${ROOT}/var/lib/oops" +} |