VERSION.pod 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. =pod
  2. =head1 NAME
  3. VERSION - OpenSSL version information
  4. =head1 SYNOPSIS
  5. MAJOR=3
  6. MINOR=0
  7. PATCH=0
  8. PRE_RELEASE_TAG=dev
  9. BUILD_METADATA=
  10. RELEASE_DATE=
  11. SHLIB_VERSION=3
  12. =head1 DESCRIPTION
  13. This file is a set of keyed information looking like simple variable
  14. assignments. When given an empty value, they are seen as unassigned.
  15. The keys that are recognised are:
  16. =over 4
  17. =item B<MAJOR>, B<MINOR>, B<PATCH>
  18. The three parts of OpenSSL's 3 numbered version number, MAJOR.MINOR.PATCH.
  19. These are used to compose the values for the C macros B<OPENSSL_VERSION_MAJOR>,
  20. B<OPENSSL_VERSION_MINOR>, B<OPENSSL_VERSION_PACTH>.
  21. =item B<PRE_RELEASE_TAG>
  22. This is the added pre-release tag, which is added to the version separated by
  23. a dash. For a value C<foo>, the C macro B<OPENSSL_VERSION_PRE_RELEASE> gets
  24. the string C<-foo> (dash added).
  25. =item B<BUILD_METADATA>
  26. Extra metadata to be used by anyone for their own purposes. This is added to
  27. the version and possible pre-release tag, separated by a plus sign. For a
  28. value C<bar>, the C macro B<OPENSSL_VERSION_BUILD_METADATA> gets the string
  29. C<+bar>.
  30. =item B<RELEASE_DATE>
  31. Defined in releases. When not set, it gets the value C<xx XXX xxxx>.
  32. =item B<SHLIB_VERSION>
  33. The shared library version, which is something other than the project version.
  34. =back
  35. It is a configuration error if B<MAJOR>, B<MINOR>, B<PATCH> and B<SHLIB_VERSION>
  36. don't have values. Configuration will stop in that case.
  37. =head2 Affected configuration data
  38. The following items in %config from F<configdata.pm> are affected:
  39. =over 4
  40. =item $config{major}, $config{minor}, $config{patch}, $config{shlib_version}
  41. These items get their values from B<MAJOR>, B<MINOR>, B<PATCH>, and
  42. B<SHLIB_VERSION>, respectively.
  43. =item $config{prerelease}
  44. If B<PRERELEASE> is assigned a value, $config{prerelease} gets that same value,
  45. prefixed by a dash, otherwise the empty string.
  46. =item $config{build_metadata}
  47. If B<BUILD_METADATA> is assigned a value, $config{build_metadata} gets that same
  48. value, prefixed by a plus sign, otherwise the empty string.
  49. =item $config{release_date}
  50. If B<RELEASE_DATE> is assigned a value, $config{release_date} gets that same
  51. value, otherwise the string C<xx XXX yyyy>.
  52. =item $config{version}
  53. The minimal version number, a string composed from B<MAJOR>, B<MINOR> and
  54. B<PATCH>, separated by periods. For C<MAJOR=3>, C<MINOR=0> and C<PATCH=0>,
  55. the string will be C<3.0.0>.
  56. =item $config{full_version}
  57. The fully loaded version number, a string composed from $config{version},
  58. $config{prerelease} and $config{build_metadata}. See See L</EXAMPLES> for
  59. a few examples.
  60. =back
  61. =head1 EXAMPLES
  62. =over 4
  63. =item 1.
  64. MAJOR=3
  65. MINOR=0
  66. PATCH=0
  67. PRE_RELEASE_TAG=dev
  68. BUILD_METADATA=
  69. The fully loaded version number ($config{full_version}) will be
  70. C<3.0.0-dev>.
  71. =item 2.
  72. MAJOR=3
  73. MINOR=0
  74. PATCH=0
  75. PRE_RELEASE_TAG=
  76. BUILD_METADATA=something
  77. The fully loaded version number ($config{full_version}) will be
  78. C<3.0.0+something>.
  79. =item 3.
  80. MAJOR=3
  81. MINOR=0
  82. PATCH=0
  83. PRE_RELEASE_TAG=alpha3
  84. BUILD_METADATA=something
  85. The fully loaded version number ($config{full_version}) will be
  86. C<3.0.0-alpha3+something>.
  87. =back
  88. =head1 SEE ALSO
  89. L<OpenSSL_version(3)>
  90. =head1 COPYRIGHT
  91. Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
  92. Licensed under the Apache License 2.0 (the "License"). You may not use
  93. this file except in compliance with the License. You can obtain a copy
  94. in the file LICENSE in the source distribution or at
  95. L<https://www.openssl.org/source/license.html>.
  96. =cut