Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • NetworkManager NetworkManager
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 172
    • Issues 172
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • NetworkManager
  • NetworkManagerNetworkManager
  • Merge requests
  • !967

[RFC] meson: Allow building only libnm

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Matt Turner requested to merge mattst88/NetworkManager:libnm-only into main Aug 22, 2021
  • Overview 5
  • Commits 1
  • Pipelines 1
  • Changes 25

The Steam Runtime includes a 32-bit libnm.so. We would like to be able to build only libnm from NetworkManager and minimize the number of 32-bit dependencies required to do so.

There is not explicit support for this in the autotools build system, but it was still possible to accomplish with

$ make src/libnm-client-impl/libnm.la
$ make \
     install-libLTLIBRARIES
     install-libnmincludeHEADERS
     install-nodist_libnmincludeHEADERS
     install-pkgconfigDATA

Unfortunately ninja does not provide a way to install only specific targets.


To be clear: I hate this. Suggestions welcome.

Context: I'm switching Gentoo's NetworkManager packaging over from autotools to meson, and I ran into this issue—it's not easy to build and install only libnm.so which is a part of the Steam Runtime. Unlike some other distro tooling (e.g. Debian), in Gentoo I don't have a good way of splitting files resulting from a single build into separate packages, and that wouldn't solve the problem of needing a lot of additional 32-bit dependencies that aren't ultimately used by the only 32-bit binary we want to install from NetworkManager, libnm.so.

Looks like Arch builds as little as possible with the currently available meson options and then deletes everything except libnm.so (https://github.com/archlinux/svntogit-community/blob/packages/lib32-libnm/trunk/PKGBUILD). That's doable if the strategy in this patch is deemed unworkable—an outcome I'm fine with.

Thanks for your time and consideration!

(Everything else with the Meson conversion has been perfectly smooth! \o/)

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: libnm-only