unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#34377: (ledger|trezor|keepkey)-agent execute shell code with python interpreter
@ 2019-02-08  1:34 Vagrant Cascadian
       [not found] ` <handler.34377.B.154958970210386.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Vagrant Cascadian @ 2019-02-08  1:34 UTC (permalink / raw)
  To: 34377

[-- Attachment #1: Type: text/plain, Size: 1921 bytes --]

When running trezor-agent (or any of the others), I get a bizarre python
traceback with a bunch of code that looks to be shell code.

$ trezor-agent
Traceback (most recent call last):
  File "/gnu/store/77i5pm165ljn8fx030z41yqaja77lb99-trezor-agent-0.10.0/bin/.trezor-agent-real", line 11, in <module>
    load_entry_point('trezor-agent==0.10.0', 'console_scripts', 'trezor-agent')()
  File "/gnu/store/9z98cvjm7p7z21xdid1ryydxy5vyz6wr-python-3.7.0/lib/python3.7/site-packages/pkg_resources/__init__.py", line 480, in load_entry_point
...
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/gnu/store/77i5pm165ljn8fx030z41yqaja77lb99-trezor-agent-0.10.0/bin/trezor_agent.py", line 2
    export PYTHONPATH="/gnu/store/ ... site-packages${PYTHONPATH:+:}$PYTHONPATH"
                    ^
SyntaxError: invalid syntax

It looks to me that .trezor-agent-real is trying to import
trezor_agent.py as a python module, and obviously failing, because it
is also a shell wrapper around .trezor_agent.py-real

My guess is the correct way to fix this is to not install the shell
wrapper around trezor_agent.py and/or put trezor_agent.py into a
proper module in PYTHONPATH, rather than in /bin.

I'm not sure how to do that in the packaging, but I've manually hacked
around this by copying all of the .*-real files from /bin into another
directory, renaming them to their original names, adding the directory
to PATH, and setting PYTHONPATH manually to what the shell wrappers were
doing, and then I'm able to at least use the ssh-agent and gpg-agent
functionality...


Currently, none of these packages build in master because python-trezor
doesn't build anymore, but I've submitted a patch to update and fix
python-trezor(#34326), and have local patches dependent on that to
update python-trezor-agent, trezor-agent, ledger-agent and keepkey-agent
that at least get it to build.


live well,
  vagrant

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#34377: (ledger|trezor|keepkey)-agent execute shell code with python interpreter
       [not found] ` <handler.34377.B.154958970210386.ack@debbugs.gnu.org>
@ 2019-02-08  3:28   ` Vagrant Cascadian
  0 siblings, 0 replies; 2+ messages in thread
From: Vagrant Cascadian @ 2019-02-08  3:28 UTC (permalink / raw)
  To: 34377

[-- Attachment #1: Type: text/plain, Size: 1273 bytes --]

Quick fix/workaround is the following patch, simply overwriting the
wrapped trezor_agent.py with the real thing.

live well,
  vagrant

commit ef39a4dc42dcd2daaa7a626c923f1115f8540091
Author: Vagrant Cascadian <vagrant@debian.org>
Date:   Fri Feb 8 03:23:14 2019 +0000

    trezor-agent: Overwrite trezor_agent.py wrapper with real thing.

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 035f6f5965..88b365dfb7 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -805,6 +805,17 @@ Then set the environment variable GNUPGHOME to
        (sha256
         (base32
          "144657c7bn0a667dq5fv5r6j7iilxf3h9agj29v1m2qpq40g0az8"))))
+    (arguments
+     ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'wrap 'fixup-agent-py
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               ;; overwrite the wrapper with the real thing.
+               (install-file "./trezor_agent.py"
+                             (string-append out "/bin/"))
+             #t))))))
     (build-system python-build-system)
     (inputs
      `(("python-trezor" ,python-trezor)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-08  3:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-08  1:34 bug#34377: (ledger|trezor|keepkey)-agent execute shell code with python interpreter Vagrant Cascadian
     [not found] ` <handler.34377.B.154958970210386.ack@debbugs.gnu.org>
2019-02-08  3:28   ` Vagrant Cascadian

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).