Mercurial > hg
annotate contrib/packaging/packagelib.sh @ 45004:2632c1ed8f34 stable
hgweb: encode WSGI environment like OS environment
Previously, the WSGI environment keys and values were encoded using latin-1.
This resulted in a crash if a WSGI environment key or value could not be encoded
using latin-1.
On Unix, the OS environment is byte-based. Therefore we should do the reverse of
what Python does for os.environ.
On Windows, there’s no native byte-based OS environment. Therefore we should do
the same as what mercurial.encoding does with the OS environment.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Thu, 25 Jun 2020 03:46:07 +0200 |
parents | 8f0e8b179842 |
children | 97205cf0ee4d |
rev | line source |
---|---|
26833
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
1 # Extract version number into 4 parts, some of which may be empty: |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
2 # |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
3 # version: the numeric part of the most recent tag. Will always look like 1.3. |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
4 # |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
5 # type: if an rc build, "rc", otherwise empty |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
6 # |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
7 # distance: the distance from the nearest tag, or empty if built from a tag |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
8 # |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
9 # node: the node|short hg was built from, or empty if built from a tag |
24972
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 gethgversion() { |
34903
16d9f0b3e134
build: build deb/rpm independently on config/extensions in the host system
muxator <a.mux@inwind.it>
parents:
34686
diff
changeset
|
11 export HGRCPATH= |
16d9f0b3e134
build: build deb/rpm independently on config/extensions in the host system
muxator <a.mux@inwind.it>
parents:
34686
diff
changeset
|
12 export HGPLAIN= |
16d9f0b3e134
build: build deb/rpm independently on config/extensions in the host system
muxator <a.mux@inwind.it>
parents:
34686
diff
changeset
|
13 |
29641
13f90dde8f8c
packagelib: do not remove packages directory in hggetversion (issue5262)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
26833
diff
changeset
|
14 make cleanbutpackages |
34686
0d1b8be8d8a8
build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough
muxator <a.mux@inwind.it>
parents:
34623
diff
changeset
|
15 make local PURE=--pure |
24972
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
16 HG="$PWD/hg" |
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
17 |
34623
baa522889540
build: initial version detection by make deb/rpm was missing quoting
muxator <a.mux@inwind.it>
parents:
32777
diff
changeset
|
18 "$HG" version > /dev/null || { echo 'abort: hg version failed!'; exit 1 ; } |
24972
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
19 |
34623
baa522889540
build: initial version detection by make deb/rpm was missing quoting
muxator <a.mux@inwind.it>
parents:
32777
diff
changeset
|
20 hgversion=`LANGUAGE=C "$HG" version | sed -ne 's/.*(version \(.*\))$/\1/p'` |
24972
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
21 |
26833
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
22 if echo $hgversion | grep + > /dev/null 2>&1 ; then |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
23 tmp=`echo $hgversion | cut -d+ -f 2` |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
24 hgversion=`echo $hgversion | cut -d+ -f 1` |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
25 distance=`echo $tmp | cut -d- -f 1` |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
26 node=`echo $tmp | cut -d- -f 2` |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
27 else |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
28 distance='' |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
29 node='' |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
30 fi |
41613
8f0e8b179842
packaging: modify rc detection to work with X.Yrc instead of X.Y-rc
Mathias De Mare <mathias.de_mare@nokia.com>
parents:
38005
diff
changeset
|
31 if echo $hgversion | grep -E -- '[0-9]\.[0-9](\.[0-9])?rc' > /dev/null 2>&1; then |
8f0e8b179842
packaging: modify rc detection to work with X.Yrc instead of X.Y-rc
Mathias De Mare <mathias.de_mare@nokia.com>
parents:
38005
diff
changeset
|
32 version=`echo $hgversion | cut -d'r' -f1` |
8f0e8b179842
packaging: modify rc detection to work with X.Yrc instead of X.Y-rc
Mathias De Mare <mathias.de_mare@nokia.com>
parents:
38005
diff
changeset
|
33 type="rc`echo $hgversion | cut -d'c' -f2-`" |
24972
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
34 else |
26833
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
35 version=$hgversion |
6474b64045fb
packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents:
24972
diff
changeset
|
36 type='' |
24972
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
37 fi |
56c64c91b429
packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
38 } |