Skip to content

Update libsodium to 1.0.9 - #1

Closed
woobs wants to merge 1 commit into
Homebrew:masterfrom
woobs:libsodium
Closed

Update libsodium to 1.0.9#1
woobs wants to merge 1 commit into
Homebrew:masterfrom
woobs:libsodium

Conversation

@woobs

@woobs woobs commented Apr 2, 2016

Copy link
Copy Markdown
Contributor

No description provided.

@woobs

woobs commented Apr 2, 2016

Copy link
Copy Markdown
Contributor Author

Wrong repo

@woobs woobs closed this Apr 2, 2016
@mietek mietek mentioned this pull request Apr 19, 2016
@marek-step marek-step mentioned this pull request Jun 13, 2016
@cclauss cclauss mentioned this pull request Jun 27, 2016
4 tasks
@varunkworld varunkworld mentioned this pull request Sep 15, 2016
3 tasks
@ilovezfs ilovezfs mentioned this pull request Jun 2, 2017
4 tasks
@Homebrew Homebrew locked and limited conversation to collaborators May 4, 2018
bevanjkay pushed a commit to ascarter/homebrew-core that referenced this pull request Jun 10, 2026
Two related regressions in 1.0.0 prevent `container system start` from
completing:

1. The previous formula patched
   Sources/ContainerPlugin/InstallRoot.swift via `inreplace` to hard-code
   the keg prefix as the install root. Upstream PR apple/container#1558
   (May 2026) renamed the symbols the inreplace targeted
   (`CommandLine.executablePathUrl` ->`executablePath`,
   `deletingLastPathComponent` -> `removingLastComponent`), so the
   substitution silently became a no-op when 1.0.0 was bumped. The
   apiserver now resolves its install root as the lexical grandparent of
   the running executable without symlink resolution, which on
   /opt/homebrew/bin/container lands at /opt/homebrew rather than the
   keg, where no `libexec/container-plugins` directory exists. The
   apiserver crash-loops with "cannot find any plugins with type
   network" and `container system start` hangs at "Testing access to
   container-apiserver...".

   Fix this without patching upstream sources by installing the binaries
   to libexec/ and using `bin.env_script_all_files` to generate shim
   wrappers in bin/ that `exec` the real binaries via their absolute
   keg path. The kernel-reported executable path now has `opt_prefix` as
   its lexical grandparent, putting the plugin search exactly on top of
   `opt_prefix/libexec/container-plugins/`. The wrappers also export
   `CONTAINER_INSTALL_ROOT=opt_prefix` for the code paths that honor the
   environment variable.

2. The 1.0.0 release added a new `machine-apiserver` plugin
   (apple/container#1662, "container machine") under
   Sources/Plugins/MachineAPIServer that the formula never picks up.
   `container system start` fails at the "Verifying machine API server
   is running" step without it, so it must ship together with fix Homebrew#1
   for the start command to succeed at all.

Refactor the plugin installation loop to a data-driven structure so
adding the new plugin (with its config.toml plus init and
create-user.sh resources from Sources/Plugins/MachineAPIServer/Resources/)
is a one-line addition. Codesigning mirrors what the upstream Makefile
does for that binary (--prefix only, no entitlements; no
`signing/machine-apiserver.entitlements` exists upstream).

Verified locally with:

  brew install --build-from-source container
  brew test container
  brew audit --strict container
  container system start
  container list
  container machine list
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant