I was happy to see that berkshelf 2.0.x was released as I thought it solved the locking mechanism but it seems that something is wrong. I have a "backwards" setup in the sense that I define my dependencies directly in the berksfile and use a rake task to write all the exact versions to the metadata file.
realiteq ➤ cat Berksfile.lock git:master*
{
"sha": "60079019c90586f0481bf0d711923b67c45d23a0",
"sources": {
"realiteq": {
"path": "."
},
"users-and-groups": {
"locked_version": "0.1.1",
"ref": "ea771662e574fe502fc8418ff61c397957b4a0c0"
},
"sudo": {
"locked_version": "2.1.2",
"constraint": "~> 2.1.2"
},
"nginx": {
"locked_version": "1.6.0",
"constraint": "~> 1.6.0"
},
"postfix": {
"locked_version": "2.1.4",
"constraint": "~> 2.1.4"
},
"ntp": {
"locked_version": "1.3.2",
"constraint": "~> 1.3.2"
},
"apt": {
"locked_version": "1.10.0",
"constraint": "~> 1.10.0"
},
"chef-client": {
"locked_version": "2.2.4",
"constraint": "~> 2.2.4"
},
"build-essential": {
"locked_version": "1.4.0",
"constraint": "= 1.4.0"
},
"cron": {
"locked_version": "1.2.2",
"constraint": "= 1.2.2"
},
"ohai": {
"locked_version": "1.1.8",
"constraint": "= 1.1.8"
},
"runit": {
"locked_version": "1.1.4",
"constraint": "= 1.1.4"
},
"yum": {
"locked_version": "2.2.2"
}
}
}
See versions for postfix (2.1.4) and yum (2.2.2).
However when I install or list dependencies I get:
realiteq ➤ be berks list git:master*
Cookbooks installed by your Berksfile:
* apt (1.10.0)
* build-essential (1.4.0)
* chef-client (2.2.4)
* cron (1.2.2)
* nginx (1.6.0)
* ntp (1.3.2)
* ohai (1.1.8)
* postfix (2.1.6)
* realiteq (0.1.7)
* runit (1.1.4)
* sudo (2.1.2)
* users-and-groups (0.1.1)
* yum (2.3.0)
The Berkshelf version is:
realiteq ➤ be berks -v git:master*
Berkshelf (2.0.4)
…
It seems to completely ignore the locked version of both postfix and yum. Am I doing something wrong?
Thanks in advance
--
Haim