From 113fe878ce2b1f10126d7a0208b41e9b0141fe0f Mon Sep 17 00:00:00 2001 From: xiong-qiushi Date: Mon, 19 Aug 2024 16:11:21 +0800 Subject: [PATCH] =?UTF-8?q?PROJ=E4=BF=AE=E6=94=B9=E6=A0=B9=E7=9B=AE?= =?UTF-8?q?=E5=BD=95/tmp=E7=9B=AE=E5=BD=95=E6=97=A0=E6=9D=83=E9=99=90?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiong-qiushi --- thirdparty/PROJ/HPKBUILD | 10 +++++++++ thirdparty/PROJ/HPKCHECK | 4 ++++ thirdparty/PROJ/PROJ_oh_pkg.patch | 36 +++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 thirdparty/PROJ/PROJ_oh_pkg.patch diff --git a/thirdparty/PROJ/HPKBUILD b/thirdparty/PROJ/HPKBUILD index af202343..4fcae311 100644 --- a/thirdparty/PROJ/HPKBUILD +++ b/thirdparty/PROJ/HPKBUILD @@ -38,6 +38,7 @@ autounpack=true downloadpackage=true buildtools="cmake" buildlinux=true +patchflag=true builddir=$pkgname-${pkgver} packagename=$builddir.tar.gz @@ -73,6 +74,15 @@ buildsqlite() { } prepare() { + if $patchflag + then + cd $builddir + # PROJ_oh_pkg.patch文件的作用是修改/tmp目录无权限问题 + patch -p1 < `pwd`/../PROJ_oh_pkg.patch + patchflag=false + cd $OLDPWD + fi + if $buildlinux then downloadsqlite diff --git a/thirdparty/PROJ/HPKCHECK b/thirdparty/PROJ/HPKCHECK index a9ab811d..6f0e2ff7 100644 --- a/thirdparty/PROJ/HPKCHECK +++ b/thirdparty/PROJ/HPKCHECK @@ -18,6 +18,8 @@ source HPKBUILD > /dev/null 2>&1 logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log openharmonycheck() { + # 因测试需要,手动测试和执行自动化测试前需执行mkdir -p /data/storage/el2/base/temp创建测试目录 + mkdir -p /data/storage/el2/base/temp cd $builddir/$ARCH-build echo "total test 61" > $logfile 2>&1 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/data/tpc_c_cplusplus/thirdparty/PROJ/PROJ-9.4.1/${ARCH}-build/lib/ @@ -29,6 +31,8 @@ openharmonycheck() { cp Testing/Temporary/LastTest.log ${LYCIUM_FAULT_PATH}/${pkgname}/ fi + # 测试完成后,删除由mkdir -p创建出来的目录 + rm -rf /data/storage/el2 cd $OLDPWD return $res } diff --git a/thirdparty/PROJ/PROJ_oh_pkg.patch b/thirdparty/PROJ/PROJ_oh_pkg.patch new file mode 100644 index 00000000..a783f47d --- /dev/null +++ b/thirdparty/PROJ/PROJ_oh_pkg.patch @@ -0,0 +1,36 @@ +diff -urN PROJ-9.4.1/src/filemanager.cpp PROJ-9.4.1_new/src/filemanager.cpp +--- PROJ-9.4.1/src/filemanager.cpp 2024-05-28 03:08:24.000000000 +0800 ++++ PROJ-9.4.1_new/src/filemanager.cpp 2024-08-07 15:25:31.036571265 +0800 +@@ -1198,7 +1198,7 @@ + path = std::string(home) + "/.local/share"; + #endif + } else { +- path = "/tmp"; ++ path = "/data/storage/el2/base/temp/"; + } + } + #endif +diff -urN PROJ-9.4.1/test/unit/proj_context_test.cpp PROJ-9.4.1_new/test/unit/proj_context_test.cpp +--- PROJ-9.4.1/test/unit/proj_context_test.cpp 2024-05-28 03:08:24.000000000 +0800 ++++ PROJ-9.4.1_new/test/unit/proj_context_test.cpp 2024-08-07 15:31:33.111247167 +0800 +@@ -182,7 +182,7 @@ + // --------------------------------------------------------------------------- + + TEST(proj_context, proj_context_set_ca_bundle_path) { +- std::string dirname("/tmp/dummmy/path/cacert.pem"); ++ std::string dirname("/data/local/tmp/dummmy/path/cacert.pem"); + auto ctx = proj_context_create(); + proj_context_set_ca_bundle_path(ctx, dirname.c_str()); + ASSERT_EQ(ctx->ca_bundle_path, dirname); +diff -urN PROJ-9.4.1/test/unit/test_c_api.cpp PROJ-9.4.1_new/test/unit/test_c_api.cpp +--- PROJ-9.4.1/test/unit/test_c_api.cpp 2024-05-28 03:08:24.000000000 +0800 ++++ PROJ-9.4.1_new/test/unit/test_c_api.cpp 2024-08-07 15:26:22.247890394 +0800 +@@ -4664,7 +4664,7 @@ + tempdir = getenv("TMP"); + } + if (!tempdir) { +- tempdir = "/tmp"; ++ tempdir = "/data/local/tmp"; + } + std::string tmp_filename(std::string(tempdir) + + "/test_proj_context_set_autoclose_database.db"); -- Gitee