Page MenuHomeFreeBSD

emulators/qemu: Enable user networking by default
Needs RevisionPublic

Authored by adrian on Dec 26 2020, 10:58 PM.
Tags
None
Referenced Files
F108114812: D27778.id81199.diff
Tue, Jan 21, 1:09 PM
F108114744: D27778.id81196.diff
Tue, Jan 21, 1:08 PM
F108114616: D27778.id.diff
Tue, Jan 21, 1:06 PM
F108096610: D27778.diff
Tue, Jan 21, 8:37 AM
Unknown Object (File)
Fri, Jan 10, 4:10 AM
Unknown Object (File)
Nov 29 2024, 8:59 PM
Unknown Object (File)
Nov 29 2024, 7:12 AM
Unknown Object (File)
Nov 25 2024, 9:59 AM
Subscribers

Details

Reviewers
koobs
bofh
Summary
emulators/qemu: Enable user networking by default

The current build system doesn't build slirp/user networking
by default, but a LOT of guides on the internet to get started
with qemu uses it.

This modifies the configure script to add a new option to
explicitly enable it.

Reviewed_by: koobs (ports)
Approved by: ???
Differential_Revision: D27778
MFH: <branch|no> <reason>
Test Plan
  • portlint: ?? (<summary output)
  • testport: ?? (poudriere: <versions>, <archs> tested)

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 35699
Build 32588: arc lint + arc unit

Event Timeline

koobs retitled this revision from [qemu] add user networking by default to emulators/qemu: Enable user networking by default.Dec 27 2020, 2:03 AM
koobs edited the summary of this revision. (Show Details)
koobs edited the test plan for this revision. (Show Details)
koobs added a reviewer: koobs.

@adrian Can you confirm QA passes (portlint/poudriere, filling out TEST PLAN section) and add MFH: value <branch|no> <reason> in commit log message

koobs edited the summary of this revision. (Show Details)EditedDec 27 2020, 2:05 AM

Also Question: do any of the other qemu-* ports need to have this change made too, or do they all inherit/child port off the main one (I haven't looked)

For future reference sake: Ports compliance/recommendations require ports to 'unbundle' any bundled libraries (in this case slirp) except in cases where that is creates an unnecessary or inappropriate support or maintenance burden (such as go / node modules). We'll land this change in the short term until a slirp port can be produced

emulators/qemu/files/patch-configure
30–31

Probably best to set =internal in CONFIGURE_ARGS (so its explicitly defined/set in Makefile), rather than here, unless upstreams configure is missing a default and this is going to go upstream?

Also Question: do any of the other qemu-* ports need to have this change made too, or do they all inherit/child port off the main one (I haven't looked)

All qemu-* ports needs to be updated.

koobs requested changes to this revision.Dec 28 2020, 9:15 AM
This revision now requires changes to proceed.Dec 28 2020, 9:15 AM

hi!

In D27778#620891, @bofh wrote:

Also Question: do any of the other qemu-* ports need to have this change made too, or do they all inherit/child port off the main one (I haven't looked)

All qemu-* ports needs to be updated.

Can I just try to land this one first, and worry about the others later? I'd at least like to see a working qemu port with user networking available for other freebsd users to test with.

emulators/qemu/files/patch-configure
30–31

I'm not sure what to send upstream yet; so I'm just making --enable-slirp do a default thing. Otherwise I also have to add a bunch of other sanity checking :-)

Portlint output:

adrian@gertrude:~/work/freebsd/ports/head/emulators/qemu % env PORTSDIR=/home/adrian/work/freebsd/ports/head portlint
WARN: Makefile: [75]: NOPORTDOCS found. Consider using PORT_OPTIONS:MDOCS.
WARN: Makefile: Consider adding support for a NLS knob to conditionally disable gettext support.
WARN: Makefile: unless this is a master port, MAINTAINER has to be set by "=", not by "?=".
WARN: Makefile: unless this is a master port, COMMENT has to be set by "=", not by "?=".
WARN: Makefile: you may want directory for dependency sphinx-build to be textproc/py-sphinx@${PY_FLAVOR}
WARN: Makefile: "ONLY_FOR_ARCHS" has to appear earlier.
WARN: Makefile: "USES" has to appear earlier.
0 fatal errors and 7 warnings found.

hi!

In D27778#620891, @bofh wrote:

Also Question: do any of the other qemu-* ports need to have this change made too, or do they all inherit/child port off the main one (I haven't looked)

All qemu-* ports needs to be updated.

Can I just try to land this one first, and worry about the others later? I'd at least like to see a working qemu port with user networking available for other freebsd users to test with.

Sure, let's just follow this changeset up in a timely manner so all ports are consistent

Re PORTLINT output, these ones at least should be addressed:

WARN: Makefile: you may want directory for dependency sphinx-build to be textproc/py-sphinx@${PY_FLAVOR}
WARN: Makefile: "ONLY_FOR_ARCHS" has to appear earlier.
WARN: Makefile: "USES" has to appear earlier.

Does poudriere testport pass?

hi!

In D27778#620891, @bofh wrote:

Also Question: do any of the other qemu-* ports need to have this change made too, or do they all inherit/child port off the main one (I haven't looked)

All qemu-* ports needs to be updated.

Can I just try to land this one first, and worry about the others later? I'd at least like to see a working qemu port with user networking available for other freebsd users to test with.

Sure, let's just follow this changeset up in a timely manner so all ports are consistent

Re PORTLINT output, these ones at least should be addressed:

WARN: Makefile: you may want directory for dependency sphinx-build to be textproc/py-sphinx@${PY_FLAVOR}
WARN: Makefile: "ONLY_FOR_ARCHS" has to appear earlier.
WARN: Makefile: "USES" has to appear earlier.

Shouldn't that be done via another commit? I'm not trying to take ownership of the port, I'm just trying to fix a glaringly missing feature. :-)

Does poudriere testport pass?

I dunno! I don't have a full poudriere setup here! I build them one at a time.

In the absence of poudriere (one should set it up), you can run the set of commands outlined here:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/porting-testing.html

The delta between this set of commands and poudriere is the isolation of the build environment from the local system (which can pickup several additional classes of issues)

No longer relevant as this has been committed.