tizen: Apply mbedtls ocf.patch only once 12/95212/2
authorPhilippe Coval <philippe.coval@osg.samsung.com>
Sat, 8 Oct 2016 07:42:50 +0000 (09:42 +0200)
committerPhil Coval <philippe.coval@osg.samsung.com>
Thu, 20 Oct 2016 15:38:21 +0000 (15:38 +0000)
It has been tested with:
  scons -f resource/csdk/stack/samples/tizen/build/SConscript \
    TARGET_OS=tizen LOGGING=TRUE RELEASE=0 \
    SECURED=1 WITH_TCP=1 TARGET_TRANSPORT=IP,BT

Related to:
  https://gerrit.iotivity.org/gerrit/#/c/12029

Change-Id: I1b140503a1e4b3c52cc95d41c27c00bdd4a47ccf
Credit-to: Randeep Singh <randeep.s@samsung.com>
Origin: https://gerrit.iotivity.org/gerrit/#/c/12965/
Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/12965
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Kevin Kane <kkane@microsoft.com>
extlibs/mbedtls/SConscript
resource/csdk/stack/samples/tizen/build/gbsbuild.sh

index 5ea4b2e..1b7c3a8 100644 (file)
@@ -26,6 +26,7 @@ import sys
 target_os = env.get('TARGET_OS')
 root_dir = env.get('SRC_DIR')
 mbedtls_dir = os.path.join(root_dir, 'extlibs','mbedtls','mbedtls/')
+mbedtls_revision = 'ad249f509fd62a3bbea7ccd1fef605dbd482a7bd'
 
 if not os.path.exists(mbedtls_dir):
     print '''
@@ -35,14 +36,15 @@ if not os.path.exists(mbedtls_dir):
 ***********************************************************************************
  '''
     Exit(1)
-#Apply patch to enable TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256 ciphersuite and server identity hint
-#For tizen platform patch is applied by gbsbuild script
-if target_os != 'tizen':
-    start_dir = os.getcwd()
-    os.chdir(mbedtls_dir)
-    cmd = 'git checkout development && git reset --hard ad249f509fd62a3bbea7ccd1fef605dbd482a7bd && git apply --whitespace=fix ../ocf.patch'
+start_dir = os.getcwd()
+os.chdir(mbedtls_dir)
+# Apply ocf patch on git revision
+if os.path.exists('.git/HEAD'):
+    cmd = 'git checkout development && git reset --hard ' + mbedtls_revision + ' && git apply --whitespace=fix ../ocf.patch'
     os.system(cmd)
-    os.chdir(start_dir)
+else:
+    print 'mbedtls: Assume ocf.patch (TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256) was applied in %s' % mbedtls_dir
+os.chdir(start_dir)
 
 
 mbedtls_env = env.Clone()
index 01ce1b7..97e77bd 100644 (file)
@@ -90,11 +90,19 @@ cd $sourcedir/tmp
 
 echo `pwd`
 
-if [ -d ./extlibs/mbedtls/mbedtls ];then
-    cd ./extlibs/mbedtls/mbedtls
-    git reset --hard ad249f509fd62a3bbea7ccd1fef605dbd482a7bd ; git apply --whitespace=fix ../ocf.patch
+# Apply OCF patch on upstream's git only once
+# Note, If building from scratch using GBS, git patches are more convenient
+mbedtls_revision="ad249f509fd62a3bbea7ccd1fef605dbd482a7bd"
+mbedtls_dir="./extlibs/mbedtls/mbedtls/"
+if [ -f "${mbedtls_dir}/.git/HEAD" ];then
+    cd "${mbedtls_dir}"
+    git reset --hard "${mbedtls_revision}"
+    git apply --whitespace=fix "../ocf.patch"
     cd -
-    rm -rf ./extlibs/mbedtls/mbedtls/.git*
+    rm -rf "${mbedtls_dir}/.git"
+else
+    echo "tizen: Checking if ocf.patch is applied in ${mbedtls_dir}"
+    grep -r 'TLS_ECDH_ANON_WITH_AES_128_CBC_SHA256' "${mbedtls_dir}"
 fi
 
 whoami