--- title: LibreTime 3.0.0 alpha 2 --- import ReleaseHead from './\_release-head.md'; ## :rocket: Features - Updated [upgrade docs](https://libretime.org/docs/admin-manual/setup/upgrade/) - PHP 7.0 support - Native systemd unit files on all supported distributions ## :bug: Bug fixes - Fix reversed name & description fields in stream 3 additional options - Use file-magic instead of python-magic for working install with distribution packages - Use local angular install on radio page instead of cdn - Allow deleting of initial admin user - Fix git attribute issues with the docs - and some more small stuff ## :fire: Deprecation and removal - The installer distribution selection process has been upgraded and the `--distribution` and `--release` parameters aren't needed anymore. They're still supported for the time being but their use isn't recommended. ### Deprecation of Debian 7 (Wheezy) This info is an early warning that we're deprecating a major os version. Debian 9 (Stretch) is now available and installing LibreTime on Wheezy probably never worked properly out of the box. ## :warning: Known issues The following issues need a workaround for the time being. Please search the [issues](https://github.com/libretime/libretime/issues) before reporting problems not listed below. ### Outdated silan reports unreliable cue in/out information Out of the box the installer installs a broken, outdated version of silan on all Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except CentOS which doesn't have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). You can check the version of silan by running with `silan --version` which should report `0.3.3` or with `sudo dpkg -s silan | awk '/Version/ {print $2}'` that will show the exact package version you installed. Please include this information if you file bugs concerning silan. There are multiple workarounds to this issue and [a bug against the upstream](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855319) has been opened with Debian. Until this is sorted you should pre-install silan from a source you trust. If your distro hasn't updated to 0.3.3 yet you can also help by asking your distros maintainers for a bump. LibreTime is looking for a Debian Maintainer willing to adopt silan. This would be a much appreciated good deed to the open source broadcast community, both terrestrial and online. Your contribution to silan could literally make a difference to millions of listeners daily. The following solutions have been reported to work. #### Silan from OBS build (https://github.com/libretime/libretime/issues/177#issuecomment-299195796) Works for all relevant Debian and Ubuntu distros and installs silan `0.3.3~nmu1`. ```bash sudo apt-get update sudo apt-get install apt-transport-https # install package signing key from obs wget -qO- https://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0/Release.key \ | apt-key add - # add OBS repo to sources list (pick the distro you need) # Debian Wheezy echo 'deb https://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0 ./' \ > /etc/apt/sources.list.d/hairmare_silan.list # Debian Jessie echo 'deb https://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_8.0 ./' \ > /etc/apt/sources.list.d/hairmare_silan.list # Ubuntu Trusty echo 'deb https://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_14.04 ./' \ > /etc/apt/sources.list.d/hairmare_silan.list # Ubuntu Xenial echo 'deb https://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_16.04 ./' \ > /etc/apt/sources.list.d/hairmare_silan.list # update local package database apt-get update # install silan 0.3.3 from obs packages apt-get install silan ``` #### Local armhf builds for Raspberry Pi 3 (https://github.com/libretime/libretime/issues/214#issuecomment-305988355) Since build.opensuse.org can't build Debian packages on arm due to missing dependencies, the `0.3.3~nmu1` arm package was built in a docker crossdev environment. This is reported to work on Debian Jessie on a Raspberry Pi 3 Model B. ```bash curl -L -O https://github.com/libretime/libretime/files/1049738/silan_0.3.3.nmu1_armhf.deb.tar.gz tar xvf silan_0.3.3.nmu1_armhf.deb.tar.gz sudo dpkg -i silan_0.3.3~nmu1_armhf.deb ``` #### Legacy upstream silan packages (https://github.com/libretime/libretime/issues/197) Legacy upstream hosts patched packages for Ubuntu Trusty on `apt.sourcefabric.org`. They install as `0.3.2~trusty~sfo-1`. ```bash sudo apt-get update sudo apt-get install apt-transport-https sudo tee -a /etc/apt/sources.list <= 1.3.0 Support LibreTime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](https://www.liquidsoap.info/) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](https://build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.1` installed. You can check your liquidsoap version by running `liquidsoap --version`. If you already have liquidsoap >= 1.3.0 you have a couple of options. #### Liquidsoap 1.3.0 Patchset (#192) You can patch your installation of LibreTime to support liquidsoap 1.3.0. An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. ```bash cd libretime-3.0.0-alpha.2/ curl -L https://github.com/libretime/libretime/compare/main...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 ``` Git users can pull from the branch at https://github.com/libretime/libretime/compare/main...radiorabe:feature/liquidsoap-1.3.0 directly. #### Install old liquidsoap from opam (#192) You can downgrade an OPAM install of liquidsoap by running the following command. ```bash opam install "liquidsoap<1.3.0" ``` ## :memo: Colophon I made some [git of theseus graphs](https://erikbern.com/2016/12/05/the-half-life-of-code.html) on the history of LibreTime. What makes these interesting is that the project started in CVS, was migrated to Subversion and then to Git the commit history always being preserved. Let's have a look down the shoulders of the giants we're standing on. ![stack_plot](https://user-images.githubusercontent.com/116588/26903309-efa373ce-4bdc-11e7-8ce7-c60a72635639.png) [More GoT graphs](https://github.com/libretime/libretime/wiki/Git-of-Theseus) can be found in [the wiki](https://github.com/libretime/libretime/wiki). I didn't originally know that the code started out as not much PHP (`0e968e62887f3f87f5e90845867dd90c8950deb1`), with C++ making an early entry soon after (`9c60b17e7e9e9830f103d387780bee555c0283b4`). At the time (2004) LibreTime seems to have been called livesupport. In 2006(ish) it was rebranded to CampCaster (`fe31d2dfabc83f57d7a5dbb1864022dca76fd604`), with the rename to Airtime being worked on somewhere in 2010 (`169c4ec214659876d797c025793cb8bd45e088c3`).