diff options
author | Alin Năstac <mrness@gentoo.org> | 2005-04-22 19:15:12 +0000 |
---|---|---|
committer | Alin Năstac <mrness@gentoo.org> | 2005-04-22 19:15:12 +0000 |
commit | ed2d2be3dbcac3bde000f4d89f3ae5836cd53b93 (patch) | |
tree | ea35ca7703e69b2f955232964f66c73b9338e847 /net-proxy/oops | |
parent | Adding pcmcia flag. Closes #90025, Cheers Georgi (diff) | |
download | gentoo-2-ed2d2be3dbcac3bde000f4d89f3ae5836cd53b93.tar.gz gentoo-2-ed2d2be3dbcac3bde000f4d89f3ae5836cd53b93.tar.bz2 gentoo-2-ed2d2be3dbcac3bde000f4d89f3ae5836cd53b93.zip |
www-proxy -> net-proxy
(Portage version: 2.0.51.19)
Diffstat (limited to 'net-proxy/oops')
-rw-r--r-- | net-proxy/oops/ChangeLog | 63 | ||||
-rw-r--r-- | net-proxy/oops/Manifest | 5 | ||||
-rw-r--r-- | net-proxy/oops/files/digest-oops-1.5.23 | 1 | ||||
-rw-r--r-- | net-proxy/oops/files/oops.cfg | 656 | ||||
-rw-r--r-- | net-proxy/oops/metadata.xml | 6 | ||||
-rw-r--r-- | net-proxy/oops/oops-1.5.23.ebuild | 95 |
6 files changed, 826 insertions, 0 deletions
diff --git a/net-proxy/oops/ChangeLog b/net-proxy/oops/ChangeLog new file mode 100644 index 000000000000..04455ccbe5d2 --- /dev/null +++ b/net-proxy/oops/ChangeLog @@ -0,0 +1,63 @@ +# ChangeLog for www-proxy/oops +# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/oops/ChangeLog,v 1.1 2005/04/22 19:15:11 mrness Exp $ + + 22 Apr 2005; Alin Nastac <mrness@gentoo.org> : + Rename category & herd www-proxy to net-proxy + + 01 Apr 2005; Alin Nastac <mrness@gentoo.org> -oops-1.5.22.ebuild, + -oops-1.5.6.ebuild: + Remove old (and currently broken) versions. + + 01 Apr 2005; Gustavo Zacarias <gustavoz@gentoo.org> oops-1.5.23.ebuild: + Stable on sparc wrt #87406 + + 31 Mar 2005; Alin Nastac <mrness@gentoo.org> oops-1.5.23.ebuild: + Fix makefile and mark stable on x86 (#87406). + +*oops-1.5.23 (24 Feb 2005) + + 24 Feb 2005; Alin Nastac <mrness@gentoo.org> +oops-1.5.23.ebuild: + Version bump. Fix bugs #10047, #51247 and #58881. + + 17 Feb 2005; Alin Nastac <mrness@gentoo.org> +metadata.xml: + Add metadata.xml + + 05 Sep 2004; Sven Wegener <swegener@gentoo.org> : + Fixed ChangeLog header. + +*oops-1.5.6 (15 Aug 2004) + + 15 Aug 2004; Stuart Herbert <stuart@gentoo.org> +files/oops.cfg, + +oops-1.5.22.ebuild, +oops-1.5.6.ebuild: + Moved from net-www/oops to www-proxy/oops. + + 27 Jul 2004; Rob Holland <tigger@gentoo.org> : + Fix silly typo which breaks ebuild. Its been broken for a year :/ Closes + #57775. Thanks to gejzer@ibt.com.pl. + + 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> oops-1.5.6.ebuild: + virtual/glibc -> virtual/libc + + 08 Dec 2003; <spider@gentoo.org> oops-1.5.6.ebuild: + Fixing a chown user.group issue + + 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords + +*oops-1.5.22 (21 Oct 2002) + + 21 Oct 2002; Maik Schreiber <blizzy@gentoo.org> : New version, closes bug + #5990. + + 14 Jul 2002; Daniel Ahlberg <aliz@gentoo.org> oops-1.5.6.ebuild: Added + LICENSE, KEYWORDS, SLOT. + +*oops-1.5.6 (01 Feb 2002) + + 01 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog: + + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/net-proxy/oops/Manifest b/net-proxy/oops/Manifest new file mode 100644 index 000000000000..a11a96f5716b --- /dev/null +++ b/net-proxy/oops/Manifest @@ -0,0 +1,5 @@ +MD5 2ceaa8e9ed78fda116480b2b2eb1799d ChangeLog 2267 +MD5 0bba18e763cee72e6af83a6bc6e1db87 metadata.xml 241 +MD5 e21dd0c617690c511268f9c9870a6424 oops-1.5.23.ebuild 2330 +MD5 6f1e80af4f1280cfb10b31ab9d2ab820 files/oops.cfg 17896 +MD5 5ecad9ef80ba71f386b700b68e68754e files/digest-oops-1.5.23 63 diff --git a/net-proxy/oops/files/digest-oops-1.5.23 b/net-proxy/oops/files/digest-oops-1.5.23 new file mode 100644 index 000000000000..fd9e7dcf9fcf --- /dev/null +++ b/net-proxy/oops/files/digest-oops-1.5.23 @@ -0,0 +1 @@ +MD5 bfa19752af517bb5a6cd746acf61064c oops-1.5.23.tar.gz 473290 diff --git a/net-proxy/oops/files/oops.cfg b/net-proxy/oops/files/oops.cfg new file mode 100644 index 000000000000..03dc19dc83c5 --- /dev/null +++ b/net-proxy/oops/files/oops.cfg @@ -0,0 +1,656 @@ +## +# nameservers. Use your own, not our. +## + +nameserver 195.114.128.50 +nameserver 193.219.193.130 + +## +# 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 'reconfigure will not be able to +## open new sockets on reserved (< 1024) ports and will not be able +## to return to original userid. +## +userid squid + +## +## 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/metadata.xml b/net-proxy/oops/metadata.xml new file mode 100644 index 000000000000..e0ff5017dd8b --- /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> +<herd>net-proxy</herd> +<longdescription>An advanced multithreaded caching web proxy</longdescription> +</pkgmetadata> diff --git a/net-proxy/oops/oops-1.5.23.ebuild b/net-proxy/oops/oops-1.5.23.ebuild new file mode 100644 index 000000000000..cf7e5081eced --- /dev/null +++ b/net-proxy/oops/oops-1.5.23.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/oops/oops-1.5.23.ebuild,v 1.1 2005/04/22 19:15:11 mrness Exp $ + +DESCRIPTION="An advanced multithreaded caching web proxy" +HOMEPAGE="http://zipper.paco.net/~igor/oops.eng/" +SRC_URI="http://zipper.paco.net/~igor/oops/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 sparc" +IUSE="" + +RDEPEND="virtual/libc + dev-libs/libpcre + >=sys-libs/db-3" +DEPEND="${RDEPEND} + sys-devel/flex" + +src_unpack() { + unpack ${A} + + cd ${S} + cp configure configure.orig + sed -e 's:/usr/local/lib/libpcre:/usr/lib/libpcre:g' configure.orig > configure + sed -e 's:y\.tab\.h:y.tab.c:' Makefile.in + cd ${S}/src/modules +} + +src_compile() { + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib/oops \ + --enable-oops-user=squid \ + --sysconfdir=/etc/oops \ + --sbindir=/usr/sbin \ + --with-regexp=pcre \ + --localstatedir=/var/run/oops \ + || die "configure problem" + + cd src + mv config.h.in config.h.in.orig + sed <config.h.in.orig >config.h.in \ + -e '/STRERROR_R/d' + mv Makefile Makefile.orig + sed <Makefile.orig >Makefile \ + -e "s|OOPS_LIBDIR = /usr/lib/oops|OOPS_LIBDIR = ${D}/usr/lib/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|" + cd .. + emake || die "compile problem" +} + +src_install() { + dodir /usr/sbin + chown squid:squid ${D} + einstall || die "install problem" + #chmod -R g+srw ${D}/etc/oops Remove this if proved to work without it + + insinto /etc/oops + doins ${FILESDIR}/oops.cfg + cd ${D} + + diropts -m0755 -o squid + dodir /var/run/oops + diropts -m0770 -o squid + dodir /var/log/oops + dodir /var/lib/oops + dodir /var/lib/oops/storage + keepdir /var/lib/oops/storage + dodir /var/lib/oops/db + keepdir /var/lib/oops/db + + # cleanups + rm -rf ${D}/usr/oops + rm -rf ${D}/usr/lib/oops/modules + + # config files; if already exist, move them to *.eg + cd ${D}/etc/oops + local x y + for y in . tables ; do + for x in ${y}/* ; do + if [ -f ${x} ] ; then + if [ -f ${ROOT}/etc/oops/${x} ]; then + mv ${x} ${x}.eg + else + cp ${x} ${x}.eg + fi + fi + done + done +} + |