summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMoritz Kaspar Rudert (mortzu)2015-05-21 14:40:42 +0200
committerMoritz Kaspar Rudert (mortzu)2015-05-21 14:40:42 +0200
commita95ff667efbb130fa1d1d94251d636bd8b810c39 (patch)
treea51b6d1c2026f6071d18b06aace0e0f0e05eaa99
downloadaur-a95ff667efbb130fa1d1d94251d636bd8b810c39.tar.gz
initial commit
-rw-r--r--.SRCINFO45
-rw-r--r--PKGBUILD56
-rw-r--r--coherence.conf94
-rw-r--r--coherence.service11
-rw-r--r--coherence_pidfile.patch17
-rw-r--r--org.Coherence.service3
-rw-r--r--samsung.patch22
7 files changed, 248 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ef163ef6feeb
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,45 @@
+pkgbase = coherence
+ pkgdesc = A DLNA/UPnP MediaServer and MediaRenderer
+ pkgver = 0.6.6.2
+ pkgrel = 4
+ url = http://coherence.beebits.net/
+ arch = i686
+ arch = x86_64
+ license = MIT
+ makedepends = python2-distribute
+ depends = python2
+ depends = epsilon
+ depends = axiom
+ depends = twisted-web2
+ depends = python-elementtree
+ depends = python2-configobj
+ depends = pylouie
+ depends = libcaca
+ optdepends = ampache: for the Ampache Backend
+ optdepends = gstreamer0.10-python: for the gstreamer MediaRenderer
+ optdepends = libmtag: for MediaStore Backend ID3 Option A
+ optdepends = pyid3lib: for MediaStore Backend ID3 Option B
+ optdepends = python-gdata: for the Picasa and YouTube Backends
+ optdepends = python-mechanize: for the Flickr Backend
+ optdepends = rhythmbox: for the Rhythmbox DB Backend
+ optdepends = taglib: for MediaStore Backend ID3 Option A or C
+ optdepends = tagpy: for MediaStore Backend ID3 Option C
+ optdepends = tracker: for the TrackerStore Backend
+ optdepends = dvb-daemon: for the DVB Daemon Backend (no package yet)
+ conflicts = coherence-svn
+ backup = etc/coherence.conf
+ source = http://coherence.beebits.net/download/Coherence-0.6.6.2.tar.gz
+ source = coherence.conf
+ source = coherence.service
+ source = coherence_pidfile.patch
+ source = samsung.patch
+ source = org.Coherence.service
+ md5sums = d7a1b4abf6831c61e37a3b9e2bdc560a
+ md5sums = 9a2fd979a83a4f4ceb6fd3564cdeda86
+ md5sums = c43416ac2fb8a8195917a7e23b806c7d
+ md5sums = b12f5f89fe34e48267c6c6e7cab5a4f4
+ md5sums = 039d4b84c0f0d023d9e9519fba1b101e
+ md5sums = ed11837f08988600e5aac0caf8e5221a
+
+pkgname = coherence
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..d0ef6a79989c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Philipp 'TamCore' B. <philipp [at] tamcore [dot] eu>
+# Contributor: Paul Nicholson <brenix@gmail.com>
+# Contributor: Nick B <Shirakawasuna at gmail _dot_com>
+# Contributor: Alex Anthony <alex.anthony28991@googlemail.com>
+# Based on coherence-svn by Jon Kristian Nilsen <jokr.nilsen@gmail.com>
+
+pkgname=coherence
+pkgver=0.6.6.2
+pkgrel=4
+pkgdesc="A DLNA/UPnP MediaServer and MediaRenderer"
+arch=('i686' 'x86_64')
+url="http://coherence.beebits.net/"
+license=('MIT')
+depends=('python2' 'epsilon' 'axiom' 'twisted-web2' 'python-elementtree' 'python2-configobj' 'pylouie' 'libcaca')
+optdepends=('ampache: for the Ampache Backend'
+ 'gstreamer0.10-python: for the gstreamer MediaRenderer'
+ 'libmtag: for MediaStore Backend ID3 Option A'
+ 'pyid3lib: for MediaStore Backend ID3 Option B'
+ 'python-gdata: for the Picasa and YouTube Backends'
+ 'python-mechanize: for the Flickr Backend'
+ 'rhythmbox: for the Rhythmbox DB Backend'
+ 'taglib: for MediaStore Backend ID3 Option A or C'
+ 'tagpy: for MediaStore Backend ID3 Option C'
+ 'tracker: for the TrackerStore Backend'
+ 'dvb-daemon: for the DVB Daemon Backend (no package yet)')
+makedepends=('python2-distribute')
+conflicts=('coherence-svn')
+source=(http://coherence.beebits.net/download/Coherence-${pkgver}.tar.gz
+ coherence.conf
+ coherence.service
+ coherence_pidfile.patch
+ samsung.patch
+ org.Coherence.service)
+backup=('etc/coherence.conf')
+md5sums=('d7a1b4abf6831c61e37a3b9e2bdc560a'
+ '9a2fd979a83a4f4ceb6fd3564cdeda86'
+ 'c43416ac2fb8a8195917a7e23b806c7d'
+ 'b12f5f89fe34e48267c6c6e7cab5a4f4'
+ '039d4b84c0f0d023d9e9519fba1b101e'
+ 'ed11837f08988600e5aac0caf8e5221a')
+
+prepare() {
+ cd "Coherence-$pkgver"
+
+ patch -Np0 -i "$srcdir/samsung.patch"
+ patch -p1 -i "$srcdir/coherence_pidfile.patch"
+}
+
+package() {
+ cd "Coherence-$pkgver"
+
+ python2 setup.py install --prefix=/usr --root="$pkgdir"
+
+ install -Dm644 "$srcdir/org.Coherence.service" "$pkgdir/usr/share/dbus-1/services/org.Coherence.service"
+ install -Dm644 "$srcdir/Coherence-$pkgver/LICENCE" "$pkgdir/usr/share/licenses/coherence/LICENSE"
+}
diff --git a/coherence.conf b/coherence.conf
new file mode 100644
index 000000000000..517fcc2126a3
--- /dev/null
+++ b/coherence.conf
@@ -0,0 +1,94 @@
+<config>
+ <logging level="warn">
+ <logfile>/var/log/coherence.log</logfile>
+ </logging>
+ <controlpoint>no</controlpoint>
+ <use_dbus>no</use_dbus>
+ <web-ui>no</web-ui>
+ <serverport>41932</serverport>
+ <interface>eth0</interface>
+ <transcoding>no</transcoding>
+
+
+<!-- Movies -->
+ <plugin active="yes">
+ <name>Videos</name>
+ <content>/mnt/media/movies/,/home/user/downloads/</content>
+ <backend>FSStore</backend>
+ </plugin>
+
+<!-- Music -->
+ <plugin active="yes">
+ <name>Music</name>
+ <backend>MediaStore</backend>
+ <medialocation>/mnt/media/music/</medialocation>
+ <coverlocation>/mnt/media/music/covers/</coverlocation>
+ <mediadb>/tmp/media.db</mediadb>
+ <icon>
+ <mimetype>image/png</mimetype>
+ <width>120</width>
+ <height>106</height>
+ <depth>24</depth>
+ <url>coherence-icon.png</url>
+ </icon>
+ </plugin>
+
+ <plugin active="no">
+ <name>GStreamer Audio Player</name>
+ <backend>GStreamerPlayer</backend>
+ </plugin>
+
+ <plugin active="no">
+ <name>Elisa</name>
+ <backend>ElisaPlayer</backend>
+ <host>localhost</host>
+ </plugin>
+
+ <plugin active="no">
+ <name>iRadio</name>
+ <backend>IRadioStore</backend>
+ </plugin>
+
+ <plugin active="no">
+ <name>Flickr Images</name>
+ <backend>FlickrStore</backend>
+ <refresh>60</refresh>
+ <proxy>yes</proxy>
+ <icon>
+ <mimetype>image/png</mimetype>
+ <width>98</width>
+ <height>26</height>
+ <depth>24</depth>
+ <url>flickr-icon.png</url>
+ </icon>
+ </plugin>
+
+ <plugin active="no">
+ <name>Elisa is watching you</name>
+ <backend>AxisCamStore</backend>
+ <cam>
+ <name>Cam 1</name>
+ <url>http://192.168.1.222:554/mpeg4/1/media.amp</url>
+ <protocol>rtsp-rtp-udp:*:video/MP4V-ES:*</protocol>
+ </cam>
+ <cam>
+ <name>Cam 2</name>
+ <url>http://192.168.1.222:554/mpeg4/2/media.amp</url>
+ <protocol>rtsp-rtp-udp:*:video/MP4V-ES:*</protocol>
+ </cam>
+ </plugin>
+
+ <plugin active="no">
+ <name>Buzztard Media</name>
+ <backend>BuzztardStore</backend>
+ <host>localhost</host>
+ <port>7654</port>
+ </plugin>
+
+ <plugin active="no">
+ <name>Buzztard Player</name>
+ <backend>BuzztardPlayer</backend>
+ <host>localhost</host>
+ <port>7654</port>
+ </plugin>
+</config>
diff --git a/coherence.service b/coherence.service
new file mode 100644
index 000000000000..f63470e008c5
--- /dev/null
+++ b/coherence.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=coherence
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/coherence -d -c /etc/coherence.conf
+PIDFile=/run/coherence.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/coherence_pidfile.patch b/coherence_pidfile.patch
new file mode 100644
index 000000000000..96be5a0afef7
--- /dev/null
+++ b/coherence_pidfile.patch
@@ -0,0 +1,17 @@
+--- Coherence-0.6.6.2.orig/bin/coherence 2010-01-02 16:10:19.000000000 +0100
++++ Coherence-0.6.6.2/bin/coherence 2013-05-19 01:25:58.069676227 +0200
+@@ -33,6 +33,14 @@
+ if os.fork(): # launch child and...
+ os._exit(0) # kill off parent again.
+ os.umask(077)
++
++ pidfile = open('/run/coherence.pid', 'a+')
++ pidfile.truncate()
++ pidfile.write(str(os.getpid()))
++ pidfile.flush()
++ pidfile.seek(0)
++ pidfile.close()
++
+ null=os.open('/dev/null', os.O_RDWR)
+ for i in range(3):
+ try:
diff --git a/org.Coherence.service b/org.Coherence.service
new file mode 100644
index 000000000000..7d21af9ff948
--- /dev/null
+++ b/org.Coherence.service
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.Coherence
+Exec=/usr/bin/coherence -o use_dbus:yes -o controlpoint:yes
diff --git a/samsung.patch b/samsung.patch
new file mode 100644
index 000000000000..06c76576da8d
--- /dev/null
+++ b/samsung.patch
@@ -0,0 +1,22 @@
++++ coherence/upnp/core/DIDLLite.py 2010-10-24 16:09:53.218250816 -0700
+@@ -190,6 +190,10 @@
+ additional_info = ['*']
+ if content_format == 'video/x-ms-wmv':
+ additional_info = ['DLNA.ORG_PN=WMV_BASE']+simple_dlna_tags
++ if content_format in ['video/avi', 'video/divx']:
++ additional_info = ['DLNA.ORG_PN=AVI']+simple_dlna_tags
++ if content_format == 'video/quicktime':
++ additional_info = ['DLNA.ORG_PN=QUICKTIME']+simple_dlna_tags
+ if content_format == '*':
+ additional_info = simple_dlna_tags
+
++++ coherence/backends/fs_storage.py 2010-10-21 21:55:10.814224348 -0700
+@@ -24,7 +24,7 @@
+ mimetypes.add_type('video/mpegts', '.ts')
+ mimetypes.add_type('video/divx', '.divx')
+ mimetypes.add_type('video/divx', '.avi')
+-mimetypes.add_type('video/x-matroska', '.mkv')
++mimetypes.add_type('video/mpeg', '.mkv')
+
+ from urlparse import urlsplit
+