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 10:01:55PM -0600, Rob Herring wrote:
> On Thu, Nov 11, 2021 at 8:43 PM David Gibson
> <david@xxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > 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.
> 
> I'm assuming you mean GitLab. I'm using both. The DT spec and dtschema
> test/pkging are using workflows. Schema validation runs with the
> kernel tree are on GitLab (which actually run in docker on my
> machines).

Yes, I meant gitlab.

> GH workflows have recipes (written by random folks) to do various
> things like python version matrix testing or upload to pypi whereas
> GitLab is more 'here's a container'. dtc could go either way I think.

Ok, good to know.

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