Author: qboosh                       Date: Sat Dec 23 20:26:35 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- HOME_ETC support, from l00natyk

---- Files affected:
SOURCES:
   snownews-home_etc.patch (NONE -> 1.1)  (NEW), snownews-home_etc_utils.patch 
(NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/snownews-home_etc.patch
diff -u /dev/null SOURCES/snownews-home_etc.patch:1.1
--- /dev/null   Sat Dec 23 21:26:35 2006
+++ SOURCES/snownews-home_etc.patch     Sat Dec 23 21:26:30 2006
@@ -0,0 +1,298 @@
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/cookies.c snownews-1.5.7/cookies.c
+--- snownews-1.5.7.original/cookies.c  2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/cookies.c   2005-09-03 21:46:12.000000000 +0200
+@@ -37,6 +37,7 @@
+ 
+ #include "config.h"
+ #include "ui-support.h"
++#include "etc_path.h"
+ 
+ void CookieCutter (struct feed * cur_ptr, FILE * cookies) {
+       char buf[4096];                                 /* File read buffer. */
+@@ -212,7 +213,7 @@
+       char file[512];                                 /* File locations. */
+       FILE *cookies;                                  /* Cookies file ptr. */
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/cookies", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/cookies", set_config_dir());
+       cookies = fopen (file, "r");
+       if (cookies == NULL) {
+               /* No cookies to load. */
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/dialog.c snownews-1.5.7/dialog.c
+--- snownews-1.5.7.original/dialog.c   2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/dialog.c    2005-09-03 21:46:27.000000000 +0200
+@@ -42,6 +42,7 @@
+ #include "dialog.h"
+ #include "io-internal.h"
+ #include "conversions.h"
++#include "etc_path.h"
+ 
+ extern char *browser;
+ extern struct keybindings keybindings;
+@@ -293,9 +294,9 @@
+       centerx = COLS / 2;
+       
+       hashme = Hashify(current_feed->feedurl);
+-      len = (strlen(getenv("HOME")) + strlen(hashme) + 18);
++      len = (strlen(set_config_dir()) + strlen(hashme) + 18);
+       file = malloc (len);
+-      snprintf (file, len, "%s/.snownews/cache/%s", getenv("HOME"), hashme);
++      snprintf (file, len, "%s/.snownews/cache/%s", set_config_dir(), hashme);
+ 
+       UISupportDrawBox (5, 4, COLS-6, 13);
+       
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/etc_path.c snownews-1.5.7/etc_path.c
+--- snownews-1.5.7.original/etc_path.c 1970-01-01 01:00:00.000000000 +0100
++++ snownews-1.5.7/etc_path.c  2005-09-03 21:57:47.000000000 +0200
+@@ -0,0 +1,12 @@
++/*
++ * Set path for preferences. <[EMAIL PROTECTED]>
++ */
++
++#include <stdlib.h>
++
++char *set_config_dir(void) {
++      char *etc_dir;
++      if ((etc_dir = getenv("HOME_ETC")) != NULL) return etc_dir;
++      etc_dir = getenv("HOME");
++      return etc_dir;
++      }
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/etc_path.h snownews-1.5.7/etc_path.h
+--- snownews-1.5.7.original/etc_path.h 1970-01-01 01:00:00.000000000 +0100
++++ snownews-1.5.7/etc_path.h  2005-09-03 21:54:16.000000000 +0200
+@@ -0,0 +1,6 @@
++#ifndef ETC_PATH_H
++#define       ETC_PATH_H
++
++char *set_config_dir (void);
++
++#endif
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/interface.c snownews-1.5.7/interface.c
+--- snownews-1.5.7.original/interface.c        2005-06-05 11:50:22.000000000 
+0200
++++ snownews-1.5.7/interface.c 2005-09-03 22:23:07.000000000 +0200
+@@ -48,6 +48,7 @@
+ #include "io-internal.h"
+ #include "os-support.h"
+ #include "support.h"
++#include "etc_path.h"
+ 
+ extern struct keybindings keybindings;
+ extern struct color color;
+@@ -1302,9 +1303,9 @@
+                                               
+                                               /* Remove cachefile from 
filesystem. */
+                                               hashme = 
Hashify(highlighted->feedurl);
+-                                              len = (strlen(getenv("HOME")) + 
strlen(hashme) + 18);
++                                              len = (strlen(set_config_dir()) 
+ strlen(hashme) + 18);
+                                               file = malloc (len);
+-                                              snprintf (file, len, 
"%s/.snownews/cache/%s", getenv("HOME"), hashme);
++                                              snprintf (file, len, 
"%s/.snownews/cache/%s", set_config_dir(), hashme);
+                                               
+                                               /* Errors from unlink can be 
ignored. Worst thing that happens is that
+                                                  we delete a file that 
doesn't exist. */
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/io-internal.c snownews-1.5.7/io-internal.c
+--- snownews-1.5.7.original/io-internal.c      2005-06-05 11:50:22.000000000 
+0200
++++ snownews-1.5.7/io-internal.c       2005-09-03 21:46:45.000000000 +0200
+@@ -46,6 +46,7 @@
+ #include "xmlparse.h"
+ #include "ui-support.h"
+ #include "io-internal.h"
++#include "etc_path.h"
+ 
+ extern char *browser;
+ 
+@@ -279,7 +280,7 @@
+               return 0;
+       
+       hashme = Hashify(cur_ptr->feedurl);
+-      snprintf (file, sizeof(file), "%s/.snownews/cache/%s", getenv("HOME"), 
hashme);
++      snprintf (file, sizeof(file), "%s/.snownews/cache/%s", 
set_config_dir(), hashme);
+       free (hashme);
+       cache = fopen (file, "r");
+       
+@@ -391,7 +392,7 @@
+       UIStatus (_("Saving settings ["), 0, 0);
+       titlestrlen = strlen (_("Saving settings ["));
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/browser", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/browser", set_config_dir());
+       configfile = fopen (file, "w+");
+       if (configfile == NULL) {
+               MainQuit (_("Save settings (browser)"), strerror(errno));
+@@ -399,12 +400,12 @@
+       fputs (browser, configfile);
+       fclose (configfile);
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/urls", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/urls", set_config_dir());
+       
+       /* Make a backup of urls. This approach is really broken! */
+       if ((stat (file, &filetest)) != -1) {
+               if ((filetest.st_mode & S_IFREG) == S_IFREG) {
+-                      snprintf (syscall, sizeof(file), "cp -f 
%s/.snownews/urls %s/.snownews/urls.bak", getenv("HOME"), getenv("HOME"));
++                      snprintf (syscall, sizeof(file), "cp -f 
%s/.snownews/urls %s/.snownews/urls.bak", set_config_dir(), set_config_dir());
+                       system (syscall);
+               }
+       }
+@@ -463,7 +464,7 @@
+                * Write cache.
+                */
+               hashme = Hashify(cur_ptr->feedurl);
+-              snprintf (file, sizeof(file), "%s/.snownews/cache/%s", 
getenv("HOME"), hashme);
++              snprintf (file, sizeof(file), "%s/.snownews/cache/%s", 
set_config_dir(), hashme);
+               free (hashme);
+               cache = fopen (file, "w+");
+ 
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/Makefile snownews-1.5.7/Makefile
+--- snownews-1.5.7.original/Makefile   2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/Makefile    2005-09-03 21:55:47.000000000 +0200
+@@ -8,15 +8,15 @@
+ include platform_settings
+ 
+ ### Object files ###
+-OBJFILES= main.o netio.o interface.o xmlparse.o updatecheck.o conversions.o 
dialog.o ui-support.o categories.o about.o cookies.o setup.o net-support.o 
digcalc.o md5.o filters.o io-internal.o os-support.o zlib_interface.o support.o
++OBJFILES= main.o netio.o interface.o xmlparse.o updatecheck.o conversions.o 
dialog.o ui-support.o categories.o about.o cookies.o setup.o net-support.o 
digcalc.o md5.o filters.o io-internal.o os-support.o zlib_interface.o support.o 
etc_path.o
+ 
+ VERSION= `grep VERSION version.h | sed s/\"//g | sed s/\#define\ VERSION\ //`
+ DISTDIR= snownews-$(VERSION)
+ DISTFILES = AUTHOR COPYING CREDITS Changelog README README.de README.patching 
INSTALL opml2snow snowsync \
+       Makefile platform_settings configure \
+       doc po scripts \
+-      main.c interface.c netio.c xmlparse.c updatecheck.c os-support.c 
conversions.c dialog.c ui-support.c categories.c about.c cookies.c setup.c 
net-support.c digcalc.c md5.c filters.c io-internal.c zlib_interface.c 
support.c \
+-      config.h version.h main.h interface.h netio.h xmlparse.h updatecheck.h 
os-support.h conversions.h dialog.h ui-support.h categories.h about.h cookies.h 
setup.h net-support.h digcalc.h md5.h filters.h io-internal.h zlib_interface.h 
support.h
++      main.c interface.c netio.c xmlparse.c updatecheck.c os-support.c 
conversions.c dialog.c ui-support.c categories.c about.c cookies.c setup.c 
net-support.c digcalc.c md5.c filters.c io-internal.c zlib_interface.c 
support.c etc_path.c\
++      config.h version.h main.h interface.h netio.h xmlparse.h updatecheck.h 
os-support.h conversions.h dialog.h ui-support.h categories.h about.h cookies.h 
setup.h net-support.h digcalc.h md5.h filters.h io-internal.h zlib_interface.h 
support.h etc_path.h
+ 
+ ### Translations ###
+ LOCALES= de es fr it nl ru sl zh_TW zh_CN pt_BR pl ja
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/setup.c snownews-1.5.7/setup.c
+--- snownews-1.5.7.original/setup.c    2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/setup.c     2005-09-03 22:21:52.000000000 +0200
+@@ -43,6 +43,7 @@
+ #include "main.h"
+ #include "setup.h"
+ #include "io-internal.h"
++#include "etc_path.h"
+ 
+ struct feed *first_ptr = NULL;
+ struct entity *first_entity = NULL;
+@@ -558,7 +559,7 @@
+       /* 
+        * Setup config directories.
+        */
+-      snprintf (file, sizeof(file), "%s/.snownews", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews", set_config_dir());
+       if ((stat (file, &dirtest)) == -1 ) {
+               /* Create directory. */
+               if (mkdir (file, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | 
S_IXOTH) != 0)
+@@ -571,7 +572,7 @@
+               }
+       }
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/cache", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/cache", set_config_dir());
+       if ((stat (file, &dirtest)) == -1) {
+               /* Create directory. */
+               if (mkdir (file, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | 
S_IXOTH) != 0)
+@@ -585,20 +586,20 @@
+       
+       /* Redirect stderr to ~/.snownews/error.log
+          Be sure to call _after_ the directory checks above! */
+-      snprintf (file, sizeof(file), "%s/.snownews/error.log", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/error.log", 
set_config_dir());
+       errorlog = fopen (file, "w+");
+       dup2 (fileno(errorlog), STDERR_FILENO);
+       
+       UIStatus (_("Reading configuration settings..."), 0, 0);
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/browser", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/browser", set_config_dir());
+       SetupBrowser (file);
+ 
+       /*************
+        * Feed list *
+        *************/
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/urls", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/urls", set_config_dir());
+       configfile = fopen (file, "r");
+       if (configfile == NULL) {
+               UIStatus (_("Creating new configfile."), 0, 0);
+@@ -693,13 +694,13 @@
+       }
+       fclose (configfile);
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/keybindings", 
getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/keybindings", 
set_config_dir());
+       SetupKeybindings (file);
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/colors", getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/colors", set_config_dir());
+       SetupColors (file);
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/html_entities", 
getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/html_entities", 
set_config_dir());
+       SetupEntities (file);
+       
+       return numfeeds;
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/support.c snownews-1.5.7/support.c
+--- snownews-1.5.7.original/support.c  2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/support.c   2005-09-03 22:18:04.000000000 +0200
+@@ -31,6 +31,7 @@
+ #include <sys/stat.h>
+ #include <sys/select.h>
+ #include <time.h>
++#include "etc_path.h"
+ 
+ int easterEgg (void) {
+       struct tm *t;
+@@ -42,7 +43,7 @@
+       tunix = time(0);
+       t = localtime(&tunix);
+       
+-      snprintf (file, sizeof(file), "%s/.snownews/santa_hunta", 
getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/santa_hunta", 
set_config_dir());
+       if ((stat (file, &filetest) == 0) ||
+               ((t->tm_mon == 11) && (t->tm_mday >= 24) && (t->tm_mday <= 
26))) {
+               return 1;
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/ui-support.c snownews-1.5.7/ui-support.c
+--- snownews-1.5.7.original/ui-support.c       2005-06-05 11:50:22.000000000 
+0200
++++ snownews-1.5.7/ui-support.c        2005-09-03 22:14:50.000000000 +0200
+@@ -35,6 +35,7 @@
+ #include "version.h"
+ #include "ui-support.h"
+ #include "io-internal.h"
++#include "etc_path.h"
+ 
+ extern struct color color;
+ extern char *browser;
+@@ -373,7 +374,7 @@
+       else
+               pager = strdup("less");
+       
+-      env = getenv("HOME");
++      env = set_config_dir();
+       snprintf (errorlog, sizeof(errorlog), "%s/.snownews/error.log", env);
+       
+       snprintf (command, sizeof(command), "%s %s", pager, errorlog);
+diff -u -r -N --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/updatecheck.c snownews-1.5.7/updatecheck.c
+--- snownews-1.5.7.original/updatecheck.c      2005-06-05 11:50:22.000000000 
+0200
++++ snownews-1.5.7/updatecheck.c       2005-09-03 22:16:14.000000000 +0200
+@@ -38,7 +38,7 @@
+ #include "version.h"
+ #include "netio.h"
+ #include "io-internal.h"
+-
++#include "etc_path.h"
+ 
+ void AutoVersionCheck (void) {
+       struct feed *update;
+@@ -55,7 +55,7 @@
+       
+       /* We check once a week. */
+       snprintf (timestring, sizeof(timestring), "%d", (int) time(NULL));
+-      snprintf (file, sizeof(file), "%s/.snownews/updatecheck", 
getenv("HOME"));
++      snprintf (file, sizeof(file), "%s/.snownews/updatecheck", 
set_config_dir());
+       lastupdated = fopen (file, "r+");
+       if (lastupdated == NULL) {
+               lastupdated = fopen (file, "w+");

================================================================
Index: SOURCES/snownews-home_etc_utils.patch
diff -u /dev/null SOURCES/snownews-home_etc_utils.patch:1.1
--- /dev/null   Sat Dec 23 21:26:35 2006
+++ SOURCES/snownews-home_etc_utils.patch       Sat Dec 23 21:26:30 2006
@@ -0,0 +1,76 @@
+diff -u -r --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/opml2snow snownews-1.5.7/opml2snow
+--- snownews-1.5.7.original/opml2snow  2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/opml2snow   2005-09-04 00:50:12.000000000 +0200
+@@ -29,6 +29,16 @@
+ use English;
+ 
+ #######################################################################
++# etc_path
++    my($ETC_PATH);    
++
++    if ($ENV{'HOME_ETC'}) {
++    $ETC_PATH = ("$ENV{'HOME_ETC'}");
++    } else {
++    $ETC_PATH = ($ENV{'HOME'});
++    }
++
++#######################################################################
+ # Help
+ if (index($ARGV[0], "-h") >= 0) {
+       print "Snownews opml2snow - subsription file import/export utility\n\n".
+@@ -80,7 +90,7 @@
+       if (defined($ARGV[1])) {
+               $inputfile = $ARGV[1];
+       } else {
+-              $inputfile = "$ENV{'HOME'}/.snownews/urls"
++              $inputfile = "$ETC_PATH/.snownews/urls"
+       }
+       open (URLS, "$inputfile");
+       my(@urls) = <URLS>;
+@@ -121,7 +131,7 @@
+               my($feed_script) = 4;
+               
+               my($parser) = XML::LibXML->new();
+-              my($feed_doc) = 
$parser->parse_file("$ENV{'HOME'}/.snownews/cache/$feed_url_hash");
++              my($feed_doc) = 
$parser->parse_file("$ETC_PATH/.snownews/cache/$feed_url_hash");
+               my($feed_root) = $feed_doc->documentElement();
+               $feed_root->setNamespace('http://purl.org/rss/1.0/', 'rss', 1);
+               
+diff -u -r --from-file=snownews-1.5.7.original/ 
snownews-1.5.7.original/snowsync snownews-1.5.7/snowsync
+--- snownews-1.5.7.original/snowsync   2005-06-05 11:50:22.000000000 +0200
++++ snownews-1.5.7/snowsync    2005-09-04 00:57:49.000000000 +0200
+@@ -34,6 +34,16 @@
+ use File::Copy;
+ 
+ #######################################################################
++# etc_path
++    my($ETC_PATH);    
++
++    if ($ENV{'HOME_ETC'}) {
++    $ETC_PATH = ("$ENV{'HOME_ETC'}");
++    } else {
++    $ETC_PATH = ($ENV{'HOME'});
++    }
++
++#######################################################################
+ 
+ my $fileversion = "version1";
+ my $debug = 0;
+@@ -60,7 +70,7 @@
+ my $tmpdir = "/tmp/snowsync-".$ENV{'USER'}.".$PID.".time();
+ 
+ # Default to Snownews
+-my $dot_dir = "$homedir/.snownews";
++my $dot_dir = "$ETC_PATH/.snownews";
+ my $config_loc = "$dot_dir/snowsync.conf";
+ my $log_loc = "$dot_dir/snowsync.log";
+ my $main_prog_name = "snownews";
+@@ -100,7 +110,7 @@
+ #######################################################################
+ # See if snownews is running. Works with snownews >= 1.5.6
+ sub checkRunning {
+-      my($pid_file) = $ENV{'HOME'}."/.snownews/pid";
++      my($pid_file) = $ETC_PATH."/.snownews/pid";
+       
+       open (PID, "$pid_file") or return;
+       my($my_pid) = <PID>;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to