Re: [PATCH 0/4] Improve pylibfdt python packaging

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



On Thu, Nov 11, 2021 at 08:08:08AM -0600, Rob Herring wrote:
> On Wed, Nov 10, 2021 at 9:41 PM David Gibson
> <david@xxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Wed, Nov 10, 2021 at 07:11:31PM -0600, Rob Herring wrote:
> > > I'm interested in getting pylibfdt into PyPI and ran into a few issues
> > > with pylibfdt using the python packaging tools. Primarily, pip didn't
> > > work nor did setup.py sdist and bdist_wheel subcommands. This series
> > > fixes those issues.
> > >
> > > I've left meson calling setup.py intact for now, but think it's the
> > > wrong way around. In fact, there's actually some efforts to make meson
> > > the backend for pip/setuptools. I made several attempts to completely
> > > eliminate putting files in the source tree without success. Also, I
> > > noticed a meson install builds pylibfdt twice (though make may too).
> > >
> > > I don't think I broke anything. Tests and installs both work with make
> > > and meson.
> >
> > Applied, it certainly looks better to me.
> >
> > However, I've just spotted another nasty problem.  I think it must
> > have started with moving to Fedora 35 on my laptop.  A bunch of the
> > Python tests now fail like this:
> >
> > ======================================================================
> > ERROR: testGetIntProperties (__main__.PyLibfdtBasicTests)
> > Test that we can access properties as integers
> > ----------------------------------------------------------------------
> > SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
> >
> > The above exception was the direct cause of the following exception:
> >
> > Traceback (most recent call last):
> >   File "/home/dwg/src/dtc/tests/./pylibfdt_tests.py", line 378, in testGetIntProperties
> >     self.assertEqual(0xdeadbeef, self.get_prop("prop-hex32").as_uint32())
> >   File "/home/dwg/src/dtc/tests/./pylibfdt_tests.py", line 374, in get_prop
> >     return self.fdt2.getprop(0, name)
> >   File "/home/dwg/src/dtc/tests/../pylibfdt/libfdt.py", line 451, in getprop
> >     pdata = check_err_null(fdt_getprop(self._fdt, nodeoffset, prop_name),
> >   File "/home/dwg/src/dtc/tests/../pylibfdt/libfdt.py", line 1279, in fdt_getprop
> >     return _libfdt.fdt_getprop(fdt, nodeoffset, name)
> > SystemError: <built-in function fdt_getprop> returned a result with an exception set
> >
> > Any ideas?
> 
> Python 3.10? Only guessing because I'm on 3.9. Otherwise, I have no clue.

It appears so; I've now merged Ross Burton's fix.

> I was going to look at making '.setup.py test' work as testing is
> intertwined with meson too. Most python CI testing runs against a
> matrix of python versions which would help here.
> 
> > Also, Rob, did you have patches to finish the conversion of the
> > Makefiles to wrappers around meson?
> 
> That was Marc-André...

Oops, sorry, I got confused.

> > If so, I'm sorry I've lost track
> > of them.  Can you repost please?
> 
> One of the issues you had with Travis CI. Are you still using Travis
> CI after their move? I found it easier to just move to GH workflows
> than move given I always seem to hit login token issues (maybe that's
> just group projects with multiple users).

It stopped working after the move, and I haven't looked into what
would be needed to make it go again.  I was actually thinking I'd move
over to GitLan - I'm more familiar with its CI stuff from qemu, and I
like what I've seen.  I haven't actually had a chance to do anything
on that front, though.

> > That README addition with meson
> > native building instructions would also be really good to have.
> 
> I can look at that. It's gotten a bit more straight-forward with newer
> meson versions as you don't have to run ninja directly. So it is just:
> 
> One-time init:
> meson <builddir>
> 
> And then:
> meson compile|test|install -C <builddir>
> 
> (I find specifying the builddir every time pretty annoying. Guess I
> need a wrapper script.)

Yeah, I tend to agree.

-- 
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