From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Apr 11 05:30:04 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C0E8106564A for ; Sat, 11 Apr 2009 05:30:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 48FE68FC0A for ; Sat, 11 Apr 2009 05:30:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3B5U4kS004166 for ; Sat, 11 Apr 2009 05:30:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3B5U4St004155; Sat, 11 Apr 2009 05:30:04 GMT (envelope-from gnats) Date: Sat, 11 Apr 2009 05:30:04 GMT Message-Id: <200904110530.n3B5U4St004155@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: Ashish SHUKLA Cc: Subject: Re: ports/133533: [PATCH] Add a static user/group for audio/musicpd port X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Ashish SHUKLA List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2009 05:30:04 -0000 The following reply was made to PR ports/133533; it has been noted by GNATS. From: Ashish SHUKLA To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/133533: [PATCH] Add a static user/group for audio/musicpd port Date: Sat, 11 Apr 2009 10:54:51 +0530 --UlVJffcvxoiEqYs2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Hi, I've noticed that the rc.d script of musicpd port is not terminating mpd properly, so I'm sending a new diff which has this problem fixed. Please discard the old diff. Thanks -- Ashish SHUKLA --UlVJffcvxoiEqYs2 Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="musicpd.diff" diff -urN /usr/ports/audio/musicpd/Makefile musicpd/Makefile --- /usr/ports/audio/musicpd/Makefile 2009-03-18 22:15:43.000000000 +0530 +++ musicpd/Makefile 2009-04-11 10:47:54.000000000 +0530 @@ -7,6 +7,7 @@ PORTNAME= musicpd PORTVERSION= 0.14.2 +PORTREVISION= 1 CATEGORIES= audio ipv6 MASTER_SITES= SF DISTNAME= mpd-${PORTVERSION} @@ -51,6 +52,24 @@ LAME "Support for MP3 Icecast Streams" off \ SAMPLERATE "Support sample rate conversion" off +MPDUSER?= mpd +MPDGROUP?= mpd +MPDDIR?= ${PREFIX}/var/mpd + +MPDUID= 137 +MPDGID= ${MPDUID} + +PLIST_SUB= MPDUSER=${MPDUSER} \ + MPDGROUP=${MPDGROUP} + +SUB_LIST+= MPDUSER=${MPDUSER} \ + MPDGROUP=${MPDGROUP} \ + MPDDIR=${MPDDIR} \ + MPDUID=${MPDUID} \ + MPDGID=${MPDGID} + +SUB_FILES+= pkg-install pkg-deinstall + .include .if defined(WITHOUT_FLAC) @@ -151,13 +170,20 @@ LIB_DEPENDS+= samplerate.1:${PORTSDIR}/audio/libsamplerate .endif -.if defined(NOPORTDOCS) post-patch: + @${REINPLACE_CMD} -e "s/%%MPDDIR%%/${MPDDIR:C/\//\\\//g}/g" -e "s/%%MPDUSER%%/${MPDUSER}/g" \ + ${WRKSRC}/doc/mpdconf.example +.if defined(NOPORTDOCS) @${REINPLACE_CMD} -e '/^install-data-am:/ s|install-docDATA||' \ ${WRKSRC}/Makefile.in ${WRKSRC}/doc/Makefile.in .endif +pre-install: + @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + post-install: + @${MKDIR} ${MPDDIR} + @${CHOWN} -R ${MPDUSER}:${MPDGROUP} ${MPDDIR} @${ECHO_MSG} @${CAT} ${PKGMESSAGE} @${ECHO_MSG} diff -urN /usr/ports/audio/musicpd/files/musicpd.in musicpd/files/musicpd.in --- /usr/ports/audio/musicpd/files/musicpd.in 2009-03-18 22:15:44.000000000 +0530 +++ musicpd/files/musicpd.in 2009-04-11 10:39:30.000000000 +0530 @@ -13,11 +13,18 @@ name=musicpd rcvar=`set_rcvar` +stop_cmd="${name}_stop" config=%%PREFIX%%/etc/mpd.conf command=%%PREFIX%%/bin/mpd required_files=$config +musicpd_stop() +{ + echo -n "Stopping musicpd: "; + ${command} --kill ${config} && echo "stopped."; +} + load_rc_config $name : ${musicpd_enable="NO"} diff -urN /usr/ports/audio/musicpd/files/patch-doc_mpdconf.example musicpd/files/patch-doc_mpdconf.example --- /usr/ports/audio/musicpd/files/patch-doc_mpdconf.example 1970-01-01 05:30:00.000000000 +0530 +++ musicpd/files/patch-doc_mpdconf.example 2009-04-09 08:32:02.000000000 +0530 @@ -0,0 +1,72 @@ + +$FreeBSD$ + +--- doc/mpdconf.example.orig ++++ doc/mpdconf.example +@@ -6,27 +6,27 @@ + # This setting controls the top directory which MPD will search to discover the + # available audio files and add them to the daemon's online database. + # +-music_directory "~/music" ++music_directory "%%MPDDIR%%/music" + # + # This setting sets the MPD internal playlist directory. The purpose of this + # directory is storage for playlists created by MPD. The server will use + # playlist files not created by the server but only if they are in the MPD + # format. + # +-playlist_directory "~/.mpd/playlists" ++playlist_directory "%%MPDDIR%%/playlists" + # + # This setting sets the location of the MPD database. This file is used to + # load the database at server start up and store the database while the + # server is not up. + # +-db_file "~/.mpd/database" ++db_file "%%MPDDIR%%/database" + # + # These settings are the locations for the daemon log files for the daemon. + # These logs are great for troubleshooting, depending on your log_level + # settings. + # +-log_file "~/.mpd/log" +-error_file "~/.mpd/error-log" ++log_file "%%MPDDIR%%/log" ++error_file "%%MPDDIR%%/error-log" + ############################################################################### + + +@@ -36,13 +36,13 @@ + # for use of mpd --kill and some init scripts. This setting is disabled by + # default. + # +-#pid_file "~/.mpd/pid" ++pid_file "%%MPDDIR%%/pid" + # + # This setting sets the location of the file which contains information about + # most variables to get MPD back into the same general shape it was in before + # it was brought down. This setting is disabled by default. + # +-#state_file "~/.mpd/state" ++state_file "%%MPDDIR%%/state" + # + ############################################################################### + +@@ -55,7 +55,7 @@ + # unprivileged user. This setting is disabled by default, and the server will + # run as root. + # +-#user "nobody" ++user "%%MPDUSER%%" + # + # This setting sets the address for the daemon to listen on. Careful attention + # should be paid if this is assigned to anything other then the default, any. +@@ -65,7 +65,7 @@ + #bind_to_address "any" + # + # And for Unix Socket +-#bind_to_address "~/.mpd/socket" ++#bind_to_address "%%MPDDIR%%/socket" + # + # This setting is the port that is desired for the daemon to get assigned to. + # diff -urN /usr/ports/audio/musicpd/files/pkg-deinstall.in musicpd/files/pkg-deinstall.in --- /usr/ports/audio/musicpd/files/pkg-deinstall.in 1970-01-01 05:30:00.000000000 +0530 +++ musicpd/files/pkg-deinstall.in 2009-04-09 08:17:51.000000000 +0530 @@ -0,0 +1,17 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +MPDUSER=%%MPDUSER%% +MPDGROUP=%%MPDGROUP%% + +if [ "$2" = "POST-DEINSTALL" ]; then + if /usr/sbin/pw group show "${MPDGROUP}" 2>&1 >/dev/null; then + echo "You should manually remove the \"${MPDGROUP}\" group." + fi + + if /usr/sbin/pw user show "${MPDUSER}" 2>&1 >/dev/null; then + echo "You should manually remove the \"${MPDUSER}\" user." + fi +fi diff -urN /usr/ports/audio/musicpd/files/pkg-install.in musicpd/files/pkg-install.in --- /usr/ports/audio/musicpd/files/pkg-install.in 1970-01-01 05:30:00.000000000 +0530 +++ musicpd/files/pkg-install.in 2009-04-09 08:58:44.000000000 +0530 @@ -0,0 +1,76 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +MPDDIR=%%MPDDIR%% +MPDUSER=%%MPDUSER%% +MPDGROUP=%%MPDGROUP%% +MPDUID=%%MPDUID%% +MPDGID=%%MPDGID%% + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" ]; then + read -p "${question} [${default}]? " answer + fi + if [ "x${answer}" = "x" ]; then + answer=${default} + fi + echo ${answer} +} + +yesno() { + local default question answer + + question=$1 + default=$2 + while :; do + answer=$(ask "${question}" "${default}") + case "${answer}" in + [Yy][Ee][Ss]|[Yy]) + return 0 + ;; + [Nn][Oo]|[Nn]) + return 1 + ;; + esac + echo "Please answer yes or no." + done +} + +if [ "$2" = "PRE-INSTALL" ]; then + if /usr/sbin/pw group show "${MPDGROUP}" 2>&1 >/dev/null; then + echo "You already have a \"${MPDGROUP}\" group, so I will use it." + else + echo "You need a \"${MPDGROUP}\" group." + if yesno "Would you like me to create it" "YES"; then + /usr/sbin/pw groupadd "${MPDGROUP}" -g "${MPDGID}" -h - || \ + /usr/sbin/pw groupadd "${MPDGROUP}" -h - || exit + echo "Done." + else + echo "Please create the \"${MPDGROUP}\" group manually and try again." + exit 1 + fi + fi + + if /usr/sbin/pw user show "${MPDUSER}" 2>&1 >/dev/null; then + echo "You already have a \"${MPDUSER}\" user, so I will use it." + else + echo "You need a \"${MPDUSER}\" user." + if yesno "Would you like me to create it" "YES"; then + /usr/sbin/pw useradd "${MPDUSER}" -u "${MPDUID}" -g "${MPDGROUP}" -h - -d "${MPDDIR}" \ + -s /sbin/nologin -c "MusicPD pseudo-user" || \ + /usr/sbin/pw useradd "${MPDUSER}" -g "${MPDGROUP}" -h - -d "${MPDDIR}" \ + -s /sbin/nologin -c "MusicPD pseudo-user" || exit + else + echo "Please create the \"${MPDUSER}\" user manually and try again." + exit 1 + fi + fi + [ -d ${MPDDIR} ] || mkdir ${MPDDIR}; + chown -R ${MPDUSER}:${MPDGROUP} ${MPDDIR} +fi diff -urN /usr/ports/audio/musicpd/files/pkg-message.in musicpd/files/pkg-message.in --- /usr/ports/audio/musicpd/files/pkg-message.in 2008-12-06 02:41:46.000000000 +0530 +++ musicpd/files/pkg-message.in 2009-04-09 08:45:58.000000000 +0530 @@ -17,6 +17,9 @@ or reboot. +The example configuration of MPD server requires music files to +be stored at %%MPDDIR%%/music . + NOTE: The musicpd server is pretty useless without a client. You might want to install one of the following ports too: mpc, ncmpc, glurp, gmpc, kmp, or phpmp. diff -urN /usr/ports/audio/musicpd/pkg-plist musicpd/pkg-plist --- /usr/ports/audio/musicpd/pkg-plist 2009-01-28 11:00:46.000000000 +0530 +++ musicpd/pkg-plist 2009-04-09 08:51:00.000000000 +0530 @@ -6,5 +6,8 @@ %%PORTDOCS%%%%DOCSDIR%%/TODO %%PORTDOCS%%%%DOCSDIR%%/NEWS %%PORTDOCS%%%%DOCSDIR%%/UPGRADING +%%PORTDOCS%%%%DOCSDIR%%/protocol.html %%PORTDOCS%%@dirrm %%DOCSDIR%% %%PORTDOCS%%@unexec %D/%%DOCSDIR%% 2>/dev/null || true +@dirrmtry var/mpd +@dirrmtry var --- /usr/ports/UIDs 2009-04-07 17:19:11.000000000 +0530 +++ UIDs 2009-04-09 11:20:33.000000000 +0530 @@ -76,6 +76,7 @@ undernet:*:134:134::0:0:Undernet ircu Daemon:/nonexistant:/usr/sbin/nologin rabbitmq:*:135:135::0:0:RabbitMQ:/var/db/rabbitmq:/usr/sbin/nologin dhcpd:*:136:136::0:0:ISC DHCP daemon:/nonexistent:/usr/sbin/nologin +mpd:*:137:137:MusicPD pseudo-user:/var/tmp/musicpd/var/mpd:/sbin/nologin cricket:*:141:80::0:0:Cricket Monitoring User:/usr/local/cricket:/usr/sbin/nologin dovecot:*:143:143::0:0:Dovecot User:/var/empty:/usr/sbin/nologin rbldns:*:153:153::0:0:rbldnsd pseudo-user:/nonexistent:/usr/sbin/nologin --- /usr/ports/GIDs 2009-04-07 17:19:11.000000000 +0530 +++ GIDs 2009-04-09 11:20:43.000000000 +0530 @@ -68,6 +68,7 @@ undernet:*:134: rabbitmq:*:135: dhcpd:*:136: +mpd:*:137 dovecot:*:143: rbldns:*:153: sfs:*:171: --UlVJffcvxoiEqYs2--