better handling of version/patch especiallly for snapshots, use updateWorkDir
This commit is contained in:
@@ -78,16 +78,23 @@ func UpdateJail(args []string) {
|
||||
}
|
||||
fakeJail.Config.Release = v
|
||||
|
||||
// Remove patch level from Release
|
||||
fv, err := freebsdVersionToStruct(fakeJail.Config.Release)
|
||||
if err != nil {
|
||||
fmt.Printf("Error converting release %s: %v\n", fakeJail.Config.Release, err)
|
||||
return
|
||||
}
|
||||
release := fmt.Sprintf("%d.%d-%s", fv.major, fv.minor, fv.flavor)
|
||||
// Snapshot before updating
|
||||
dt := time.Now()
|
||||
curDate := fmt.Sprintf("%s", dt.Format("2006-01-02_15-04-05"))
|
||||
snapshotName := fmt.Sprintf("gocage_update_%s_%s", v, curDate)
|
||||
err = zfsSnapshot(fmt.Sprintf("%s/releases/%s", ds.ZFSDataset, fakeJail.Config.Release), snapshotName)
|
||||
err = zfsSnapshot(fmt.Sprintf("%s/releases/%s", ds.ZFSDataset, release), snapshotName)
|
||||
if err != nil {
|
||||
fmt.Printf("Error snapshoting release %s: %v\n", gUpdateRelease, err)
|
||||
return
|
||||
}
|
||||
err = zfsSnapshot(fmt.Sprintf("%s/releases/%s/root", ds.ZFSDataset, fakeJail.Config.Release), snapshotName)
|
||||
err = zfsSnapshot(fmt.Sprintf("%s/releases/%s/root", ds.ZFSDataset, release), snapshotName)
|
||||
if err != nil {
|
||||
fmt.Printf("Error snapshoting release %s: %v\n", gUpdateRelease, err)
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user