IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25973


Ignore:
Timestamp:
Oct 30, 2009, 3:47:06 PM (17 years ago)
Author:
bills
Message:

flesh out versioning and cleanup functions

Location:
trunk/ppbgrestore
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppbgrestore/configure.ac

    r25972 r25973  
    22AC_PREREQ(2.61)
    33
    4 AC_INIT([ppbgrestore], [0.1.1], [ipp-support@ifa.hawaii.edu])
     4AC_INIT([ppbgrestore], [1.0.0], [ipp-support@ifa.hawaii.edu])
    55AC_CONFIG_SRCDIR([src])
    66
     
    3333IPP_STDOPTS
    3434CFLAGS="${CFLAGS} -Wall -Werror"
     35
     36IPP_VERSION
     37
    3538# echo "PPSTAMP_CFLAGS: $PPSTAMP_CFLAGS"
    3639# echo "PPSTAMP_LIBS: $PPSTAMP_LIBS"
  • trunk/ppbgrestore/src/Makefile.am

    r25972 r25973  
    44noinst_HEADERS = \
    55        ppbgrestore.h
     6
     7if HAVE_SVNVERSION
     8PPBGRESTORE_VERSION=`$(SVNVERSION) ..`
     9else
     10PPBGRESTORE_VERSION="UNKNOWN"
     11endif
     12
     13if HAVE_SVN
     14PPBGRESTORE_BRANCH=`$(SVN) info .. | $(SED) -n -e '/URL:/ h' -e '/Repository Root:/ { x; H; x; s|Repository Root: \(.*\)\nURL: \1\(.*\)|\2| ; s|^/|| ; s|/[a-zA-Z]*/src.*|| ; p }'`
     15PPBGRESTORE_SOURCE=`$(SVN) info | $(SED) -n -e 's/Repository UUID: // p'`
     16else
     17PPBGRESTORE_BRANCH="UNKNOWN"
     18PPBGRESTORE_SOURCE="UNKNOWN"
     19endif
     20
     21# Force recompilation of ppbgrestoreVersion.c, since it gets the version information
     22ppbgrestoreVersion.c: ppbgrestoreVersionDefinitions.h
     23ppbgrestoreVersionDefinitions.h: ppbgrestoreVersionDefinitions.h.in FORCE
     24        -$(RM) ppbgrestoreVersionDefinitions.h
     25        $(SED) -e "s|@PPBGRESTORE_VERSION@|\"$(PPBGRESTORE_VERSION)\"|" -e "s|@PPBGRESTORE_BRANCH@|\"$(PPBGRESTORE_BRANCH)\"|" -e "s|@PPBGRESTORE_SOURCE@|\"$(PPBGRESTORE_SOURCE)\"|" ppbgrestoreVersionDefinitions.h.in > ppbgrestoreVersionDefinitions.h
     26FORCE: ;
     27
     28
     29BUILT_SOURCES = ppbgrestoreVersionDefinitions.h
    630
    731ppbgrestore_CPPFLAGS = $(PSPHOT_CFLAGS)  $(PSMODULE_CFLAGS) $(PSLIB_CFLAGS)
  • trunk/ppbgrestore/src/ppbgrestore.h

    r25972 r25973  
    1515#include "psastro.h"
    1616#include "ppStats.h"
     17#include "ppbgrestoreVersionDefinitions.h"
    1718
    1819// Options for ppbgrestore processing
  • trunk/ppbgrestore/src/ppbgrestoreArguments.c

    r25972 r25973  
    88pmConfig *ppbgrestoreArguments(int argc, char *argv[])
    99{
     10    if (argc == 1) {
     11        usage();
     12    }
     13
     14    if (psArgumentGet(argc, argv, "-version")) {
     15        ppbgrestoreVersionPrint();
     16        exit(0);
     17    }
     18
    1019    pmConfig *config = pmConfigRead(&argc, argv, NULL);
    1120    if (config == NULL) {
  • trunk/ppbgrestore/src/ppbgrestoreCleanup.c

    r25972 r25973  
    33void ppbgrestoreCleanup(pmConfig *config, ppbgrestoreOptions *options)
    44{
    5     // XXX: todo
     5    // Free memory used by ppbgrestore
     6    psFree(options);
     7    psFree(config);
     8
     9    // Free memory used by psModules
     10    pmSourceFitSetDone ();
     11    pmConceptsDone();
     12    pmConfigDone();
     13    pmModelClassCleanup();
     14
     15    // Free memory used by psLib
     16    psLibFinalize();
     17
     18    // psMemBlock **memblocks;
     19    // int Nleaks = psMemCheckLeaks (0, &memblocks, stderr, false);
     20    // fprintf (stderr, "Found %d leaks at %s\n", Nleaks, "ppImage");
     21
     22    // fprintf(stderr, "Found %d leaks at %s\n", psMemCheckLeaks (0, NULL, NULL, false), "ppImage");
     23
     24    fprintf(stderr, "Found %d leaks at %s\n", psMemCheckLeaks (0, NULL, stdout, false), "ppbgrestore");
     25
    626}
  • trunk/ppbgrestore/src/ppbgrestoreLoop.c

    r25972 r25973  
    9191        output->save = true;
    9292
    93 #ifdef notdef
    94         psImageBinning *binning = psMetadataLookupPtr(&status, modelRO->analysis,
    95                                                   "PSPHOT.BACKGROUND.BINNING"); // Binning for model
    96 #endif
    9793        psImageBinning *binning = psphotBackgroundBinning(image, config);
    9894        if (!binning) {
     
    105101        if (!psImageUnbin (background->image, modelRO->image, binning)) {
    106102            psError (PSPHOT_ERR_PROG, true, "inconsistent sizes for unbinning");
     103            psFree(binning);
    107104            return false;
    108105        }
     106        psFree(binning);
    109107        psF32 **backData = background->image->data.F32;
    110108
  • trunk/ppbgrestore/src/ppbgrestoreVersion.c

    r25972 r25973  
    11#include "ppbgrestore.h"
    22
    3 void ppbgrestoreVersionPrint()
     3#ifndef PPBGRESTORE_VERSION
     4#error "PPBGRESTORE_VERSION is not set"
     5#endif
     6#ifndef PPBGRESTORE_BRANCH
     7#error "PPBGRESTORE_BRANCH is not set"
     8#endif
     9#ifndef PPBGRESTORE_SOURCE
     10#error "PPBGRESTORE_SOURCE is not set"
     11#endif
     12
     13psString ppbgrestoreVersion(void)
    414{
    5     // XXX: TODO
    6     printf("version 0.0\n");
     15    char *value = NULL;
     16    psStringAppend(&value, "%s@%s", PPBGRESTORE_BRANCH, PPBGRESTORE_VERSION);
     17    return value;
    718}
     19
     20psString ppbgrestoreSource(void)
     21{
     22    return psStringCopy(PPBGRESTORE_SOURCE);
     23}
     24
     25psString ppbgrestoreVersionLong(void)
     26{
     27    psString version = ppbgrestoreVersion();  // Version, to return
     28    psString source = ppbgrestoreSource(); // Source
     29
     30    psStringPrepend(&version, "ppbgrestore ");
     31    psStringAppend(&version, " from %s, built %s, %s", source, __DATE__, __TIME__);
     32    psFree(source);
     33
     34#ifdef __OPTIMIZE__
     35    psStringAppend(&version, " optimised");
     36#else
     37    psStringAppend(&version, " unoptimised");
     38#endif
     39
     40    return version;
     41};
     42
     43bool ppbgrestoreVersionHeader(psMetadata *header)
     44{
     45#ifdef notyet
     46    PS_ASSERT_METADATA_NON_NULL(header, false);
     47
     48    psTime *time = psTimeGetNow(PS_TIME_TAI); // The time now
     49    psString timeString = psTimeToISO(time); // The time in an ISO string
     50    psFree(time);
     51    psString history = NULL;               // History string
     52    psStringAppend(&history, "ppbgrestore at %s", timeString);
     53    psFree(timeString);
     54    psMetadataAddStr(header, PS_LIST_TAIL, "HISTORY", PS_META_DUPLICATE_OK, NULL, history);
     55    psFree(history);
     56
     57    psLibVersionHeader(header);
     58    psModulesVersionHeader(header);
     59    psphotVersionHeader(header);
     60    psastroVersionHeader(header);
     61    ppStatsVersionHeader(header);
     62
     63    psString version = ppbgrestoreVersion(); // ppbgrestore software version
     64    psString source  = ppbgrestoreSource();  // ppbgrestore software source
     65
     66    psStringPrepend(&version, "ppbgrestore version: ");
     67    psStringPrepend(&source, "ppbgrestore source: ");
     68
     69    psMetadataAddStr(header, PS_LIST_TAIL, "HISTORY", PS_META_DUPLICATE_OK, NULL, version);
     70    psMetadataAddStr(header, PS_LIST_TAIL, "HISTORY", PS_META_DUPLICATE_OK, NULL, source);
     71
     72    psFree(version);
     73    psFree(source);
     74#endif // notyet
     75
     76    return true;
     77}
     78
     79
     80void ppbgrestoreVersionPrint(void)
     81{
     82    psTime *time = psTimeGetNow(PS_TIME_TAI); // The time now
     83    psString timeString = psTimeToISO(time); // The time in an ISO string
     84    psFree(time);
     85    psLogMsg("ppbgrestore", PS_LOG_INFO, "ppbgrestore at %s", timeString);
     86    psFree(timeString);
     87
     88    psString pslib = psLibVersionLong();// psLib version
     89    psString psmodules = psModulesVersionLong(); // psModules version
     90    psString psphot = psphotVersionLong(); // psphot version
     91    psString ppbgrestore = ppbgrestoreVersionLong(); // ppbgrestore version
     92
     93    psLogMsg("ppbgrestore", PS_LOG_INFO, "%s", pslib);
     94    psLogMsg("ppbgrestore", PS_LOG_INFO, "%s", psmodules);
     95    psLogMsg("ppbgrestore", PS_LOG_INFO, "%s", psphot);
     96    psLogMsg("ppbgrestore", PS_LOG_INFO, "%s", ppbgrestore);
     97
     98    psFree(pslib);
     99    psFree(psmodules);
     100    psFree(psphot);
     101    psFree(ppbgrestore);
     102
     103    return;
     104}
Note: See TracChangeset for help on using the changeset viewer.