Changeset 23912 for trunk/ippTools
- Timestamp:
- Apr 17, 2009, 3:58:46 PM (17 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 5 added
- 6 edited
-
share/Makefile.am (modified) (1 diff)
-
share/difftool_pendingcleanupskyfile.sql (modified) (1 diff)
-
share/disttool_pendingdest.sql (added)
-
share/disttool_queuercrun.sql (added)
-
share/disttool_revertrcrun.sql (added)
-
share/disttool_updatercrun.sql (added)
-
share/pxadmin_create_tables.sql (modified) (1 diff)
-
share/rcserver_updatercrun.sql (added)
-
src/disttool.c (modified) (8 diffs)
-
src/disttool.h (modified) (1 diff)
-
src/disttoolConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r23898 r23912 106 106 disttool_pendingcomponent.sql \ 107 107 disttool_pendingfileset.sql \ 108 disttool_pendingdest.sql \ 108 109 disttool_processedcomponent.sql \ 110 disttool_queuercrun.sql \ 111 disttool_revertrcrun.sql \ 109 112 disttool_revertrun_update.sql \ 110 113 disttool_revertrun_delete.sql \ 111 114 disttool_revertfileset.sql \ 112 115 disttool_toadvance.sql \ 116 disttool_updatercrun.sql \ 113 117 faketool_change_exp_state.sql \ 114 118 faketool_change_imfile_data_state.sql \ -
trunk/ippTools/share/difftool_pendingcleanupskyfile.sql
r19092 r23912 10 10 WHERE 11 11 diffRun.state = 'goto_cleaned' 12 AND diffSkyfile.data_state = 'full' -
trunk/ippTools/share/pxadmin_create_tables.sql
r23893 r23912 1297 1297 dest_id BIGINT, 1298 1298 state VARCHAR(64), 1299 status_fs_name VARCHAR(64), 1299 1300 registered TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 1301 fault SMALLINT DEFAULT 0, 1300 1302 PRIMARY KEY(rc_id), 1301 1303 FOREIGN KEY(fs_id) REFERENCES rcDSFileset(fs_id), -
trunk/ippTools/src/disttool.c
r23864 r23912 45 45 static bool updatercrunMode(pxConfig *config); 46 46 static bool revertrcrunMode(pxConfig *config); 47 static bool pendingd atastoresMode(pxConfig *config);47 static bool pendingdestMode(pxConfig *config); 48 48 49 49 # define MODECASE(caseName, func) \ … … 80 80 MODECASE(DISTTOOL_MODE_UPDATERCRUN, updatercrunMode); 81 81 MODECASE(DISTTOOL_MODE_REVERTRCRUN, revertrcrunMode); 82 MODECASE(DISTTOOL_MODE_PENDINGD ATASTORES, pendingdatastoresMode);82 MODECASE(DISTTOOL_MODE_PENDINGDEST, pendingdestMode); 83 83 default: 84 84 psAbort("invalid option (this should not happen)"); … … 952 952 } 953 953 954 static bool pendingd atastoresMode(pxConfig *config)954 static bool pendingdestMode(pxConfig *config) 955 955 { 956 956 PS_ASSERT_PTR_NON_NULL(config, false); 957 #ifdef notyet958 957 959 958 psMetadata *where = psMetadataAlloc(); 960 PXOPT_COPY_S64(config->args, where, "-d ist_id", "dist_id", "==");961 PXOPT_COPY_STR(config->args, where, "-label", "label", "==");959 PXOPT_COPY_S64(config->args, where, "-dest_id", "dist_id", "=="); 960 // PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 962 961 963 962 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 965 964 966 965 // look for "inputs" that need to processed 967 psString query = pxDataGet("disttool_pending fileset.sql");966 psString query = pxDataGet("disttool_pendingdest.sql"); 968 967 if (!query) { 969 968 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); … … 971 970 } 972 971 972 psString whereString = NULL; 973 973 if (psListLength(where->list)) { 974 974 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 975 psStringAppend(&query, " AND %s", whereClause); 975 // where string gets added by hook, not at the end of the query 976 psStringAppend(&whereString, "\n AND %s", whereClause); 976 977 psFree(whereClause); 977 978 } … … 985 986 } 986 987 987 if (!p_psDBRunQuery(config->dbh, query)) { 988 psError(PS_ERR_UNKNOWN, false, "database error"); 988 if (!p_psDBRunQueryF(config->dbh, query, whereString ? whereString : "")) { 989 psError(PS_ERR_UNKNOWN, false, "database error"); 990 psFree(whereString); 989 991 psFree(query); 990 992 return false; … … 1022 1024 1023 1025 psFree(output); 1024 # endif // notdef 1026 1025 1027 return true; 1026 1028 } … … 1029 1031 { 1030 1032 PS_ASSERT_PTR_NON_NULL(config, false); 1031 return true; 1032 } 1033 psMetadata *where = psMetadataAlloc(); 1034 1035 PXOPT_COPY_S64(config->args, where, "-dist_id", "dist_id", "=="); 1036 PXOPT_COPY_S64(config->args, where, "-dest_id", "dest_id", "=="); 1037 PXOPT_COPY_S64(config->args, where, "-prod_id", "prod_id", "=="); 1038 PXOPT_COPY_S64(config->args, where, "-target_id","target_id", "=="); 1039 PXOPT_COPY_S64(config->args, where, "-fs_id", "fs_id", "=="); 1040 PXOPT_COPY_STR(config->args, where, "-stage", "stage", "==");; 1041 PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "=="); 1042 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 1043 1044 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1045 1046 psString query = pxDataGet("disttool_queuercrun.sql"); 1047 if (!query) { 1048 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1049 return false; 1050 } 1051 1052 if (psListLength(where->list)) { 1053 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1054 psStringAppend(&query, " AND %s", whereClause); 1055 psFree(whereClause); 1056 } 1057 psFree(where); 1058 1059 // treat limit == 0 as "no limit" 1060 if (limit) { 1061 psString limitString = psDBGenerateLimitSQL(limit); 1062 psStringAppend(&query, " %s", limitString); 1063 psFree(limitString); 1064 } 1065 1066 if (!p_psDBRunQuery(config->dbh, query)) { 1067 psError(PS_ERR_UNKNOWN, false, "database error"); 1068 psFree(query); 1069 return false; 1070 } 1071 psFree(query); 1072 1073 long numUpdated = psDBAffectedRows(config->dbh); 1074 1075 psLogMsg("disttool", PS_LOG_INFO, "Inserted %ld rcRuns", numUpdated); 1076 1077 return true; 1078 } 1079 1080 1033 1081 static bool updatercrunMode(pxConfig *config) 1034 1082 { 1035 1083 PS_ASSERT_PTR_NON_NULL(config, false); 1036 return true; 1037 } 1084 1085 psMetadata *where = psMetadataAlloc(); 1086 1087 PXOPT_LOOKUP_S64(rc_id, config->args, "-rc_id", false, false); 1088 PXOPT_LOOKUP_STR(fs_name, config->args, "-fs_name", false, false); 1089 PXOPT_LOOKUP_STR(status_fs_name, config->args, "-status_fs_name", false, false); 1090 PXOPT_LOOKUP_S64(dest_id, config->args, "-dest_id", false, false); 1091 1092 // We either need rc_id or (dest_id and fs_name) to identifiy the rcRun 1093 if ((!rc_id) && !(dest_id && fs_name)) { 1094 psError(PXTOOLS_ERR_DATA, true, "either -rc_id or (-fs_name and -dest_id) are required"); 1095 return false; 1096 } 1097 1098 // now that we have done the argument checking 1099 PXOPT_COPY_S64(config->args, where, "-rc_id", "rc_id", "=="); 1100 PXOPT_COPY_STR(config->args, where, "-fs_name", "rcDSFileset.name", "=="); 1101 PXOPT_COPY_S64(config->args, where, "-dest_id", "rcRun.dest_id", "=="); 1102 1103 if (!psListLength(where->list)) { 1104 // this can't happen because we checked above 1105 psFree(where); 1106 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 1107 return false; 1108 } 1109 1110 1111 PXOPT_LOOKUP_STR(last_fileset, config->args, "-last_fileset", false, false); 1112 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 1113 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 1114 1115 if (!state && (fault < 0)) { 1116 psError(PXTOOLS_ERR_DATA, false, "parameters (-fault or -set_state) are required"); 1117 psFree(where); 1118 return false; 1119 } 1120 1121 psString query = pxDataGet("disttool_updatercrun.sql"); 1122 if (!query) { 1123 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1124 return false; 1125 } 1126 1127 psString setString = psStringCopy("\n"); 1128 psString separator = ""; 1129 if (state) { 1130 psStringAppend(&setString, " rcRun.state = '%s'", state); 1131 separator = ","; 1132 } 1133 1134 // default for fault is -1, so set it if it's zero or higher. This allows clearing fault 1135 // without forcing revert first 1136 if (fault >= 0) { 1137 psStringAppend(&setString, "%s rcRun.fault = %d", separator, fault); 1138 } 1139 1140 if (status_fs_name) { 1141 psStringAppend(&setString, ", rcRun.status_fs_name = '%s'", status_fs_name); 1142 } 1143 1144 if (last_fileset) { 1145 psStringAppend(&setString, ", rcDestination.last_fileset = '%s'", last_fileset); 1146 } 1147 1148 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1149 psStringAppend(&query, " AND %s", whereClause); 1150 psFree(whereClause); 1151 psFree(where); 1152 1153 if (!p_psDBRunQueryF(config->dbh, query, setString)) { 1154 psError(PS_ERR_UNKNOWN, false, "database error"); 1155 psFree(setString); 1156 psFree(query); 1157 return false; 1158 } 1159 psFree(setString); 1160 psFree(query); 1161 1162 long numUpdated = psDBAffectedRows(config->dbh); 1163 1164 psLogMsg("disttool", PS_LOG_INFO, "Updated %ld rows", numUpdated); 1165 1166 return true; 1167 } 1168 1038 1169 static bool revertrcrunMode(pxConfig *config) 1039 1170 { 1040 1171 PS_ASSERT_PTR_NON_NULL(config, false); 1041 return true; 1042 } 1172 psMetadata *where = psMetadataAlloc(); 1173 PXOPT_COPY_S64(config->args, where, "-rc_id", "rc_id", "=="); 1174 PXOPT_COPY_S64(config->args, where, "-fs_id", "fs_id", "=="); 1175 PXOPT_COPY_S64(config->args, where, "-dest_id", "dest_id", "=="); 1176 PXOPT_COPY_S64(config->args, where, "-fault", "fault", "=="); 1177 1178 if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) { 1179 psFree(where); 1180 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 1181 return false; 1182 } 1183 1184 psString query = pxDataGet("disttool_revertrcrun.sql"); 1185 if (!query) { 1186 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1187 if (!psDBRollback(config->dbh)) { 1188 psError(PS_ERR_UNKNOWN, false, "database error"); 1189 } 1190 return false; 1191 } 1192 1193 if (psListLength(where->list)) { 1194 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1195 psStringAppend(&query, " AND %s", whereClause); 1196 psFree(whereClause); 1197 } 1198 1199 if (!p_psDBRunQuery(config->dbh, query)) { 1200 psError(PS_ERR_UNKNOWN, false, "database error"); 1201 psFree(query); 1202 if (!psDBRollback(config->dbh)) { 1203 psError(PS_ERR_UNKNOWN, false, "database error"); 1204 } 1205 return false; 1206 } 1207 psFree(query); 1208 1209 long numUpdated = psDBAffectedRows(config->dbh); 1210 1211 psLogMsg("disttool", PS_LOG_INFO, "Updated %ld rcRuns", numUpdated); 1212 1213 return true; 1214 } -
trunk/ippTools/src/disttool.h
r23864 r23912 39 39 DISTTOOL_MODE_UPDATERCRUN, 40 40 DISTTOOL_MODE_REVERTRCRUN, 41 DISTTOOL_MODE_PENDINGD ATASTORES,41 DISTTOOL_MODE_PENDINGDEST, 42 42 } disttoolMode; 43 43 -
trunk/ippTools/src/disttoolConfig.c
r23864 r23912 120 120 psMetadata *toadvanceArgs = psMetadataAlloc(); 121 121 psMetadataAddS64(toadvanceArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 122 psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-label", 0, "limit updates to label", NULL);123 psMetadataAddU64(toadvanceArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);122 psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-label", 0, "limit updates to label", NULL); 123 psMetadataAddU64(toadvanceArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 124 124 psMetadataAddBool(toadvanceArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 125 125 … … 127 127 psMetadata *pendingfilesetArgs = psMetadataAlloc(); 128 128 psMetadataAddS64(pendingfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 129 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL);130 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL);131 psMetadataAddU64(pendingfilesetArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);129 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL); 130 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL); 131 psMetadataAddU64(pendingfilesetArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 132 132 psMetadataAddBool(pendingfilesetArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 133 133 … … 136 136 psMetadataAddS64(addfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 137 137 psMetadataAddS64(addfilesetArgs, PS_LIST_TAIL, "-prod_id", 0, "define prod_id", 0); 138 psMetadataAddStr(addfilesetArgs, PS_LIST_TAIL, "-name", 0, "define file name", NULL); 139 psMetadataAddS32(addfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 140 // 141 // -pendingfileset 142 psMetadata *pendingdatastoresArgs = psMetadataAlloc(); 143 psMetadataAddS64(pendingdatastoresArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 144 psMetadataAddStr(pendingdatastoresArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL); 145 psMetadataAddStr(pendingdatastoresArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL); 146 psMetadataAddU64(pendingdatastoresArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 147 psMetadataAddBool(pendingdatastoresArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 138 psMetadataAddStr(addfilesetArgs, PS_LIST_TAIL, "-name", 0, "define file name", NULL); 139 psMetadataAddS32(addfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 140 141 // -pendingdest 142 psMetadata *pendingdestArgs = psMetadataAlloc(); 143 psMetadataAddS64(pendingdestArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 144 psMetadataAddU64(pendingdestArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 145 psMetadataAddBool(pendingdestArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 146 psMetadataAddStr(pendingdestArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL); 148 147 149 148 // -revertfileset 150 149 psMetadata *revertfilesetArgs = psMetadataAlloc(); 151 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0);150 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0); 152 151 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 153 152 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-prod_id", 0, "define dist_id", 0); 154 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-stage", 0, "define stage", NULL);155 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage_id", 0);156 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL);157 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL);158 psMetadataAddS16(revertfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0);153 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-stage", 0, "define stage", NULL); 154 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-stage_id",0, "define stage_id", 0); 155 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL); 156 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 157 psMetadataAddS16(revertfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 159 158 psMetadataAddBool(revertfilesetArgs, PS_LIST_TAIL, "-all", 0, "revert all faulted runs", NULL); 159 160 // -queuercrun 161 psMetadata *queuercrunArgs = psMetadataAlloc(); 162 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 163 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 164 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-prod_id", 0, "define prod_id", 0); 165 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-target_id", 0, "define target_id", 0); 166 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0); 167 psMetadataAddStr(queuercrunArgs, PS_LIST_TAIL, "-stage", 0, "define stage", NULL); 168 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage_id", 0); 169 psMetadataAddStr(queuercrunArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL); 170 psMetadataAddStr(queuercrunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 171 psMetadataAddU64(queuercrunArgs, PS_LIST_TAIL, "-limit", 0, "limit number of runs queued to N", 0); 172 173 // -updatercrun 174 psMetadata *updatercrunArgs = psMetadataAlloc(); 175 psMetadataAddS64(updatercrunArgs, PS_LIST_TAIL, "-rc_id", 0, "define rc_id", 0); 176 psMetadataAddS64(updatercrunArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 177 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-fs_name", 0, "define fileset name", NULL); 178 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-status_fs_name", 0, "define status fileset name", NULL); 179 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-set_state",0, "new value for state", NULL); 180 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-last_fileset",0, "new value for last_fileset", NULL); 181 psMetadataAddS16(updatercrunArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", -1); 182 183 // -revertrcrun 184 psMetadata *revertrcrunArgs = psMetadataAlloc(); 185 psMetadataAddS64(revertrcrunArgs, PS_LIST_TAIL, "-rc_id", 0, "define rc_id", 0); 186 psMetadataAddS64(revertrcrunArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0); 187 psMetadataAddS64(revertrcrunArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 188 psMetadataAddS16(revertrcrunArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 189 psMetadataAddBool(revertrcrunArgs, PS_LIST_TAIL, "-all", 0, "revert all faulted runs", NULL); 160 190 161 191 psMetadata *argSets = psMetadataAlloc(); … … 168 198 PXOPT_ADD_MODE("-pendingcomponent", "", DISTTOOL_MODE_PENDINGCOMPONENT, pendingcomponentArgs); 169 199 PXOPT_ADD_MODE("-addprocessedcomponent", "", DISTTOOL_MODE_ADDPROCESSEDCOMPONENT, addprocessedcomponentArgs); 170 PXOPT_ADD_MODE("-processedcomponent", "", DISTTOOL_MODE_PROCESSEDCOMPONENT, processedcomponentArgs);171 PXOPT_ADD_MODE("-toadvance", "", DISTTOOL_MODE_TOADVANCE, toadvanceArgs);172 PXOPT_ADD_MODE("-pendingfileset", "", DISTTOOL_MODE_PENDINGFILESET, pendingfilesetArgs);173 PXOPT_ADD_MODE("-addfileset", "", DISTTOOL_MODE_ADDFILESET, addfilesetArgs);200 PXOPT_ADD_MODE("-processedcomponent", "", DISTTOOL_MODE_PROCESSEDCOMPONENT, processedcomponentArgs); 201 PXOPT_ADD_MODE("-toadvance", "", DISTTOOL_MODE_TOADVANCE, toadvanceArgs); 202 PXOPT_ADD_MODE("-pendingfileset", "", DISTTOOL_MODE_PENDINGFILESET, pendingfilesetArgs); 203 PXOPT_ADD_MODE("-addfileset", "", DISTTOOL_MODE_ADDFILESET, addfilesetArgs); 174 204 PXOPT_ADD_MODE("-revertfileset", "", DISTTOOL_MODE_REVERTFILESET, revertfilesetArgs); 175 PXOPT_ADD_MODE("-pendingdatastores", "", DISTTOOL_MODE_PENDINGDATASTORES, pendingdatastoresArgs); 205 PXOPT_ADD_MODE("-queuercrun", "", DISTTOOL_MODE_QUEUERCRUN, queuercrunArgs); 206 PXOPT_ADD_MODE("-updatercrun", "", DISTTOOL_MODE_UPDATERCRUN, updatercrunArgs); 207 PXOPT_ADD_MODE("-revertrcrun", "", DISTTOOL_MODE_REVERTRCRUN, revertrcrunArgs); 208 PXOPT_ADD_MODE("-pendingdest", "", DISTTOOL_MODE_PENDINGDEST, pendingdestArgs); 176 209 177 210 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
