Skip to content

[Bug]: "not installing shadowed plugin" when using macOS app bundle packaging. #1450

@jglogan

Description

@jglogan

I have done the following

  • I have searched the existing issues
  • If possible, I've reproduced the issue using the 'main' branch of this project

Steps to reproduce

When doing macOS bundle packaging, it's necessary to take a CLI-tool-unfriendly structure like this:

./Contents/MacOS/container
./Contents/MacOS/container-apiserver
./Contents/Resources/plugins/container-core-images.app/Contents/MacOS/container-core-images
./Contents/Resources/plugins/container-core-images.app/Contents/Resources/config.json
./Contents/Resources/plugins/container-core-images.app/Contents/Resources/config.toml
./Contents/Resources/plugins/container-core-images.app/Contents/Info.plist
./Contents/Resources/plugins/container-network-vmnet.app/Contents/MacOS/container-network-vmnet
./Contents/Resources/plugins/container-network-vmnet.app/Contents/Resources/config.toml
./Contents/Resources/plugins/container-network-vmnet.app/Contents/Info.plist
./Contents/Resources/plugins/container-runtime-linux.app/Contents/MacOS/container-runtime-linux
./Contents/Resources/plugins/container-runtime-linux.app/Contents/Resources/config.toml
./Contents/Resources/plugins/container-runtime-linux.app/Contents/Info.plist
./Contents/Info.plist

And create symlinks from a linux install hierarchy:

bin/container -> ${BUNDLE_ROOT}/Contents/MacOS/container
bin/container-apiserver -> ${BUNDLE_ROOT}/Contents/MacOS/container-apiserver

And then copy the unpackaged bundle-structured plugin hierarchy to libexec to match what's done with the normal make install structure equivalent to the command:

cp -a ${BUNDLE_ROOT}/Contents/Resources/plugins libexec/container/plugins

If you then start the system and look at the logs, you'll see the plugin loader complain with messages like:

2026-04-24 20:11:51.776063-0700 0x541dca   Default     0x0                  54410  0    container-apiserver: [com.apple.container:APIServer] not installing shadowed plugin [path=/usr/local/libexec/container/plugins/container-runtime-linux.app] [name=container-runtime-linux]

These messages are distracting and suggest that the plugin loader isn't working as it should.

Problem description

See above

Environment

- OS: 26
- Xcode: 26
- Container: main

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions