Fix Info.plist system properties for symlinked `container`. by jglogan · Pull Request #859 · apple/container

@jglogan

- Regular `Bundle.main.infoDictionary` doesn't work in
  this case.
- Load bundle using location presuming binary is under
  `Contents/MacOS`.

@jglogan

adityaramani

@jglogan jglogan deleted the properties-infoplist branch

November 7, 2025 17:39

jglogan added a commit to jglogan/container that referenced this pull request

Nov 10, 2025
- apple#859 added the traversal necessary to load the app
  bundle but forgot to resolve symlinks. This fix adds
  the resolution, making it possible to get default
  system properties from an app bundle Info.plist even
  if the user invokes a command from, for example,
  `/usr/local/bin/container` which is a symlink to the
  actual install path of the bundle.

jglogan added a commit that referenced this pull request

Nov 10, 2025
- #859 added the traversal necessary to load the app bundle but forgot
to resolve symlinks. This fix adds the resolution, making it possible to
get default system properties from an app bundle Info.plist even if the
user invokes a command from, for example, `/usr/local/bin/container`
which is a symlink to the actual install path of the bundle.
- Also fixes bugs where an incorrect executable path was supplied in
some calls.
- Breaking change: `CommandLine.executablePathUrl` extension moved from
ContainerPlugin to ContainerVersion.

saehejkang pushed a commit to saehejkang/container that referenced this pull request

Jan 27, 2026
- Regular `Bundle.main.infoDictionary` doesn't work in this case.
- Load bundle using location presuming binary is under `Contents/MacOS`.

saehejkang pushed a commit to saehejkang/container that referenced this pull request

Jan 27, 2026
- apple#859 added the traversal necessary to load the app bundle but forgot
to resolve symlinks. This fix adds the resolution, making it possible to
get default system properties from an app bundle Info.plist even if the
user invokes a command from, for example, `/usr/local/bin/container`
which is a symlink to the actual install path of the bundle.
- Also fixes bugs where an incorrect executable path was supplied in
some calls.
- Breaking change: `CommandLine.executablePathUrl` extension moved from
ContainerPlugin to ContainerVersion.