gecko-dev/python
Nick Alexander 9c3e48627a Bug 1137898 - Migrate to android:versionCode scheme v1. r=rnewman,snorp
Android version codes serve multiple masters.  They indicate newer
versions, yes; but they also break ties between versions with
different features and requirements. High order bits effectively
partition the space of versions and are valuable.  Since Android
version codes are signed Java integers, we have 31 bits to work with.
Mozilla's traditional build ID is YYYYMMDDhhmmss.  This was chopped to
ten characters (YYYYMMDDhh, i.e., hourly build IDs) and then converted
to a decimal.  This took many high order bits.  We will lose another
high order bit in the 36th month of 2015 -- i.e., as soon as the year
rolls over to 2016.  If we waited to lose the next higher order bit,
we'd lose that one in the 46th month of 2017 -- i.e., as soon as the
year rolls over to 2018.

The following patch sacrifices a high order bit to change the version
scheme, winning us roughly 15 years of hourly build IDs before we are
forced to lose another high order bit.  So it's clearly to our
advantage to change the scheme sooner rather than later -- we will
sacrifice 1 bit for 15 years of build IDs, rather than keeping the
current scheme and sacrificing (say) 2 bits for 3 years of build IDs.

The resulting scheme produces build IDs that look like (in binary):

0111 1000 0010 tttt tttt tttt tttt txpg

The meaning of these build IDs is documented in the Python source code
that generates them.

--HG--
extra : commitid : 7BEkkGHsYVL
extra : rebase_source : bbc0ead8e7a383c320e838b023b02b1fb0d94ff3
extra : amend_source : dab8c737e3274694aad40123e77884a3239908de
extra : histedit_source : 530bedde3695d534805465cdf8bcb9cd23f7b031
2015-08-26 18:34:48 -07:00
..
bitstring
blessings
compare-locales
configobj
eme
futures bug 1164816 - Import concurrent.futures into the tree. r=gps 2015-05-12 14:52:06 -04:00
jsmin
lldbutils
mach Bug 1192315 - Support remainder arguments from predefined parsers in mach, r=gps 2015-08-07 18:13:05 +01:00
mock-1.0.0
mozboot Bug 1171783 - Fix bootstrap.py by using DNF instead of Yum if possible; r=mshal 2015-08-19 12:56:22 -07:00
mozbuild Bug 1137898 - Migrate to android:versionCode scheme v1. r=rnewman,snorp 2015-08-26 18:34:48 -07:00
mozversioncontrol/mozversioncontrol Bug 1197527 - Consolidate obtaining hg path into mozversioncontrol.get_hg_path; r=gps 2015-08-24 14:37:42 -04:00
psutil Bug 1196253 - update in-tree psutil to 3.1.1. r=gps 2015-08-20 08:03:31 -04:00
pyasn1
pyasn1-modules
PyECC bug 1190603 - import PyECC library r=gps,gerv 2015-08-03 15:17:00 -07:00
pystache
pyyaml
redo
requests
rsa
virtualenv
which
mach_commands.py Bug 1177933 - Add |mach eslint| command. r=mcomella,dmose 2015-07-02 12:18:52 -07:00
moz.build
README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243

## pyyaml | pystache

Used in taskcluster related mach commands to update download from github
and remove .git and tests.

Then run tests in taskcluster/tests/