github.com/containers/podman/v5@v5.1.0-rc1/build_osx.md (about)

     1  # Building the Podman client on macOS
     2  
     3  The following describes the process for building the Podman client on macOS.
     4  
     5  ## Install brew
     6  Podman requires brew -- a package manager for macOS.  This will allow additional packages to be installed that are
     7  needed by Podman.  See the [brew project page](https://brew.sh/) for installation instructions.
     8  
     9  ## Install build dependencies
    10  Podman requires some software from brew to be able to build.  This can be done using brew from a macOS terminal:
    11  
    12  ```
    13  $ brew install go go-md2man
    14  ```
    15  
    16  ## Obtain Podman source code
    17  
    18  You can obtain the latest source code for Podman from its github repository.
    19  
    20  ```
    21  $ git clone https://github.com/containers/podman go/src/github.com/containers/podman
    22  ```
    23  
    24  ## Build client
    25  After completing the preparatory steps of obtaining the Podman source code and installing its dependencies, the client
    26  can now be built.
    27  
    28  ```
    29  $ cd go/src/github.com/containers/podman
    30  $ make podman-remote
    31  $ mv bin/darwin/podman bin/podman
    32  ```
    33  
    34  The binary will be located in bin/
    35  ```
    36  $ ls -l bin/
    37  ```
    38  
    39  ### Using gvproxy from homebrew, with podman from git
    40  
    41  Recent podman builds depend on a `gvproxy` binary which comes from [containers/gvisor-tap-vsock](https://github.com/containers/gvisor-tap-vsock).  A common development scenario may be using the podman desktop app as a baseline, with a development
    42  binary of `podman` you build from git.  To ensure that the podman you build here can find the gvproxy installed from podman desktop, use:
    43  
    44  `make podman-remote HELPER_BINARIES_DIR=/opt/podman/bin`
    45  
    46  (Also note that because the `Makefile` rules do not correctly invalidate the binary when this variable changes,
    47   so if you already have a build you'll need to `rm bin/darwin/podman` first if you have an existing build).
    48  
    49  Alternatively, you can set `helper_binaries_dir=` in `~/.config/containers/containers.conf`.
    50  
    51  ### Building docs
    52  
    53  If you would like to build the docs associated with Podman on macOS:
    54  ```
    55  $ make podman-remote-darwin-docs
    56  $ ls docs/build/remote/darwin
    57  ```
    58  
    59  To install and view these manpages:
    60  
    61  ```
    62  $ cp -a docs/build/remote/darwin/* /usr/share/man/man1
    63  $ man podman
    64  ```
    65  
    66  ## Using the client
    67  
    68  To learn how to use the Podman client, refer to its
    69  [tutorial](https://github.com/containers/podman/blob/main/docs/tutorials/remote_client.md).