[#49675] Request to update LEGAL file for zlib, UCD license — Jun Aruga <jaruga@...>
こんにちは。有賀と申します。
10 messages
2016/06/20
[#49678] Re: Request to update LEGAL file for zlib, UCD license
— Jun Aruga <jaruga@...>
2016/06/21
ご回答、そして+1のご意見ありがとうございます。
[#49683] Re: Request to update LEGAL file for zlib, UCD license
— Martin J. Dürst <duerst@...>
2016/06/22
On 2016/06/22 00:15, Jun Aruga wrote:
[ruby-dev:49687] [Ruby trunk Misc#12520] CIFS raises Errno::EACCES for chown while UID not found in remote system
From:
artonx@...
Date:
2016-06-26 11:43:33 UTC
List:
ruby-dev #49687
Issue #12520 has been reported by Akio Tajima.
----------------------------------------
Misc #12520: CIFS raises Errno::EACCES for chown while UID not found in remote system
https://bugs.ruby-lang.org/issues/12520
* Author: Akio Tajima
* Status: Open
* Priority: Normal
* Assignee:
----------------------------------------
FileUtilsを利用した:preserve => trueのcp_r中に例外となります。(題名が真の原因かは不明。それ以外に思い当たる点がない)
システムはDebian jessieです。
~~~
Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08)
~~~
具体的には以下のようになりました。
~~~
/usr/local/lib/ruby/2.3.0/fileutils.rb:1411:in `chown': Permission denied @ chown_internal - /mnt/media/Music2/iTunes/iTunes Music/Jeanette/Porque Te Vas/02 Porqué Te Vas_.m4a (Errno::EACCES)
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1411:in `copy_metadata'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:475:in `block in copy_entry'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1504:in `wrap_traverse'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1501:in `block in wrap_traverse'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1500:in `each'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1500:in `wrap_traverse'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1501:in `block in wrap_traverse'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1500:in `each'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1500:in `wrap_traverse'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:469:in `copy_entry'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:444:in `block in cp_r'
from /usr/local/lib/ruby/2.3.0/fileutils.rb:1571:in `block in fu_each_src_dest'
~~~
やりたいことはmtimeのコピーですが、FileUtils.cp_rでは:mtimeを個々のファイルごとに指定できないので:preserveを利用する以外に方法がありません(ここに別解があればそれでも良いのでBUGではなくMiscにしています)。
リファレンスによれば、:preserveは、
~~~
:preserve
真を指定すると更新時刻と、可能なら所有ユーザ・所有グループもコピーします。
~~~
と、chownについては努力目標となっています。
というわけで、以下のようにErrno::EACCESも救済したいです。
~~~
--- devl/ruby-2.3.1/lib/fileutils.rb 2015-12-16 14:07:31.000000000 +0900
+++ /usr/local/lib/ruby/2.3.0/fileutils.rb 2016-06-26 20:24:57.552398812 +0900
@@ -1410,7 +1410,7 @@ module FileUtils
else
File.chown st.uid, st.gid, path
end
- rescue Errno::EPERM
+ rescue Errno::EPERM, Errno::EACCES
# clear setuid/setgid
if st.symlink?
begin
~~~
よろしくお願いします。
--
https://bugs.ruby-lang.org/