all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Ben Woodcroft <b.woodcroft@uq.edu.au>
Cc: guix-devel@gnu.org, "Clément Lassieur" <clement@lassieur.org>
Subject: Re: [PATCH] gnu: Add git-review.
Date: Thu, 8 Sep 2016 21:32:17 +0300	[thread overview]
Message-ID: <20160908183217.GK12493@macbook42.flashner.co.il> (raw)
In-Reply-To: <439770f1-4691-45ac-348e-9e41bc126e0d@uq.edu.au>


[-- Attachment #1.1: Type: text/plain, Size: 2155 bytes --]

On Thu, Sep 08, 2016 at 10:28:37PM +1000, Ben Woodcroft wrote:
> Hi there, thanks for the patch. I do not have any experience with Gerrit but
> some comments below:
> 
> 
> On 08/09/16 17:06, Clément Lassieur wrote:
> > [..]
> > +    (source
> > +     (origin
> > +       (method url-fetch)
> > +       (uri (string-append
> > +             "https://pypi.python.org/packages/source/g/git-review/git-review-"
> > +             version ".tar.gz"))
> 
> Rather: (uri (pypi-uri "git-review" version))
> 
> > +       (sha256
> > +        (base32
> > +         "07d1jn9ryff5j5ic6qj5pbk10m1ccmpllj0wyalrcms1q9yhlzh8"))))
> > +    (build-system python-build-system)
> > +    (arguments `(#:tests? #f)) ; tests require a running Gerrit server
> > +    (native-inputs
> > +     `(("python-pbr" ,python-pbr)))
> > +    (inputs
> > +     `(("python-requests" ,python-requests)
> > +       ("git" ,git)))
> 
> I think including git simply as an input is problematic because git-review
> calls git via 'subprocess', as evidenced by
> 
> $ ./pre-inst-env guix environment -C --ad-hoc git-review
> $ git-review
> [..]
>   File "/gnu/store/m4gc2wx4q9if1vrhgclpspdil7rqsn21-python-3.4.3/lib/python3.4/subprocess.py",
> line 1457, in _execute_child
>     raise child_exception_type(errno_num, err_msg)
> FileNotFoundError: [Errno 2] No such file or directory: 'git'
> 
> So, I think we need to patch the source code to call the full path to git,
> or otherwise wrap the 'git-review' executable.
> 
> > +    (home-page "http://docs.openstack.org/infra/git-review/")
> > +    (synopsis "Command-line tool for Gerrit")
> > +    (description
> > +     "Git-review is a command-line tool that helps submitting Git branches to
> > +Gerrit for review, or fetching existing ones.")
> > +    (license asl2.0)))
> Otherwise seems OK to me. Can you test with environment -C -N?
> ben
> 

Try it with the attached patch

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #1.2: 0001-gnu-python-git-review-Hardcode-git-path.patch --]
[-- Type: text/plain, Size: 1573 bytes --]

From cb5146c8eea6ea35b1ad058345f4759b36384eb4 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Thu, 8 Sep 2016 21:31:32 +0300
Subject: [PATCH] gnu: python-git-review: Hardcode git path.

* gnu/packages/openstack.scm (python-git-review)[arguments]: Hardcode
the location of `git' so that `git-review' can find it natively.
---
 gnu/packages/openstack.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 4cb38a9..d7876a8 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -796,7 +796,19 @@ permanence.")
         (base32
          "07d1jn9ryff5j5ic6qj5pbk10m1ccmpllj0wyalrcms1q9yhlzh8"))))
     (build-system python-build-system)
-    (arguments `(#:tests? #f)) ; tests require a running Gerrit server
+    (arguments
+     `(#:tests? #f ; tests require a running Gerrit server
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-git-calls
+           (lambda _
+             (let ((git (string-append
+                          (assoc-ref %build-inputs "git") "/bin/git")))
+               (substitute* "git_review/cmd.py"
+                            (("\"git ") (string-append "\"" git " "))
+                            (("\"git\"") (string-append "\"" git "\""))
+                            (("'git'") (string-append "'" git "'")))
+               #t))))))
     (native-inputs
      `(("python-pbr" ,python-pbr)))
     (inputs
-- 
2.10.0


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

  parent reply	other threads:[~2016-09-08 18:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-08  7:06 [PATCH] gnu: Add git-review Clément Lassieur
2016-09-08  7:37 ` Vincent Legoll
2016-09-08 10:16 ` Efraim Flashner
2016-09-08 12:28   ` [PATCH] gnu: Add python-git-review Clément Lassieur
2016-09-08 17:45     ` Efraim Flashner
2016-09-08 12:28 ` [PATCH] gnu: Add git-review Ben Woodcroft
2016-09-08 17:58   ` Efraim Flashner
2016-09-09 16:24     ` Clément Lassieur
2016-09-09 20:27       ` Clément Lassieur
2016-09-08 18:32   ` Efraim Flashner [this message]
2016-09-09  8:23     ` Clément Lassieur
2016-09-09 15:00       ` Efraim Flashner
2016-09-09 16:09         ` Clément Lassieur
2016-09-10 19:05           ` Efraim Flashner
2016-09-10 21:13             ` [PATCH] gnu: python-git-review: Wrap it so 'git', 'ssh' and 'scp' are found Clément Lassieur
2016-09-11  7:05               ` Efraim Flashner
2016-09-10 21:25             ` [PATCH] gnu: Add git-review Clément Lassieur
2016-09-09 18:49         ` Alex Kost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160908183217.GK12493@macbook42.flashner.co.il \
    --to=efraim@flashner.co.il \
    --cc=b.woodcroft@uq.edu.au \
    --cc=clement@lassieur.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.