Re: [PATCH v4 1/4] pylibfdt: fix build-lib location

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Fri, Oct 09, 2020 at 11:18:36AM +0400, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Oct 9, 2020 at 5:01 AM David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Oct 06, 2020 at 12:27:09PM +0400, marcandre.lureau@xxxxxxxxxx wrote:
> > > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
> > >
> > > setup.py build_ext is run from top_srcdir with the Makefile
> > > build-system, due to Makefile.pylibfdt inclusion in top_srcdir/Makefile.
> > >
> > > --build-lib=../pylibfdt will produce output files in the parent
> > > directory of the current directory. Ex:
> > >
> > > ~/src/dtc$ make && ls ../pylibfdt
> > > _libfdt.cpython-38-x86_64-linux-gnu.so
> >
> > So... this doesn't happen for me
> >
> > $ git rev-parse HEAD
> > cbca977ea121d7483b0c2351b17dca08a21cb1ca
> > $ make
> > [...]
> > $ ls ../pylibfdt
> > ls: cannot access '../pylibfdt': No such file or directory
> > $ ls pylibfdt/
> > build/  _libfdt.cpython-38-x86_64-linux-gnu.so*  libfdt.i  libfdt.py  libfdt_wrap.c  Makefile.pylibfdt  pylibfdt/  setup.py*
> >
> > If I apply your patch, then the module ends up in
> > $topdir/pylibfdt/pylibfdt instead, and make check no longer runs the
> > python tests.
> >
> > So.. why it's behaving incorrectly for you but not me, I don't know :/
> 
> This is interesting, I upgraded to f33 and I no longer have the
> issue. No idea.

Oh dear, that's worrying.  It suggests it depends on the version of
setuptools installed, and I have no idea what we'd need to do to
ensure consistent behaviour given that.

> 
> >
> > > Fix it by changing the build-lib directory to $(cwd)/pylibfdt instead.
> > >
> > > (note that setup.py install will rebuild it with the default 'build'
> > > directory, there doesn't seem to be a way to override that)
> > >
> > > Fixes: 1e4a0928f3b3b827824222572e551a60935607e3 ("pylibfdt: Don't have
> > > setup.py depend on where it's invoked from")
> > > Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
> > > ---
> > >  pylibfdt/Makefile.pylibfdt | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/pylibfdt/Makefile.pylibfdt b/pylibfdt/Makefile.pylibfdt
> > > index 6866a0b..0c07224 100644
> > > --- a/pylibfdt/Makefile.pylibfdt
> > > +++ b/pylibfdt/Makefile.pylibfdt
> > > @@ -18,7 +18,7 @@ endif
> > >
> > >  $(PYMODULE): $(PYLIBFDT_srcs) $(LIBFDT_archive) $(SETUP) $(VERSION_FILE)
> > >       @$(VECHO) PYMOD $@
> > > -     $(PYTHON) $(SETUP) $(SETUPFLAGS) build_ext --build-lib=../$(PYLIBFDT_dir)
> > > +     $(PYTHON) $(SETUP) $(SETUPFLAGS) build_ext --build-lib=$(PYLIBFDT_dir)
> > >
> > >  install_pylibfdt: $(PYMODULE)
> > >       @$(VECHO) INSTALL-PYLIB
> >
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux