diff options
-rw-r--r-- | packaging/vconf.manifest | 3 | ||||
-rwxr-xr-x | packaging/vconf.spec | 3 | ||||
-rwxr-xr-x | vconftool.c | 8 |
3 files changed, 12 insertions, 2 deletions
diff --git a/packaging/vconf.manifest b/packaging/vconf.manifest index 017d22d..5217a94 100644 --- a/packaging/vconf.manifest +++ b/packaging/vconf.manifest @@ -2,4 +2,7 @@ <request> <domain name="_"/> </request> + <assign> + <filesystem path="TZ_SYS_CONFIG/db" label="User" /> + </assign> </manifest> diff --git a/packaging/vconf.spec b/packaging/vconf.spec index 413fefd..77db5bf 100755 --- a/packaging/vconf.spec +++ b/packaging/vconf.spec @@ -40,6 +40,7 @@ Vconf key management header files %prep %setup -q -n %{name}-%{version} +sed -i 's|TZ_SYS_CONFIG|%{TZ_SYS_CONFIG}|g' %{SOURCE1001} cp %{SOURCE1001} . %build @@ -75,7 +76,7 @@ systemctl daemon-reload %{_bindir}/vconf-init %config(missingok) %attr(644,root,root) %{TZ_SYS_CONFIG}/kdb_first_boot %{_libdir}/*.so.* -%dir %attr(777,root,root) %{TZ_SYS_CONFIG}/db +%dir %attr(777,root,%TZ_SYS_USER_GROUP) %{TZ_SYS_CONFIG}/db %dir %attr(777,root,root) %{TZ_SYS_CONFIG}/db/.backup %{_unitdir}/basic.target.wants/vconf-setup.service %{_unitdir}/vconf-setup.service diff --git a/vconftool.c b/vconftool.c index de7fc61..1469b73 100755 --- a/vconftool.c +++ b/vconftool.c @@ -242,13 +242,19 @@ static int check_file_path_mode(char* file_path) if (access(szPath, F_OK) != 0) { /* fprintf(stderr,"parent dir does not exist\n"); */ - snprintf(szCmd, BUFSIZE, "/bin/mkdir %s -p --mode=755", szPath); + snprintf(szCmd, BUFSIZE, "/bin/mkdir %s -p --mode=775", szPath); disable_invalid_char(szCmd); if (__system(szCmd)) { fprintf(stderr,"[%s:%d]Fail mkdir() szCmd=%s\n", __FILE__, __LINE__, szCmd); return -1; } + snprintf(szCmd, BUFSIZE, "/bin/chgrp %s %s",tzplatform_getenv(TZ_SYS_USER_GROUP), szPath); + if (__system(szCmd)) { + fprintf(stderr,"[%s:%d]Fail chgrp() szCmd=%s\n", __FILE__, __LINE__, szCmd); + return -1; + } + } create_file = 1; |