OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   05-Oct-2005 20:08:30
  Branch: HEAD                             Handle: 2005100519083000

  Modified files:
    openpkg-src/cvs         cvs.patch cvs.patch.rse cvs.spec

  Log:
    upgrading package: cvs 1.12.12 -> 1.12.13

  Summary:
    Revision    Changes     Path
    1.8         +2  -2      openpkg-src/cvs/cvs.patch
    1.22        +206 -327   openpkg-src/cvs/cvs.patch.rse
    1.104       +2  -2      openpkg-src/cvs/cvs.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/cvs/cvs.patch
  ============================================================================
  $ cvs diff -u -r1.7 -r1.8 cvs.patch
  --- openpkg-src/cvs/cvs.patch 3 Oct 2005 13:58:48 -0000       1.7
  +++ openpkg-src/cvs/cvs.patch 5 Oct 2005 18:08:30 -0000       1.8
  @@ -1,9 +1,9 @@
   --- src/main.c.orig  Tue May 20 00:52:58 2003
   +++ src/main.c       Thu Jun 26 15:42:16 2003
   @@ -16,6 +16,10 @@
  - #include "xgethostname.h"
  + #include "setenv.h"
    #include "strftime.h"
  - #include "closeout.h"
  + #include "xgethostname.h"
   +#if defined(SERVER_SUPPORT) && defined(HAVE_SYSLOG_H)
   +#include <syslog.h>
   +#include <stdarg.h>
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/cvs/cvs.patch.rse
  ============================================================================
  $ cvs diff -u -r1.21 -r1.22 cvs.patch.rse
  --- openpkg-src/cvs/cvs.patch.rse     3 Oct 2005 15:26:07 -0000       1.21
  +++ openpkg-src/cvs/cvs.patch.rse     5 Oct 2005 18:08:30 -0000       1.22
  @@ -3,15 +3,15 @@
   RCS file: src/README.RSE
   diff -N src/README.RSE
   --- /dev/null        1 Jan 1970 00:00:00 -0000
  -+++ src/README.RSE   3 Oct 2005 14:09:04 -0000
  -@@ -0,0 +1,277 @@
  ++++ src/README.RSE   5 Oct 2005 17:43:04 -0000
  +@@ -0,0 +1,261 @@
   +
   +  CVS RSE Patches
   +  ===============
   +
   +  This is the patched version of CVS from Ralf S. Engelschall
   +  <[EMAIL PROTECTED]> - an enhanced version of the official CVS
  -+  version 1.12.12 (see http://www.nongnu.org/cvs/).
  ++  version 1.12.13 (see http://www.nongnu.org/cvs/).
   +
   +  The following changes against the vendor CVS version are provided:
   +    - new `cvs pserverd' for running stand-alone pserver daemons
  @@ -27,13 +27,9 @@
   +    - support for additional `%x' variables on `loginfo' hook command lines
   +    - support a `UMask=<mask>' variable in `$CVSROOT/CVSROOT/config'
   +    - speeded up `cvs update' by sending whole file if smaller than the diff
  -+    - disabled keyword expansions during branch merges
   +    - adjusted `cvs diff -rHEAD' to be consistent with other commands
  -+    - allow `-j revision:date' for `cvs diff'
   +    - set `$LOGNAME' to the real user and not the CVS user
  -+    - support for `HistoryFile=<rel-path-under-CVSROOT>' variable in config.
   +    - use prefix 'T' ("touched/tagged") instead of 'U' ("updated") on `cvs 
import'
  -+    - allow `LockDir' configuration directive to use relative paths
   +    - additional SetUID/SetGID support for `cvs server' situations.
   +    - new global --map-root=/oldpath:/newpath option for mapping root paths
   +    - various cosmetic changes
  @@ -160,12 +156,6 @@
   +    user (third field in `$CVSROOT/CVSROOT/passwd')
   +    [Origin: Chris Cameron]
   +
  -+  RSE_PATCH_HISTORYFILE:
  -+    This provides an additional `HistoryFile=<rel-path-under-CVSROOT>'
  -+    config variable which allows one to store the history file under a
  -+    different path.
  -+    [Origin: Ralf S. Engelschall]
  -+
   +  RSE_PATCH_ADMININFO:
   +    This adds the feature of an extra `$CVSROOT/CVSROOT/admininfo'
   +    configuration file which can be used for access controlling `cvs
  @@ -212,12 +202,6 @@
   +    print 'U' and which actually commit a new revision.
   +    [Origin: Ralf S. Engelschall]
   +
  -+  RSE_PATCH_RELLOCKDIR:
  -+    This allows the `LockDir' configuration directive to use relative
  -+    paths to $CVSROOT, because without this patch a relative path would
  -+    be relative to the current working directory (which is useless).
  -+    [Origin: Stefan Monnier <[EMAIL PROTECTED]>]
  -+
   +  RSE_PATCH_CVSUSER:
   +    This allows the Unix user RSE_PATCH_CVSUSER_CALLER (per default
   +    "cvs") to use the environment variable CVSUSER to override the
  @@ -285,11 +269,11 @@
   Index: src/add.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/add.c,v
  -retrieving revision 1.1.1.14
  -diff -u -d -r1.1.1.14 add.c
  ---- src/add.c        14 Apr 2005 14:13:25 -0000      1.1.1.14
  -+++ src/add.c        3 Oct 2005 12:50:06 -0000
  -@@ -842,6 +842,9 @@
  +retrieving revision 1.1.1.15
  +diff -u -d -r1.1.1.15 add.c
  +--- src/add.c        4 Sep 2005 00:41:55 -0000       1.1.1.15
  ++++ src/add.c        4 Oct 2005 19:23:39 -0000
  +@@ -839,6 +839,9 @@
        li->type = T_TITLE;
        li->tag = xstrdup (tag);
        li->rev_old = li->rev_new = NULL;
  @@ -302,10 +286,10 @@
   Index: src/admin.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/admin.c,v
  -retrieving revision 1.1.1.15
  -diff -u -d -r1.1.1.15 admin.c
  ---- src/admin.c      14 Apr 2005 14:14:55 -0000      1.1.1.15
  -+++ src/admin.c      3 Oct 2005 13:44:01 -0000
  +retrieving revision 1.1.1.16
  +diff -u -d -r1.1.1.16 admin.c
  +--- src/admin.c      4 Sep 2005 00:27:44 -0000       1.1.1.16
  ++++ src/admin.c      4 Oct 2005 19:23:39 -0000
   @@ -133,6 +133,160 @@
        dat->av[dat->ac++] = newelt;
    }
  @@ -467,7 +451,7 @@
    
    
    /*
  -@@ -579,6 +733,20 @@
  +@@ -575,6 +729,20 @@
    
        lock_tree_promotably (argc, argv, 0, W_LOCAL, 0);
    
  @@ -515,11 +499,11 @@
   Index: src/client.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/client.c,v
  -retrieving revision 1.1.1.19
  -diff -u -d -r1.1.1.19 client.c
  ---- src/client.c     14 Apr 2005 14:13:25 -0000      1.1.1.19
  -+++ src/client.c     3 Oct 2005 13:49:42 -0000
  -@@ -220,13 +220,33 @@
  +retrieving revision 1.1.1.20
  +diff -u -d -r1.1.1.20 client.c
  +--- src/client.c     2 Oct 2005 15:17:20 -0000       1.1.1.20
  ++++ src/client.c     5 Oct 2005 17:41:53 -0000
  +@@ -194,13 +194,33 @@
            }
        }
    
  @@ -530,9 +514,9 @@
   +
   +            cvsroot_alias = 0;
   +            if ((e = cvsroot_lookup(NULL, current_parsed_root->original, 
NULL)) != NULL)
  -+                if (strcmp(e->slavepath, this_root->original) == 0)
  ++                if (strcmp(e->slavepath, root_string) == 0)
   +                    cvsroot_alias = 1;
  -+            if ((e = cvsroot_lookup(NULL, NULL, this_root->original)) != 
NULL)
  ++            if ((e = cvsroot_lookup(NULL, NULL, root_string)) != NULL)
   +                if (strcmp(e->masterpath, current_parsed_root->original) == 
0)
   +                    cvsroot_alias = 1;
   +#endif
  @@ -542,7 +526,7 @@
   +#ifdef RSE_PATCH_CVSROOT
   +        && !cvsroot_alias
   +#endif
  -         && (strcmp (root_string, original_parsed_root->original) != 0))
  +         && strcmp (root_string, original_parsed_root->original))
        {
            /* Don't send this, since the CVSROOTs don't match. */
            return 1;
  @@ -553,23 +537,13 @@
        }
        
        /* OK, let's send it. */
  -@@ -2377,6 +2397,9 @@
  -     /* Add a directory name to the list of those sent to the
  -        server. */
  -     if (update_dir && (*update_dir != '\0')
  -+#ifdef RSE_PATCH_CVSROOT
  -+        /* FIXME: alternative to RSE_PATCH_CVSROOT?! */
  -+#endif
  -     && (strcmp (update_dir, ".") != 0)
  -     && (findnode (dirs_sent_to_server, update_dir) == NULL))
  -     {
   Index: src/commit.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/commit.c,v
  -retrieving revision 1.1.1.19
  -diff -u -d -r1.1.1.19 commit.c
  ---- src/commit.c     14 Apr 2005 14:14:55 -0000      1.1.1.19
  -+++ src/commit.c     3 Oct 2005 12:50:08 -0000
  +retrieving revision 1.1.1.20
  +diff -u -d -r1.1.1.20 commit.c
  +--- src/commit.c     22 Sep 2005 18:20:12 -0000      1.1.1.20
  ++++ src/commit.c     4 Oct 2005 19:23:40 -0000
   @@ -307,6 +307,9 @@
        data->type = status;
        data->tag = xstrdup (vers->tag);
  @@ -580,7 +554,7 @@
    
        node->type = UPDATE;
        node->delproc = update_delproc;
  -@@ -1064,7 +1067,16 @@
  +@@ -1046,7 +1049,16 @@
                }
    
            li->tag = xstrdup (vers->tag);
  @@ -597,7 +571,7 @@
            li->rev_new = NULL;
            p->data = li;
            (void) addnode (ulist, p);
  -@@ -2459,6 +2471,10 @@
  +@@ -2435,6 +2447,10 @@
        free (li->rev_old);
        if (li->rev_new)
        free (li->rev_new);
  @@ -681,11 +655,11 @@
   Index: src/cvs.h
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/cvs.h,v
  -retrieving revision 1.1.1.19
  -diff -u -d -r1.1.1.19 cvs.h
  ---- src/cvs.h        14 Apr 2005 14:14:55 -0000      1.1.1.19
  -+++ src/cvs.h        3 Oct 2005 14:34:42 -0000
  -@@ -12,6 +12,38 @@
  +retrieving revision 1.1.1.20
  +diff -u -d -r1.1.1.20 cvs.h
  +--- src/cvs.h        2 Oct 2005 15:17:20 -0000       1.1.1.20
  ++++ src/cvs.h        5 Oct 2005 10:48:43 -0000
  +@@ -12,6 +12,36 @@
     */
    
    /*
  @@ -703,12 +677,10 @@
   +#define RSE_PATCH_CONFIGUMASK
   +#define RSE_PATCH_FASTERUPDATE
   +#define RSE_PATCH_LOGNAME
  -+#define RSE_PATCH_HISTORYFILE
   +#define RSE_PATCH_IMPORTINFO
   +#define RSE_PATCH_ADMININFO
   +#define RSE_PATCH_HANDLE
   +#define RSE_PATCH_IMPORTTOUCH
  -+#define RSE_PATCH_RELLOCKDIR
   +#define RSE_PATCH_CVSUSER
   +#define RSE_PATCH_SETXID
   +#define RSE_PATCH_PSERVERD
  @@ -724,7 +696,7 @@
     * basic information used in all source files
     *
     */
  -@@ -180,6 +212,33 @@
  +@@ -184,6 +214,33 @@
    #define CVSROOTADM_VERIFYMSG    "verifymsg"
    #define CVSROOTADM_WRAPPER  "cvswrappers"
    #define CVSROOTADM_WRITERS  "writers"
  @@ -758,7 +730,7 @@
    
    #define CVSNULLREPOS                "Emptydir"      /* an empty directory */
    
  -@@ -464,6 +523,27 @@
  +@@ -476,6 +533,27 @@
    const char *Short_Repository (const char *repository);
    void Sanitize_Repository_Name (char *repository);
    
  @@ -786,7 +758,7 @@
    char *entries_time (time_t unixtime);
    time_t unix_time_stamp (const char *file);
    char *time_stamp (const char *file);
  -@@ -594,6 +674,14 @@
  +@@ -613,6 +691,14 @@
    void expand_wild (int argc, char **argv, 
                      int *pargc, char ***pargv);
    
  @@ -801,7 +773,7 @@
    /* exithandle.c */
    void signals_register (RETSIGTYPE (*handler)(int));
    void cleanup_register (void (*handler) (void));
  -@@ -797,6 +885,9 @@
  +@@ -818,6 +904,9 @@
                                   NULL for add or import */
      char *rev_new;            /* rev number after a commit/modify,
                                   add, or import, NULL for remove */
  @@ -811,7 +783,7 @@
    };
    
    /* Wrappers.  */
  -@@ -837,6 +928,13 @@
  +@@ -858,6 +947,13 @@
    int unedit (int argc, char **argv);
    int editors (int argc, char **argv);
    int watchers (int argc, char **argv);
  @@ -825,7 +797,7 @@
    int annotate (int argc, char **argv);
    int add (int argc, char **argv);
    int admin (int argc, char **argv);
  -@@ -896,4 +994,8 @@
  +@@ -917,6 +1013,10 @@
    void cvs_flushout (void);
    void cvs_output_tagged (const char *, const char *);
    
  @@ -834,6 +806,8 @@
   +#endif
   +
    extern const char *global_session_id;
  + 
  + /* From find_names.c.  */
   Index: src/cvsrc.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/cvsrc.c,v
  @@ -1142,11 +1116,11 @@
   Index: src/diff.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/diff.c,v
  -retrieving revision 1.1.1.13
  -diff -u -d -r1.1.1.13 diff.c
  ---- src/diff.c       15 Mar 2005 17:45:09 -0000      1.1.1.13
  -+++ src/diff.c       3 Oct 2005 14:06:28 -0000
  -@@ -283,7 +283,11 @@
  +retrieving revision 1.1.1.14
  +diff -u -d -r1.1.1.14 diff.c
  +--- src/diff.c       27 May 2005 18:07:48 -0000      1.1.1.14
  ++++ src/diff.c       4 Oct 2005 19:23:40 -0000
  +@@ -320,7 +320,11 @@
         * to diff.
         */
        while ((c = getopt_long (argc, argv,
  @@ -1158,8 +1132,8 @@
                             longopts, &option_index)) != -1)
        {
        switch (c)
  -@@ -292,7 +296,11 @@
  -             xrealloc_and_strcat (&opts, &opts_allocated, " --side-by-side");
  +@@ -329,7 +333,11 @@
  +             add_diff_args (0, "side-by-side", NULL);
                break;
            case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
   +#if defined(RSE_PATCH_HANDLE)
  @@ -1170,7 +1144,7 @@
            case 'u': case 'w':
                case '0': case '1': case '2': case '3': case '4': case '5':
                case '6': case '7': case '8': case '9':
  -@@ -370,6 +378,17 @@
  +@@ -388,6 +396,17 @@
                else
                    diff_date1 = Make_Date (optarg);
                break;
  @@ -1191,10 +1165,10 @@
   Index: src/hash.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/hash.c,v
  -retrieving revision 1.1.1.8
  -diff -u -d -r1.1.1.8 hash.c
  ---- src/hash.c       17 Mar 2005 19:42:23 -0000      1.1.1.8
  -+++ src/hash.c       3 Oct 2005 12:50:08 -0000
  +retrieving revision 1.1.1.9
  +diff -u -d -r1.1.1.9 hash.c
  +--- src/hash.c       9 May 2005 18:22:12 -0000       1.1.1.9
  ++++ src/hash.c       4 Oct 2005 19:23:40 -0000
   @@ -28,17 +28,25 @@
    hashp (const char *key)
    {
  @@ -1221,60 +1195,14 @@
        }
    
        return h % HASHSIZE;
  -Index: src/history.c
  -===================================================================
  -RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/history.c,v
  -retrieving revision 1.1.1.13
  -diff -u -d -r1.1.1.13 history.c
  ---- src/history.c    17 Mar 2005 19:42:23 -0000      1.1.1.13
  -+++ src/history.c    3 Oct 2005 12:50:08 -0000
  -@@ -236,6 +236,10 @@
  - static time_t tz_seconds_east_of_GMT;
  - static char *tz_name = "+0000";
  - 
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+char *history_file = NULL;
  -+#endif
  -+
  - /* -r, -t, or -b options, malloc'd.  These are "" if the option in
  -    question is not specified or is overridden by another option.  The
  -    main reason for using "" rather than NULL is historical.  Together
  -@@ -667,6 +671,10 @@
  - 
  -     if (histfile)
  -     fname = xstrdup (histfile);
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+    else if (history_file) 
  -+    fname = xstrdup (history_file);
  -+#endif
  -     else
  -     fname = Xasprintf ("%s/%s/%s", current_parsed_root->directory,
  -                        CVSROOTADM, CVSROOTADM_HISTORY);
  -@@ -712,8 +720,16 @@
  -     if (!strchr (config->logHistory, type)) 
  -     return;
  - 
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+    if (history_file != NULL)
  -+        fname = xstrdup (history_file);
  -+    else {
  -+#endif
  -     fname = Xasprintf ("%s/%s/%s", current_parsed_root->directory,
  -                   CVSROOTADM, CVSROOTADM_HISTORY);
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+    }
  -+#endif
  - 
  -     /* turn off history logging if the history file does not exist */
  -     /* FIXME:  This should check for write permissions instead.  This way,
   Index: src/import.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/import.c,v
  -retrieving revision 1.1.1.12
  -diff -u -d -r1.1.1.12 import.c
  ---- src/import.c     14 Apr 2005 14:14:55 -0000      1.1.1.12
  -+++ src/import.c     3 Oct 2005 14:08:54 -0000
  -@@ -69,6 +69,141 @@
  +retrieving revision 1.1.1.13
  +diff -u -d -r1.1.1.13 import.c
  +--- src/import.c     4 Sep 2005 00:27:44 -0000       1.1.1.13
  ++++ src/import.c     5 Oct 2005 10:42:45 -0000
  +@@ -70,6 +70,141 @@
        NULL
    };
    
  @@ -1416,7 +1344,7 @@
    int
    import (int argc, char **argv)
    {
  -@@ -333,6 +468,12 @@
  +@@ -320,6 +455,12 @@
        error (1, 0, "attempt to import the repository");
        }
    
  @@ -1426,10 +1354,10 @@
   +        error(1, 0, "Pre-import check failed");
   +#endif
   +
  -     /*
  -      * Make all newly created directories writable.  Should really use a 
more
  -      * sophisticated security mechanism here.
  -@@ -428,6 +569,9 @@
  +     ulist = getlist ();
  +     p = getnode ();
  +     p->type = UPDATE;
  +@@ -329,6 +470,9 @@
        li->type = T_TITLE;
        li->tag = xstrdup (vbranch);
        li->rev_old = li->rev_new = NULL;
  @@ -1438,8 +1366,8 @@
   +#endif
        p->data = li;
        (void) addnode (ulist, p);
  -     Update_Logfile (repository, message, logfp, ulist);
  -@@ -724,7 +868,11 @@
  +     do_verify (&message, repository, ulist);
  +@@ -719,7 +863,11 @@
             */
            if (add_tags (vers->srcfile, vfile, vtag, targc, targv))
                retval = 1;
  @@ -1454,11 +1382,11 @@
   Index: src/logmsg.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/logmsg.c,v
  -retrieving revision 1.1.1.12
  -diff -u -d -r1.1.1.12 logmsg.c
  ---- src/logmsg.c     14 Apr 2005 14:13:26 -0000      1.1.1.12
  -+++ src/logmsg.c     3 Oct 2005 12:50:08 -0000
  -@@ -620,6 +620,9 @@
  +retrieving revision 1.1.1.13
  +diff -u -d -r1.1.1.13 logmsg.c
  +--- src/logmsg.c     4 Sep 2005 00:27:44 -0000       1.1.1.13
  ++++ src/logmsg.c     4 Oct 2005 19:23:40 -0000
  +@@ -618,6 +618,9 @@
        const char *f;
        char *d;
        size_t doff;
  @@ -1468,7 +1396,7 @@
    
        if (p->data == NULL) return 1;
    
  -@@ -630,6 +633,36 @@
  +@@ -628,6 +631,36 @@
        {
        switch (*f++)
        {
  @@ -1508,11 +1436,11 @@
   Index: src/main.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/main.c,v
  -retrieving revision 1.1.1.18
  -diff -u -d -r1.1.1.18 main.c
  ---- src/main.c       17 Mar 2005 19:42:23 -0000      1.1.1.18
  -+++ src/main.c       3 Oct 2005 15:24:28 -0000
  -@@ -26,6 +26,10 @@
  +retrieving revision 1.1.1.19
  +diff -u -d -r1.1.1.19 main.c
  +--- src/main.c       2 Oct 2005 15:17:21 -0000       1.1.1.19
  ++++ src/main.c       5 Oct 2005 11:10:32 -0000
  +@@ -28,6 +28,10 @@
    const char *program_path;
    const char *cvs_cmd_name;
    
  @@ -1523,7 +1451,7 @@
    const char *global_session_id; /* Random session ID */
    
    char *hostname;
  -@@ -56,6 +60,11 @@
  +@@ -57,6 +61,11 @@
    
    mode_t cvsumask = UMASK_DFLT;
    
  @@ -1535,7 +1463,7 @@
    char *CurDir;
    
    /*
  -@@ -121,6 +130,9 @@
  +@@ -156,6 +165,9 @@
        { "login",    "logon",    "lgn",       login,     0 },
        { "logout",   NULL,       NULL,        logout,    0 },
    #endif /* AUTH_CLIENT_SUPPORT */
  @@ -1545,7 +1473,7 @@
        { "ls",       "dir",      "list",      ls,        0 },
    #if (defined(AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI)) && 
defined(SERVER_SUPPORT)
        { "pserver",  NULL,       NULL,        server,    
CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR }, /* placeholder */
  -@@ -142,9 +154,53 @@
  +@@ -177,9 +189,53 @@
        { "version",  "ve",       "ver",       version,   0 },
        { "watch",    NULL,       NULL,        watch,     
CVS_CMD_MODIFIES_REPOSITORY | CVS_CMD_USES_WORK_DIR },
        { "watchers", NULL,       NULL,        watchers,  CVS_CMD_USES_WORK_DIR 
},
  @@ -1583,7 +1511,7 @@
   +    }
   +
   +    /* execute the command */
  -+    cmd = expand_path(argv[0], cvs_cmd_name, 0, 0);
  ++    cmd = expand_path(argv[0], current_parsed_root && 
current_parsed_root->directory ? current_parsed_root->directory : "/", 
cvs_cmd_name, 0, 0);
   +    run_setup(cmd);
   +    for (i = 1; i < argc; i++)
   +        run_add_arg(argv[i]);
  @@ -1599,7 +1527,7 @@
    static const char *const usg[] =
    {
        /* CVS usage messages never have followed the GNU convention of
  -@@ -214,6 +270,9 @@
  +@@ -249,6 +305,9 @@
        "        login        Prompt for password for authenticating server\n",
        "        logout       Removes entry in .cvspass for remote 
repository\n",
    #endif /* AUTH_CLIENT_SUPPORT */
  @@ -1609,7 +1537,7 @@
        "        ls           List files available from CVS\n",
    #if (defined(AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI)) && 
defined(SERVER_SUPPORT)
        "        pserver      Password server mode\n",
  -@@ -235,6 +294,9 @@
  +@@ -270,6 +329,9 @@
        "        version      Show current CVS version(s)\n",
        "        watch        Set watches\n",
        "        watchers     See who is watching a file\n",
  @@ -1619,7 +1547,7 @@
        "(Specify the --help option for a list of other help options)\n",
        NULL,
    };
  -@@ -264,6 +326,10 @@
  +@@ -299,6 +361,10 @@
    #endif
        "    -a           Authenticate all net traffic.\n",
    #endif
  @@ -1630,7 +1558,7 @@
        "    -s VAR=VAL   Set CVS user variable.\n",
        "(Specify the --help option for a list of other help options)\n",
        NULL
  -@@ -329,6 +395,20 @@
  +@@ -364,6 +430,20 @@
        if (strcmp (cmd_name, cm->fullname) == 0)
            break;
        }
  @@ -1651,10 +1579,10 @@
        if (!cm->fullname)
        error (1, 0, "unknown command: %s", cmd_name);
        return cm->attr;
  -@@ -425,11 +505,30 @@
  -     int tmpdir_update_env;
  +@@ -507,11 +587,30 @@
  +     const struct cmd *cm;
  +     int c, err = 0;
        int free_Editor = 0;
  -     int free_Tmpdir = 0;
   +#ifdef RSE_PATCH_CVSROOT
   +    cvsroot_type *cvsroot_sync = NULL;
   +    int cvsroot_cmdline_isreal = 0;
  @@ -1682,7 +1610,7 @@
        static struct option long_options[] =
        {
            {"help", 0, NULL, 'H'},
  -@@ -439,6 +538,12 @@
  +@@ -521,6 +620,12 @@
        {"help-options", 0, NULL, 4},
    #ifdef SERVER_SUPPORT
        {"allow-root", required_argument, NULL, 3},
  @@ -1695,7 +1623,7 @@
    #endif /* SERVER_SUPPORT */
            {0, 0, 0, 0}
        };
  -@@ -498,6 +603,10 @@
  +@@ -574,6 +679,10 @@
        readonlyfs = 1;
        logoff = 1;
        }
  @@ -1706,12 +1634,12 @@
    
        /* Set this to 0 to force getopt initialization.  getopt() sets
           this to 1 internally.  */
  -@@ -517,12 +626,60 @@
  +@@ -593,6 +702,31 @@
            use_cvsrc = 0;
        }
    
   +#ifdef RSE_PATCH_GLOBALOPTION
  -+    /* 
  ++    /*
   +     * Perform a pre-lookup of the command name in order to scan cvsrc
   +     * file also for command dependent global options. For instance a
   +     * "-d" option only for "commit" commands (useful if one uses a
  @@ -1735,9 +1663,10 @@
   +    }
   +#endif
   +
  -     /*
  -      * Scan cvsrc file for global options.
  -      */
  + #ifdef SERVER_SUPPORT
  +     /* Don't try and read a .cvsrc file if we are a server.  */
  +     if (optind < argc
  +@@ -619,6 +753,29 @@
        if (use_cvsrc)
        read_cvsrc (&argc, &argv, "cvs");
    
  @@ -1767,9 +1696,9 @@
        optind = 0;
        opterr = 1;
    
  -@@ -549,6 +706,24 @@
  +@@ -645,6 +802,24 @@
                /* --allow-root */
  -             root_allow_add (optarg);
  +             root_allow_add (optarg, gConfigPath);
                break;
   +#ifdef RSE_PATCH_MAPROOT
   +        case 5: {
  @@ -1792,7 +1721,7 @@
    #endif /* SERVER_SUPPORT */
            case 'Q':
                really_quiet = 1;
  -@@ -614,7 +789,30 @@
  +@@ -708,7 +883,30 @@
            case 'd':
                if (CVSroot_cmdline != NULL)
                    free (CVSroot_cmdline);
  @@ -1823,7 +1752,7 @@
                break;
            case 'H':
                help = 1;
  -@@ -659,6 +857,28 @@
  +@@ -753,6 +951,28 @@
                       We will issue an error later if stream
                       authentication is not supported.  */
                break;
  @@ -1852,7 +1781,7 @@
            case '?':
            default:
                    usage (usg);
  -@@ -676,6 +896,28 @@
  +@@ -770,6 +990,28 @@
    Using this option to access a repository which some users write to may\n\
    cause intermittent sandbox corruption.");
        }
  @@ -1881,7 +1810,7 @@
    
        /* Calculate the cvs global session ID */
    
  -@@ -705,6 +947,10 @@
  +@@ -838,6 +1080,10 @@
        else
        cvs_cmd_name = cm->fullname;    /* Global pointer for later use */
    
  @@ -1892,7 +1821,7 @@
        if (help)
        {
        argc = -1;              /* some functions only check for this */
  -@@ -732,6 +978,116 @@
  +@@ -865,6 +1111,107 @@
                       CVSUMASK_ENV, cp);
        }
    
  @@ -1915,7 +1844,6 @@
   +        gid_t gid, egid;
   +        struct passwd *pw1;
   +        struct passwd *pw2;
  -+        char *env;
   +
   +        /* fetch [e]uid/[e]gid */
   +        gid  = getgid();
  @@ -1980,19 +1908,11 @@
   +        /* remember real user (especially for getcaller()) */
   +#ifdef AUTH_SERVER_SUPPORT
   +        CVS_Username = xstrdup(pw1->pw_name);
  -+#if HAVE_PUTENV
  -+        env = xmalloc(sizeof("LOGNAME=")+strlen(CVS_Username));
  -+        (void)sprintf(env, "LOGNAME=%s", CVS_Username);
  -+        (void)putenv(env);
  -+#endif
  ++        setenv("LOGNAME", CVS_Username, 1);
   +#endif
   +
  -+#if HAVE_PUTENV
   +        /* remember running user */
  -+        env = xmalloc(sizeof("USER=")+strlen(pw2->pw_name));
  -+        (void)sprintf(env, "USER=%s", pw2->pw_name);
  -+        (void)putenv(env);
  -+#endif
  ++        setenv("USER", pw2->pw_name, 1);
   +    }
   +    else {
   +        /* delete effective user and group id */
  @@ -2006,10 +1926,10 @@
   +    }
   +#endif
   +
  - #ifdef SERVER_SUPPORT
  - 
  - # ifdef HAVE_KERBEROS
  -@@ -748,6 +1104,21 @@
  +     /* HOSTNAME & SERVER_HOSTNAME need to be set before they are
  +      * potentially used in gserver_authenticate_connection() (called from
  +      * pserver_authenticate_connection, below).
  +@@ -898,6 +1245,22 @@
        }
    # endif /* HAVE_KERBEROS */
    
  @@ -2028,21 +1948,23 @@
   +        cvs_cmd_name = "server";
   +    }
   +#endif
  - 
  ++
    # if defined (AUTH_SERVER_SUPPORT) || defined (HAVE_GSSAPI)
        if (strcmp (cvs_cmd_name, "pserver") == 0)
  -@@ -772,6 +1143,10 @@
  +     {
  +@@ -917,6 +1280,11 @@
    
  - #endif /* SERVER_SUPPORT */
  +     server_active = strcmp (cvs_cmd_name, "server") == 0;
    
   +#ifdef RSE_PATCH_CVSROOT
   +    if (strcmp(cvs_cmd_name, "root") == 0)
   +        standalone_command = 1;
   +#endif
  - 
  ++
    #ifdef SERVER_SUPPORT
        if (server_active)
  -@@ -850,8 +1225,12 @@
  +     {
  +@@ -962,7 +1330,11 @@
         * in server mode, since the client will send the repository
         * directory after the connection is made.
         */
  @@ -2050,12 +1972,11 @@
   +    if (!server_active && !standalone_command)
   +#else
        if (!server_active)
  - #endif
   +#endif
        {
            /* First check if a root was set via the command line.  */
            if (CVSroot_cmdline)
  -@@ -907,6 +1286,54 @@
  +@@ -1018,6 +1390,60 @@
                error (1, 0,
                       "or set the %s environment variable.", CVSROOT_ENV);
            }
  @@ -2072,8 +1993,11 @@
   +                            fprintf(stderr, "%s: switching to MASTER 
location of repository `%s'\n", program_name, e->nickname);
   +                            fprintf(stderr, "%s: %s <-- %s\n", 
program_name, e->masterpath, e->slavepath);
   +                        }
  ++#if 0
  ++                        /* NOTICE: memory leak, but free_cvsroot_t is risky 
to call according to its sources! */
   +                    if (CVSroot_parsed != NULL)
   +                        free_cvsroot_t(CVSroot_parsed);
  ++#endif
   +                    if (!(CVSroot_parsed = parse_cvsroot (e->masterpath)))
   +                        error (1, 0, "Bad CVSROOT: `%s'.", e->masterpath);
   +                    if (CVSroot_cmdline != NULL)
  @@ -2093,8 +2017,11 @@
   +                                fprintf(stderr, "%s: switching to SLAVE 
location of repository `%s'\n", program_name, e->nickname);
   +                                fprintf(stderr, "%s: %s --> %s\n", 
program_name, e->masterpath, e->slavepath);
   +                            }
  ++#if 0
  ++                            /* NOTICE: memory leak, but free_cvsroot_t is 
risky to call according to its sources! */
   +                        if (CVSroot_parsed != NULL)
   +                            free_cvsroot_t(CVSroot_parsed);
  ++#endif
   +                        if (!(CVSroot_parsed = parse_cvsroot 
(e->slavepath)))
   +                            error (1, 0, "Bad CVSROOT: `%s'.", 
e->slavepath);
   +                            if (CVSroot_cmdline != NULL)
  @@ -2110,17 +2037,16 @@
        }
    
        /* Here begins the big loop over unique cvsroot values.  We
  -@@ -939,6 +1366,9 @@
  +@@ -1050,13 +1476,20 @@
           end of things.  */
    
  -     while (
  +     while (server_active ||
   +#if defined(RSE_PATCH_CVSROOT) || defined(RSE_PATCH_CUSTOMCMD)
   +               standalone_command ||
   +#endif
  - #ifdef SERVER_SUPPORT
  -            server_active ||
  - #endif
  -@@ -950,8 +1380,12 @@
  +            walklist (root_directories, set_root_directory, NULL))
  +     {
  +         /* Fiddling with CVSROOT doesn't make sense if we're running
               in server mode, since the client will send the repository
               directory after the connection is made. */
    
  @@ -2128,12 +2054,11 @@
   +        if (!server_active && !standalone_command)
   +#else
            if (!server_active)
  - #endif
   +#endif
            {
                /* Now we're 100% sure that we have a valid CVSROOT
                   variable.  Parse it to see if we're supposed to do
  -@@ -979,7 +1413,12 @@
  +@@ -1082,7 +1515,12 @@
                        save_errno = errno;
                        /* If this is "cvs init", the root need not exist yet.
                         */
  @@ -2146,24 +2071,26 @@
                            error (1, save_errno, "%s", path);
                    }
                    free (path);
  -@@ -1012,6 +1451,9 @@
  +@@ -1100,7 +1538,11 @@
  +            predetermine whether CVSROOT/config overrides things from
               read_cvsrc and other such places or vice versa.  That sort
               of thing probably needs more thought.  */
  -         if (1
   +#if defined(RSE_PATCH_CVSROOT) || defined(RSE_PATCH_CUSTOMCMD)
  -+            && !standalone_command
  ++        if (!server_active && !current_parsed_root->isremote && 
!standalone_command)
  ++#else
  +         if (!server_active && !current_parsed_root->isremote)
   +#endif
  - #ifdef SERVER_SUPPORT
  -             && !server_active
  - #endif
  -@@ -1043,7 +1485,31 @@
  +         {
  +             /* If there was an error parsing the config file, parse_config
  +                already printed an error.  We keep going.  Why?  Because
  +@@ -1130,7 +1572,31 @@
            }
    #endif
    
   +#ifdef RSE_PATCH_PROLOGEPILOG
   +        if (cvs_prolog != NULL) {
   +            char *cmd;
  -+            cmd = expand_path(cvs_prolog, "prolog", 0, 0);
  ++            cmd = expand_path(cvs_prolog, current_parsed_root && 
current_parsed_root->directory ? current_parsed_root->directory : "/", 
"prolog", 0, 0);
   +            run_setup(cmd);
   +            run_add_arg("prolog");
   +            run_add_arg(cvs_cmd_name);
  @@ -2188,7 +2115,7 @@
    #ifdef SERVER_SUPPORT
                /* Don't worry about lock_cleanup_setup when the server is
                 * active since we can only go through this loop once in that
  -@@ -1056,6 +1522,9 @@
  +@@ -1143,6 +1609,9 @@
                 !current_parsed_root->isremote &&
    #endif
                 !lock_cleanup_setup))
  @@ -2198,7 +2125,7 @@
            {
                /* Set up to clean up any locks we might create on exit.  */
                cleanup_register (Lock_Cleanup);
  -@@ -1064,7 +1533,32 @@
  +@@ -1151,7 +1620,32 @@
    
            /* Call our worker function.  */
            err = (*(cm->func)) (argc, argv);
  @@ -2206,7 +2133,7 @@
   +#ifdef RSE_PATCH_PROLOGEPILOG
   +    if (cvs_epilog != NULL) {
   +        char *cmd;
  -+        cmd = expand_path(cvs_epilog, "epilog", 0, 0);
  ++        cmd = expand_path(cvs_epilog, current_parsed_root && 
current_parsed_root->directory ? current_parsed_root->directory : "/", 
"epilog", 0, 0);
   +        run_setup(cmd);
   +        run_add_arg("epilog");
   +        run_add_arg(cvs_cmd_name);
  @@ -2231,8 +2158,8 @@
            /* Mark this root directory as done.  When the server is
                   active, our list will be empty -- don't try and
                   remove it from the list. */
  -@@ -1087,6 +1581,10 @@
  - #endif
  +@@ -1170,6 +1664,10 @@
  +             break;
        } /* end of loop for cvsroot values */
    
   +#ifdef RSE_PATCH_CVSROOT
  @@ -2242,7 +2169,7 @@
        dellist (&root_directories);
        } /* end of stuff that gets done if the user DOESN'T ask for help */
    
  -@@ -1346,6 +1844,12 @@
  +@@ -1429,6 +1927,12 @@
    
        TRACE (TRACE_FUNCTION, "format_date (%s)", datestr);
    
  @@ -2258,10 +2185,10 @@
   Index: src/mkmodules.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/mkmodules.c,v
  -retrieving revision 1.1.1.11
  -diff -u -d -r1.1.1.11 mkmodules.c
  ---- src/mkmodules.c  17 Mar 2005 19:42:23 -0000      1.1.1.11
  -+++ src/mkmodules.c  3 Oct 2005 15:06:16 -0000
  +retrieving revision 1.1.1.12
  +diff -u -d -r1.1.1.12 mkmodules.c
  +--- src/mkmodules.c  24 May 2005 20:59:01 -0000      1.1.1.12
  ++++ src/mkmodules.c  5 Oct 2005 10:38:19 -0000
   @@ -234,6 +234,48 @@
        NULL
    };
  @@ -2311,16 +2238,10 @@
    static const char *const preproxy_contents[] = {
        "# The \"preproxy\" file is called form the secondary server as soon 
as\n",
        "# the secondary server determines that it will be proxying a write\n",
  -@@ -525,6 +567,17 @@
  +@@ -525,6 +567,11 @@
        "# repositories.  Set it to `never' (the previous CVS behavior) to 
prevent\n",
        "# verifymsg scripts from changing the log message.\n",
        "#RereadLogAfterVerify=always\n",
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+    "\n",
  -+    "# Set `HistoryFile' to the path name (relative to CVSROOT) of the 
history file\n",
  -+    "# if you do not want to store it not under CVSROOT/history\n",
  -+    "#HistoryFile=CVSROOT/history\n",
  -+#endif
   +#ifdef RSE_PATCH_CONFIGUMASK
   +    "\n",
   +    "# Set `UMask' to the octal value of the umask.\n",
  @@ -2329,7 +2250,7 @@
        "\n",
        "# Set `UserAdminOptions' to the list of `cvs admin' commands 
(options)\n",
        "# that users not in the `cvsadmin' group are allowed to run.  This\n",
  -@@ -606,6 +659,16 @@
  +@@ -606,6 +653,16 @@
        {CVSROOTADM_COMMITINFO,
        "a %s file can be used to configure 'cvs commit' checking",
        commitinfo_contents},
  @@ -2349,69 +2270,29 @@
   Index: src/parseinfo.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/parseinfo.c,v
  -retrieving revision 1.1.1.14
  -diff -u -d -r1.1.1.14 parseinfo.c
  ---- src/parseinfo.c  17 Mar 2005 19:42:23 -0000      1.1.1.14
  -+++ src/parseinfo.c  3 Oct 2005 14:07:11 -0000
  -@@ -13,6 +13,9 @@
  - 
  - #include "cvs.h"
  - #include "getline.h"
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+extern char *history_file;
  -+#endif
  - #include "history.h"
  - 
  - 
  -@@ -486,7 +489,21 @@
  -     {
  -         if (retval->lock_dir != NULL)
  -             free (retval->lock_dir);
  -+#ifdef RSE_PATCH_RELLOCKDIR
  -+        if (p[0] == '/') {
  -+#endif
  -         retval->lock_dir = xstrdup (p);
  -+#ifdef RSE_PATCH_RELLOCKDIR
  -+        }
  -+        else {
  -+            char *s;
  -+            retval->lock_dir = xmalloc (strlen (p) + strlen 
(current_parsed_root->directory) + 2);
  -+            strcpy (retval->lock_dir, current_parsed_root->directory);
  -+            s = retval->lock_dir + strlen (retval->lock_dir);
  -+            *s++ = '/';
  -+            strcpy (s, p);
  -+        }
  -+#endif
  -         /* Could try some validity checking, like whether we can
  -            opendir it or something, but I don't see any particular
  -            reason to do that now rather than waiting until lock.c.  */
  -@@ -526,6 +543,19 @@
  +retrieving revision 1.1.1.15
  +diff -u -d -r1.1.1.15 parseinfo.c
  +--- src/parseinfo.c  6 Sep 2005 04:40:37 -0000       1.1.1.15
  ++++ src/parseinfo.c  5 Oct 2005 10:48:31 -0000
  +@@ -646,6 +646,11 @@
                }
            }
        }
  -+#ifdef RSE_PATCH_HISTORYFILE
  -+    else if (strcmp (line, "HistoryFile") == 0)
  -+    {
  -+        if (history_file != NULL)
  -+            free (history_file);
  -+        history_file = xstrdup (p);
  -+    }
  -+#endif
   +#ifdef RSE_PATCH_CONFIGUMASK
   +    else if (strcmp (line, "UMask") == 0) {
   +        cvsumask = (mode_t)(strtol(p, NULL, 8) & 0777);
   +    }
   +#endif
  -     else if (strcmp (line, "UserAdminOptions") == 0)
  -         retval->UserAdminOptions = xstrdup (p);
  -     else if (strcmp (line, "UseNewInfoFmtStrings") == 0)
  +     else if (strcmp (line, "TmpDir") == 0)
  +     {
  +         if (retval->TmpDir) free (retval->TmpDir);
   Index: src/repos.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/repos.c,v
  -retrieving revision 1.1.1.11
  -diff -u -d -r1.1.1.11 repos.c
  ---- src/repos.c      17 Mar 2005 19:42:24 -0000      1.1.1.11
  -+++ src/repos.c      3 Oct 2005 13:50:34 -0000
  +retrieving revision 1.1.1.12
  +diff -u -d -r1.1.1.12 repos.c
  +--- src/repos.c      26 May 2005 17:48:06 -0000      1.1.1.12
  ++++ src/repos.c      4 Oct 2005 19:23:40 -0000
   @@ -198,3 +198,4 @@
        repository[len - 2] = '\0';
        }
  @@ -2420,11 +2301,11 @@
   Index: src/root.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/root.c,v
  -retrieving revision 1.1.1.16
  -diff -u -d -r1.1.1.16 root.c
  ---- src/root.c       17 Mar 2005 19:42:24 -0000      1.1.1.16
  -+++ src/root.c       3 Oct 2005 13:45:42 -0000
  -@@ -126,6 +126,9 @@
  +retrieving revision 1.1.1.17
  +diff -u -d -r1.1.1.17 root.c
  +--- src/root.c       25 Sep 2005 00:38:29 -0000      1.1.1.17
  ++++ src/root.c       5 Oct 2005 11:11:05 -0000
  +@@ -122,6 +122,9 @@
        goto out;
        }
    
  @@ -2434,8 +2315,8 @@
    
     out:
        free (cvsadm);
  -@@ -344,7 +347,86 @@
  -     return parse_config (arg);
  +@@ -340,7 +343,86 @@
  +     return parse_config (arg, configPath);
    }
    
   +#ifdef RSE_PATCH_MAPROOT
  @@ -2521,7 +2402,7 @@
    
    /* This global variable holds the global -d option.  It is NULL if -d
       was not used, which means that we must get the CVSroot information
  -@@ -1056,3 +1138,471 @@
  +@@ -1052,3 +1134,471 @@
       /* NOTREACHED */
    }
    #endif
  @@ -2771,7 +2652,7 @@
   +            fprintf(stderr, "%s: synchronizing SLAVE with MASTER of 
repository `%s':\n", program_name, e->nickname);
   +            fprintf(stderr, "%s: %s --> %s (%s)\n", program_name, 
e->masterpath, e->slavepath, e->syncprog);
   +        }
  -+        cmd = expand_path(syncprog, "sync", 0, 0);
  ++        cmd = expand_path(syncprog, current_parsed_root && 
current_parsed_root->directory ? current_parsed_root->directory : "/", "sync", 
0, 0);
   +        run_setup(cmd);
   +        run_add_arg(e->nickname);
   +        run_add_arg(e->masterpath);
  @@ -2996,11 +2877,11 @@
   Index: src/server.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/server.c,v
  -retrieving revision 1.1.1.20
  -diff -u -d -r1.1.1.20 server.c
  ---- src/server.c     14 Apr 2005 14:13:29 -0000      1.1.1.20
  -+++ src/server.c     3 Oct 2005 13:51:04 -0000
  -@@ -117,6 +117,16 @@
  +retrieving revision 1.1.1.21
  +diff -u -d -r1.1.1.21 server.c
  +--- src/server.c     28 Sep 2005 15:25:59 -0000      1.1.1.21
  ++++ src/server.c     5 Oct 2005 15:47:13 -0000
  +@@ -122,6 +122,16 @@
    
    
    
  @@ -3017,7 +2898,7 @@
    /* While processing requests, this buffer accumulates data to be sent to
       the client, and then once we are in do_cvs_command, we use it
       for all the data to be sent.  */
  -@@ -796,6 +806,13 @@
  +@@ -776,6 +786,13 @@
    # endif /* PROXY_SUPPORT */
           ) return;
    
  @@ -3028,10 +2909,10 @@
   +            arg = argnew;
   +    }
   +#endif
  -     if (!isabsolute (arg))
  +     if (!ISABSOLUTE (arg))
        {
        if (alloc_pending (80 + strlen (arg)))
  -@@ -1269,6 +1286,9 @@
  +@@ -1378,6 +1395,9 @@
         * processing of anything other than errors is skipped until later.
         */
        status = buf_read_line (buf_from_net, &repos, NULL);
  @@ -3040,22 +2921,20 @@
   +#endif
        if (status == 0)
        {
  -     if (!isabsolute (repos))
  -@@ -6596,8 +6616,13 @@
  -     {
  -     char *env;
  +     if (!ISABSOLUTE (repos))
  +@@ -6659,7 +6679,11 @@
    
  +     /* Set LOGNAME, USER and CVS_USER in the environment, in case they
  +        are already set to something else.  */
   +#if defined(RSE_PATCH_LOGNAME) && defined(AUTH_SERVER_SUPPORT)
  -+    env = xmalloc (sizeof "LOGNAME=" + strlen (CVS_Username));
  -+    (void) sprintf (env, "LOGNAME=%s", CVS_Username);
  ++    setenv ("LOGNAME", CVS_Username, 1);
   +#else
  -     env = xmalloc (sizeof "LOGNAME=" + strlen (username));
  -     (void) sprintf (env, "LOGNAME=%s", username);
  +     setenv ("LOGNAME", username, 1);
   +#endif
  -     (void) putenv (env);
  - 
  -     env = xmalloc (sizeof "USER=" + strlen (username));
  -@@ -7156,6 +7181,10 @@
  +     setenv ("USER", username, 1);
  + # ifdef AUTH_SERVER_SUPPORT
  +     setenv ("CVS_USER", CVS_Username, 1);
  +@@ -7209,6 +7233,10 @@
        pserver_read_line (&username, NULL);
        pserver_read_line (&password, NULL);
    
  @@ -3066,7 +2945,7 @@
        /* ... and make sure the protocol ends on the right foot. */
        /* See above comment about error handling.  */
        pserver_read_line (&tmp, NULL);
  -@@ -7904,8 +7933,6 @@
  +@@ -7959,8 +7987,6 @@
        }
    }
    
  @@ -3075,7 +2954,7 @@
    /*
     * void cvs_trace(int level, const char *fmt, ...)
     *
  -@@ -7930,3 +7957,518 @@
  +@@ -7985,3 +8011,518 @@
        va_end (va);
        }
    }
  @@ -3525,7 +3404,7 @@
   +
   +    if (!root_allow_ok(repository))
   +        goto i_hate_you;
  -+    parse_config(repository);
  ++    config = get_root_allow_config(repository, gConfigPath);
   +
   +    /* We need the real cleartext before we hash it. */
   +    descrambled_password = descramble(password);
  @@ -3597,10 +3476,10 @@
   Index: src/subr.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/subr.c,v
  -retrieving revision 1.1.1.17
  -diff -u -d -r1.1.1.17 subr.c
  ---- src/subr.c       14 Apr 2005 14:14:58 -0000      1.1.1.17
  -+++ src/subr.c       3 Oct 2005 12:50:10 -0000
  +retrieving revision 1.1.1.18
  +diff -u -d -r1.1.1.18 subr.c
  +--- src/subr.c       2 Oct 2005 15:17:21 -0000       1.1.1.18
  ++++ src/subr.c       4 Oct 2005 19:23:41 -0000
   @@ -293,6 +293,22 @@
        uid_t uid;
    #endif
  @@ -3624,7 +3503,7 @@
        /* If there is a CVS username, return it.  */
    #ifdef AUTH_SERVER_SUPPORT
        if (CVS_Username != NULL)
  -@@ -814,6 +830,72 @@
  +@@ -763,6 +779,72 @@
        return backup_name;
    }
    
  @@ -3700,11 +3579,11 @@
   Index: src/update.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/update.c,v
  -retrieving revision 1.1.1.16
  -diff -u -d -r1.1.1.16 update.c
  ---- src/update.c     14 Apr 2005 14:14:58 -0000      1.1.1.16
  -+++ src/update.c     3 Oct 2005 14:05:09 -0000
  -@@ -1746,6 +1746,17 @@
  +retrieving revision 1.1.1.17
  +diff -u -d -r1.1.1.17 update.c
  +--- src/update.c     22 Sep 2005 18:49:17 -0000      1.1.1.17
  ++++ src/update.c     4 Oct 2005 19:23:41 -0000
  +@@ -1716,6 +1716,17 @@
               patch can't handle that.  */
            fail = 1;
        }
  @@ -3725,11 +3604,11 @@
   Index: src/version.c
   ===================================================================
   RCS file: /v/ossp/pkg/tool/cvs/cvs/cvs/src/version.c,v
  -retrieving revision 1.1.1.9
  -diff -u -d -r1.1.1.9 version.c
  ---- src/version.c    1 Feb 2005 21:57:00 -0000       1.1.1.9
  -+++ src/version.c    3 Oct 2005 12:50:10 -0000
  -@@ -64,6 +64,9 @@
  +retrieving revision 1.1.1.10
  +diff -u -d -r1.1.1.10 version.c
  +--- src/version.c    4 Sep 2005 00:27:44 -0000       1.1.1.10
  ++++ src/version.c    4 Oct 2005 19:23:41 -0000
  +@@ -62,6 +62,9 @@
           some idea of how long ago their version of CVS was
           released.  */
        (void) fputs (PACKAGE_STRING, stdout);
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/cvs/cvs.spec
  ============================================================================
  $ cvs diff -u -r1.103 -r1.104 cvs.spec
  --- openpkg-src/cvs/cvs.spec  3 Oct 2005 13:58:48 -0000       1.103
  +++ openpkg-src/cvs/cvs.spec  5 Oct 2005 18:08:30 -0000       1.104
  @@ -23,7 +23,7 @@
   ##
   
   #   the involved versions
  -%define       V_cvs       1.12.12
  +%define       V_cvs       1.12.13
   %define       V_cvslock   0.2
   
   #   package information
  @@ -37,7 +37,7 @@
   Group:        SCM
   License:      GPL
   Version:      %{V_cvs}
  -Release:      20051003
  +Release:      20051005
   
   #   package options
   %option       with_fsl         yes
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to