Changeset 30253 for gs2-extensions/tdb/trunk
- Timestamp:
- 2015-09-21T10:49:32+12:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs2-extensions/tdb/trunk/enable_tdb.sh
r30239 r30253 10 10 11 11 # Test that GSDLHOME is set otherwise we won't be able to find the required files 12 if [ "${GSDLHOME}x" == "x" ] ; then echo 'Error! GSDLHOME not set. Please source setup.bash before running.' ; echo ; exit 0 ; fi 13 if [ "${GSDLOS}x" == "x" ] ; then echo 'Error! GSDLOS not set. Please source setup.bash before running.' ; echo ; exit 0 ; fi 12 if [ "${GSDLHOME}x" == "x" ] 13 then 14 echo 'Error! GSDLHOME not set. Please source setup.bash before running.' 15 echo 16 exit 0 17 fi 18 if [ "${GSDLOS}x" == "x" ] 19 then 20 echo 'Error! GSDLOS not set. Please source setup.bash before running.' 21 echo 22 exit 0 23 fi 14 24 15 25 # Black magic to determine the actual name of the extension folder (in case I … … 17 27 EXTNAME=${PWD##*/} 18 28 19 echo ' - enabling TDB support in common function library'20 29 # - Symlink the source file into place 21 ln -f -s "${GSDLHOME}/ext/${EXTNAME}/src/lib/tdbclass.h" "${GSDLHOME}/common-src/src/lib/tdbclass.h" 22 ln -f -s "${GSDLHOME}/ext/${EXTNAME}/src/lib/tdbclass.cpp" "${GSDLHOME}/common-src/src/lib/tdbclass.cpp" 23 # - Makefile.in 30 printf ' * Symlinking TDB source files into place... ' 31 if [ -f "${GSDLHOME}/common-src/src/lib/tdbclass.h" ] 32 then 33 echo 'already present' 34 else 35 ln -f -s "${GSDLHOME}/ext/${EXTNAME}/src/lib/tdbclass.h" "${GSDLHOME}/common-src/src/lib/tdbclass.h" 36 ln -f -s "${GSDLHOME}/ext/${EXTNAME}/src/lib/tdbclass.cpp" "${GSDLHOME}/common-src/src/lib/tdbclass.cpp" 37 echo 'Done!' 38 fi 39 40 # - Makefile.in 41 printf ' * Enabling TDB support in common function library... ' 24 42 MAKEFILE="${GSDLHOME}/common-src/src/lib/Makefile.in" 25 43 # - I have no idea why this is commented out in the Makefile … … 28 46 if [ $? -eq 1 ] 29 47 then 30 # - Test for extension support in the makefile 31 grep -q 'EXT_DEFINES' "${MAKEFILE}" 32 if [ $? -eq 1 ] 33 then 34 # - No Extension variables yet - add them in with TDB parts 35 sed -i 's:AR = ar:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\nEXT_SOURCES = tdbclass.cpp\nEXT_OBJECTS = tdbclass.o\n\n&:' "${MAKEFILE}" 36 sed -i 's:DEFS = @DEFS@ .*:& $(EXT_DEFINES):' "${MAKEFILE}" 37 sed -i 's:INCLUDES = -I. .*:& $(EXT_INCLUDES):' "${MAKEFILE}" 38 sed -i 's:unitool.cpp:& \\\n $(EXT_SOURCES):' "${MAKEFILE}" 39 sed -i 's:unitool.o:& \\\n $(EXT_OBJECTS):' "${MAKEFILE}" 40 else 41 # - Extension support already present - add TDB parts 42 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 43 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 44 sed -i 's:EXT_SOURCES =.*:& tdbclass.cpp:' "${MAKEFILE}" 45 sed -i 's:EXT_OBJECTS =.*:& tdbclass.o:' "${MAKEFILE}" 46 fi 48 # - Test for extension support in the makefile 49 grep -q 'EXT_DEFINES' "${MAKEFILE}" 50 if [ $? -eq 1 ] 51 then 52 # - No Extension variables yet - add them in with TDB parts 53 sed -i 's:AR = ar:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\nEXT_SOURCES = tdbclass.cpp\nEXT_OBJECTS = tdbclass.o\n\n&:' "${MAKEFILE}" 54 sed -i 's:DEFS = @DEFS@ .*:& $(EXT_DEFINES):' "${MAKEFILE}" 55 sed -i 's:INCLUDES = -I. .*:& $(EXT_INCLUDES):' "${MAKEFILE}" 56 sed -i 's:unitool.cpp:& \\\n $(EXT_SOURCES):' "${MAKEFILE}" 57 sed -i 's:unitool.o:& \\\n $(EXT_OBJECTS):' "${MAKEFILE}" 58 else 59 # - Extension support already present - add TDB parts 60 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 61 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 62 sed -i 's:EXT_SOURCES =.*:& tdbclass.cpp:' "${MAKEFILE}" 63 sed -i 's:EXT_OBJECTS =.*:& tdbclass.o:' "${MAKEFILE}" 64 fi 65 echo 'Done!' 66 else 67 echo 'already enabled' 47 68 fi 48 69 grep -q 'DUSE_TDB' "${MAKEFILE}" … … 53 74 fi 54 75 55 echo ' - enabling TDB support in collection server'76 printf ' * Enabling TDB support in collection server... ' 56 77 # - Makefile.in 57 78 MAKEFILE="${GSDLHOME}/runtime-src/src/colservr/Makefile.in" … … 59 80 if [ $? -eq 1 ] 60 81 then 61 # - Test for extension support in the makefile 62 grep -q 'EXT_DEFINES' "${MAKEFILE}" 63 if [ $? -eq 1 ] 64 then 65 sed -i 's:AR = ar:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\n\n&:' "${MAKEFILE}" 66 sed -i 's:DEFS = @DEFS@:& $(EXT_DEFINES):' "${MAKEFILE}" 67 sed -i 's:INCLUDES = -I. -I$(GSDL_DIR):& $(EXT_INCLUDES):' "${MAKEFILE}" 68 else 69 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 70 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 71 fi 72 fi 73 grep -q 'DUSE_TDB' "${MAKEFILE}" 74 if [ $? -eq 1 ] 75 then 76 echo "Error! Update of ${MAKEFILE} failed." 77 exit 82 # - Test for extension support in the makefile 83 grep -q 'EXT_DEFINES' "${MAKEFILE}" 84 if [ $? -eq 1 ] 85 then 86 sed -i 's:AR = ar:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\n\n&:' "${MAKEFILE}" 87 sed -i 's:DEFS = @DEFS@:& $(EXT_DEFINES):' "${MAKEFILE}" 88 sed -i 's:INCLUDES = -I. -I$(GSDL_DIR):& $(EXT_INCLUDES):' "${MAKEFILE}" 89 else 90 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 91 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 92 fi 93 echo 'Done!' 94 else 95 echo 'already enabled' 96 fi 97 grep -q 'DUSE_TDB' "${MAKEFILE}" 98 if [ $? -eq 1 ] 99 then 100 echo "Error! Update of ${MAKEFILE} failed." 101 exit 78 102 fi 79 103 … … 83 107 if [ $? -eq 1 ] 84 108 then 85 grep -q '@EXTENSION HEADERS@' "${SRCFILE}"86 if [ $? -eq 1 ]87 then88 89 90 else91 92 93 fi109 grep -q '@EXTENSION HEADERS@' "${SRCFILE}" 110 if [ $? -eq 1 ] 111 then 112 sed -i 's:collectset\:\:collectset (text_t& gsdlhome, text_t& collecthome):// @EXTENSION HEADERS@\n#include "tdbclass.h //TDB\n\n&:' "${SRCFILE}" 113 sed -i 's: // Use GDBM if the infodb type is empty or not one of the values above: // @EXTENSION DATASOURCES@\n if (infodbtype == "tdb") {db_ptr = new tdbclass(gsdlhome);} //TDB\n if (infodbtype == "tdbserver") {db_ptr = new tdbclass(gsdlhome);} //TDBServer\n\n&:' "${SRCFILE}" 114 else 115 sed -i 's:// @EXTENSION HEADERS@:&\n#include "tdbclass.h" //TDB:' "${SRCFILE}" 116 sed -i 's:// @EXTENSION DATASOURCES@:&\n if (infodbtype == "tdb") {db_ptr = new tdbclass(gsdlhome);} //TDB\n if (infodbtype == "tdbserver") {db_ptr = new tdbclass(gsdlhome);} //TDBServer:' "${SRCFILE}" 117 fi 94 118 fi 95 119 grep -q 'tdbclass.h' "${SRCFILE}" 96 120 if [ $? -eq 1 ] 97 121 then 98 echo "Error! Update of ${SRCFILE} failed."99 exit122 echo "Error! Update of ${SRCFILE} failed." 123 exit 100 124 fi 101 125 … … 108 132 if [ $? -eq 1 ] 109 133 then 110 grep -q '@EXTENSION DATASOURCES@' "${SRCFILE}"111 if [ $? -eq 1 ]112 then113 114 else115 116 fi134 grep -q '@EXTENSION DATASOURCES@' "${SRCFILE}" 135 if [ $? -eq 1 ] 136 then 137 sed -i 's: if (infodbtype=="gdbm") {: // @EXTENSION DATASOURCES@\n if (infodbtype == "tdb") { return; } // TDB Do nothing\n if (infodbtype == "tdbserver") { return; } // TDBServer Do nothing\n\n&:' "${SRCFILE}" 138 else 139 sed -i 's: // @EXTENSION DATASOURCES@:&\n if (infodbtype == "tdb") { return; } // TDB Do nothing\n if (infodbtype == "tdbserver") { return; } // TDBServer Do nothing:' "${SRCFILE}" 140 fi 117 141 fi 118 142 grep -q 'TDB' "${SRCFILE}" 119 143 if [ $? -eq 1 ] 120 144 then 121 echo "Error! Update of ${SRCFILE} failed."122 exit123 fi 124 125 echo ' - enabling TDB support in Greenstone receptionist'145 echo "Error! Update of ${SRCFILE} failed." 146 exit 147 fi 148 149 printf ' * Enabling TDB support in Greenstone receptionist... ' 126 150 # - Makefile.in 127 151 MAKEFILE="${GSDLHOME}/runtime-src/src/recpt/Makefile.in" … … 129 153 if [ $? -eq 1 ] 130 154 then 131 grep -q 'EXT_DEFINES' "${MAKEFILE}" 132 if [ $? -eq 1 ] 133 then 134 sed -i 's:AR = ar:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\nEXT_LDFLAGS = -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib\nEXT_LIBS = -ltdb\n\n&:' "${MAKEFILE}" 135 sed -i 's:DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H:& $(EXT_DEFINES):' "${MAKEFILE}" 136 sed -i 's:INCLUDES = -I. -I$(GSDL_DIR):& $(EXT_INCLUDES):' "${MAKEFILE}" 137 sed -i 's:LDFLAGS = @LDFLAGS@ @ARCH_DEP_FLAGS@:& $(EXT_LDFLAGS):' "${MAKEFILE}" 138 sed -i 's:LIBS = @LIBS@ $(GDBM_LIBS):& $(EXT_LIBS):' "${MAKEFILE}" 139 else 140 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 141 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 142 sed -i 's:EXT_LDFLAGS =.*:& -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib:' "${MAKEFILE}" 143 sed -i 's:EXT_LIBS =.*:& -ltdb:' "${MAKEFILE}" 144 fi 145 fi 146 grep -q 'DUSE_TDB' "${MAKEFILE}" 147 if [ $? -eq 1 ] 148 then 149 echo "Error! Update of ${MAKEFILE} failed." 150 fi 151 152 153 echo ' - enabling TDB support in OAI Server receptionist' 155 grep -q 'EXT_DEFINES' "${MAKEFILE}" 156 if [ $? -eq 1 ] 157 then 158 sed -i 's:AR = ar:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\nEXT_LDFLAGS = -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib\nEXT_LIBS = -ltdb\n\n&:' "${MAKEFILE}" 159 sed -i 's:DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H:& $(EXT_DEFINES):' "${MAKEFILE}" 160 sed -i 's:INCLUDES = -I. -I$(GSDL_DIR):& $(EXT_INCLUDES):' "${MAKEFILE}" 161 sed -i 's:LDFLAGS = @LDFLAGS@ @ARCH_DEP_FLAGS@:& $(EXT_LDFLAGS):' "${MAKEFILE}" 162 sed -i 's:LIBS = @LIBS@ $(GDBM_LIBS):& $(EXT_LIBS):' "${MAKEFILE}" 163 else 164 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 165 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 166 sed -i 's:EXT_LDFLAGS =.*:& -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib:' "${MAKEFILE}" 167 sed -i 's:EXT_LIBS =.*:& -ltdb:' "${MAKEFILE}" 168 fi 169 echo 'Done!' 170 else 171 echo 'already enabled' 172 fi 173 grep -q 'DUSE_TDB' "${MAKEFILE}" 174 if [ $? -eq 1 ] 175 then 176 echo "Error! Update of ${MAKEFILE} failed." 177 fi 178 179 180 printf ' * Enabling TDB support in OAI Server receptionist... ' 154 181 # - Makefile.in 155 182 MAKEFILE="${GSDLHOME}/runtime-src/src/oaiservr/Makefile.in" … … 157 184 if [ $? -eq 1 ] 158 185 then 159 grep -q 'EXT_DEFINES' "${MAKEFILE}" 160 if [ $? -eq 1 ] 161 then 162 sed -i 's:CC = @CC@:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\nEXT_LDFLAGS = -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib\nEXT_LIBS = -ltdb\n\n&:' "${MAKEFILE}" 163 sed -i 's:DEFS = @DEFS@:& $(EXT_DEFINES):' "${MAKEFILE}" 164 sed -i 's:INCLUDES = -I$(COMMON_DIR)/src/lib:& $(EXT_INCLUDES):' "${MAKEFILE}" 165 sed -i 's:LDFLAGS = @LDFLAGS@ @ARCH_DEP_FLAGS@:& $(EXT_LDFLAGS):' "${MAKEFILE}" 166 sed -i 's:LIBS = @LIBS@ $(GDBM_LIBS):& $(EXT_LIBS):' "${MAKEFILE}" 167 else 168 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 169 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 170 sed -i 's:EXT_LDFLAGS =.*:& -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib:' "${MAKEFILE}" 171 sed -i 's:EXT_LIBS =.*:& -ltdb:' "${MAKEFILE}" 172 fi 173 fi 174 grep -q 'DUSE_TDB' "${MAKEFILE}" 175 if [ $? -eq 1 ] 176 then 177 echo "Error! Update of ${MAKEFILE} failed." 186 grep -q 'EXT_DEFINES' "${MAKEFILE}" 187 if [ $? -eq 1 ] 188 then 189 sed -i 's:CC = @CC@:# Support for adding in extension classes\nEXT_DEFINES = -DUSE_TDB\nEXT_INCLUDES = -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib\nEXT_LDFLAGS = -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib\nEXT_LIBS = -ltdb\n\n&:' "${MAKEFILE}" 190 sed -i 's:DEFS = @DEFS@:& $(EXT_DEFINES):' "${MAKEFILE}" 191 sed -i 's:INCLUDES = -I$(COMMON_DIR)/src/lib:& $(EXT_INCLUDES):' "${MAKEFILE}" 192 sed -i 's:LDFLAGS = @LDFLAGS@ @ARCH_DEP_FLAGS@:& $(EXT_LDFLAGS):' "${MAKEFILE}" 193 sed -i 's:LIBS = @LIBS@ $(GDBM_LIBS):& $(EXT_LIBS):' "${MAKEFILE}" 194 else 195 sed -i 's:EXT_DEFINES =.*:& -DUSE_TDB:' "${MAKEFILE}" 196 sed -i 's:EXT_INCLUDES =.*:& -I$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/include -I$(GSDL_DIR)/ext/'${EXTNAME}'/src/lib:' "${MAKEFILE}" 197 sed -i 's:EXT_LDFLAGS =.*:& -L$(GSDL_DIR)/ext/'${EXTNAME}'/'${GSDLOS}'/lib:' "${MAKEFILE}" 198 sed -i 's:EXT_LIBS =.*:& -ltdb:' "${MAKEFILE}" 199 fi 200 echo 'Done!' 201 else 202 echo 'already enabled' 203 fi 204 grep -q 'DUSE_TDB' "${MAKEFILE}" 205 if [ $? -eq 1 ] 206 then 207 echo "Error! Update of ${MAKEFILE} failed." 178 208 fi 179 209
Note:
See TracChangeset
for help on using the changeset viewer.