From 3ad2be52a7098c269d741f8d59a424afdbd7302d Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Wed, 20 May 2020 11:09:13 -0400 Subject: CLI: Improve experience when running `qmk setup` on FreeBSD. (#8798) * CLI: Improve experience when running `qmk setup` on FreeBSD. * Install the `avrdude` package as well. * Switch to installing python packages w/ `--user` flag. * Basic getting started sections for FreeBSD. * Update `util/freebsd_install.sh` for root/non-root branches. * Add ID to doc section. Co-Authored-By: skullydazed * Add ID to another docs section. Co-Authored-By: skullydazed * Use `; then` in script for consistency. Co-Authored-By: skullydazed * Updated to use sudo in one shot if available. * Apply suggestions from code review Co-authored-by: Erovia * Style fixes for latest version in master. * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: skullydazed Co-authored-by: Erovia Co-authored-by: Ryan --- docs/newbs_getting_started.md | 21 +++++++++++++++++++-- util/freebsd_install.sh | 26 ++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index 13b25bf86a..83df2f3050 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -69,10 +69,21 @@ You will need to install Git and Python. It's very likely that you already have * Fedora / Red Hat / CentOS: `sudo yum install git python3 python3-pip` * Arch / Manjaro: `sudo pacman -S git python python-pip python-setuptools libffi` - Install the global CLI to bootstrap your system: - `python3 -m pip install --user qmk` (on Arch-based distros you can also try the `qmk` package from AUR (**note**: it's maintained by a community member): `yay -S qmk`) +`python3 -m pip install --user qmk` (on Arch-based distros you can also try the `qmk` package from AUR (**note**: it's maintained by a community member): `yay -S qmk`) + +### FreeBSD + +You will need to install Git and Python. It's possible that you already have both, but if not, run the following commands to install them: + + pkg install git python3 + +Make sure that `$HOME/.local/bin` is added to your `$PATH` so that locally install Python packages are available. + +Once installed, you can install QMK CLI: + + python3 -m pip install --user qmk ## 3. Run QMK Setup :id=set-up-qmk @@ -88,6 +99,12 @@ This is due to a [bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155) Sadly, Ubuntu reitroduced this bug and is [yet to fix it](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562). Luckily, the fix is easy. Run this as your user: `echo "PATH=$HOME/.local/bin:$PATH" >> $HOME/.bashrc && source $HOME/.bashrc` +?>**Note on FreeBSD**: +It is suggested to run `qmk setup` as a non-`root` user to start with, but this will likely identify packages that need to be installed to your +base system using `pkg`. However the installation will probably fail when run as an unprivileged user. +To manually install the base dependencies, run `./util/qmk_install.sh` either as `root`, or with `sudo`. +Once that completes, re-run `qmk setup` to complete the setup and checks. + ?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup /qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message. ## 4. Test Your Build Environment diff --git a/util/freebsd_install.sh b/util/freebsd_install.sh index 8157592031..09669024cc 100755 --- a/util/freebsd_install.sh +++ b/util/freebsd_install.sh @@ -1,7 +1,5 @@ #!/bin/sh -util_dir=$(dirname "$0") -pkg update -pkg install -y \ +packages=$(cat < /dev/null 2>&1; then + sudo pkg update + sudp pkg install -y ${packages} + else + echo "Make sure you run setup as root first to install base OS dependencies..." + echo "" + fi + + python3 -m pip install --user -r ${util_dir}/../requirements.txt +fi -- cgit v1.2.3