Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cm 11.0 #1

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
Open
Changes from 2 commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
b38ec98
KRT16P
Nov 12, 2013
beb6afd
Revert the revert. (its time to sign MR1)
Nov 13, 2013
dd00a96
Merge "Revert the revert. (its time to sign MR1)" into klp-dev
Nov 13, 2013
9dd2622
KRT16Q
Nov 13, 2013
f78ba11
merge in klp-mr1-release history after reset to klp-dev
Nov 13, 2013
76936b1
"KOT43"
Nov 13, 2013
c65f139
merge in klp-mr1-release history after reset to klp-dev
Nov 13, 2013
01b8d0a
"KOT43B"
Nov 13, 2013
eebb730
merge in release branch changes (no-op).
Nov 13, 2013
8dce915
"KOT44"
Nov 14, 2013
b6ab120
Just a little .1 makes all the difference in the world.
Nov 14, 2013
221fcf3
Merge "Just a little .1 makes all the difference in the world." into …
Nov 14, 2013
3644555
merge in klp-mr1-release history after reset to klp-dev
Nov 15, 2013
0afef09
"KOT45"
Nov 15, 2013
57d15db
merge in klp-mr1-release history after reset to klp-dev
Nov 15, 2013
867d895
"KOT46"
Nov 15, 2013
d49a314
merge in klp-mr1-release history after reset to klp-dev
Nov 15, 2013
461b8a6
"KOT46B"
Nov 15, 2013
aa3ef95
"KRT16R"
Nov 16, 2013
de46d22
merge in klp-release history after reset to klp-dev
Nov 16, 2013
18672f6
"KRT16S"
Nov 16, 2013
d068e8a
merge in klp-mr1-release history after reset to klp-dev
Nov 18, 2013
7f98380
"KOT49"
Nov 18, 2013
c593a3f
"KOT49B"
Nov 20, 2013
16ddeef
"KOT49C"
Nov 20, 2013
1b25c93
Merge tag 'android-4.4_r1.2' into cm-11.0
rmcc Nov 20, 2013
01a5f91
"KOT49D"
Nov 21, 2013
90c60d3
Revert "Enable incremental builder to find files that moved, and try …
Nov 22, 2013
96f56b6
Merge "Revert "Enable incremental builder to find files that moved, a…
Nov 22, 2013
f1b7484
"KOT49E"
Nov 22, 2013
816d73f
store releasetools.py in the target_files zip
Nov 22, 2013
a7e544d
KOT49F
Nov 23, 2013
23f2403
Don't make assumptions about the formats of build descriptions
rmcc Nov 1, 2013
57d01d7
For user builds, use a release build id in the description if one exists
rmcc Nov 11, 2013
2dc9685
envsetup: Fix remote functions to deal with symlinks
hyperb1iss Nov 16, 2013
c2920c3
roomservice: Fix assumptions about the branch naming
rmcc Nov 20, 2013
a53bf19
core: main: remove all the spam about including make files
antdking Nov 2, 2013
99a16ee
envsetup: do not print an error if complete fails
turl Nov 3, 2013
e879082
envsetup: drop unnecesary exports
turl Nov 3, 2013
1b6880f
envsetup: Mark zsh as compatible
turl Nov 3, 2013
e7f1042
Support building with GNU make 4.0
chirayudesai Nov 8, 2013
9b23f2c
add option to generate two-step recovery files
Nov 25, 2013
c5db999
Move goldfish-specific policy rules to their own directory.
stephensmalley Nov 5, 2013
63ac275
.1 becomes .2
Dec 3, 2013
5de4753
.1 becomes .2
Dec 3, 2013
d470407
"KOT49G"
Dec 3, 2013
ab92f3d
Add Dialer to SDK system image. DO NOT MERGE.
ducrohet Dec 4, 2013
986567d
"KOT49H"
Dec 4, 2013
7493c39
Add utility function find-files-in-subdirs
Dec 5, 2013
c1c6730
Merge tag 'android-4.4.1_r1' into HEAD
rmcc Dec 6, 2013
97e7cae
build: add AST support
therbom Dec 6, 2013
c8eda46
Merge commit '4.4.1_r1' into HEAD
rmcc Dec 6, 2013
bfadf99
Revert "build: add AST support"
ciwrl Dec 7, 2013
cefde81
Merge "Revert "build: add AST support"" into cm-11.0
ciwrl Dec 7, 2013
cc4ba96
Merge tag 'android-4.4.2_r1' into HEAD
rmcc Dec 11, 2013
7f90437
build: Add support for PRODUCT_COPY_FILES_OVERRIDES
hyperb1iss Dec 13, 2013
2cb7175
KVT49I
Dec 14, 2013
884a217
.1 becomes .2
Dec 3, 2013
b3164b8
Move emulator.mk out of full_base.mk
Mar 5, 2013
4038aa8
Enabled incrementals to patch + rename moved files
Dec 14, 2013
f1182fd
signing: Support userdebug-generated display.build.id lines
rmcc Dec 18, 2013
facd992
Makefile used spaces instead of a tab
Dec 20, 2013
67eca73
Fix Repopick Errors
Chris123NT Dec 23, 2013
d245f9b
RepoPick: Actually skip merged commit instead of exiting
Langes72 Dec 6, 2013
89c057b
build: Add QCOM target-specific config
hyperb1iss Dec 28, 2013
6227629
qcom_utils: Update list of QCOM_BOARD_PLATFORMS
Dec 19, 2013
8b141e9
build: Fix cflags for QC targets
hyperb1iss Dec 30, 2013
5962103
envsetup: repolastsync prints date/time of last repo sync
mdmower Dec 29, 2013
9624e9b
Allow individual projects to enforce a property's value
rmcc Jan 3, 2014
1675152
build: Add support for Asturian
therbom Dec 28, 2013
3fc224f
Merge "RepoPick: Actually skip merged commit instead of exiting" into…
ciwrl Jan 7, 2014
b4b3a62
KVT49K
Jan 8, 2014
18b7307
BoardConfig.mk.template: Add TARGET_CPU_VARIANT
koush Jan 11, 2014
54004d1
"KVT49L"
Jan 14, 2014
3b73795
Merge "build: Add support for Asturian" into cm-11.0
ciwrl Jan 16, 2014
649226c
Keep InCallUI in memory (3/3)
pawitp Jan 9, 2014
4dbb51c
RepoPick : Add support for git pull
Danesh Oct 31, 2013
ef8eae2
Merge "RepoPick : Add support for git pull" into cm-11.0
ciwrl Jan 22, 2014
85ed89f
Store the value from TARGET_OTA_ASSERT_DEVICE to a file
Jan 22, 2014
038b7b4
Merge "Store the value from TARGET_OTA_ASSERT_DEVICE to a file" into …
rmcc Jan 23, 2014
f9cc993
Allow devices to specify certain ro. props via TARGET_UNIFIED_DEVICE
dhacker29 Jan 28, 2014
d4d3264
[HAX] Allow per-target dtbTool
hyperb1iss Feb 23, 2014
811d141
gettop: fix symlink detection
synergydev Jul 6, 2013
3360c75
Telephony(MSIM) : Add telephony-msim jar to build
Oct 17, 2013
14a7099
Bump version to KTU58
Feb 27, 2014
1b5dae0
"KTU58"
Feb 27, 2014
914af2a
merge in klp-mr2-release history after reset to klp-dev
Mar 3, 2014
5395acf
Fix version file
Mar 3, 2014
39d01e3
merge in klp-mr2-release history after reset to klp-dev
Mar 4, 2014
fe5ad53
"KTU63"
Mar 4, 2014
1be6d70
Store the value from BOARD_CUSTOM_BOOTIMG_MK to a file
Mar 4, 2014
ab8264a
merge in klp-mr2-release history after reset to klp-dev
Mar 5, 2014
354ac03
"KTU64"
Mar 5, 2014
9dbdf6d
merge in klp-mr2-release history after reset to klp-dev
Mar 6, 2014
bf59aaa
"KTU65"
Mar 6, 2014
8b58068
merge in klp-mr2-release history after reset to klp-dev
Mar 10, 2014
f566614
"KTU69"
Mar 10, 2014
138b97c
roomservice: Add recursive dependencies
rmcc Mar 10, 2014
dfd9b12
merge in klp-mr2-release history after reset to klp-dev
Mar 11, 2014
9f0c5b7
"KTU70"
Mar 11, 2014
7503e73
4.4.3 is MR2, version boogaloo!
Mar 11, 2014
bcb049e
merge in klp-mr2-release history after reset to klp-dev
Mar 12, 2014
2c0295d
"KTU71"
Mar 12, 2014
2bd8e15
Remove QuickSearchBox from build
intervigilium Mar 12, 2014
24eee44
merge in klp-mr2-release history after reset to klp-dev
Mar 13, 2014
093697b
"KTU72"
Mar 13, 2014
cbcb6d8
merge in klp-mr2-release history after reset to klp-dev
Mar 13, 2014
2bd5b17
"KTU72B"
Mar 13, 2014
52c894c
merge in klp-mr2-release history after reset to klp-dev
Mar 17, 2014
cffdd0e
"KTU76"
Mar 17, 2014
368a244
merge in klp-mr2-release history after reset to klp-dev
Mar 18, 2014
1434f51
"KTU77"
Mar 18, 2014
3231864
merge in klp-mr2-release history after reset to klp-dev
Mar 19, 2014
7540a0b
"KTU78"
Mar 19, 2014
82cb46e
"KTU78B"
Mar 19, 2014
bf66afc
merge in klp-mr2-release history after reset to klp-dev
Mar 20, 2014
e926906
"KTU79"
Mar 20, 2014
f39752e
Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
Mar 21, 2014
adccf33
releasetools: don't create prebuilt_dir path if it exits
Mar 21, 2014
c235aa1
"KTU79B"
Mar 21, 2014
a0df45c
Merge tag 'android-4.4.2_r2' into HEAD
rmcc Mar 22, 2014
e50b108
build: Degreenify java
Mar 23, 2014
72df5d0
merge in klp-mr2-release history after reset to klp-dev
Mar 24, 2014
1e4a1c8
"KTU83"
Mar 24, 2014
488b634
merge in klp-mr2-release history after reset to klp-dev
Mar 26, 2014
b28458a
"KTU84"
Mar 26, 2014
4369bee
languages_full: Remove duplicate Hindi inclusion
mikeNG Mar 27, 2014
4f9951e
build: Refactor additional languages/locales
mikeNG Mar 27, 2014
245ef43
build: Add support for Uyghur
mikeNG Mar 26, 2014
078a5cd
build: Add support for Tamil
solomonsunder Feb 3, 2014
675279e
"KTU84B"
Mar 27, 2014
a2a34e6
"KTU84C"
Mar 28, 2014
a1c0674
"KTU84D"
Mar 28, 2014
dab5f73
"KTU84E"
Mar 28, 2014
c440c83
build: Add support for Luxembourgish
mikeNG Mar 29, 2014
914b4fa
KTU84F
Apr 1, 2014
0e6d660
releasetools: use variable instead of fixed name for bootable image
Apr 3, 2014
d062982
build: Disable Punjabi & Sinhala languages
mikeNG Apr 8, 2014
04d290c
releasetools: Add radio images to fastboot packages
Apr 8, 2014
2328f6d
"KTU84G"
Apr 8, 2014
aa415df
build: edify: use set_metadata for backuptool
tdmcyngn Apr 9, 2014
bce2bf9
Wrong product package: Gallery was replaced by Gallery2
swr-dev Mar 31, 2014
7315bda
Runtime resource overlay, iteration 2
amhk Nov 26, 2013
0688344
New Theme Engine [4/6]
euclidgeo Feb 6, 2014
57e07ee
build: Re-enable Sinhala language
mikeNG Apr 9, 2014
e0a0be1
build: Disable languages that have no translations
mikeNG Apr 16, 2014
7c5c496
"KTU84H"
Apr 17, 2014
8cf5549
"KTU84I"
Apr 22, 2014
ae7232f
KTU84J
Apr 23, 2014
7c634ae
Remove extra product property overrides
ciwrl Apr 24, 2014
366c379
KTU84K
Apr 30, 2014
2f2500f
releasetools: Modify regex for radio files
May 1, 2014
0108ff6
build: Don't build video editor libraries
mikeNG May 1, 2014
8329a83
"KTV31"
May 1, 2014
92d4836
"KTU84L"
May 1, 2014
3fad730
releasetools: Add a newline for radio flashing scripts
May 3, 2014
9f1cd7f
Colorize javac errors
nuclearmistake Apr 28, 2014
1313d47
"KTU84M"
May 7, 2014
c1b0bb6
build: core: Parameterize recovery with a variant
tdmcyngn Apr 22, 2014
be532ab
tools: getb64key - print the base64 version of a PEM public key file
rmcc Oct 1, 2013
389c621
Store the base64 release key in the OTA zips
rmcc May 7, 2014
b8ae759
releasetools: Properly handle boot images that use dt
May 8, 2014
955d61b
releasetools: Fix whitespace error for INSTALLED_DTIMAGE_TARGET
May 9, 2014
adf8622
build: use /usr/bin/env to call python
tiny4579 May 10, 2014
0b34286
releasetools: bring back boot.img handling
pawitp May 10, 2014
db07c52
build: Set ccache base to build top
tdmcyngn May 16, 2014
7d49eba
build: Add new public keys to recovery
May 15, 2014
c044754
build: Include an extra device.mk
hyperb1iss May 18, 2014
14e552e
Merge "build: Set ccache base to build top" into cm-11.0
tdmcyngn May 19, 2014
3bb6b8b
Don't set CCACHE_BASEDIR if its already set
mikeyman77 Aug 26, 2013
c440451
ota: Generate recovery-from-boot.p file
May 21, 2014
a96927c
Change CM recovery install script filename [1/2]
mdmower May 23, 2014
ac8f2eb
keys: avoid duplicating recovery keys
May 27, 2014
651987c
ota: Allow devices to skip generation of recovery-from-boot.p
intervigilium May 28, 2014
cf33c01
Merge tag 'android-4.4.3_r1' into HEAD
rmcc Jun 3, 2014
5bd01da
Merge tag 'android-4.4.3_r1.1' into HEAD
rmcc Jun 4, 2014
ab46c15
Generate extra userdata partition if needed
intervigilium Jun 2, 2014
dc4c402
Fixed building incrementals when "no separate recovery" is specified.
xdarklight Jun 7, 2014
330bc33
colorize non-fatal javac stderr yellow (and actually display it... at…
nuclearmistake May 15, 2014
7f83b7c
MR2.1 - Version 4.4.4. Here we go! DO NOT MERGE
Jun 6, 2014
27aae42
"KTU84P"
Jun 13, 2014
6f3a103
ota: Let devices specify their own recovery-from-boot.p installer
rmcc Jun 19, 2014
0c0b0c7
Merge tag 'android-4.4.4_r1' into HEAD
rmcc Jun 19, 2014
6b21727
Re-evaluate the pathmap if there's a recovery variant in play
rmcc Jun 19, 2014
199228f
build: Update supported languages
mikeNG Jun 24, 2014
52520a7
ota_from_target_files: remove duplicate setting of recovery_img
Jul 1, 2014
0953c60
releasetools: Fix error text in ota_from_target_files
Jun 20, 2014
62776cf
img_from_target_files: Create md5 hashes for each file
Jul 2, 2014
d8b439a
releasetools: Properly handle custom values for tools
Jun 20, 2014
b34d556
KTU84Q
Jun 27, 2014
29a9b31
build: Disable Tamil locale
mikeNG Jul 9, 2014
a0c7566
ota: Make sure we don't install on top of an incompatible system
rmcc May 9, 2014
b8e85ff
build: Store the jenkins build number in misc_info
Jul 10, 2014
5875e34
Revert "ota: Make sure we don't install on top of an incompatible sys…
Jul 10, 2014
a986995
Revert "Revert "ota: Make sure we don't install on top of an incompat…
Jul 11, 2014
b955a23
Merge tag 'android-4.4.4_r2' into HEAD
rmcc Jul 15, 2014
2ec8c89
envsetup: fixup dopush
mdmower May 20, 2014
369f271
envsetup: dopush: set file permissions on files pushed to /data too
mdmower May 20, 2014
137d698
Specify -mcpu=cortex-a15 for krait CPU variants.
captain5050 Oct 11, 2013
e451f86
build: Store no_separate_recovery flag in misc_info
Aug 13, 2014
2169837
build: Handle boot images with custom makefile properly
Aug 13, 2014
469c47b
BoardConfig.mk.template: Add TARGET_CPU_SMP
pawitp Jun 8, 2014
f8fc117
Fixed mounting /system when 'override_prop' is enabled.
xdarklight Aug 24, 2014
4e06bdf
Edify: Add AssertSomeBaseband
mdmower Aug 28, 2014
4379526
ota_from_target_files: Validate signatures after possible data wipe
Aug 18, 2014
50d46bb
Build: Add support for specifying build variant in brunch/breakfast
JustArchi Jun 22, 2014
8907b77
Apply correct, optimized mfpu compiler flag for ARMv7-A Cortex CPUs
arter97 Sep 9, 2014
f363df8
build: Clean up use of vendor/extra
hyperb1iss Sep 10, 2014
bdf7dc0
build: qcom: Set QCOM_*_PATH variables for hardware/qcom-* projects
tdmcyngn Sep 18, 2014
2d284ae
repopick: allow specifying a topic to pick all commits from
invisiblek Sep 24, 2014
51ebac7
build: Introduce project pathmap and use it for qcom variants
tdmcyngn Oct 1, 2014
d7fdafb
build: Add "dtbs" target when building the kernel
hyperb1iss Sep 24, 2014
c2daf50
build: Set QCOM variants for non-QCOM_HARDWARE defined targets
intervigilium Oct 3, 2014
fddc5f4
build: Use project pathmap for recovery
tdmcyngn Oct 1, 2014
1cdf80b
build: Fix pathmap derp
tdmcyngn Oct 6, 2014
f27c277
Revert "Add the keys I used to sign the market version of Superuser."
mikeNG Sep 3, 2014
71f0b84
build: recovery: Remove INTERNAL_RECOVERY_FILES
tdmcyngn Sep 29, 2014
1e392d7
Edify: Add/Update abort messages for some asserts
mdmower Aug 28, 2014
b5d338e
repopick: support specifying a range of commits to pick
invisiblek Sep 19, 2014
f5a8485
build: Default to dtbToolCM
intervigilium Oct 6, 2014
d8bcd44
build: Enable Uyghur locale
mikeNG Oct 14, 2014
c001fcb
build: recovery: Support target specific resource selection
tdmcyngn Jun 23, 2014
737235c
Force colorsheme to SVG, since darkblue doesn't exist on X11
marado Oct 22, 2014
d615307
build: Fix some colored build issues
ollie27 Oct 12, 2014
b893f4d
build: recovery: Support adding device-specific items
tdmcyngn Oct 28, 2014
d559aac
product_config: Set CM_BUILD priority above TARGET_BUILD_APPS
Oct 14, 2014
29357f5
Allow finer control over how product variables are inherited.
Dec 17, 2014
560046c
envsetup: Add /vendor/lib/hw to shared lib search path
cryptomilk Nov 12, 2014
04af492
build: add uncrypt to core_minimal product spec
tdmcyngn Jan 20, 2015
b8df4f8
build: qcom: Set the correct project path for device-specific cameras
rmcc Feb 3, 2015
348862a
Add "-encoding UTF-8" option to javadoc.
Dec 10, 2013
6285eea
Add support for mediatek platforms
rmcc Sep 28, 2014
91c1338
build: Add the factorypackage target
defer Apr 3, 2015
5145c01
build: Unset JAVA env vars to read version
mdmower May 5, 2015
5b791bd
roomservice: use force-sync when adding projects with roomservice
Aug 12, 2015
63c4e1f
DO NOT MERGE - Backport of ag/748221 - Security Patch Level in Settin…
Sep 12, 2015
602b987
Update security string to 2015-12-01 - DO NOT MERGE
Oct 22, 2015
040dbab
Update Security String to 2016-01-01 - DO NOT MERGE
Nov 20, 2015
d7c10fb
DO NOT MERGE - Update security string to 2016-02-01
Dec 9, 2015
06ea5b1
Updating security patch string to 2016-03-01
Jan 12, 2016
83df17d
Updating security string patch to 2016-04-01
Feb 19, 2016
4103328
Merge Conflict--Update Security String to 2016-05-01 in preparation f…
Mar 22, 2016
c0f55bf
Update security patch string to 2016-06-01
Apr 19, 2016
e175a30
Updating security string to 2016-07-01
May 23, 2016
af532ea
Revert "Support building with GNU make 4.0"
mikeNG Jul 30, 2016
ae837b3
core: support make 4.00
synergydev Oct 16, 2013
5bfbc0d
Update security patch string to 2016-08-01 - For Partners only
Jun 22, 2016
61c02bb
Updating security string to 2016-09-01 to platform and CTS in prepara…
Jul 19, 2016
6b12733
Update Security String to 2016-10-01 to platform and CTS for October
Aug 18, 2016
e3c3816
Update Security String to 2016-11-01 b/31618336
Sep 20, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 2 additions & 17 deletions tools/releasetools/check_target_files_signatures
Original file line number Diff line number Diff line change
@@ -135,7 +135,7 @@ class CertDB(object):

for i in to_load:
f = open(i)
cert = ParseCertificate(f.read())
cert = common.ParseCertificate(f.read())
f.close()
name, _ = os.path.splitext(i)
name, _ = os.path.splitext(name)
@@ -144,21 +144,6 @@ class CertDB(object):
ALL_CERTS = CertDB()


def ParseCertificate(data):
"""Parse a PEM-format certificate."""
cert = []
save = False
for line in data.split("\n"):
if "--END CERTIFICATE--" in line:
break
if save:
cert.append(line)
if "--BEGIN CERTIFICATE--" in line:
save = True
cert = "".join(cert).decode('base64')
return cert


def CertFromPKCS7(data, filename):
"""Read the cert out of a PKCS#7-format file (which is what is
stored in a signed .apk)."""
@@ -175,7 +160,7 @@ def CertFromPKCS7(data, filename):
AddProblem("error reading cert:\n" + err)
return None

cert = ParseCertificate(out)
cert = common.ParseCertificate(out)
if not cert:
AddProblem("error parsing cert output")
return None
15 changes: 15 additions & 0 deletions tools/releasetools/common.py
Original file line number Diff line number Diff line change
@@ -954,3 +954,18 @@ def GetTypeAndDevice(mount_point, info):
return PARTITION_TYPES[fstab[mount_point].fs_type], fstab[mount_point].device
else:
return None


def ParseCertificate(data):
"""Parse a PEM-format certificate."""
cert = []
save = False
for line in data.split("\n"):
if "--END CERTIFICATE--" in line:
break
if save:
cert.append(line)
if "--BEGIN CERTIFICATE--" in line:
save = True
cert = "".join(cert).decode('base64')
return cert
36 changes: 36 additions & 0 deletions tools/releasetools/sign_target_files_apks
Original file line number Diff line number Diff line change
@@ -71,8 +71,10 @@ if sys.hexversion < 0x02040000:
print >> sys.stderr, "Python 2.4 or newer is required."
sys.exit(1)

import base64
import cStringIO
import copy
import errno
import os
import re
import subprocess
@@ -161,11 +163,45 @@ def SignApks(input_tf_zip, output_tf_zip, apk_key_map, key_passwords):
print "rewriting %s:" % (info.filename,)
new_data = RewriteProps(data)
output_tf_zip.writestr(out_info, new_data)
elif info.filename.endswith("mac_permissions.xml"):
print "rewriting %s with new keys." % (info.filename,)
new_data = ReplaceCerts(data)
output_tf_zip.writestr(out_info, new_data)
else:
# a non-APK file; copy it verbatim
output_tf_zip.writestr(out_info, data)


def ReplaceCerts(data):
"""Given a string of data, replace all occurences of a set
of X509 certs with a newer set of X509 certs and return
the updated data string."""
for old, new in OPTIONS.key_map.iteritems():
try:
if OPTIONS.verbose:
print " Replacing %s.x509.pem with %s.x509.pem" % (old, new)
f = open(old + ".x509.pem")
old_cert16 = base64.b16encode(common.ParseCertificate(f.read())).lower()
f.close()
f = open(new + ".x509.pem")
new_cert16 = base64.b16encode(common.ParseCertificate(f.read())).lower()
f.close()
# Only match entire certs.
pattern = "\\b"+old_cert16+"\\b"
(data, num) = re.subn(pattern, new_cert16, data, flags=re.IGNORECASE)
if OPTIONS.verbose:
print " Replaced %d occurence(s) of %s.x509.pem with " \
"%s.x509.pem" % (num, old, new)
except IOError, e:
if (e.errno == errno.ENOENT and not OPTIONS.verbose):
continue

print " Error accessing %s. %s. Skip replacing %s.x509.pem " \
"with %s.x509.pem." % (e.filename, e.strerror, old, new)

return data


def EditTags(tags):
"""Given a string containing comma-separated tags, apply the edits
specified in OPTIONS.tag_changes and return the updated string."""