-$vers = sprintf("5.%03d", $patchlevel);
-$vms_vers = sprintf("5_%03d", $patchlevel);
-if ($subversion) {
- $vers.= sprintf( "_%02d", $subversion);
- $vms_vers.= sprintf( "%02d", $subversion);
-} else {
- $vms_vers.= " ";
-}
+$vers = sprintf("%d.%d.%d", $revision, $patchlevel, $subversion);
+$vms_vers = sprintf("%d_%d_%d", $revision, $patchlevel, $subversion);
+
+# fetch list of local patches
+my (@local_patches, @lpatch_tags, $lpatch_tags);
+@local_patches = grep { /^static.*local_patches/../^};/ } @patchlevel_h;
+@local_patches = grep { !/^\s*,?NULL/ } @local_patches;
+@lpatch_tags = map { /^\s*,"(\w+)/ } @local_patches;
+$lpatch_tags = join "-", @lpatch_tags;