README.md 2.43 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# META-INFO

Meta-information is for OpenFOAM internal use only.

Do not rely on any files or any file contents in this directory,
or even the existence of this directory.

The format, content and meaning may be changed at anytime without
notice.

The information is provided here for internal documentation purposes.

## api-info

This file and its contents are to be tracked by git.

- File content (api) generated by wmakeBuildInfo from OPENFOAM define
  in `wmake/rules/General/general`

- File content (patch) is manually generated content.


## build-info

This file is *never* to be tracked by git, but may be present in shipped
source archives.

- File content (branch, build) generated by wmakeBuildInfo from git
  information and cached from previous wmake (api)


## Content types

### api

- 4-digit year-month (YYMM) integer corresponding to the major
  release or in unusual cases an intermediate release.

- Format is year-month, as per `date +%y%m`.
  Eg, `1712` for the Dec-2017 release.


### patch

- 6-digit year-month-day (YYMMDD) integer corresponding to a patch-level
  for the given **released** API.

- Format is year-month-day, as per `date +%y%m%d`.

50
51
- The first release can have a patch value of `0` (unpatched = just
  released) or a patch value corresponding to the release date.
52
53

The patch value is only meaningful together with the api value.
54
55
56
However, for *development* branches, the patch level should not be
ascribed much meaning -- it can be `0` or have a value corresponding
to the last merge with a *maintenance* (*eg*, `master`) branch.
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84


## Flow of information

Changes in the build information must be reflected in information
available in the final binaries. Conversely, it is necessary for later
distributions to have a record of the same information.

| property  | source                    | saved      |
|-----------|---------------------------|------------|
| api       | wmake/rules               | api-info   |
| patch     | manual (api-info)         | build-info |
| branch    | git                       | build-info |
| build     | git                       | build-info |


The command `wmakeBuildInfo -check` is used to determine if
the saved information needs synchronization. The command
`wmakeBuildInfo -update` preforms the synchronitzation.


## Notes

The saved information is split into two separate files. The `api-info`
contains more permanent information, whereas the `build-info` is more
transient in nature.

----
85
2019-01-23