FreeBSD Bugzilla – Attachment 161212 Details for
Bug 203221
[revive port] audio/linux-musicipserver: reinstate with staging
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
reinstate audio/linux-musicipserver with staging
audio-linux-musicipserver.diff (text/plain), 17.08 KB, created by
christopher.key
on 2015-09-20 10:48:38 UTC
(
hide
)
Description:
reinstate audio/linux-musicipserver with staging
Filename:
MIME Type:
Creator:
christopher.key
Created:
2015-09-20 10:48:38 UTC
Size:
17.08 KB
patch
obsolete
>Index: GIDs >=================================================================== >--- GIDs (revision 396438) >+++ GIDs (working copy) >@@ -237,6 +237,7 @@ > munin:*:842: > dahdi:*:843:asterisk > subsonic:*:844: >+mipserv:*:900: > fossy:*:901:www > scanlogd:*:902: > _ocserv:*:903: >Index: UIDs >=================================================================== >--- UIDs (revision 396438) >+++ UIDs (working copy) >@@ -242,6 +242,7 @@ > tcpcryptd:*:841:841::0:0:tcpcrypt daemon:/nonexistent:/usr/sbin/nologin > munin:*:842:842::0:0:Munin:/var/munin:/usr/sbin/nologin > subsonic:*:844:844::0:0:Subsonic standalone-server:/nonexistent:/usr/sbin/nologin >+mipserv:*:900:900::0:0:MusicIP Daemon:/nonexistent:/usr/sbin/nologin > fossy:*:901:901::0:0:FOSSology user:/usr/local/share/fossology:/usr/local/bin/bash > scanlogd:*:902:902::0:0:scanlogd user:/nonexistent:/usr/sbin/nologin > _ocserv:*:903:903::0:0:ocserv user:/nonexistent:/usr/sbin/nologin >Index: audio/linux-musicipserver/Makefile >=================================================================== >--- audio/linux-musicipserver/Makefile (revision 0) >+++ audio/linux-musicipserver/Makefile (working copy) >@@ -0,0 +1,115 @@ >+# Created by: Christopher Key <christopher.key@cantab.net> >+# $FreeBSD$ >+ >+PORTNAME= musicipserver >+PORTVERSION= 1.8 >+CATEGORIES= audio linux >+MASTER_SITES= http://www.spicefly.com/files/:musicip \ >+ http://spicefly.com/images/stories/mip/:spicefly >+PKGNAMEPREFIX= linux- >+DISTNAME= MusicMixer_x86_${PORTVERSION} >+DISTFILES= ${DISTNAME}.tgz:musicip >+DIST_SUBDIR= musicip >+EXTRACT_ONLY= ${DISTNAME}.tgz >+ >+MAINTAINER= ports@FreeBSD.org >+COMMENT= Application for generating playlists based upon musical content >+ >+LICENSE= EULA >+LICENSE_NAME= END-USER LICENSE AGREEMENT FOR MUSICIP MIXER >+LICENSE_FILE= ${WRKSRC}/notes.txt >+LICENSE_PERMS= dist-mirror pkg-mirror auto-accept >+ >+RUN_DEPENDS= empty:${PORTSDIR}/net/empty \ >+ flog:${PORTSDIR}/sysutils/flog \ >+ ${LOCALBASE}/libexec/mipcore:${PORTSDIR}/audio/linux-genpuid >+ >+LICENSE_DISTFILES= ${DISTNAME}.tgz >+ >+OPTIONS_DEFINE= SPICEFLY_SKIN >+OPTIONS_DEFAULT= SPICEFLY_SKIN >+OPTIONS_DESC= Install Spicefly skin >+ >+WRKSRC= ${WRKDIR}/MusicIP/MusicMagicMixer/ >+ >+USE_RC_SUBR= musicipserver >+NO_STAGE= yes >+USE_LINUX= yes >+NO_BUILD= yes >+IA32_BINARY_PORT= yes >+ >+MUSICIPSERVERDBDIR?= /var/db/${PORTNAME} >+MUSICIPSERVERLOGDIR?= /var/log/${PORTNAME} >+MUSICIPSERVERRUNDIR?= /var/run/${PORTNAME} >+ >+MUSICIPSERVERUSER?= mipserv >+MUSICIPSERVERGROUP?= ${MUSICIPSERVERUSER} >+ >+USERS= ${MUSICIPSERVERUSER} >+GROUPS= ${MUSICIPSERVERGROUP} >+ >+SUB_FILES= pkg-install pkg-deinstall musicipserver >+SUB_LIST= PORTNAME=${PORTNAME} \ >+ MUSICIPSERVERUSER="${MUSICIPSERVERUSER}" \ >+ MUSICIPSERVERGROUP="${MUSICIPSERVERGROUP}" \ >+ MUSICIPSERVERDBDIR=${MUSICIPSERVERDBDIR} \ >+ MUSICIPSERVERLOGDIR=${MUSICIPSERVERLOGDIR} \ >+ MUSICIPSERVERRUNDIR=${MUSICIPSERVERRUNDIR} >+PLIST_SUB+= MUSICIPSERVERUSER="${MUSICIPSERVERUSER}" \ >+ MUSICIPSERVERGROUP="${MUSICIPSERVERGROUP}" \ >+ MUSICIPSERVERDBDIR="${MUSICIPSERVERDBDIR}" \ >+ MUSICIPSERVERLOGDIR="${MUSICIPSERVERLOGDIR}" \ >+ MUSICIPSERVERRUNDIR="${MUSICIPSERVERRUNDIR}" >+ >+.include <bsd.port.options.mk> >+ >+.if ${PORT_OPTIONS:MSPICEFLY_SKIN} >+EXTRACT_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip >+DISTFILES+= index-1.1.zip:spicefly >+.endif >+ >+.if ${PORT_OPTIONS:MSPICEFLY_SKIN} >+post-extract: >+ @cd ${WRKDIR} && ${UNZIP_CMD} -qo ${_DISTDIR}/index-1.1.zip -d ${WRKDIR}/spicefly >+.endif >+ >+do-install: >+ @${INSTALL_PROGRAM} ${WRKSRC}/MusicMagicServer ${STAGEDIR}${PREFIX}/bin >+ @${MKDIR} ${STAGEDIR}${DATADIR} >+ @${LN} -fhs ${LOCALBASE}/libexec/mipcore ${STAGEDIR}${DATADIR}/mipcore >+.if ${PORT_OPTIONS:MSPICEFLY_SKIN} >+ @${MKDIR} ${STAGEDIR}${DATADIR}/server >+ @${INSTALL_DATA} ${WRKDIR}/spicefly/index.html ${STAGEDIR}${DATADIR}/server >+.else >+ @cd ${WRKSRC} && ${COPYTREE_SHARE} server ${STAGEDIR}${DATADIR} >+.endif >+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} >+ @${INSTALL_DATA} ${WRKSRC}/mmm.ini ${STAGEDIR}${EXAMPLESDIR}/mmm.ini.sample >+ @${INSTALL_DATA} ${FILESDIR}/recipes.xml.sample ${STAGEDIR}${EXAMPLESDIR}/recipes.xml.sample >+ >+post-install: >+ @${MKDIR} ${STAGEDIR}${MUSICIPSERVERDBDIR} >+ @${MKDIR} ${STAGEDIR}${MUSICIPSERVERLOGDIR} >+ @${MKDIR} ${STAGEDIR}${MUSICIPSERVERRUNDIR} >+ >+# #if [ ! -d ${statedir} ]; then >+# mkdir ${statedir} >+# chown ${u}:${g} ${statedir} >+# chmod 755 ${statedir} >+# fi >+ >+# if [ ! -e ${statedir}/mmm.ini ]; then >+# cp ${examplesdir}/mmm.ini.sample ${statedir}/mmm.ini >+# chown ${u}:${g} ${statedir}/mmm.ini >+# chmod 644 ${statedir}/mmm.ini >+# fi >+ >+# if [ ! -e ${statedir}/recipes.xml ]; then >+# cp ${examplesdir}/recipes.xml.sample ${statedir}/recipes.xml >+# chown ${u}:${g} ${statedir}/recipes.xml >+# chmod 644 ${statedir}/recipes.xml >+# fi >+ >+ >+ >+.include <bsd.port.mk> > >Property changes on: audio/linux-musicipserver/Makefile >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:keywords >## -0,0 +1 ## >+FreeBSD=%H >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/distinfo >=================================================================== >--- audio/linux-musicipserver/distinfo (revision 0) >+++ audio/linux-musicipserver/distinfo (working copy) >@@ -0,0 +1,4 @@ >+SHA256 (musicip/MusicMixer_x86_1.8.tgz) = 05394616166356b9f919a645cd6cd363388349be5790b8775c584a005db258b9 >+SIZE (musicip/MusicMixer_x86_1.8.tgz) = 4610204 >+SHA256 (musicip/index-1.1.zip) = b114ae63241423fb73051f4c9d6dfe5b6f7e8ae63c2535ace6e4a0516b86a0d8 >+SIZE (musicip/index-1.1.zip) = 1971 > >Property changes on: audio/linux-musicipserver/distinfo >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/files/musicipserver.in >=================================================================== >--- audio/linux-musicipserver/files/musicipserver.in (revision 0) >+++ audio/linux-musicipserver/files/musicipserver.in (working copy) >@@ -0,0 +1,187 @@ >+#!/bin/sh >+# >+# $Id: musicipserver.in 2458 2010-07-21 11:52:43Z chris $ >+# >+ >+# PROVIDE: musicipserver >+# BEFORE: squeezeboxserver >+# REQUIRE: LOGIN >+# KEYWORD: shutdown >+ >+# >+# Add the following lines to /etc/rc.conf to enable musicipserver: >+# >+#musicipserver_enable="YES" >+# >+ >+. /etc/rc.subr >+ >+name="%%PORTNAME%%" >+procname="%%PREFIX%%/bin/MusicMagicServer" >+status_cmd="${name}_status_cmd" >+start_cmd="${name}_start_cmd" >+stop_cmd="${name}_stop_cmd" >+ >+datadir="%%DATADIR%%" >+logdir="%%MUSICIPSERVERLOGDIR%%" >+rundir="%%MUSICIPSERVERRUNDIR%%" >+statedir="%%MUSICIPSERVERDBDIR%%" >+ >+serverlogfile=${logdir}/server.log >+mipcorelogfile=${logdir}/mipcore.log >+pidfile=${rundir}/${name}.pid >+serverflogpidfile=${rundir}/${name}-server-flog.pid >+mipcoreflogpidfile=${rundir}/${name}-mipcore-flog.pid >+mipcoretailpidfile=${rundir}/${name}-mipcore-tail.pid >+serverinfifo=${rundir}/${name}-fifo-in >+serveroutfifo=${rundir}/${name}-fifo-out >+mipcorelogfifo=${statedir}/log.txt >+ >+empty="%%LOCALBASE%%/bin/empty" >+flog="%%LOCALBASE%%/bin/flog" >+tail="/usr/bin/tail" >+ >+load_rc_config $name >+musicip_enable=${musicip_enable:-"NO"} >+musicip_user="%%MUSICIPSERVERUSER%%" >+musicip_group="%%MUSICIPSERVERGROUP%%" >+musicip_port="10002" # Should probably pull this in from mmm.ini >+ >+musicipserver_check_pidfile() >+{ >+ check_pidfile ${pidfile} ${empty} >+} >+ >+musicipserver_status_cmd() >+{ >+ >+ pid=$(musicipserver_check_pidfile) >+ >+ if [ -n "${pid}" ]; then >+ echo "${name} is running as pid ${pid}." >+ else >+ echo "${name} is not running." >+ return 1 >+ fi >+} >+ >+musicipserver_start_cmd() >+{ >+ # Check whether we're already running >+ pid=$(musicipserver_check_pidfile) >+ >+ if [ -n "${pid}" ]; then >+ echo "${name} already running? (pid=${pid})." >+ return 1 >+ fi >+ >+ echo "Starting ${name}." >+ >+ # MusicIP server will fail to start if there are any sockets still active on port 10002. >+ waited=0 >+ while netstat -n \ >+ | egrep "^tcp4 +[[:digit:]]+ +[[:digit:]]+ +([[:digit:]]+\.){4}$musicip_port +([[:digit:]]+\.){4}[[:digit:]]+ +TIME_WAIT\$" \ >+ > /dev/null; do >+ >+ if [ $waited = 0 ]; then >+ echo -n "Waiting on sockets" >+ waited=1 >+ else >+ echo -n "." >+ fi >+ >+ sleep 1 >+ done >+ >+ if [ $waited = 1 ]; then >+ echo "." >+ fi >+ >+ >+ mkfifo ${mipcorelogfifo} \ >+ && chown ${musicip_user}:${musicip_group} ${mipcorelogfifo} \ >+ && chmod 600 ${mipcorelogfifo} >+ >+ daemon -c -f -p ${mipcoreflogpidfile} -u ${musicip_user} \ >+ "sh" "-c" "exec ${flog} -t -T '%b %d %T ' ${mipcorelogfile} < ${mipcorelogfifo}" >+ >+ su -m ${musicip_user} -c \ >+ "cd / && < /dev/null >& /dev/null ${empty} -f -i ${serverinfifo} -o ${serveroutfifo} -p ${pidfile} ${procname} -exec ${datadir} -data ${statedir} -verbose -logex start" \ >+ && chmod -x ${serverinfifo} ${serveroutfifo} ${pidfile} >+ >+ daemon -c -f -p ${serverflogpidfile} -u ${musicip_user} \ >+ "sh" "-c" "exec ${flog} -t -T '%b %d %T ' ${serverlogfile} < ${serveroutfifo}" >+ >+ >+ # "MusicMagicServer start" either exits is there is an error, or forks is there isn't. >+ # To check whether musicipserver starter successfully, we watch the 'empty' process we >+ # created, using its pidfile. If it disappears, we know that musicipserver failed, else >+ # if it two or more child processes, we know it started successfully. >+ >+ while true; do >+ >+ pid=$(musicipserver_check_pidfile) >+ >+ if [ -z "${pid}" ]; then >+ echo "${name} failed to start." >+ _musicipserver_stop_cmd >+ return 1 >+ break; >+ elif [ $(pgrep -P ${pid} | wc -l) -gt 1 ]; then >+ break >+ fi >+ >+ sleep 1 >+ >+ done >+ >+} >+ >+musicipserver_stop_cmd() >+{ >+ >+ echo "Stopping ${name}." >+ >+ _musicipserver_stop_cmd >+ >+} >+ >+_musicipserver_stop_cmd() >+{ >+ >+ pid=$(musicipserver_check_pidfile) >+ if [ -n "${pid}" ]; then >+ su -m ${musicip_user} -c "${procname} stop" > /dev/null 2>&1 \ >+ && wait_for_pids ${pid} >+ fi >+ >+ >+ pid=$(check_pidfile ${serverflogpidfile} ${flog}) >+ if [ -n "{$pid}" ]; then >+ kill ${pid} > /dev/null 2>&1 \ >+ && wait_for_pids ${pid} \ >+ && rm ${serverflogpidfile} >+ fi >+ >+ pid=$(check_pidfile ${mipcoretailpidfile} ${tail}) >+ if [ -n "{$pid}" ]; then >+ kill ${pid} > /dev/null 2>&1 \ >+ && wait_for_pids ${pid} \ >+ && rm ${mipcoretailpidfile} >+ >+ fi >+ >+ pid=$(check_pidfile ${mipcoreflogpidfile} ${flog}) >+ if [ -n "{$pid}" ]; then >+ kill ${pid} > /dev/null 2>&1 \ >+ && wait_for_pids ${pid} \ >+ && rm ${mipcoreflogpidfile} >+ fi >+ >+ if [ -p ${mipcorelogfifo} ]; then >+ rm ${mipcorelogfifo} >+ fi >+ >+} >+ >+run_rc_command "$1" > >Property changes on: audio/linux-musicipserver/files/musicipserver.in >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/files/pkg-deinstall.in >=================================================================== >--- audio/linux-musicipserver/files/pkg-deinstall.in (revision 0) >+++ audio/linux-musicipserver/files/pkg-deinstall.in (working copy) >@@ -0,0 +1,25 @@ >+#!/bin/sh >+ >+if [ "$2" != "POST-DEINSTALL" ]; then >+ exit 0 >+fi >+ >+MUSICIPSERVERUSER=%%MUSICIPSERVERUSER%% >+ >+echo >+echo "============================================================" >+echo >+echo "If you want remove musicipserver permanently from you system" >+echo "execute following commands:" >+echo >+echo " # rm -rf %%MUSICIPSERVERLOGDIR%%" >+echo " # rm -rf %%MUSICIPSERVERRUNDIR%%" >+echo " # rm -rf %%MUSICIPSERVERDBDIR%%" >+if pw usershow "%%MUSICIPSERVERUSER%%" 2>/dev/null 1>&2; then >+ echo " # pw userdel %%MUSICIPSERVERUSER%%" >+fi >+echo >+echo "============================================================" >+echo >+ >+exit 0 > >Property changes on: audio/linux-musicipserver/files/pkg-deinstall.in >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/files/pkg-install.in >=================================================================== >--- audio/linux-musicipserver/files/pkg-install.in (revision 0) >+++ audio/linux-musicipserver/files/pkg-install.in (working copy) >@@ -0,0 +1,40 @@ >+#!/bin/sh >+ >+name=%%PORTNAME%% >+datadir=%%DATADIR%% >+logdir=%%MUSICIPSERVERLOGDIR%% >+rundir=%%MUSICIPSERVERRUNDIR%% >+statedir=%%MUSICIPSERVERDBDIR%% >+ >+serverlogfile=${logdir}/server.log >+mipcorelogfile=${logdir}/mipcore.log >+pidfile=${rundir}/${name}.pid >+serverflogpidfile=${rundir}/${name}-server-flog.pid >+mipcoreflogpidfile=${rundir}/${name}-mipcore-flog.pid >+ >+newsyslogfile=/etc/newsyslog.conf >+logcomment="# added by audio/${name} port" >+serverlogline="${serverlogfile} ${u}:${g} 644 3 100 * J ${serverflogpidfile}" >+mipcorelogline="${mipcorelogfile} ${u}:${g} 644 3 100 * J ${mipcoreflogpidfile}" >+ >+case $2 in >+POST-INSTALL) >+ if egrep -q "^${serverlogfile}\>" ${newsyslogfile}; then >+ echo "Using existing ${serverlogfile} entry in ${newsyslogfile}." >+ else >+ echo "Adding ${serverlogfile} entry to ${newsyslogfile}." >+ echo "$logcomment" >> ${newsyslogfile} >+ echo "$serverlogline" >> ${newsyslogfile} >+ 0 >+ fi >+ >+ if egrep -q "^${mipcorelogfile}\>" ${newsyslogfile}; then >+ echo "Using existing ${mipcorelogfile} entry in ${newsyslogfile}." >+ else >+ echo "Adding ${mipcorelogfile} entry to ${newsyslogfile}." >+ echo "$logcomment" >> ${newsyslogfile} >+ echo "$mipcorelogline" >> ${newsyslogfile} >+ fi >+ >+ ;; >+esac > >Property changes on: audio/linux-musicipserver/files/pkg-install.in >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/files/recipes.xml.sample >=================================================================== >--- audio/linux-musicipserver/files/recipes.xml.sample (revision 0) >+++ audio/linux-musicipserver/files/recipes.xml.sample (working copy) >@@ -0,0 +1,4 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<recipe name="Sample Recipe"> >+<constraint>0</constraint> >+</recipe> > >Property changes on: audio/linux-musicipserver/files/recipes.xml.sample >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/pkg-descr >=================================================================== >--- audio/linux-musicipserver/pkg-descr (revision 0) >+++ audio/linux-musicipserver/pkg-descr (working copy) >@@ -0,0 +1,3 @@ >+This is an application for generating playlists based upon musical content. >+ >+WWW: http://www.amplifiedmusicservices.com/ > >Property changes on: audio/linux-musicipserver/pkg-descr >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: audio/linux-musicipserver/pkg-plist >=================================================================== >--- audio/linux-musicipserver/pkg-plist (revision 0) >+++ audio/linux-musicipserver/pkg-plist (working copy) >@@ -0,0 +1,22 @@ >+bin/MusicMagicServer >+%%DATADIR%%/mipcore >+%%DATADIR%%/server/index.html >+@dirrm %%DATADIR%%/server >+@dirrm %%DATADIR%% >+@comment --------------- >+@unexec if cmp -s %D/%%EXAMPLESDIR%%/mmm.ini.sample %%MUSICIPSERVERDBDIR%%/mmm.ini ; then rm -f %%MUSICIPSERVERDBDIR%%/mmm.ini ; fi >+%%EXAMPLESDIR%%/mmm.ini.sample >+@exec if [ ! -f %%MUSICIPSERVERDBDIR%%/mmm.ini ]; then cp %D/%F %%MUSICIPSERVERDBDIR%%/mmm.ini && chown %%MUSICIPSERVERUSER%%:%%MUSICIPSERVERGROUP%% %%MUSICIPSERVERDBDIR%%/mmm.ini && chmod 644 %%MUSICIPSERVERDBDIR%%/mmm.ini; fi >+@comment --------------- >+@unexec if cmp -s %D/%%EXAMPLESDIR%%/recipes.xml.sample %%MUSICIPSERVERDBDIR%%/recipes.xml ; then rm -f %%MUSICIPSERVERDBDIR%%/recipes.xml ; fi >+%%EXAMPLESDIR%%/recipes.xml.sample >+@exec if [ ! -f %%MUSICIPSERVERDBDIR%%/recipes.xml ]; then cp %D/%F %%MUSICIPSERVERDBDIR%%/recipes.xml && chown %%MUSICIPSERVERUSER%%:%%MUSICIPSERVERGROUP%% %%MUSICIPSERVERDBDIR%%/recipes.xml && chmod 644 %%MUSICIPSERVERDBDIR%%/recipes.xml; fi >+@comment --------------- >+@dirrm %%EXAMPLESDIR%% >+@cwd / >+@mode 755 >+@owner %%MUSICIPSERVERUSER%% >+@group %%MUSICIPSERVERGROUP%% >+@dirrmtry %%MUSICIPSERVERDBDIR%% >+@dirrmtry %%MUSICIPSERVERLOGDIR%% >+@dirrmtry %%MUSICIPSERVERRUNDIR%% > >Property changes on: audio/linux-musicipserver/pkg-plist >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 203221
: 161212