diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2004-03-31 02:20:20 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2004-03-31 02:20:20 +0000 |
commit | 2eb5d94ac7a7dd5fbef8fe9c8cac767628191f23 (patch) | |
tree | 4abee97736b5835fc185f5c4e56d26f6ee888832 /media-sound/daapd/files | |
parent | Initial import (Manifest recommit) (diff) | |
download | gentoo-2-2eb5d94ac7a7dd5fbef8fe9c8cac767628191f23.tar.gz gentoo-2-2eb5d94ac7a7dd5fbef8fe9c8cac767628191f23.tar.bz2 gentoo-2-2eb5d94ac7a7dd5fbef8fe9c8cac767628191f23.zip |
Initial version committed to portage.
Diffstat (limited to 'media-sound/daapd/files')
-rw-r--r-- | media-sound/daapd/files/0.2.1d-makefile-gentoo.patch | 9 | ||||
-rw-r--r-- | media-sound/daapd/files/0.2.1d-zeroconf-gentoo.patch | 199 | ||||
-rw-r--r-- | media-sound/daapd/files/daapd.conf.d | 14 | ||||
-rw-r--r-- | media-sound/daapd/files/daapd.init.d | 37 | ||||
-rw-r--r-- | media-sound/daapd/files/digest-daapd-0.2.1d | 1 |
5 files changed, 260 insertions, 0 deletions
diff --git a/media-sound/daapd/files/0.2.1d-makefile-gentoo.patch b/media-sound/daapd/files/0.2.1d-makefile-gentoo.patch new file mode 100644 index 000000000000..67945ea94462 --- /dev/null +++ b/media-sound/daapd/files/0.2.1d-makefile-gentoo.patch @@ -0,0 +1,9 @@ +diff -u daapd-0.2.1d.orig/makefile daapd-0.2.1d/makefile +--- daapd-0.2.1d.orig/makefile 2003-12-02 16:43:14.000000000 -0500 ++++ daapd-0.2.1d/makefile 2003-12-19 15:38:10.000000000 -0500 +@@ -1,4 +1,4 @@ +-CC = c++ ++CC = g++ + TARGET = daapd + OBJS = daapd.o db.o dboutput.o songcache.o parsemp3.o + LIBS = -ldaaplib -lhttpd-persistent -lid3tag -lz diff --git a/media-sound/daapd/files/0.2.1d-zeroconf-gentoo.patch b/media-sound/daapd/files/0.2.1d-zeroconf-gentoo.patch new file mode 100644 index 000000000000..f2a5c1980dc6 --- /dev/null +++ b/media-sound/daapd/files/0.2.1d-zeroconf-gentoo.patch @@ -0,0 +1,199 @@ +diff -u daapd-0.2.1d.makefile/daapd.cc daapd-0.2.1d/daapd.cc +--- daapd-0.2.1d.makefile/daapd.cc 2003-12-02 16:43:55.000000000 -0500 ++++ daapd-0.2.1d/daapd.cc 2003-12-20 17:22:08.000000000 -0500 +@@ -38,6 +38,12 @@ + #include <daap/tagoutput.h> + #include <daap/registry.h> + ++#ifdef HOWL_DNSREGISTRATION ++#include <rendezvous/rendezvous.h> ++#include <rendezvous/text_record.h> ++#include <salt/salt.h> ++#endif ++ + + const int DAAP_OK = 200; + const char* DAAPD_VERSION = "daapd 0.2.1b"; +@@ -775,6 +781,39 @@ + return &initParams; + } + ++#ifdef HOWL_DNSREGISTRATION ++static sw_result ++my_service_reply( ++ sw_rendezvous_publish_handler handler, ++ sw_rendezvous rendezvous, ++ sw_rendezvous_publish_status status, ++ sw_rendezvous_publish_id id, ++ sw_opaque extra) ++{ ++ static sw_string ++ status_text[] = ++ { ++ "Started", ++ "Stopped", ++ "Name Collision", ++ "Invalid" ++ }; ++ ++ fprintf(stderr, "publish reply: %s\n", status_text[status]); ++ return SW_OKAY; ++} ++ ++int addTextRecord( sw_text_record text_record, sw_const_string key, sw_const_string val ) ++{ ++ sw_result result; ++ if ((result = sw_text_record_add_key_and_string_value(text_record, key, val)) != SW_OKAY) ++ { ++ fprintf(stderr, "sw_text_record_add_string(%s, %s) failed with: %lu\n", key, val, result); ++ return result; ++ } ++ return 0; ++} ++#endif + + //////////// + // main +@@ -786,6 +825,14 @@ + int buflen = 255; + char buffer[buflen]; + ++#ifdef HOWL_DNSREGISTRATION ++ sw_rendezvous session; ++ sw_salt salt; ++ sw_text_record text_record; ++ sw_result result; ++ sw_rendezvous_publish_id id; ++#endif ++ + if( gethostname( buffer, buflen ) == 0 ) { + initParams.serverName = (char *)buffer; + initParams.dbName = (char *)buffer; +@@ -800,6 +847,25 @@ + initParams.dirs->push_back( dir ); + } + ++#ifdef HOWL_DNSREGISTRATION ++ if (sw_rendezvous_init(&session) != SW_OKAY) ++ { ++ fprintf(stderr, "sw_rendezvous_init() failed\n"); ++ return -1; ++ } ++ if (sw_rendezvous_salt(session, &salt) != SW_OKAY) ++ { ++ fprintf(stderr, "sw_rendezvous_salt() failed\n"); ++ return -1; ++ } ++ ++ if (sw_text_record_init(&text_record) != SW_OKAY) ++ { ++ fprintf(stderr, "sw_text_record_init() failed\n"); ++ return -1; ++ } ++#endif ++ + cout << "scanning " << initParams.dirs << " for mp3s... " << flush; + Database db( initParams ); + cout << "done. " << endl; +@@ -818,12 +884,67 @@ + httpdAddCSiteContent( server, parseRequest, (void*)&db ); + httpdSetContentType( server, "application/x-dmap-tagged" ); + ++#ifdef HOWL_DNSREGISTRATION ++ // Set up the DNS-SD TXT records ++ if ((result = addTextRecord(text_record, "txtvers", "1")) != SW_OKAY) ++ { ++ return result; ++ } ++ ++ if ((result = addTextRecord(text_record, "Version", "131072")) != SW_OKAY) ++ { ++ return result; ++ } ++ ++ char tmpstr[16]; ++ sprintf(tmpstr, "%i", db.id); ++ if ((result = addTextRecord(text_record, "Database ID", tmpstr)) != SW_OKAY) ++ { ++ return result; ++ } ++ ++ // TODO Add 'Machine ID' record like iTunes does. ++ ++ if ((result = addTextRecord(text_record, "Machine Name", initParams.serverName.c_str())) != SW_OKAY) ++ { ++ return result; ++ } ++ ++ if ((result = addTextRecord(text_record, "Password", (initParams.password.length() > 0) ? "true" : "false")) != SW_OKAY) ++ { ++ return result; ++ } ++ ++ if ((result = sw_rendezvous_publish(session, ++ initParams.serverName.c_str(), ++ "_daap._tcp", ++ NULL, ++ NULL, ++ initParams.port, ++ sw_text_record_bytes(text_record), ++ sw_text_record_len(text_record), ++ NULL, ++ my_service_reply, ++ NULL, ++ &id)) != SW_OKAY) ++ { ++ fprintf(stderr, "sw_rendezvous_publish() failed: %ld\n", result); ++ return -1; ++ } ++#endif ++ ++ + struct timeval timeout; + + timeout.tv_sec = 10; + timeout.tv_usec = 0; + + while( true ) { ++#ifdef HOWL_DNSREGISTRATION ++ sw_ulong msecs = 0; // Tells sw_salt_step to simply poll ++ sw_salt_step(salt, &msecs); ++#endif ++ + httpdSelectLoop( server, timeout ); + // stuff like regular db updates could be added here + } +diff -u daapd-0.2.1d.makefile/makefile daapd-0.2.1d/makefile +--- daapd-0.2.1d.makefile/makefile 2003-12-19 15:38:10.000000000 -0500 ++++ daapd-0.2.1d/makefile 2003-12-20 17:26:20.000000000 -0500 +@@ -1,22 +1,24 @@ + CC = g++ + TARGET = daapd + OBJS = daapd.o db.o dboutput.o songcache.o parsemp3.o +-LIBS = -ldaaplib -lhttpd-persistent -lid3tag -lz +-LIBPATH = -L. -L/usr/local/lib +-INCPATH = -I. -I/usr/local/include ++OBJS2 = /usr/lib/libsalt.so /usr/lib/libcorby.so /usr/lib/librendezvous.so ++LIBS = -ldaaplib -lhttpd-persistent -lid3tag -lz -lcorby -lsalt -lrendezvous -lpthread ++LIBPATH = -L. -L/usr/lib -L/usr/local/lib ++INCPATH = -I. -I/usr/local/include -I/usr/include/howl-0.9 + DEPLOY = /usr/local/bin + CFLAGS = -Wall -Wno-multichar ++DEFS = -DHOWL_DNSREGISTRATION # Comment this out to disable Howl DNS-SD Registration + + .cc.o: +- $(CC) $(CFLAGS) $(INCPATH) -c $< ++ $(CC) $(CFLAGS) $(DEFS) $(INCPATH) -c $< + + $(TARGET): $(OBJS) +- $(CC) $(CFLAGS) $(LIBPATH) -o $(TARGET) $(OBJS) $(LIBS) ++ $(CC) $(CFLAGS) $(DEFS) $(LIBPATH) -o $(TARGET) $(OBJS) $(OBJS2) $(LIBS) + + $(OBJS): types.h dboutput.h songcache.h parsemp3.h + + clean: +- rm $(OBJS) $(TARGET) ++ rm -f $(OBJS) $(TARGET) + + install: $(TARGET) + cp $(TARGET) $(DEPLOY) diff --git a/media-sound/daapd/files/daapd.conf.d b/media-sound/daapd/files/daapd.conf.d new file mode 100644 index 000000000000..8ddb1f065a50 --- /dev/null +++ b/media-sound/daapd/files/daapd.conf.d @@ -0,0 +1,14 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/daapd/files/daapd.conf.d,v 1.1 2004/03/31 02:20:20 eradicator Exp $ + +# Options to pass to the daapd process that will *always* +# be run. Most people should not change this line ... +# however, if you know what you're doing, feel free to tweak +# See the README in /usr/share/daapd*/ for more info. +DAAPD_OPTS="" + +# By default daapd will run as root but it seems there is nothing +# which requires that. Uncommenting the line below will start the +# daapd daemon as the user you specify. +#DAAPD_RUNAS="nobody:nobody" diff --git a/media-sound/daapd/files/daapd.init.d b/media-sound/daapd/files/daapd.init.d new file mode 100644 index 000000000000..c208f6fdac90 --- /dev/null +++ b/media-sound/daapd/files/daapd.init.d @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/daapd/files/daapd.init.d,v 1.1 2004/03/31 02:20:20 eradicator Exp $ + +depend() { + need net +} + +checkconfig() { + grep '^Root \.$' /etc/daapd.conf &>/dev/null && \ + ewarn "The Root in /etc/daapd.conf has not been updated. You probably" && \ + ewarn "want to point this to your music archive instead of" `pwd` +} + +start() { + ebegin "Starting daapd" + checkconfig + + local SSD_OPTS + SSD_OPTS="" + [ "${DAAPD_RUNAS}"x != ""x ] && SSD_OPTS="${SSD_OPTS} --chuid '${DAAPD_RUNAS}'" + + start-stop-daemon --start --quiet --pidfile /var/run/daapd.pid \ + --background --make-pidfile \ + ${SSD_OPTS} --startas /usr/bin/daapd ${DAAPD_OPTS} + eend $? "Failed to start daapd" +} + +stop() { + ebegin "Stopping daapd" + start-stop-daemon --stop --quiet --pidfile /var/run/daapd.pid + eend $? "Failed to stop daapd" + + # clean stale pidfile + [ -f /var/run/daapd.pid ] && rm -f /var/run/daapd.pid +} diff --git a/media-sound/daapd/files/digest-daapd-0.2.1d b/media-sound/daapd/files/digest-daapd-0.2.1d new file mode 100644 index 000000000000..baaec5219412 --- /dev/null +++ b/media-sound/daapd/files/digest-daapd-0.2.1d @@ -0,0 +1 @@ +MD5 2f69299a099920694d7ddf78a1dcea49 daapd-0.2.1d.tgz 30023 |