diff mbox series

[filter-repo] filter-repo: help with local install

Message ID e3d6c6d670b46d4f0dc133e83c6feede4d55c412.1625844149.git.git@grubix.eu (mailing list archive)
State New, archived
Headers show
Series [filter-repo] filter-repo: help with local install | expand

Commit Message

Michael J Gruber July 9, 2021, 3:25 p.m. UTC
The Makefile suggests a local install and works almost as is, except for
the python path. Make it work automatically for this typical use case,
and give a corresponding hint in INSTALL.md.

Signed-off-by: Michael J Gruber <git@grubix.eu>
---
 INSTALL.md | 5 +++--
 Makefile   | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

Comments

Elijah Newren July 9, 2021, 3:41 p.m. UTC | #1
On Fri, Jul 9, 2021 at 8:25 AM Michael J Gruber <git@grubix.eu> wrote:
>
> The Makefile suggests a local install and works almost as is, except for
> the python path. Make it work automatically for this typical use case,
> and give a corresponding hint in INSTALL.md.

Make sense.

>
> Signed-off-by: Michael J Gruber <git@grubix.eu>
> ---
>  INSTALL.md | 5 +++--
>  Makefile   | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/INSTALL.md b/INSTALL.md
> index 00aabb7..d479681 100644
> --- a/INSTALL.md
> +++ b/INSTALL.md
> @@ -75,8 +75,9 @@ filter-repo only consists of a few files that need to be installed:
>      You can create this symlink to (or copy of) git-filter-repo named
>      git_filter-repo.py and place it in your python site packages; `python
>      -c "import site; print(site.getsitepackages())"` may help you find the
> -    appropriate location for your system.  Alternatively, you can place
> -    this file anywhere within $PYTHONPATH.
> +    appropriate location for your system, `python -c "import site;
> +    print(site.getusersitepackages())"` for a local install. Alternatively,

Why repeat the exact same python invocation twice in the same
sentence?  What's the difference between "may help you find the
appropriate location for your system" and "for a local install"?

> +    you can place this file anywhere within $PYTHONPATH.
>
>    * git-filter-repo.1
>
> diff --git a/Makefile b/Makefile
> index 31f5e3a..c97d1f6 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -4,7 +4,7 @@ bindir = $(prefix)/libexec/git-core
>  localedir = $(prefix)/share/locale
>  mandir = $(prefix)/share/man
>  htmldir = $(prefix)/share/doc/git-doc
> -pythondir = $(prefix)/lib64/python3.6/site-packages
> +pythondir = $(shell python -c "import site; print(site.getusersitepackages())")

Yeah, this seems like a good idea.


Thanks for sending this in.  If we can get INSTALL.md straightened
out, I'll be happy to apply it.
Junio C Hamano July 9, 2021, 5:24 p.m. UTC | #2
Michael J Gruber <git@grubix.eu> writes:

> The Makefile suggests a local install and works almost as is, except for
> the python path. Make it work automatically for this typical use case,
> and give a corresponding hint in INSTALL.md.
>
> Signed-off-by: Michael J Gruber <git@grubix.eu>
> ---
>  INSTALL.md | 5 +++--
>  Makefile   | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/INSTALL.md b/INSTALL.md
> index 00aabb7..d479681 100644
> --- a/INSTALL.md
> +++ b/INSTALL.md
> @@ -75,8 +75,9 @@ filter-repo only consists of a few files that need to be installed:
>      You can create this symlink to (or copy of) git-filter-repo named
>      git_filter-repo.py and place it in your python site packages; `python
>      -c "import site; print(site.getsitepackages())"` may help you find the
> -    appropriate location for your system.  Alternatively, you can place
> -    this file anywhere within $PYTHONPATH.
> +    appropriate location for your system, `python -c "import site;
> +    print(site.getusersitepackages())"` for a local install. Alternatively,
> +    you can place this file anywhere within $PYTHONPATH.
>  
>    * git-filter-repo.1
>  
> diff --git a/Makefile b/Makefile
> index 31f5e3a..c97d1f6 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -4,7 +4,7 @@ bindir = $(prefix)/libexec/git-core
>  localedir = $(prefix)/share/locale
>  mandir = $(prefix)/share/man
>  htmldir = $(prefix)/share/doc/git-doc
> -pythondir = $(prefix)/lib64/python3.6/site-packages
> +pythondir = $(shell python -c "import site; print(site.getusersitepackages())")

