summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGianluca Boiano2019-01-22 20:01:55 +0100
committerGianluca Boiano2019-01-22 20:01:55 +0100
commit0f446d7516d97584594210b9ebb91c5ad938a43a (patch)
tree21e4177c9ce632ece3cd8b83dbc281996e4a435c
downloadaur-0f446d7516d97584594210b9ebb91c5ad938a43a.tar.gz
libretime-git: first commit
-rw-r--r--.SRCINFO70
-rw-r--r--PKGBUILD139
-rw-r--r--airtime-liquidsoap.service12
-rw-r--r--airtime-media-monitor.service12
-rw-r--r--airtime-playout.service13
-rw-r--r--airtime.install42
-rw-r--r--airtime.tmpfiles.conf1
7 files changed, 289 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..383bf7bf3faf
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,70 @@
+pkgbase = libretime-git
+ pkgdesc = Open broadcast software for scheduling and station management.
+ pkgver = 2.5.2.1.r84.gf1f4ab742
+ pkgrel = 1
+ url = http://www.libretime.org
+ install = airtime.install
+ arch = i686
+ arch = x86_64
+ license = AGPL
+ makedepends = git
+ makedepends = python2
+ makedepends = python2-setuptools
+ depends = alsa-utils
+ depends = coreutils
+ depends = curl
+ depends = ecasound
+ depends = flac
+ depends = gzip
+ depends = lsof
+ depends = mpg123
+ depends = multitail
+ depends = mutagen
+ depends = patch
+ depends = perl
+ depends = php
+ depends = php-gd
+ depends = php-pgsql
+ depends = portaudio
+ depends = postgresql
+ depends = pwgen
+ depends = python2
+ depends = python2-amqp
+ depends = python2-anyjson
+ depends = python2-argparse
+ depends = python2-configobj
+ depends = python2-docopt
+ depends = python2-kombu
+ depends = python2-pip
+ depends = python2-poster
+ depends = python2-pydispatcher
+ depends = python2-pyinotify
+ depends = python2-pytz
+ depends = python2-virtualenv
+ depends = python2-wsgiref
+ depends = rabbitmq
+ depends = silan
+ depends = sudo
+ depends = tar
+ depends = unzip
+ optdepends = apache: Apache webserver (webserver needed)
+ optdepends = nginx: Nginx webserver (webserver needed)
+ provides = airtime
+ replaces = airtime
+ backup = etc/airtime/airtime.conf
+ backup = etc/airtime/airtime.ini
+ backup = etc/logrotate.d/airtime-liquidsoap
+ backup = etc/logrotate.d/airtime-php
+ source = airtime::git+https://github.com/M0Rf30/airtime
+ source = airtime-media-monitor.service
+ source = airtime-liquidsoap.service
+ source = airtime-playout.service
+ source = airtime.tmpfiles.conf
+ md5sums = SKIP
+ md5sums = f42b444b6b06268a8c8695173b55391c
+ md5sums = 47a2530a9f0b483d9d2bedc4a4430dec
+ md5sums = 93f750480f7c49d72cdcdb10cd97c089
+ md5sums = d9c15aaa7b1da14acc99e047f58aac66
+
+pkgname = libretime-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2468547e9722
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,139 @@
+# Maintainer: robertfoster
+
+pkgname=libretime-git
+pkgver=2.5.2.1.r84.gf1f4ab742
+pkgrel=1
+pkgdesc="Open broadcast software for scheduling and station management."
+arch=('i686' 'x86_64')
+url="http://www.libretime.org"
+license=('AGPL')
+depends=('alsa-utils'
+ 'coreutils'
+ 'curl'
+ 'ecasound'
+ 'flac'
+ 'gzip'
+ 'lsof'
+ 'mpg123'
+ 'multitail'
+ 'mutagen'
+ 'patch'
+ 'perl'
+ 'php'
+ 'php-gd'
+ 'php-pgsql'
+ 'portaudio'
+ 'postgresql'
+ 'pwgen'
+ 'python2'
+ 'python2-amqp'
+ 'python2-anyjson'
+ 'python2-argparse'
+ 'python2-configobj'
+ 'python2-docopt'
+ 'python2-kombu'
+ 'python2-pip'
+ 'python2-poster'
+ 'python2-pydispatcher'
+ 'python2-pyinotify'
+ 'python2-pytz'
+ 'python2-virtualenv'
+ 'python2-wsgiref'
+ 'rabbitmq'
+ 'silan'
+ 'sudo'
+ 'tar'
+ 'unzip'
+)
+
+optdepends=('apache: Apache webserver (webserver needed)'
+ 'nginx: Nginx webserver (webserver needed)')
+
+makedepends=('git' 'python2' 'python2-setuptools')
+provides=('airtime')
+replaces=('airtime')
+backup=('etc/airtime/airtime.conf'
+ 'etc/airtime/airtime.ini'
+ 'etc/logrotate.d/airtime-liquidsoap'
+ 'etc/logrotate.d/airtime-php')
+install=airtime.install
+
+source=("airtime::git+https://github.com/M0Rf30/airtime"
+ 'airtime-media-monitor.service'
+ 'airtime-liquidsoap.service'
+ 'airtime-playout.service'
+ 'airtime.tmpfiles.conf')
+
+branch=2.5.x
+
+package() {
+ cd "$srcdir/airtime"
+
+ web_user=http
+
+msg2 "Creating folders and fixing permissions..."
+ install -d -m755 "${pkgdir}/usr/share/airtime"
+ cp -r "airtime_mvc" "${pkgdir}/usr/share/airtime"
+ cp -r "python_apps" "${pkgdir}/usr/share/airtime"
+ cp -r "utils" "${pkgdir}/usr/share/airtime"
+ install -d -m755 "${pkgdir}/usr/share/doc/airtime/examples/"
+ cp -r "widgets" "${pkgdir}/usr/share/doc/airtime/examples/"
+ install -d -m1777 "${pkgdir}/var/tmp/"
+ install -d -m755 "${pkgdir}/var/tmp/airtime"
+ install -d -m755 "${pkgdir}/var/tmp/airtime/show-recorder/"
+ install -d -m755 "${pkgdir}/var/log/airtime"
+ install -d -m655 "${pkgdir}/etc/airtime"
+ install -d -m755 "${pkgdir}/usr/share/php/"
+
+msg2 "Installing files..."
+ install -D -m644 "CREDITS" "${pkgdir}/usr/share/doc/airtime/CREDITS"
+ install -D -m644 "README" "${pkgdir}/usr/share/doc/airtime/README"
+ install -D -m644 "changelog" "${pkgdir}/usr/share/doc/airtime/changelog"
+ install -D -m644 "LICENSE" "${pkgdir}/usr/share/doc/airtime/LICENSE"
+ install -D -m644 "LICENSE_3RD_PARTY" "${pkgdir}/usr/share/licenses/airtime/LICENSE_3RD_PARTY"
+ install -D -m644 "airtime_mvc/build/airtime.example.conf" "${pkgdir}/etc/airtime/airtime.example.conf"
+ install -D -m644 "airtime_mvc/build/airtime.ini" "${pkgdir}/etc/airtime/airtime.ini"
+
+msg2 "Setting up tmpfiles.d and logrotate.d..."
+ install -D -m644 ../airtime.tmpfiles.conf "${pkgdir}/usr/lib/tmpfiles.d/airtime.conf"
+ install -D -m644 "airtime_mvc/build/airtime-php.logrotate" "${pkgdir}/etc/logrotate.d/airtime-php"
+ install -D -m644 "python_apps/pypo/liquidsoap/airtime-liquidsoap.logrotate" "${pkgdir}/etc/logrotate.d/airtime-liquidsoap"
+
+#msg2 "Symlinking Zend Framework..."
+# ln -sr /usr/share/zendframework/library/ "${pkgdir}/usr/share/php/Zend"
+# ln -sr /usr/share/zendframework/library "${pkgdir}/usr/share/php/libzend-framework-php"
+
+msg2 "Copying Apache and Php confs..."
+ install -D -m644 "installer/php/airtime.ini" "${pkgdir}/etc/php/conf.d/airtime.ini"
+ install -D -m644 "installer/apache/airtime-vhost" "${pkgdir}/etc/httpd/conf/extra/httpd-airtime.conf"
+
+msg2 "Installing systemd services..."
+ install -D -m644 ../airtime-media-monitor.service "${pkgdir}/usr/lib/systemd/system/airtime-media-monitor.service"
+ install -D -m644 ../airtime-liquidsoap.service "${pkgdir}/usr/lib/systemd/system/airtime-liquidsoap.service"
+ install -D -m644 ../airtime-playout.service "${pkgdir}/usr/lib/systemd/system/airtime-playout.service"
+
+msg2 "Setting up python packages..."
+ python2 "python_apps/std_err_override/setup.py" install \
+ --root="${pkgdir}/" --optimize=1 --install-scripts=/usr/bin
+ python2 "python_apps/api_clients/setup.py" install \
+ --root="${pkgdir}/" --optimize=1 --install-scripts=/usr/bin
+ python2 "python_apps/media-monitor/setup.py" install \
+ --root="${pkgdir}/" --optimize=1 --install-scripts=/usr/bin
+ python2 "python_apps/pypo/setup.py" install \
+ --root="${pkgdir}/" --optimize=1 --install-scripts=/usr/bin
+
+msg2 "Fixing permissions..."
+ chown -R ${web_user}:${web_user} "${pkgdir}/var/tmp/airtime"
+ chown -R ${web_user}:${web_user} "${pkgdir}/var/log/airtime"
+}
+
+pkgver() {
+ cd airtime
+ git describe --long --tags | cut -c 9- | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+md5sums=('SKIP'
+ 'f42b444b6b06268a8c8695173b55391c'
+ '47a2530a9f0b483d9d2bedc4a4430dec'
+ '93f750480f7c49d72cdcdb10cd97c089'
+ 'd9c15aaa7b1da14acc99e047f58aac66')
diff --git a/airtime-liquidsoap.service b/airtime-liquidsoap.service
new file mode 100644
index 000000000000..2738bfc30570
--- /dev/null
+++ b/airtime-liquidsoap.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=airtime-liquidsoap daemon
+After=local-fs.target remote-fs.target network.target
+
+[Service]
+Type=simple
+User=root
+ExecStart=/usr/bin/airtime-liquidsoap
+ExecReload=/usr/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/airtime-media-monitor.service b/airtime-media-monitor.service
new file mode 100644
index 000000000000..d2059cea61f8
--- /dev/null
+++ b/airtime-media-monitor.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=airtime-media-monitor daemon
+After=local-fs.target remote-fs.target network.target
+
+[Service]
+Type=simple
+User=root
+ExecStart=/usr/bin/airtime-media-monitor
+ExecReload=/usr/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/airtime-playout.service b/airtime-playout.service
new file mode 100644
index 000000000000..22e4bbcb7faf
--- /dev/null
+++ b/airtime-playout.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=airtime-playout daemon
+After=local-fs.target remote-fs.target network.target
+
+[Service]
+Type=simple
+User=http
+Group=http
+ExecStart=/usr/bin/airtime-playout
+ExecReload=/usr/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/airtime.install b/airtime.install
new file mode 100644
index 000000000000..903b3ad51b6b
--- /dev/null
+++ b/airtime.install
@@ -0,0 +1,42 @@
+post_install() {
+ if type -P systemd-tmpfiles &> /dev/null; then
+ systemd-tmpfiles --create airtime.conf
+ fi
+ echo ">>> In order to get Airtime working, here's what to do."
+ echo ">>> Please refer to Arch Linux wiki for php56 and httpd basic setup."
+ echo ""
+ echo ">> In /etc/httpd/conf/httpd.conf"
+ echo "> uncomment"
+ echo "LoadModule deflate_module modules/mod_deflate.so"
+ echo ""
+ echo "> add the lines:"
+ echo "# Airtime"
+ echo "Include conf/extra/httpd-airtime.conf"
+ echo ""
+ echo ">> In /etc/php/php.ini"
+ echo "> enable the following modules:"
+ echo "bcmath pgsql pdo_pgsql gd posix"
+ echo "> select your timezone:"
+ echo "ex. date.timezone = Europe/Rome"
+ echo ""
+ echo ">> Start rabbitmq"
+ echo "systemctl start rabbitmq"
+ echo ""
+ echo ">> Enable airtime user and vhost on rabbitmq:"
+ echo "sudo -u rabbitmq rabbitmqctl add_user airtime airtime"
+ echo "sudo -u rabbitmq rabbitmqctl add_vhost /airtime"
+ echo "sudo -u rabbitmq rabbitmqctl set_permissions -p /airtime airtime \".*\" \".*\" \".*\""
+ echo ""
+ echo ">> Start PostgreSql as described in Arch Linux Wiki and create an user for airtime"
+ echo ""
+ echo ">> Start Apache"
+ echo "systemctl start httpd"
+ echo ""
+ echo "Follow the steps at http://127.0.0.1:80"
+}
+
+post_upgrade() {
+ if type -P systemd-tmpfiles &> /dev/null; then
+ systemd-tmpfiles --create airtime.conf
+ fi
+}
diff --git a/airtime.tmpfiles.conf b/airtime.tmpfiles.conf
new file mode 100644
index 000000000000..d3906c7c3443
--- /dev/null
+++ b/airtime.tmpfiles.conf
@@ -0,0 +1 @@
+d /run/airtime 0755 http http