diff --git a/CHANGELOG.md b/CHANGELOG.md index e28a52688..88c049ada 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,16 @@ # AmpliPi Software Releases # Future Release + + +## 0.4.10 + * Web App * Fixed internet radio search functionality +* System + * Changed apt source from `http://raspbian.raspberrypi.org/raspbian/` to `http://archive.raspberrypi.org/raspbian/` -# 0.4.9 +## 0.4.9 * System * Update our spotify provider `go-librespot` to `0.5.2` to accomodate spotify's API update diff --git a/docs/imaging_etcher.md b/docs/imaging_etcher.md index c73e94d11..2d9fae256 100644 --- a/docs/imaging_etcher.md +++ b/docs/imaging_etcher.md @@ -5,8 +5,12 @@ * A micro USB cable * Your AmpliPi +## Optional Step: Preserve your config + Assuming you're not reflashing due to a corrupted config, you can make sure to save your configuration file for later upload to save yourself the manual setup post-flash. You can get your configuration file by going to Settings -> Configuration -> Download Config. If you can't reach the app, you can also access it by SSHing in using the credentials on the screen on the front of your unit (username: pi@{IP} ; password: {4 word string on front display}) or through the USB connection that will be achieved in steps 1 , 2, and 4 and then mounting the connected drive. + Once you're in, the config file is at **/home/pi/.config/amplipi/house.json** + ## 1. Get the Latest AmpliPi Image - Download the latest AmpliPi image from [here](https://storage.googleapis.com/amplipi-img/amplipi_0.3.1.img.xz) ([md5sum](https://storage.googleapis.com/amplipi-img/CHECKSUMS), [.sig](https://storage.googleapis.com/amplipi-img/CHECKSUMS.sig)) and save it to your computer. + Download the latest AmpliPi image from [here](https://storage.googleapis.com/amplipi-img/amplipi_0.4.8.img.xz) ([md5sum](https://storage.googleapis.com/amplipi-img/CHECKSUMS), [.sig](https://storage.googleapis.com/amplipi-img/CHECKSUMS.sig)) and save it to your computer. ## 2. Get RPIBoot Download and install the latest version of RPIBoot from [here](https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe) on windows, otherwise refer to the instructions for [building RPIBoot](https://github.com/raspberrypi/usbboot#building). @@ -17,7 +21,7 @@ Download and install (if necessary) the latest version of Etcher from [etcher.io ## 4. Connect your AmpliPi to your computer **VERY IMPORTANT:** Please connect the USB cable to your computer FIRST before connecting the other side of the cable to the service port of the AmpliPro. Certain older units with TFT displays (not EINK) were susceptible to ESD damage on the USB service port. Connecting the cable to the computer first will mitigate this risk. - + Unplug your AmpliPi from power and then connect your AmpliPi to your computer via the service port using the micro USB cable. Once connected, plug your AmpliPi back into power. ![connected to service port](imgs/flashing/plugged_sp.jpg) diff --git a/pyproject.toml b/pyproject.toml index bdd40f49c..199349b31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "amplipi" -version = "0.4.9" +version = "0.4.10" description = "A Pi-based whole house audio controller" authors = [ "Lincoln Lorenz ", diff --git a/scripts/configure.py b/scripts/configure.py index 69ccb1c36..0acc9281d 100755 --- a/scripts/configure.py +++ b/scripts/configure.py @@ -459,11 +459,21 @@ def print_progress(tasks): progress(tasks) return tasks tasks = [] + + # Comment out deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi from /etc/apt/sources.list to avoid hitting up a now empty apt source + tasks += print_progress([Task('Deactivate apt updates for outdated OS', + args='file=/etc/apt/sources.list; ' + 'if grep -q "buster" "$file" && [ "$(head -c 1 "$file")" != "#" ]; then ' # If file is for rasbian buster and the first line isn't already commented out, comment out the first line + ' sudo sed -i "s@^deb http://raspbian.raspberrypi.org/raspbian/ buster@#deb http://raspbian.raspberrypi.org/raspbian/ buster@g" "$file"; ' + 'fi', + shell=True + ).run()]) + # TODO: add extra apt repos # find latest apt packages. --allow-releaseinfo-change automatically allows the following change: # Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable' tasks += print_progress([Task('get latest debian packages', - 'sudo apt-get update --allow-releaseinfo-change'.split()).run()]) + 'sudo apt-get update --allow-releaseinfo-change'.split()).run()]) # Upgrade current packages print_progress( @@ -1201,6 +1211,15 @@ def failed(): return True return False + # Find the version number line, break off the version= portion, then split on the decimals to separate major, middle, and minor revisions + version = re.search(r'version=(\d+\.\d+\.\d+)', str(_check_version('http://0.0.0.0/api').output)).group(1).split(".") + # Example output: + # using: http://0.0.0.0/api + # version=0.3.1 + if int(version[0]) == 0 and int(version[1]) < 4: # Is the version less than version 0.4.0? + print("Your version is too old to update automatically, please update manually using this guide: https://github.com/micro-nova/AmpliPi/blob/main/docs/imaging_etcher.md") + return False + env = _check_and_setup_platform(development, ci_mode) if not env['platform_supported'] and not development: tasks[0].output = f'untested platform: {platform.platform()}. Please fix this script and make a PR to github.com/micro-nova/AmpliPi'