Johan
Johan

Reputation: 1693

Perforce version in puppet

Im trying to automate deployment of perforce (p4 & p4v) using puppet. For this I have created a perforce resource

perforce { 'p4' : 
    version => '>= 15.1',
    ensure  => 'present',
}

The problem I have is how to determine installed version. Perforce sort all tar balls in release order .../R15.1/... but running p4 -V yields a version number that looks more like date and build no , e.g. 2016.2.345671

Is there a way that I can get the release installed?

Upvotes: 0

Views: 49

Answers (1)

Samwise
Samwise

Reputation: 71464

I'm not really sure what you're asking since it sounds like you already know about p4 -V, but will try to answer the implied question of "what do all the pieces of the version string mean"...

"2016.2" is the same as "r16.2" -- releases are named according to the year of release, and there have historically been two major releases most years so the version numbers tend to be of the form YEAR.1 and YEAR.2.

The number at the end of the version string in the binary is basically the patch level (it correlates with changes in the release notes).

Here's an example of using a regex to deconstruct a Perforce version string:

https://swarm.workshop.perforce.com/files/guest/sam_stafford/scripts/itest.pl#401

Upvotes: 2

Related Questions