diff options
author | yar <yar@FreeBSD.org> | 2002-12-14 07:09:44 +0800 |
---|---|---|
committer | yar <yar@FreeBSD.org> | 2002-12-14 07:09:44 +0800 |
commit | 23a2b70d8211fe7bd1be1dde866585e8fc63e5d2 (patch) | |
tree | 636269471041e58e6c00270e5f18a1fa5caaeb64 /www | |
parent | a0a4d694ed389fa65632da209771968c8dd67f0e (diff) | |
download | freebsd-ports-gnome-23a2b70d8211fe7bd1be1dde866585e8fc63e5d2.tar.gz freebsd-ports-gnome-23a2b70d8211fe7bd1be1dde866585e8fc63e5d2.tar.zst freebsd-ports-gnome-23a2b70d8211fe7bd1be1dde866585e8fc63e5d2.zip |
a) Update www/oops to 1.5.22-20021204, which solves
a number of build problems.
b) Obey BATCH.
c) Locate DB4 correctly.
d) Explicitly specify dependency on gawk.
PR: ports/46006 ports/44071 ports/45989 ports/40593
Submitted by: Sergey A. Osokin <osa@FreeBSD.org.ru>
Approved by: portmgr (knu)
Diffstat (limited to 'www')
-rw-r--r-- | www/oops/Makefile | 6 | ||||
-rw-r--r-- | www/oops/distinfo | 2 | ||||
-rw-r--r-- | www/oops/files/patch-configure.in | 19 | ||||
-rw-r--r-- | www/oops/files/patch-src::modules::berkeley_db_api.c | 14 | ||||
-rw-r--r-- | www/oops/files/patch-src::parser.y | 652 | ||||
-rw-r--r-- | www/oops/pkg-install | 8 |
6 files changed, 39 insertions, 662 deletions
diff --git a/www/oops/Makefile b/www/oops/Makefile index b143bf27d375..7182f852a7e9 100644 --- a/www/oops/Makefile +++ b/www/oops/Makefile @@ -17,8 +17,10 @@ PATCH_DIST_STRIP= -d ${WRKDIR}/${DISTNAME} MAINTAINER= ports@FreeBSD.org +BUILD_DEPENDS+= gawk:${PORTSDIR}/lang/gawk + OOPSVERSION= 1.5.22 -OOPSDATE= 20020519 +OOPSDATE= 20021204 USE_SUBMAKE= yes USE_AUTOCONF= yes @@ -47,7 +49,7 @@ pre-configure: @cd ${WRKSRC} && ${AUTOHEADER} pre-install: - @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + @PKG_PREFIX=${PREFIX} BATCH=${BATCH} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL .include <bsd.port.pre.mk> diff --git a/www/oops/distinfo b/www/oops/distinfo index 115a9b6ec02b..d88f358d468f 100644 --- a/www/oops/distinfo +++ b/www/oops/distinfo @@ -1,2 +1,2 @@ MD5 (oops-1.5.22.tar.gz) = bd6f743fb4abc6cf08ae310b1927b211 -MD5 (oops-1.5.22-20020519.patch) = e7ee38d48f2f906b4491b9f309db100a +MD5 (oops-1.5.22-20021204.patch) = ed992b95213a674794e2675f5e2fb179 diff --git a/www/oops/files/patch-configure.in b/www/oops/files/patch-configure.in index 67bcfa3dc30c..0170d7974b64 100644 --- a/www/oops/files/patch-configure.in +++ b/www/oops/files/patch-configure.in @@ -1,8 +1,5 @@ - -$FreeBSD$ - ---- configure.in.orig Wed Dec 19 13:18:40 2001 -+++ configure.in Thu Jul 25 19:54:48 2002 +--- configure.in.orig Wed Dec 19 15:18:40 2001 ++++ configure.in Sat Oct 5 18:27:46 2002 @@ -49,7 +49,7 @@ AC_ARG_WITH(zlib,--with-zlib=[[PATH]] Which zlib library/object file to use, with_zlib="$withval", with_zlib="") @@ -12,7 +9,17 @@ $FreeBSD$ AC_CHECK_HEADERS(netinet/ip_fil.h, AC_DEFINE(HAVE_IPF)) AC_CHECK_HEADERS(netinet/ip6.h, AC_DEFINE(HAVE_IP6_H)) -@@ -524,10 +524,10 @@ +@@ -66,6 +66,9 @@ + LIBDB_PATH="/usr/local/BerkeleyDB.3.0" + elif test -r "$pwd/libdb.a"; then + LIBDB_PATH="$pwd" ++elif test -r "/usr/local/lib/libdb4.a"; then ++ LIBDB_PATH="/usr/local" ++ LIBDB_NAME=-ldb4 + elif test -r "/usr/local/lib/libdb.a"; then + LIBDB_PATH="/usr/local" + elif test -r "/usr/lib/libdb2.a"; then +@@ -524,10 +527,10 @@ esac if test "X$MYSQL_PATH" != "X" ; then diff --git a/www/oops/files/patch-src::modules::berkeley_db_api.c b/www/oops/files/patch-src::modules::berkeley_db_api.c new file mode 100644 index 000000000000..1052ac4917c5 --- /dev/null +++ b/www/oops/files/patch-src::modules::berkeley_db_api.c @@ -0,0 +1,14 @@ +--- src/modules/berkeley_db_api.c.orig Tue Oct 15 04:22:09 2002 ++++ src/modules/berkeley_db_api.c Tue Oct 15 04:22:14 2002 +@@ -37,7 +37,10 @@ + #endif + + #if defined(HAVE_BERKELEYDB) +-#include <db.h> ++#include <db4/db.h> ++/* ++It should be a tuneable, but since configure accept only db4 it is not a big trouble anyway ++*/ + + #if defined(MODULES) + int mod_run(void); diff --git a/www/oops/files/patch-src::parser.y b/www/oops/files/patch-src::parser.y deleted file mode 100644 index f48659f02088..000000000000 --- a/www/oops/files/patch-src::parser.y +++ /dev/null @@ -1,652 +0,0 @@ - -$FreeBSD$ - ---- src/parser.y.orig Sun Dec 1 18:13:36 2002 -+++ src/parser.y Sun Dec 1 18:27:08 2002 -@@ -90,6 +90,7 @@ - - statements : statement - | statements statement -+ ; - - statement : logfile - | accesslog -@@ -153,6 +154,7 @@ - yyerrok; - } - | L_EOS -+ ; - - logfile : LOGFILE string L_EOS { - verb_printf("LOGFILE:\t<<%s>>\n", $2); -@@ -208,28 +210,36 @@ - } - free($7); - } -+ ; - - userid : USERID_T string L_EOS { - oops_user = $2; - } -+ ; - - chroot : CHROOT_T string L_EOS { - oops_chroot = $2; - } -+ ; - - blacklist : BLACKLIST_T num L_EOS { - blacklist_len = $2; - } -+ ; - - refuse_at : REFUSE_AT_T num L_EOS { - refuse_at = $2; - } -+ ; -+ - start_red : START_RED_T num L_EOS { - start_red = $2; - } -+ ; - dont_cache_without_last_modified : DONT_CACHE_WITHOUT_LAST_MODIFIED_T L_EOS { - dont_cache_without_last_modified = TRUE; - } -+ ; - - insert_x_forwarded_for : INSERT_X_FORWARDED_FOR_T string L_EOS { - if ( !strcasecmp(yylval.STRPTR, "yes") ) -@@ -241,6 +251,7 @@ - printf("insert_x_forwarded_for can be 'yes' or 'no'\n"); - free(yylval.STRPTR); - } -+ ; - - fetch_with_client_speed : FETCH_WITH_CLIENT_SPEED_T string L_EOS { - if ( !strcasecmp(yylval.STRPTR, "yes") ) -@@ -252,6 +263,7 @@ - printf("fetch_with_client_speed can be 'yes' or 'no'\n"); - free(yylval.STRPTR); - } -+ ; - - insert_via : INSERT_VIA_T string L_EOS { - if ( !strcasecmp(yylval.STRPTR, "yes") ) -@@ -263,6 +275,7 @@ - printf("insert_via can be 'yes' or 'no'\n"); - free(yylval.STRPTR); - } -+ ; - - accesslog : ACCESSLOG string L_EOS { - verb_printf("ACCESSLOG:\t<<%s>>\n", $2); -@@ -320,6 +333,7 @@ - } - free($7); - } -+ ; - - refresh_pattern : REFRESH_PATTERN_T string num string num L_EOS { - char *buf; -@@ -334,23 +348,32 @@ - free($2); - free($4); - } -+ ; -+ - bind_acl : BIND_ACL_T STRING L_EOS { - parse_bind_acl(yylval.STRPTR); - free(yylval.STRPTR); - } -+ ; - - acl_allow : ACL_ALLOW_T STRING L_EOS { - parse_acl_access(&acl_allow, yylval.STRPTR); - free(yylval.STRPTR); - } -+ ; -+ - acl_deny : ACL_DENY_T STRING L_EOS { - parse_acl_access(&acl_deny, yylval.STRPTR); - free(yylval.STRPTR); - } -+ ; -+ - stop_cache_acl : STOP_CACHE_ACL_T STRING L_EOS { - parse_acl_access(&stop_cache_acl, yylval.STRPTR); - free(yylval.STRPTR); - } -+ ; -+ - acl : ACL_T STRING L_EOS { - char *token, *p, *tptr; - char *n=NULL, *type=NULL, *data=NULL; -@@ -409,18 +432,21 @@ - done:; - free(yylval.STRPTR); - } -+ ; - - statistics : STATISTICS STRING L_EOS { - verb_printf("STATISTICS:\t<<%s>>\n", yylval.STRPTR); - strncpy(statisticslog, yylval.STRPTR, sizeof(statisticslog)-1); - free(yylval.STRPTR); - } -+ ; - - pidfile : PIDFILE STRING L_EOS { - verb_printf("PIDFILE:\t<<%s>>\n", yylval.STRPTR); - strncpy(pidfile, yylval.STRPTR, sizeof(pidfile)-1); - free(yylval.STRPTR); - } -+ ; - - nameserver : NAMESERVER STRING L_EOS { - verb_printf("NAMESERVER:\t<<%s>>\n", yylval.STRPTR); -@@ -438,6 +464,7 @@ - } - free(yylval.STRPTR); - } -+ ; - - connect_from : CONNECT_FROM STRING L_EOS { - char *p; -@@ -447,83 +474,105 @@ - while ( *p ) { *p=tolower(*p); p++; } - verb_printf("CONNECT_FROM:\t<<%s>>\n", connect_from); - } -+ ; - - stop_cache : STOP_CACHE STRING L_EOS { - verb_printf("STOP_CACHE:\t<<%s>>\n", yylval.STRPTR); - add_to_stop_cache(yylval.STRPTR); - } -+ ; -+ - maxresident : MAXRESIDENT NUMBER L_EOS { - verb_printf("MAXRESIDENT:\t %d\n", yylval.INT); - maxresident = yylval.INT; - } -+ ; - - minresident : MINRESIDENT NUMBER L_EOS { - verb_printf("MINRESIDENT:\t %d\n", yylval.INT); - minresident = yylval.INT; - } -+ ; - - bind : BIND_T string L_EOS { - bind_addr = $2; - } -+ ; - - http_port : HTTP_PORT NUMBER L_EOS { - verb_printf("HTTP_PORT\t<<%d>>\n", yylval.INT); - http_port = yylval.INT; - } -+ ; - - icp_port : ICP_PORT NUMBER L_EOS { - verb_printf("ICP_PORT\t<<%d>>\n", yylval.INT); - icp_port = yylval.INT; - } -+ ; - - icp_timeout : ICP_TIMEOUT NUMBER L_EOS { - verb_printf("ICP_TIMEOUT\t<<%d>>\n", yylval.INT); - icp_timeout = 1000*yylval.INT; - } -+ ; - - icons_host : ICONS_HOST STRING L_EOS { - verb_printf("ICONS_HOST:\t<<%s>>\n", yylval.STRPTR); - strncpy(icons_host, yylval.STRPTR, sizeof(icons_host)-1); - free(yylval.STRPTR); - } -+ ; - - icons_port : ICONS_PORT NUMBER L_EOS { - verb_printf("ICONS_PORT:\t<<%d>>\n", yylval.INT); - sprintf(icons_port, "%d", yylval.INT); - } -+ ; - - icons_path : ICONS_PATH STRING L_EOS { - verb_printf("ICONS_PATH:\t<<%s>>\n", yylval.STRPTR); - strncpy(icons_path, yylval.STRPTR, sizeof(icons_path)-1); - free(yylval.STRPTR); - } -+ ; - - always_check_freshness : ALWAYS_CHECK_FRESHNESS_T L_EOS { - verb_printf("ALWAYS CHECK FRESHNESS\n"); - always_check_freshness = TRUE; - } -+ ; -+ - always_check_freshness_acl : ALWAYS_CHECK_FRESHNESS_ACL_T STRING L_EOS { - verb_printf("ALWAYS CHECK FRESHNESS ACL\n"); - parse_acl_access(&always_check_freshness_acl, yylval.STRPTR); - free(yylval.STRPTR); - } -+ ; - - force_http11 : FORCE_HTTP11_T L_EOS { - verb_printf("FORCE_HTTP11\n"); - force_http11 = TRUE; - } -+ ; -+ - force_completion : FORCE_COMPLETION_T NUMBER L_EOS { - verb_printf("FORCE_COMPLETION: %d%%\n", yylval.INT); - force_completion = yylval.INT; - } -+ ; -+ - last_modified_factor : LAST_MODIFIED_FACTOR_T NUMBER L_EOS { - verb_printf("LAST_MODIFIED_FACTOR: %d\n", yylval.INT); - last_modified_factor = yylval.INT; - } -+ ; -+ - expire_value : EXPIRE_VALUE NUMBER L_EOS { - verb_printf("EXPIRE_VALUE:\t<<%d days>>\n", yylval.INT); - default_expire_value=yylval.INT * 24 * 3600; - } -+ ; - - expiretime : EXPIRE_TIME_T string_list { - struct denytime *denytime; -@@ -537,30 +586,37 @@ - } - free_string_list($2); - } -+ ; -+ - max_expire_value : MAX_EXPIRE_VALUE_T NUMBER L_EOS { - verb_printf("MAX_EXPIRE_VALUE:\t<<%d days>>\n", yylval.INT); - max_expire_value=yylval.INT * 24 * 3600; - } -+ ; - - ftp_expire_value : FTP_EXPIRE_VALUE_T NUMBER L_EOS { - verb_printf("FTP_EXPIRE_VALUE:\t<<%d days>>\n", yylval.INT); - ftp_expire_value=yylval.INT * 24 * 3600; - } -+ ; - - expire_interval : EXPIRE_INTERVAL NUMBER L_EOS { - verb_printf("EXPIRE_INTERVAL:<<%d hours>>\n", yylval.INT); - default_expire_interval=yylval.INT * 3600; - } -+ ; - - disk_low_free : DISK_LOW_FREE_T NUMBER L_EOS { - verb_printf("DISK_LOW_FREE:\t<<%d %%>>\n", yylval.INT); - disk_low_free=yylval.INT ; - } -+ ; - - disk_hi_free : DISK_HI_FREE_T NUMBER L_EOS { - verb_printf("DISK_HI_FREE:\t<<%d %%>>\n", yylval.INT); - disk_hi_free=yylval.INT ; - } -+ ; - - parent : PARENT_T string num L_EOS{ - verb_printf("PARENT: %s:%d\n", $2, $3); -@@ -568,12 +624,14 @@ - parent_port = $3; - free($2); - } -+ ; - - parent_auth : PARENT_AUTH_T string L_EOS{ - verb_printf("PARENT_AUTH: %s\n", $2); - parent_auth = base64_encode($2); - free($2); - } -+ ; - - local_domain : LOCAL_DOMAIN_T domainlist L_EOS { - struct domain_list *d; -@@ -591,6 +649,7 @@ - } - } - } -+ ; - - local_networks : LOCAL_NETWORKS_T network_list L_EOS { - struct cidr_net *n; -@@ -607,47 +666,55 @@ - } - } - } -+ ; - - dbhome : DBHOME STRING L_EOS { - printf("WARNING!!!! dbhome must be moved to module berkeley_db\n"); - free(yylval.STRPTR); - } -+ ; - - dbname : DBNAME STRING L_EOS { - printf("WARNING!!!! dbname must be moved to module berkeley_db\n"); - free(yylval.STRPTR); - } -+ ; - - db_cache_mem : DB_CACHE_MEM num L_EOS { - printf("WARNING!!!! db_cache_mem must be moved to module berkeley_db\n"); - } -+ ; - - mem_max : MEM_MAX num L_EOS { - verb_printf("MEM_MAX:\t<<%d>>\n", $2); - mem_max_val = $2 ; - } -+ ; - - lo_mark : LO_MARK num L_EOS { - verb_printf("LO_MARK:\t<<%d>>\n", $2); - lo_mark_val = $2 ; - } -+ ; - - swap_advance : SWAP_ADVANCE_T num L_EOS { - verb_printf("SWAP_ADVANCE:\t<<%d>>\n", $2); - swap_advance = $2 ; - if ( swap_advance <= 0 ) swap_advance = 1; - } -+ ; - - hi_mark : HI_MARK num L_EOS { - verb_printf("HI_MARK:\t<<%d>>\n", $2); - hi_mark_val = $2 ; - } -+ ; - --num : NUMBER { $$ = yylval.INT;} -+num : NUMBER { $$ = yylval.INT;}; - --offset : NUMBER { $$ = yylval.OFFSET;} -+offset : NUMBER { $$ = yylval.OFFSET;}; - --string : STRING { $$ = yylval.STRPTR; } -+string : STRING { $$ = yylval.STRPTR; }; - - module : MODULE module_name '{' mod_ops '}' L_EOS { - struct string_list *list = $4; -@@ -683,6 +750,8 @@ - if ( mod && mod->config_end ) (*mod->config_end)(0); - free($2); - } -+ ; -+ - mod_ops : mod_op { - $$ = $1; - verb_printf("mod_op: %s\n", $$->string); -@@ -694,6 +763,7 @@ - $$ = $1; - verb_printf("mod_op: %s\n", $2->string); - } -+ ; - - mod_op : string { - struct string_list *new = xmalloc(sizeof(*new), "parser: mod_ops"); -@@ -711,10 +781,12 @@ - new->string = new_str; - $$=new; - } -+ ; - - module_name : STRING { - $$ = yylval.STRPTR; - } -+ ; - - - storage : STORAGE '{' st_ops '}' L_EOS { -@@ -746,6 +818,7 @@ - storage_size = 0; - storage_offset = 0; - } -+ ; - - peerconfig : PEER_PARENT_T ';' { - if ( !peerc_ptr ) -@@ -803,9 +876,11 @@ - $1->next = peerc_ptr->acls->deny; - peerc_ptr->acls->deny = $1; - } -+ ; - - peerops : peerconfig {} - | peerops peerconfig {} -+ ; - - peer : PEER_T string num num '{' peerops '}' L_EOS { - struct peer *peer,*p; -@@ -837,14 +912,17 @@ - peer_c.type = PEER_SIBLING; - peerc_ptr = NULL; - } -+ ; - - st_ops : st_op {} - | st_op st_ops {} -+ ; - - st_op : SIZE offset ';' { storage_size = $2; } - | SIZE AUTO_T ';' { storage_size = -1; } - | STORAGE_OFFSET_T offset ';' {storage_offset = $2; } - | PATH STRING ';' { storage_path = yylval.STRPTR; } -+ ; - - group : GROUP group_name '{' group_ops '}' L_EOS { - struct group_ops_struct *ops, *next_ops; -@@ -977,12 +1055,16 @@ - g->next = new_grp; - } - } -+ ; -+ - group_name : STRING { - $$ = yylval.STRPTR; - } -+ ; - - group_ops : group_op { $$ = $1;} - | group_op group_ops { $1->next = $2; $$=$1;} -+ ; - - group_op : NETWORKS network_list ';' { - struct group_ops_struct *new; -@@ -1034,6 +1116,7 @@ - | denytime { $$ = $1; } - | auth_mods { $$ = $1; } - | redir_mods { $$ = $1; } -+ ; - - denytime : DENYTIME_T string_list { - struct group_ops_struct *new_op; -@@ -1055,6 +1138,8 @@ - } - free_string_list($2); - } -+ ; -+ - miss : MISS_T DENY ';' { - struct group_ops_struct *new_op; - -@@ -1085,6 +1170,7 @@ - $$ = new_op; - } - } -+ ; - - auth_mods : AUTH_MODS_T string_list ';' { - struct group_ops_struct *new_op; -@@ -1101,6 +1187,8 @@ - $$ = new_op; - } - } -+ ; -+ - redir_mods : REDIR_MODS_T string_list ';' { - struct group_ops_struct *new_op; - -@@ -1116,6 +1204,8 @@ - $$ = new_op; - } - } -+ ; -+ - bandwidth : BANDWIDTH_T num ';' { - struct group_ops_struct *new_op; - -@@ -1131,6 +1221,8 @@ - $$ = new_op; - } - } -+ ; -+ - per_sess_bw : PER_SESS_BW_T num ';' { - struct group_ops_struct *new_op; - -@@ -1146,6 +1238,8 @@ - $$ = new_op; - } - } -+ ; -+ - per_ip_bw : PER_IP_BW_T num ';' { - struct group_ops_struct *new_op; - -@@ -1161,6 +1255,8 @@ - $$ = new_op; - } - } -+ ; -+ - per_ip_conn : PER_IP_CONN_T num ';' { - struct group_ops_struct *new_op; - -@@ -1176,6 +1272,8 @@ - $$ = new_op; - } - } -+ ; -+ - conn_from : CONN_FROM_T string ';' { - struct group_ops_struct *new_op; - -@@ -1205,6 +1303,8 @@ - $$ = new_op; - } - } -+ ; -+ - range : '[' num ':' num ']' { - if ( !badp_p ) badp_p = &badports[0]; - badp_p->from = $2; -@@ -1242,9 +1342,11 @@ - } - free($2); - } -+ ; - - ranges : range {} - | range ',' ranges {} -+ ; - - badports : BADPORTS_T ranges ';' { - struct group_ops_struct *new_op; -@@ -1270,6 +1372,7 @@ - } - } - } -+ ; - - icp : ICP '{' deny_acls allow_acls '}' { - struct acls *new_acls; -@@ -1371,6 +1474,7 @@ - } - } - } -+ ; - - http : HTTP '{' deny_acls allow_acls '}' { - struct acls *new_acls; -@@ -1472,8 +1576,11 @@ - } - } - } -+ ; -+ - deny_acls : deny_acl { $$ = $1; } - | deny_acl deny_acls { $2->next = $1 ; $$ = $2; } -+ ; - - deny_acl : DENY DSTDOMAIN string_list ';' { - struct acl *new = xmalloc(sizeof(*new), "parser: deny_acl new acl 2"); -@@ -1495,9 +1602,11 @@ - } - free_string_list($3); - } -+ ; - - allow_acls : allow_acl { $$ = $1; } - | allow_acl allow_acls { $1->next = $2 ; $$ = $1; } -+ ; - - allow_acl : ALLOW DSTDOMAIN string_list ';' { - struct acl *new = xmalloc(sizeof(*new), "parser: allow_acl new acl 2"); -@@ -1519,6 +1628,7 @@ - } - free_string_list($3); - } -+ ; - - string_list : string_list_e { $$ = $1; } - | string_list_e string_list { -@@ -1539,6 +1649,7 @@ - d = d->next; - } - } -+ ; - - string_list_e : string { - struct string_list *new; -@@ -1551,6 +1662,8 @@ - $$ = new; - free($1); - } -+ ; -+ - domainlist : domain { - struct domain_list *d=$1; - verb_printf("<%s>\n", d->domain); -@@ -1588,12 +1701,14 @@ - new->next = NULL; - $$ = new; - } -+ ; - - - network_list : network - | network network_list { - $1->next = $2; $$ = $1; - } -+ ; - - network : NETWORK { - char *n, *l, *dot, *dot_holder, *t; -@@ -1632,6 +1747,7 @@ - free(yylval.STRPTR); - $$ = new; - } -+ ; - - - %% diff --git a/www/oops/pkg-install b/www/oops/pkg-install index 22ba34665ec2..116d14d3961a 100644 --- a/www/oops/pkg-install +++ b/www/oops/pkg-install @@ -37,7 +37,13 @@ if [ x"$2" = xPRE-INSTALL ]; then echo "You already have a user \"${user}\", so I will use it." else echo "You need a user \"${user}\"." - if yesno "Would you like me to create it" y; then + doadduser=1 + if [ "$BATCH" = "yes" ]; then + doadduser=0 + else + yesno "Would you like me to create it" y && doadduser=0 + fi + if [ $doadduser = 0 ]; then /usr/sbin/pw useradd ${user} -g ${group} -h - -d /nonexistent \ -s /nonexistent -c "Oops Cache System" || exit echo "Done." |