diff --git a/README.md b/README.md index afa013dc..21f4c35d 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,8 @@ ACME is the protocol used by Let's Encrypt to automate the issuance of HTTPS cer These instructions will install an OS specific version of the `step-ca` binary on your local machine. +Want to build from source? See [our contributor's guide](./docs/CONTRIBUTING.md) + ### Mac OS Install `step` and `step-ca` together, via [Homebrew](https://brew.sh/): diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 38810c48..93749026 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -16,18 +16,64 @@ to manage issues, etc. ## Building From Source +Clone this repository to get a bleeding-edge build, +or download the source archive for [the latest stable release](https://github.com/smallstep/certificates/releases/latest). + +### Build a standard `step-ca` + The only prerequisites are [`go`](https://golang.org/) and make. To build from source: make bootstrap && make +Find your binaries in `bin/`. + +### Build `step-ca` using CGO + +#### The CGO build enables PKCS #11 and YubiKey PIV support + +To build the CGO version of `step-ca`, you will need [`go`](https://golang.org/), make, and a C compiler. + +You'll also need PCSC support on your operating system, as required by the `go-piv` module. +On Linux, the [`libpcsclite-dev`](https://pcsclite.apdu.fr/) package provides PCSC support. +On macOS and Windows, PCSC support is built into the OS. + +#### 1. Install PCSC support + +On Debian-based distributions, run: + +```shell +sudo apt-get install libpcsclite-dev +``` + +On Fedora: + +```shell +sudo yum install pcsc-lite-devel +``` + +On CentOS: + +``` +sudo yum install 'dnf-command(config-manager)' +sudo yum config-manager --set-enabled PowerTools +sudo yum install pcsc-lite-devel +``` + +#### 2. Build `step-ca` + +To build `step-ca`, clone this repository and run the following: + +```shell +make bootstrap && make build GOFLAGS="" +``` + +When the build is complete, you will find binaries in `bin/`. ## Asking Support Questions -Users and developers can ask questions over email (info@smallstep.com) or -[twitter](https://twitter.com/smallsteplabs). Please don't use the GitHub -issue tracker to ask questions. +Feel free to post a question on our [GitHub Discussions](https://github.com/smallstep/certificates/discussions) page, or find us on [Gitter](https://gitter.im/smallstep/community). ## Reporting Issues