# The form data below was edited by tom_tyler
# Perforce Workshop Jobs
#
# Job: The job name. 'new' generates a sequenced job number.
#
# Status: Job status; required field. There is no enforced or
# promoted workflow for transition of jobs from one
# status to another, just a set of job status values
# for users to apply as they see fit. Possible values:
#
# open - Issue is available to be worked on.
#
# inprogress - Active development is in progress.
#
# blocked - Issue cannot be implemented for some reason.
#
# fixed - Fixed, optional status to use before closed.
#
# closed - Issue has been dealt with definitively.
#
# punted - Decision made not to address the issue,
# possibly not ever.
#
# suspended - Decision made not to address the issue
# in the immediate future, but noting that it may
# have some merit and may be revisited later.
#
# duplicate - Duplicate of another issue that.
#
# obsolete - The need behind the request has become
# overcome by events.
#
# Project: The project this job is for. Required.
#
# Severity: [A/B/C] (A is highest) Required.
#
# ReportedBy The user who created the job. Can be changed.
#
# ReportedDate: The date the job was created. Automatic.
#
# ModifiedBy: The user who last modified this job. Automatic.
#
# ModifiedDate: The date this job was last modified. Automatic.
#
# OwnedBy: The owner, responsible for doing the job. Optional.
#
# Description: Description of the job. Required.
#
# DevNotes: Developer's comments. Optional. Can be used to
# explain a status, e.g. for blocked, punted,
# obsolete or duplicate jobs. May also provide
# additional information such as the earliest release
# in which a bug is known to exist.
#
# Component: Projects may use this optional field to indicate
# which component of the project a given job is associated
# with.
#
# For the SDP, the list of components is defined in:
# //guest/perforce_software/sdp/tools/components.txt
#
# Type: Type of job [Bug/Doc/Feature/Problem]. Required.
#
# Bug: is a problem that is fairly well understood,
# e.g. one for which there is a reproduction or clear
# articulation of the problem.
#
# Doc: A Documentation fix.
#
# Feature: An enhancement request, perhaps adding
# a new product features, improving maintainability,
# essentially any new software improvement other than
# a fix to something broken.
#
# Problem: a suspected bug, or one without a clear
# understanding of exactly what is broken.
#
# Release: Release in which job is intended to be fixed.
Job: SDP-902
Status: open
Project: perforce-software-sdp
Severity: C
ReportedBy: tom_tyler
ReportedDate: 2023/05/09 17:44:11
ModifiedBy: tom_tyler
ModifiedDate: 2023/05/09 17:44:11
OwnedBy: tom_tyler
Description:
Upgrade p4dtate.sh, p4pstate.sh, and p4brokerstate.sh to be SDP-aware.
Update the stock p4dstate.sh (and related p4pstate.sh and p4brokerstate.sh) to be
fully SDP-aware without making them SDP-dependent. That is, if operating in an
SDP environment with a defined structure and shell environment, take advantage of
that to avoid the need to define things like placement of p4d/p4p/p4broker binaries.
In an non-SDP environment, they will just work.
Improvements planned to bring it up to SDP standards:
* Add user documentation (-h and -man options), including guidance on when to run it,
and where to send logs (e.g. to [email protected]).
* Make it the script never needs to be edited, e.g. using command line parameters and/or a configuration file.
* Improve logging mechanism.
* Make it reliable – the script should never hang, even if the p4d commands it tries to
run hang. (Use 'timeout' utility to avoid hangs).
Use bash, not sh.
Pass ShellCheck (lint for bash) compliance.
Add a '-update' option so the script can try to update itself with the latest version, e.g.
via curl from the Perforce FTP server (will only work with external network connectivity; this
limitation to be documented and also with an appropriate error message).
There will be a copy of the new versions p4 p4dstate.sh, p4brokerstate.sh, and p4pstate.sh distributed
with the SDP.
Component: core-unix
Type: Feature