contrib/packagelib.sh
author Jun Wu <quark@fb.com>
Wed, 01 Nov 2017 14:22:26 -0700
branchstable
changeset 34953 0ccb43d4cf01
parent 34903 16d9f0b3e134
permissions -rw-r--r--
test-dispatch: stabilize the test When cwd is removed and `hg` is executed, some shells may run `getcwd` before forking and executing, some may not do it, some may print a different error message. The test should be shell-independent so let's just avoid checking the error message. Differential Revision: https://phab.mercurial-scm.org/D1282
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
24972
56c64c91b429 packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff changeset
    31
    if echo $hgversion | grep -- '-' > /dev/null 2>&1; then
56c64c91b429 packaging: extract packagelib for common code from builddeb and buildrpm
Augie Fackler <augie@google.com>
parents:
diff changeset
    32
        version=`echo $hgversion | cut -d- -f1`
26833
6474b64045fb packaging: rework version detection and declaration (issue4912)
Augie Fackler <augie@google.com>
parents: 24972
diff changeset
    33
        type=`echo $hgversion | cut -d- -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
}