diff -urN pine4.60/build pine-patched/build --- pine4.60/build 2004-05-07 19:32:32.000000000 +0000 +++ pine-patched/build 2004-06-05 17:30:52.000000000 +0000 @@ -67,6 +67,8 @@ L1= L2= +H1= +H2= K1= K2= S1= @@ -131,6 +133,7 @@ *) makeargs="$makeargs '$var'" case "$var" in CC=*) NOCC=1 ;; + HOMEETCLIB=*) HELIB=1 ;; LDAPLIBS=*) LLIBS=1 ;; LDAPCFLAGS=*) LFLAGS=1 ;; GSSDIR=*) GDIR=1 @@ -236,6 +239,11 @@ echo '' cd "$PHOME" +# Try to include HOME-ETC. + if [ x"$HELIB" != x"" ]; then + H1="'HOMEETCLIBS=-lhome_etc'" + H2="'HOMEETCCFLAGS=-DHAVE_HOME_ETC'" + fi # Try to automatically include LDAP definitions. if [ "$NOLDAP" != "1" -a -f contrib/ldap-setup -a \ \( "$LLIBS" != "1" -o "$LFLAGS" != "1" \) ] @@ -459,8 +467,8 @@ PINEEXTRAC="'LOCALPINECFLAGS=-DSYSTEM_PINERC=\\\"/etc/pine.conf\\\" -DSYSTEM_PINERC_FIXED=\\\"/etc/pine.conf.fixed\\\" -DSYSTEM_PINE_INFO_PATH=\\\"/etc/pine.info\\\"'" fi cd "$PHOME/pine" - eval echo make "$makeargs" "$L1" "$L2" "$PINEEXTRAC" -f makefile.$pinetarg - eval make "$makeargs" "$L1" "$L2" "$PINEEXTRAC" -f makefile.$pinetarg + eval echo make "$makeargs" "$L1" "$L2" "$H1" "$H2" "$PINEEXTRAC" -f makefile.$pinetarg + eval make "$makeargs" "$L1" "$L2" "$H1" "$H2" "$PINEEXTRAC" -f makefile.$pinetarg rc=$? if [ $rc != "0" ] ; then exit $rc ; fi cd "$PHOME" diff -urN pine4.60/pine/init.c pine-patched/pine/init.c --- pine4.60/pine/init.c 2004-06-05 17:27:47.000000000 +0000 +++ pine-patched/pine/init.c 2004-06-05 17:28:52.000000000 +0000 @@ -67,6 +67,13 @@ #include "headers.h" #include "../c-client/imap4r1.h" /* for LEVELSTATUS() */ +#ifdef HAVE_HOME_ETC +# include +# define HOMEDIR _HEdir +#else +# define HOMEDIR ps->home_dir +#endif + typedef enum {Sapling, Seedling, Seasoned} FeatureLevel; @@ -1429,7 +1436,7 @@ } if(!ps->pinerc){ - build_path(buf, ps->home_dir, ".pinerc", sizeof(buf)); + build_path(buf, HOMEDIR, ".pinerc", sizeof(buf)); ps->pinerc = cpystr(buf); } diff -urN pine4.60/pine/makefile.lnx pine-patched/pine/makefile.lnx --- pine4.60/pine/makefile.lnx 2004-06-05 17:27:47.000000000 +0000 +++ pine-patched/pine/makefile.lnx 2004-06-05 17:32:12.000000000 +0000 @@ -62,11 +62,11 @@ STDLIBS= -lncurses LOCLIBS= $(PICODIR)/libpico.a $(CCLIENTDIR)/c-client.a -LIBS= $(LOCLIBS) $(LDAPLIBS) $(STDLIBS) \ +LIBS= $(LOCLIBS) $(LDAPLIBS) $(HOMEETCLIBS) $(STDLIBS) \ `cat $(CCLIENTDIR)/LDFLAGS` STDCFLAGS= -DLNX -DSYSTYPE=\"LNX\" -DMOUSE -CFLAGS= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(LDAPCFLAGS) \ +CFLAGS= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(LDAPCFLAGS) $(HOMEETCCFLAGS) \ $(LOCALPINECFLAGS) $(STDCFLAGS) OFILES= addrbook.o adrbkcmd.o adrbklib.o args.o bldaddr.o context.o filter.o \ diff -urN pine4.60/pine/pine-use.c pine-patched/pine/pine-use.c --- pine4.60/pine/pine-use.c 2000-02-16 23:53:08.000000000 +0000 +++ pine-patched/pine/pine-use.c 2004-06-05 17:28:52.000000000 +0000 @@ -49,6 +49,13 @@ /* #define MAILSPOOLPCTS "/usr/mail/%s" */ #endif +#ifdef HAVE_HOME_ETC +# include +# define HOMEDIR _HEdir +#else +# define HOMEDIR pw->pw_dir +#endif + #define DAYSEC (60*60*24) main(argc, argv) @@ -98,7 +105,7 @@ if(strcmp(pw->pw_dir, "/") == 0) continue; - sprintf(filename, "%s/.pinerc", pw->pw_dir); + sprintf(filename, "%s/.pinerc", HOMEDIR); if(stat(filename, &statb) < 0) continue; if(statb.st_mtime + 7 * DAYSEC > now)