There may be no "python" on $PATH, yet the user may have told the
make via PYTHON_PATH that /usr/bin/python3 is to be used.
Elijah Newren July 9, 2021, 5:51 p.m. UTC | #3
On Fri, Jul 9, 2021 at 10:24 AM Junio C Hamano <gitster@pobox.com> wrote:
>
> Michael J Gruber <git@grubix.eu> writes:
>
> > The Makefile suggests a local install and works almost as is, except for
> > the python path. Make it work automatically for this typical use case,
> > and give a corresponding hint in INSTALL.md.
> >
> > Signed-off-by: Michael J Gruber <git@grubix.eu>
> > ---
> >  INSTALL.md | 5 +++--
> >  Makefile   | 2 +-
> >  2 files changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/INSTALL.md b/INSTALL.md
> > index 00aabb7..d479681 100644
> > --- a/INSTALL.md
> > +++ b/INSTALL.md
> > @@ -75,8 +75,9 @@ filter-repo only consists of a few files that need to be installed:
> >      You can create this symlink to (or copy of) git-filter-repo named
> >      git_filter-repo.py and place it in your python site packages; `python
> >      -c "import site; print(site.getsitepackages())"` may help you find the
> > -    appropriate location for your system.  Alternatively, you can place
> > -    this file anywhere within $PYTHONPATH.
> > +    appropriate location for your system, `python -c "import site;
> > +    print(site.getusersitepackages())"` for a local install. Alternatively,
> > +    you can place this file anywhere within $PYTHONPATH.
> >
> >    * git-filter-repo.1
> >
> > diff --git a/Makefile b/Makefile
> > index 31f5e3a..c97d1f6 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -4,7 +4,7 @@ bindir = $(prefix)/libexec/git-core
> >  localedir = $(prefix)/share/locale
> >  mandir = $(prefix)/share/man
> >  htmldir = $(prefix)/share/doc/git-doc
> > -pythondir = $(prefix)/lib64/python3.6/site-packages
> > +pythondir = $(shell python -c "import site; print(site.getusersitepackages())")
>
> There may be no "python" on $PATH, yet the user may have told the
> make via PYTHON_PATH that /usr/bin/python3 is to be used.

This was a patch for git-filter-repo.git rather than git.git; there is
no PYTHON_PATH variable in the Makefile.

That said, thanks for calling out python3.  As the git-filter-repo
script uses that, all these references to 'python' should be replaced
with 'python3' (including the two in INSTALL.md from before this
patch).
diff mbox series

Patch

diff --git a/INSTALL.md b/INSTALL.md
index 00aabb7..d479681 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -75,8 +75,9 @@  filter-repo only consists of a few files that need to be installed:
     You can create this symlink to (or copy of) git-filter-repo named
     git_filter-repo.py and place it in your python site packages; `python
     -c "import site; print(site.getsitepackages())"` may help you find the
-    appropriate location for your system.  Alternatively, you can place
-    this file anywhere within $PYTHONPATH.
+    appropriate location for your system, `python -c "import site;
+    print(site.getusersitepackages())"` for a local install. Alternatively,
+    you can place this file anywhere within $PYTHONPATH.
 
   * git-filter-repo.1
 
diff --git a/Makefile b/Makefile
index 31f5e3a..c97d1f6 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@  bindir = $(prefix)/libexec/git-core
 localedir = $(prefix)/share/locale
 mandir = $(prefix)/share/man
 htmldir = $(prefix)/share/doc/git-doc
-pythondir = $(prefix)/lib64/python3.6/site-packages
+pythondir = $(shell python -c "import site; print(site.getusersitepackages())")
 
 default: build