/* * Sets up the ~/evolution directory * * Author: * Miguel de Icaza (miguel@kernel.org) * * (C) 2000 Helix Code, Inc. http://www.helixcode.com */ #include <config.h> #include <sys/stat.h> #include <errno.h> #include <unistd.h> #include <gnome.h> #include "e-setup.h" char *evolution_dir = NULL; char *evolution_folders_dir = NULL; char *evolution_shortcuts_dir = NULL; char *evolution_private = NULL; char *evolution_public = NULL; /* Try to ensure the existence of a directory, by checking for it and * creating it if necessary. It returns FALSE if it doesn't exist and * can't be created */ static gboolean mkdir_if_necessary (char *dirname) { struct stat s; g_assert (dirname); /* If we can't stat the dirname... */ if (stat (dirname, &s) == -1) { /* ...it may be because there's no such directory */ if (errno == ENOENT) { g_print ("Directory %s doesn't exist; creating...", dirname); if (mkdir (dirname, S_IRWXU) == -1) { g_print ("failed! %s\n", g_strerror (errno)); return FALSE; } else /* directory created! */ g_print ("success!\n"); } /* ..or maybe there's some other problem with the directory */ else { g_print ("There's a problem with accessing " "\"%s\": %s\n", dirname, g_strerror(errno)); return FALSE; } } /* There's a file or directory there. */ else { /* if it's a file, complain; otherwise, we're all set */ if (!S_ISDIR (s.st_mode)) { g_print ("Evolution is trying to create a directory,\n" "\"%s\". But there appears to be a file in\n" "the way. Move it away.\n", dirname); return FALSE; } } return TRUE; } gboolean e_setup_base_dir (void) { gboolean success = FALSE; /* try to get the evolution home directory from gnome-config; if we can't, we'll make a new one at ~/evolution */ evolution_dir = gnome_config_get_string("/Evolution/directories/home"); if (!evolution_dir) evolution_dir = g_concat_dir_and_file (g_get_home_dir (), "evolution"); if (!evolution_folders_dir) evolution_folders_dir = g_concat_dir_and_file (evolution_dir, "folders"); if (!evolution_shortcuts_dir) evolution_shortcuts_dir = g_concat_dir_and_file (evolution_dir, "shortcuts"); if (mkdir_if_necessary (evolution_dir) && mkdir_if_necessary (evolution_folders_dir) && mkdir_if_necessary (evolution_shortcuts_dir)) { success = TRUE; gnome_config_set_string ("/Evolution/directories/home", evolution_dir); gnome_config_sync(); } return success; } evel/electron4/files/minimist-1.2.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option> <option value='gnome-3.22'>gnome-3.22</option> <option value='gnome-3.24'>gnome-3.24</option> <option value='gnome-3.26'>gnome-3.26</option> <option value='gnome-3.28'>gnome-3.28</option> <option value='gnome-3.32'>gnome-3.32</option> <option value='gnome-3.36'>gnome-3.36</option> <option value='gstreamer'>gstreamer</option> <option value='gstreamer-1.16'>gstreamer-1.16</option> <option value='gstreamer0.10-removal' selected='selected'>gstreamer0.10-removal</option> <option value='main'>main</option> <option value='master'>master</option> <option value='mate-1.16'>mate-1.16</option> <option value='mate-1.18'>mate-1.18</option> <option value='mate-1.20'>mate-1.20</option> <option value='mate-1.22'>mate-1.22</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=gstreamer0.10-removal'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=gstreamer0.10-removal'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=gstreamer0.10-removal'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/twiki/Makefile?h=gstreamer0.10-removal'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/www/twiki/Makefile?h=gstreamer0.10-removal'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/www/twiki/Makefile?h=gstreamer0.10-removal'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/www/twiki/Makefile?h=gstreamer0.10-removal'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/www/twiki/Makefile?h=gstreamer0.10-removal'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/twiki/Makefile'> <input type='hidden' name='h' value='gstreamer0.10-removal'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=gstreamer0.10-removal'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www?h=gstreamer0.10-removal'>www</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/twiki?h=gstreamer0.10-removal'>twiki</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/twiki/Makefile?h=gstreamer0.10-removal'>Makefile</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/twiki/Makefile?h=gstreamer0.10-removal&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr>