Package: s3cmd
Version: 2.0.0-1
Severity: important
Dear Maintainer,
My backup scripts invocation of s3cmd is resulting in two warnings/errors. I
report them together here since I am unsure if the second is a consequence of
the first.
First warning is:
WARNING: !!!!!!! Support for python3 is currently in a 'Work In Progress'
state.
Please don't use s3cmd with python3 on production tasks or with sensitive
data as unexpected behaviors could occur !!!!!!!
And the second error is:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
An unexpected error has occurred.
Please try reproducing the error using
the latest s3cmd code from the git master
branch found at:
https://github.com/s3tools/s3cmd
and have a look at the known issues list:
https://github.com/s3tools/s3cmd/wiki/Common-known-issues-and-their-solutions
If the error persists, please report the
following lines (removing any private
info as necessary) to:
[email protected]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Invoked as: /usr/bin/s3cmd --ssl --config=/path/to/config --acl-private put
--cache-file=/path/to/cache --encrypt <a few dozon paths> s3://<my bucket>/
Problem: <class 'TypeError: a bytes-like object is required, not 'str'
S3cmd: 2.0.0
python: 3.5.4 (default, Aug 12 2017, 14:08:14)
[GCC 7.1.0]
environment LANG=en_GB.UTF-8
Traceback (most recent call last):
File "/usr/bin/s3cmd", line 2996, in <module>
rc = main()
File "/usr/bin/s3cmd", line 2915, in main
rc = cmd_func(args)
File "/usr/bin/s3cmd", line 352, in cmd_object_put
local_list, single_file_local, exclude_list, total_size_local =
fetch_local_list(args, is_src = True)
File "/usr/lib/python3/dist-packages/S3/FileLists.py", line 319, in
fetch_local_list
cache.load(cfg.cache_file)
File "/usr/lib/python3/dist-packages/S3/HashCache.py", line 63, in load
d = pickle.load(f)
TypeError: a bytes-like object is required, not 'str'
I suspect that the cache (specified via --cache-file) is incompatible between
this version and the last. I'm unsure if this is an s3cmd change or a
consequence of switching to Python3 (maybe pickling is not compatible?)
Reverting to 1.6.1-1 in Stretch resolves this for me.
Given the first warning (which I pressume reflects upstream's view) are we sure
it is wise to be shipping with #!/usr/bin/python3 in Debian at this point?
Given the wording which upstream has used I considered filing bug this with
severity grave or serious, but in the end I went with important, although it
seems to me that we cannot ship s3cmd in a stable release while it is printing
such a warning.
Thanks,
Ian.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1,
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf, armel, arm64
Kernel: Linux 4.12.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages s3cmd depends on:
ii python3 3.5.3-3
ii python3-dateutil 2.6.1-1
ii python3-magic 1:5.32-1
s3cmd recommends no packages.
s3cmd suggests no packages.
-- no debconf information