Index: /trunk/ippTools/src/pubtool.c
===================================================================
--- /trunk/ippTools/src/pubtool.c	(revision 28370)
+++ /trunk/ippTools/src/pubtool.c	(revision 28371)
@@ -173,4 +173,5 @@
     PXOPT_COPY_STR(config->args, camWhere, "-obs_mode", "rawExp.obs_mode", "LIKE");
 
+    PXOPT_LOOKUP_STR(set_label, config->args, "-set_label", false, false);
     PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
     PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
@@ -261,7 +262,7 @@
         psS64 client = psMetadataLookupS64(NULL, row, "client_id"); // Client identifier
         psS64 stage = psMetadataLookupS64(NULL, row, "stage_id");   // Stage identifier
-        char *label = psMetadataLookupStr(NULL, row, "src_label");   // label from correct source
-
-        if (!publishRunInsert(config->dbh, 0, client, stage, label, "new")) {
+        const char *label = psMetadataLookupStr(NULL, row, "src_label");   // label from correct source
+
+        if (!publishRunInsert(config->dbh, 0, client, stage, set_label ? set_label : label, "new")) {
             psError(PS_ERR_UNKNOWN, false, "Unable to add fileset");
             psFree(output);
Index: /trunk/ippTools/src/pubtoolConfig.c
===================================================================
--- /trunk/ippTools/src/pubtoolConfig.c	(revision 28370)
+++ /trunk/ippTools/src/pubtoolConfig.c	(revision 28371)
@@ -62,4 +62,5 @@
     // -definerun
     psMetadata *definerunArgs = psMetadataAlloc();
+    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-set_label", 0, "set label", NULL);
     psMetadataAddS64(definerunArgs, PS_LIST_TAIL, "-client_id", 0, "search by client_id", 0);
     psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "set and search by label", NULL);
