lintian doesn't like orphan packages with uploaders...
[debian/amanda] / common-src / genversion.c
index 074296bd3a79058550b1b7649f9b7eb88734bb94..e9680b33a4de355c495d282fbd50433f3e512643 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Amanda, The Advanced Maryland Automatic Network Disk Archiver
  * Copyright (c) 1991-1999 University of Maryland at College Park
+ * Copyright (c) 2007-2012 Zmanda, Inc.  All Rights Reserved.
  * All Rights Reserved.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * file named AUTHORS, in the root directory of this distribution.
  */
 /*
- * $Id: genversion.c,v 1.31 2003/10/07 17:09:46 martinea Exp $
+ * $Id: genversion.c 4946 2012-10-18 11:15:16Z martinea $
  *
  * dump the current Amanda version info
  */
 #include "amanda.h"
-#include "version.h"
+
+/* distribution-time information */
+#include "svn-info.h"
+
+/* build-time information */
 #include "genversion.h"
 
 #define        LMARGIN         6
 #define RMARGIN        70
 
-static int linelen;
+static size_t linelen;
 
-#define        startline(title)        printf("  \"%-*s", LMARGIN, title); linelen = 0
-#define        endline()               printf("\\n\",\n")
+#define        startline(title)  g_printf("  \"%-*s", LMARGIN, title); linelen = 0
+#define        endline()         g_printf("\\n\",\n")
 
-static void prstr P((const char *));
-static void prvar P((const char *, const char *));
-int main P((void));
+static void prstr(const char *);
+static void prvar(const char *, const char *);
+static void prundefvar(const char *var);
+static void prnum(const char *var, long val);
+
+int main(int, char **);
 
 /* Print a string */
 static void
-prstr(string)
-    const char *string;
+prstr(
+    const char *string)
 {
     size_t len = strlen(string) + 1;
 
@@ -59,7 +67,7 @@ prstr(string)
        endline();
        startline("");
     }
-    printf(" %s", string);
+    g_printf(" %s", string);
     linelen += len;
 }
 
@@ -68,82 +76,117 @@ static size_t buf_len = 0;
 
 /* Print a text variable */
 static void
-prvar(var, val)
-    const char *var, *val;
+prvar(
+    const char *var,
+    const char *val)
 {
     size_t new_len;
 
     new_len = strlen(var)
-             + sizeof("=\\\"")
+             + SIZEOF("=\\\"")
              + strlen(val)
-             + sizeof("\\\"")
+             + SIZEOF("\\\"")
              + 1;
     if(new_len > buf_len) {
        free(buf);
        buf_len = new_len;
-       buf = malloc(new_len);          /* let it die if malloc() fails */
+       buf = malloc(new_len);
+       if (!buf) {
+           g_fprintf(stderr, _("genversion: Not enough memory"));
+           abort();
+           /*NOTREACHED*/
+       }
     }
-    sprintf(buf, "%s=\\\"%s\\\"", var, val);   /* safe */
+    g_snprintf(buf, buf_len, "%s=\\\"%s\\\"", var, val);       /* safe */
     prstr(buf);
 }
 
 /* Print a undef variable */
 static void
-prundefvar(var)
-    const char *var;
+prundefvar(
+    const char *var)
 {
     size_t new_len;
 
     new_len = strlen(var)
-             + sizeof("=UNDEF")
+             + SIZEOF("=UNDEF")
              + 1;
     if(new_len > buf_len) {
        free(buf);
        buf_len = new_len;
        buf = malloc(new_len);          /* let it die if malloc() fails */
+       if (!buf) {
+           g_fprintf(stderr, _("genversion: Not enough memory"));
+           abort();
+           /*NOTREACHED*/
+       }
     }
-    sprintf(buf, "%s=UNDEF", var);     /* safe */
+    g_snprintf(buf, buf_len, "%s=UNDEF", var); /* safe */
     prstr(buf);
 }
 
 /* Print a numeric variable */
 static void
-prnum(var, val)
-    const char *var;
-    long val;
+prnum(
+    const char *var,
+    long       val)
 {
     static char number[NUM_STR_SIZE];
     size_t new_len;
 
-    snprintf(number, sizeof(number), "%ld", val);
+    g_snprintf(number, SIZEOF(number), "%ld", val);
     new_len = strlen(var)
-             + sizeof("=")
+             + SIZEOF("=")
              + strlen(number)
              + 1;
     if(new_len > buf_len) {
        free(buf);
        buf_len = new_len;
        buf = malloc(new_len);          /* let it die if malloc() fails */
+       if (!buf) {
+           g_fprintf(stderr, _("genversion: Not enough memory"));
+           abort();
+           /*NOTREACHED*/
+       }
     }
-    sprintf(buf, "%s=%s", var, number);                /* safe */
+    g_snprintf(buf, buf_len, "%s=%s", var, number);            /* safe */
     prstr(buf);
 }
 
 int
