diff options
author | Woongsuk Cho <ws77.cho@samsung.com> | 2019-01-10 19:38:05 +0900 |
---|---|---|
committer | Gleb Balykov <g.balykov@samsung.com> | 2019-08-06 12:41:25 +0300 |
commit | b13cc8e847cd3ff3305def6cc5d061e72635f889 (patch) | |
tree | d11609e45477567496a4ca01ad5cdafb40276026 | |
parent | c8ad7d01695eb3096a39e49cfcc0daec32c0095a (diff) | |
download | coreclr-b13cc8e847cd3ff3305def6cc5d061e72635f889.tar.gz coreclr-b13cc8e847cd3ff3305def6cc5d061e72635f889.tar.bz2 coreclr-b13cc8e847cd3ff3305def6cc5d061e72635f889.zip |
[Tizen] create "/tmp/.dotnet/lockfiles" directory while system bootup.
If "/tmp/.dotnet/lockfiles" directory does not exist, a directory is created when the first named mutex file is created.
The generated directory has the smack label of the process that created it.
Therefore, access deny occurs when another application tries to access the directory to create or use a named mutex.
To solve this problem, create "/tmp/.dotnet/lockfiles" directory in the tempfs while system boot up
-rwxr-xr-x | packaging/coreclr.conf | 13 | ||||
-rwxr-xr-x | packaging/coreclr.spec | 5 |
2 files changed, 18 insertions, 0 deletions
diff --git a/packaging/coreclr.conf b/packaging/coreclr.conf new file mode 100755 index 0000000000..9833cd222f --- /dev/null +++ b/packaging/coreclr.conf @@ -0,0 +1,13 @@ +d /tmp/.dotnet 1777 root users +t /tmp/.dotnet - - - - security.SMACK64="User::App::Shared" +t /tmp/.dotnet - - - - security.SMACK64TRANSMUTE="TRUE" +d /tmp/.dotnet/lockfiles 1777 root users +t /tmp/.dotnet/lockfiles - - - - security.SMACK64="User::App::Shared" +d /tmp/.dotnet/lockfiles/global 1777 root users +t /tmp/.dotnet/lockfiles/global - - - - security.SMACK64="User::App::Shared" +t /tmp/.dotnet/lockfiles/global - - - - security.SMACK64TRANSMUTE="TRUE" +d /tmp/.dotnet/shm 1777 root users +t /tmp/.dotnet/shm - - - - security.SMACK64="User::App::Shared" +d /tmp/.dotnet/shm/global 1777 root users +t /tmp/.dotnet/shm/global - - - - security.SMACK64="User::App::Shared" +t /tmp/.dotnet/shm/global - - - - security.SMACK64TRANSMUTE="TRUE" diff --git a/packaging/coreclr.spec b/packaging/coreclr.spec index 212e9f8a43..ad54d76acf 100755 --- a/packaging/coreclr.spec +++ b/packaging/coreclr.spec @@ -17,6 +17,7 @@ License: MIT URL: http://github.com/dotnet/coreclr Source0: %{name}-%{version}.tar.gz Source1: %{name}.manifest +Source2: %{name}.conf ExcludeArch: aarch64 @@ -105,6 +106,7 @@ The MSCORLIB.DLL for .NET Core Runtime (coreclr) %prep %setup -q -n %{name}-%{version} cp %{SOURCE1} . +cp %{SOURCE2} . %if 0%{skipmscorlib} @@ -210,6 +212,8 @@ mkdir -p %{buildroot}%{_datadir}/%{dotnettizendir} mkdir -p %{buildroot}%{_datadir}/%{dotnetfwdir} mkdir -p %{buildroot}%{_datadir}/%{dotnettestdir} ln -sf %{_datadir}/%{netcoreappdir} %{buildroot}%{_datadir}/%{dotnettizendir}/netcoreapp +mkdir -p %{buildroot}/etc/tmpfiles.d +install -m 0644 %{name}.conf %{buildroot}/etc/tmpfiles.d/%{name}.conf # symlink to .NET version for compatibility ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.0.0 @@ -284,6 +288,7 @@ cp %{_reldir}/SOS.NETCore.dll %{buildroot}%{_datadir}/%{netcoreappdir} %{_datadir}/%{dotnetfwdir}/crossgen %{_datadir}/%{netcoreappdir}/*.so %{_datadir}/%{dotnettizendir}/netcoreapp +/etc/tmpfiles.d/%{name}.conf # symlink to .NET version for compatibility %dir %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.0.0 |