Page MenuHomeFreeBSD

emulators/qemu-user-static-devel: Update to the newest snapshot.
ClosedPublic

Authored by arrowd on Jul 21 2021, 9:23 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 29, 5:46 PM
Unknown Object (File)
Sat, Apr 27, 12:43 AM
Unknown Object (File)
Thu, Apr 25, 11:11 AM
Unknown Object (File)
Wed, Apr 24, 9:57 AM
Unknown Object (File)
Sun, Apr 21, 9:24 PM
Unknown Object (File)
Feb 17 2024, 5:23 AM
Unknown Object (File)
Feb 17 2024, 5:22 AM
Unknown Object (File)
Feb 17 2024, 5:20 AM
Subscribers

Details

Summary

This updated the port to the tip of blitz branch.

Test Plan

poudriere testport passes on amd64 CURRENT.

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Why do we need the patches? I don't understand that since it builds for me w/o them, so I'd like to understand that.

  • emulators/qemu-user-static-devel/files/patch-configure:

The port passes --python=${PYTHON_CMD} to the configure script and this makes it to die with error. The check looks like a safety belt to make sure that Python passed in --python and Python used by Meson are the same. This is true anyways for Ports tree.

  • emulators/qemu-user-static-devel/files/patch-tests_fp_meson.build

The tests/fp/meson.build files tries to include a directory that comes from git submodule. This directory isn't present when pulling distfile from GitHub. I can arrange the port to pull this directory too, but all this looks to be test-related, so I thought it is safe to patch out.

  • emulators/qemu-user-static-devel/files/patch-accel_tcg_user-exec.c

The compiler complained about undefined symbol T_PAGEFLT, which seems to be defined in x86/trap.h.

Sorry, I've been taking some time off and am just getting back into the swing of things

  • emulators/qemu-user-static-devel/files/patch-configure:

The port passes --python=${PYTHON_CMD} to the configure script and this makes it to die with error. The check looks like a safety belt to make sure that Python passed in --python and Python used by Meson are the same. This is true anyways for Ports tree.

OK

  • emulators/qemu-user-static-devel/files/patch-tests_fp_meson.build

The tests/fp/meson.build files tries to include a directory that comes from git submodule. This directory isn't present when pulling distfile from GitHub. I can arrange the port to pull this directory too, but all this looks to be test-related, so I thought it is safe to patch out.

OK. This is fine.

  • emulators/qemu-user-static-devel/files/patch-accel_tcg_user-exec.c

The compiler complained about undefined symbol T_PAGEFLT, which seems to be defined in x86/trap.h.

Ah, I've fixed this upstream. I need to rebase the blitz branch to pick it up.

Remove sparc64 from the rc file.

OK. I'd like to update the blitz branch this week. If I do, I'd like this to be rebased to that.
If I don't get to it this week, this looks good to go as it is.

Hook qemu unit tests into the port.

The test target is actually "check" according to docs/devel/testing.rst

emulators/qemu-user-static-devel/Makefile
50

Cool that you've hooked this up.
Does this target test any bsd-user-mode functionality? My quick grep suggests not.

emulators/qemu-user-static-devel/files/patch-tests_fp_meson.build
10

I'd add a comment here # disable fp tests since they live in a subrepo not fetched in the github tarball

I've updated the 'next' blitz branch to 6.1.0rc1. You can drop the patch-accel_tcg_user-exec.c since that's now fully resolved and upstreamed.
Otherwise, this should be the same (modulo fluff).
So blitz-next will float over the next couple of weeks until 6.1.0 is done. I'll then make it the real blitz branch.

arrowd marked an inline comment as done.
  • Update to blitz-next.
  • Remove unnecessary patch.
emulators/qemu-user-static-devel/Makefile
50

My quick grep suggests not.

Yeah, I guess so.

emulators/qemu-user-static-devel/files/patch-tests_fp_meson.build
10

I'd add a comment here # disable fp tests since they live in a subrepo not fetched in the github tarball

Done this in the patch file itself.

So other than a quibble over the config args, I think this is looking really good.

emulators/qemu-user-static-devel/Makefile
26–27

This isn't directly used by bsd-user. Do we need it still? If so, that's cool, but if not we should remove it here.

54

I know once upon a time we needed the long list of disable. These days I think we just need '--disable-system'. The rest is automatically excluded. Inside ports, we may still need the extra stuff. I needed to use clang11, since clang12.0.1 has issues (though the 12.0.1rc2 didn't).
smbd isn't needed at all. That's just for qemu-system.
Also, both enable and disable docs? we can omit that.
capstone I'm unsure of in the ports env because I know that's a subrepo that gets grabbed from time to time when I build, and I never know why.

emulators/qemu-user-static-devel/Makefile
26–27

IIRC we only previously needed it because the build system couldn't cope with it missing, so it would indeed be spectacular if we can drop it now with the new hotness.

50

Ah, cool, this paves the way for more specific testing. :-)

one last thing I forgot to mention here: clang 12.0.1 miscompiles bsd-user. 12.0.1rc2 is fine on a different machine, but I had to configure clang11 or gcc10 to build my development copies of bsd-user

arrowd marked 5 inline comments as done.

Remove some configuration options.

emulators/qemu-user-static-devel/Makefile
26–27

IIRC we only previously needed it because the build system couldn't cope with it missing, so it would indeed be spectacular if we can drop it now with the new hotness.

It is still the case, the configure script fails if this dir isn't present. I can try patching it out, though.

emulators/qemu-user-static-devel/Makefile
26–27

If we still need it, better to just grab it and use upstream with fewer modifications.

Update to newest snapshot.

Update to newest snapshot.

Looking good. Feel free to commit any time. And thanks for doing this and putting up with my flakiness giving you feedback.

This revision is now accepted and ready to land.Aug 4 2021, 4:41 PM