-main()
+main(
+    int                argc,
+    char **    argv)
 {
     const char *v;
     char *verstr;
     size_t v_len;
 
-    printf("/* version.c - generated by genversion.c - DO NOT EDIT! */\n");
-    printf("const char * const version_info[] = {\n");
+    (void)argc;        /* Quiet unused parameter warning */
+    (void)argv;        /* Quiet unused parameter warning */
+
+    /*
+     * Configure program for internationalization:
+     *   1) Only set the message locale for now.
+     *   2) Set textdomain for all amanda related programs to "amanda"
+     *      We don't want to be forced to support dozens of message catalogs.
+     */  
+    setlocale(LC_MESSAGES, "C");
+    textdomain("amanda"); 
+
+    g_printf(_("/* version.c - generated by genversion.c - DO NOT EDIT! */\n"));
+    g_printf("const char * const version_info[] = {\n");
 
     startline("build:");
-    v = version();
-    v_len = sizeof("Amanda-") + strlen(v) + 1;
+    v = VERSION;
+    v_len = SIZEOF("Amanda-") + strlen(v) + 1;
     verstr = malloc(v_len);
-    sprintf(verstr, "Amanda-%s", v);           /* safe */
+    if (!verstr) {
+       g_fprintf(stderr, _("genversion: Not enough memory"));
+       abort();
+       /*NOTREACHED*/
+    }
+    g_snprintf(verstr, v_len, "Amanda-%s", v);         /* safe */
     prvar("VERSION", verstr);
     free(verstr);
 
@@ -159,16 +202,22 @@ main()
     prundefvar("BUILT_MACH");
 #endif
 
-#ifdef CC
-    prvar("CC", CC);
+#ifdef BUILT_REV
+    prvar("BUILT_REV", BUILT_REV);
 #else
-    prundefvar("CC");
+    prundefvar("BUILT_REV");
+#endif
+
+#ifdef BUILT_BRANCH
+    prvar("BUILT_BRANCH", BUILT_BRANCH);
+#else
+    prundefvar("BUILT_BRANCH");
 #endif
 
 #ifdef CC
-    prvar("CONFIGURE_COMMAND", CONFIGURE_COMMAND);
+    prvar("CC", CC);
 #else
-    prundefvar("CONFIGURE_COMMAND");
+    prundefvar("CC");
 #endif
 
     endline();
@@ -178,6 +227,7 @@ main()
     prvar("bindir", bindir);
     prvar("sbindir", sbindir);
     prvar("libexecdir", libexecdir);
+    prvar("amlibexecdir", amlibexecdir);
     prvar("mandir", mandir);
     prvar("AMANDA_TMPDIR", AMANDA_TMPDIR);
 #ifdef AMANDA_DBGDIR
@@ -261,7 +311,11 @@ main()
     prundefvar(" LPRCMD");
 #endif
 
+#ifdef MAILER
     prvar("MAILER", MAILER);
+#else
+    prundefvar(" MAILER");
+#endif
 
 #ifdef GNUTAR_LISTED_INCREMENTAL_DIR
     prvar("listed_incr_dir", GNUTAR_LISTED_INCREMENTAL_DIR);
@@ -275,16 +329,15 @@ main()
     prvar("DEFAULT_SERVER", DEFAULT_SERVER);
     prvar("DEFAULT_CONFIG", DEFAULT_CONFIG);
     prvar("DEFAULT_TAPE_SERVER", DEFAULT_TAPE_SERVER);
+
+#ifdef DEFAULT_TAPE_DEVICE
     prvar("DEFAULT_TAPE_DEVICE", DEFAULT_TAPE_DEVICE);
+#endif
 
 #ifdef AIX_BACKUP
     prstr("AIX_BACKUP");
 #endif
 
-#ifdef AIX_TAPEIO
-    prstr("AIX_TAPEIO");
-#endif
-
 #ifdef BROKEN_VOID
     prstr("BROKEN_VOID");
 #endif
@@ -309,20 +362,17 @@ main()
     prstr("HAVE_SYSVSHM");
 #endif
 
-#ifdef USE_POSIX_FCNTL
-    prstr("LOCKING=POSIX_FCNTL");
+#ifdef WANT_AMFLOCK_POSIX
+    prstr("AMFLOCK_POSIX");
 #endif
-#ifdef USE_FLOCK
-    prstr("LOCKING=FLOCK");
+#ifdef WANT_AMFLOCK_FLOCK
+    prstr("AMFLOCK_FLOCK");
 #endif
-#ifdef USE_LOCKF
-    prstr("LOCKING=LOCKF");
+#ifdef WANT_AMFLOCK_LOCKF
+    prstr("AMFLOCK_LOCKF");
 #endif
-#ifdef USE_LNLOCK
-    prstr("LOCKING=LNLOCK");
-#endif
-#if !defined(USE_POSIX_FCNTL) && !defined(USE_FLOCK) && !defined(USE_LOCK) && !defined(USE_LNLOCK)
-    prstr("LOCKING=**NONE**");
+#ifdef WANT_AMFLOCK_LNLOCK
+    prstr("AMFLOCK_LNLOCK");
 #endif
 
 #ifdef STATFS_BSD
@@ -345,10 +395,6 @@ main()
     prstr("ASSERTIONS");
 #endif
 
-#ifdef DEBUG_CODE
-    prstr("DEBUG_CODE");
-#endif
-
 #ifdef AMANDA_DEBUG_DAYS
     prnum("AMANDA_DEBUG_DAYS", AMANDA_DEBUG_DAYS);
 #endif
@@ -357,10 +403,6 @@ main()
     prstr("BSD_SECURITY");
 #endif
 
-#ifdef KRB4_SECURITY
-    prstr("KRB4_SECURITY");
-#endif
-
 #ifdef KRB5_SECURITY
     prstr("KRB5_SECURITY");
 #endif
@@ -379,12 +421,8 @@ main()
 
     prvar("CLIENT_LOGIN", CLIENT_LOGIN);
 
-#ifdef FORCE_USERID
-    prstr("FORCE_USERID");
-#endif
-
-#ifdef USE_VERSION_SUFFIXES
-    prstr("USE_VERSION_SUFFIXES");
+#ifdef CHECK_USERID
+    prstr("CHECK_USERID");
 #endif
 
 #ifdef HAVE_GZIP
@@ -409,7 +447,7 @@ main()
 
     endline();
 
-    printf("  0\n};\n");
+    g_printf("  0\n};\n");
 
-    exit(0);
+    return (0); /* exit */
 }