This changes the Vagrant setup to support multiple installations as multiple boxes. In addition to Ubuntu Vagrant can now be used to install on Debian as well as on CentOS. I took the chance to clean up the .deb install a bit and backported analyzer and celery to SysV proper so it runs there. Some of the distro specfics were moved to the install script from the python setup scripts to acheive this. For the CentOS support I added a rather involved OS prepare script. In the long term this will be added to the preparing-the-server docs we already have. I had to switch the default port to http-alt (8080). On CentOS 9080 is registered for ocsp and getting it to work for apache without hacking SELinux is hard. I think 8080 is the RFC way to go anyhow. If anyone want to override this it should be rather easy using the --web-port arg and by hacking Vagrantfile. The PyOpenSSL code has been refactored for all the distros that the Vagrantfile now supports. As far as my checks go, I tried this code with all the distros, uploaded a track and downloaded a unicode and a ssl podcast and was able to listen to them in each case. In the experimental CentOS case, the UI is not up to spec since services need to get scheduled through systemctl and the status overview (ie. on the /?config page) do not work properly. They need to be as follows: ``` sudo systemctl start airtime-playout sudo systemctl start airtime-liquidsoap sudo systemctl start airtime_analyzer.service sudo systemctl start airtime-celery.service ``` |
||
---|---|---|
airtime_mvc | ||
dev_tools | ||
docs | ||
installer | ||
python_apps | ||
tests | ||
travis | ||
utils | ||
.gitignore | ||
.travis.yml | ||
.zfproject.xml | ||
CONTRIBUTING.md | ||
CREDITS | ||
LICENSE | ||
LICENSE_3RD_PARTY | ||
README | ||
README.md | ||
Vagrantfile | ||
build.sh | ||
changelog | ||
composer.json | ||
composer.lock | ||
install | ||
mkdocs.yml | ||
uninstall |
README.md
LibreTime
LibreTime is a community managed fork of the AirTime project.
It is managed by a friendly inclusive community of stations from around the globe that use, document and improve LibreTime. Join us in fixing bugs and in defining how we manage the codebase going forward.
We are currently ramping up development on this repository.
Please note that LibreTime is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Please submit enhancements, bugfixes or comments via GitHub.
Development Process
The LibreTime follows the standardized Collective Code Construction Contract (C4). Its abstract is provided here.
C4 provides a standard process for contributing, evaluating and discussing improvements on software projects. It defines specific technical requirements for projects like a style guide, unit tests, git and similar platforms. It also establishes different personas for projects, with clear and distinct duties. C4 specifies a process for documenting and discussing issues including seeking consensus and clear descriptions, use of "pull requests" and systematic reviews.
The full text of the contract is licensed under the GPL and available at the above link courtesy of the ZeroMQ community.
Releasing
The LibreTime maintainers release new versions of LibreTime at regular intervals. We follow the Semantic Versioning standards.
In a nutshell, given a version number MAJOR.MINOR.PATCH we increment the:
- MAJOR version when we make incompatible API changes,
- MINOR version when we add functionality in a backwards-compatible manner, and
- PATCH version when we make backwards-compatible bug fixes.
Given the history of the project we will be starting with version 3.0.0.
Stay tuned for early alphas and lots of betas as we get development up and running.
License
LibreTime is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
Copyright
Copyright (c) 2011-2017 Sourcefabric z.ú.
Copyright (c) 2017 LibreTime Community
Please refer to the original README, CREDITS and LICENSE_3RD_PARTY for more information.