forked from freebsd/pkg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
newvers.sh
executable file
·120 lines (104 loc) · 3.18 KB
/
newvers.sh
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
50
51
52
53
54
55
56
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/sh -
# Copyright (c) 2012 Matthew Seaman <matthew@freebsd.org>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer
# in this position and unchanged.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# This file contains the authoritative version number for the last
# release from this branch, and for the corresponding port.. The
# version number is edited into ../Doxyfile and pkg.h.
# ------------------------------------------------------------------
# The version of the pkgng software itself. See
# http://wiki.freebsd.org/pkgng/CharterAndRoadMap#Code_Releases for
# details. Setting PKG_PATCH_LEVEL to 0 is special
#
# For testing purposes you can override these by setting any of the
# variables or PKGVERSION or PORTVERSION in the environment, but this
# should not be done routinely:
: ${PKG_MAJOR_VERSION:="1"}
: ${PKG_MINOR_VERSION="1"}
: ${PKG_PATCH_LEVEL="a4"}
: ${PORTREVISION:=}
: ${PORTEPOCH:=}
# ------------------------------------------------------------------
# Define this to a true value in the environment if creating a
# snapshot
: ${CREATE_SNAPSHOT:="NO"}
case $PKG_PATCH_LEVEL in
''|0)
case $CREATE_SNAPSHOT in
[yY][eE][sS])
_patch=".0"
;;
*)
_patch=
;;
esac
;;
*)
_patch=".${PKG_PATCH_LEVEL}"
;;
esac
case $CREATE_SNAPSHOT in
[yY][eE][sS])
_snapshot=".$( date +%Y%m%d )"
;;
*)
_snapshot=
;;
esac
case $PORTREVISION in
''|0)
_portrevision=
;;
*)
_portrevision="_${PORTREVISION}"
;;
esac
case $PORTEPOCH in
''|0)
_portepoch=
;;
*)
_portepoch=";${PORTEPOCH}"
;;
esac
_pkgversion=${PKG_MAJOR_VERSION}.${PKG_MINOR_VERSION}${_patch}${_snapshot}
_portversion=${_pkgversion}${_portrevision}${_portepoch}
: ${PKGVERSION:=${_pkgversion}}
: ${PORTVERSION:=${_portversion}}
# Printout the result according to command line args
case $1 in
pkg)
echo $PKGVERSION
;;
port)
echo $PORTVERSION
;;
*)
# Print the results in a form suitable for eval by /bin/sh
echo "PKGVERSION=\"$PKGVERSION\""
echo "PORTVERSION=\"$PORTVERSION\""
;;
esac
#
# That's All Folks!
#