Browse Source

pathes to better support third party extensions from ML. Thanks to Alessio Vanni

Schanzenbach, Martin 4 years ago
parent
commit
d39c8087c4

+ 9 - 0
src/include/gnunet_os_lib.h

@@ -267,6 +267,15 @@ struct GNUNET_OS_ProjectData
    */
   const char *user_config_file;
 
+  /**
+   * String identifying the current project version.
+   */
+  const char *version;
+
+  /**
+   * Non-zero means this project is part of GNU.
+   */
+  int is_gnu;
 };
 
 

+ 1 - 1
src/util/Makefile.am

@@ -161,7 +161,7 @@ libgnunetutil_la_LIBADD = \
 
 libgnunetutil_la_LDFLAGS = \
   $(GN_LIB_LDFLAGS) \
-  -version-info 13:1:0
+  -version-info 13:2:0
 
 libgnunetutil_taler_wallet_la_SOURCES = \
   common_allocation.c \

+ 5 - 2
src/util/getopt_helpers.c

@@ -178,10 +178,13 @@ format_help (struct GNUNET_GETOPT_CommandLineProcessorContext *ctx,
   }
   pd = GNUNET_OS_project_data_get ();
   printf ("Report bugs to %s.\n"
-          "GNUnet home page: %s\n"
-          "General help using GNU software: http://www.gnu.org/gethelp/\n",
+          "Home page: %s\n",
           pd->bug_email,
           pd->homepage);
+
+  if (0 != pd->is_gnu)
+    printf ("General help using GNU software: http://www.gnu.org/gethelp/\n");
+  
   return GNUNET_NO;
 }
 

+ 1 - 0
src/util/os_installation.c

@@ -57,6 +57,7 @@ static const struct GNUNET_OS_ProjectData default_pd = {
   .libname = "libgnunetutil",
   .project_dirname = "gnunet",
   .binary_name = "gnunet-arm",
+  .version = PACKAGE_VERSION " " VCS_VERSION,
   .env_varname = "GNUNET_PREFIX",
   .base_config_varname = "GNUNET_BASE_CONFIG",
   .bug_email = "gnunet-developers@gnu.org",

+ 4 - 3
src/util/program.c

@@ -161,12 +161,13 @@ GNUNET_PROGRAM_run2 (int argc,
   unsigned long long skew_variance;
   long long clock_offset;
   struct GNUNET_CONFIGURATION_Handle *cfg;
+  const struct GNUNET_OS_ProjectData *pd = GNUNET_OS_project_data_get ();
   struct GNUNET_GETOPT_CommandLineOption defoptions[] =
     {GNUNET_GETOPT_option_cfgfile (&cc.cfgfile),
      GNUNET_GETOPT_option_help (binaryHelp),
      GNUNET_GETOPT_option_loglevel (&loglev),
      GNUNET_GETOPT_option_logfile (&logfile),
-     GNUNET_GETOPT_option_version (PACKAGE_VERSION " " VCS_VERSION)};
+     GNUNET_GETOPT_option_version (pd->version)};
   struct GNUNET_GETOPT_CommandLineOption *allopts;
   const char *gargs;
   char *lpfx;
@@ -231,9 +232,9 @@ GNUNET_PROGRAM_run2 (int argc,
                      "%s%s%s",
                      xdg,
                      DIR_SEPARATOR_STR,
-                     GNUNET_OS_project_data_get ()->config_file);
+                     pd->config_file);
   else
-    cfg_fn = GNUNET_strdup (GNUNET_OS_project_data_get ()->user_config_file);
+    cfg_fn = GNUNET_strdup (pd->user_config_file);
   lpfx = GNUNET_strdup (binaryName);
   if (NULL != (spc = strstr (lpfx, " ")))
     *spc = '\0';