Bug 182711 - [patch] net/serviio fails to install or upgrade without requiring human intervention to copy -dist config files
Summary: [patch] net/serviio fails to install or upgrade without requiring human inter...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Alexander Leidinger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-05 20:30 UTC by Jason Unovitch
Modified: 2013-10-14 21:00 UTC (History)
0 users

See Also:


Attachments
file.diff (1.25 KB, patch)
2013-10-05 20:30 UTC, Jason Unovitch
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Unovitch freebsd_committer freebsd_triage 2013-10-05 20:30:00 UTC
net/serviio's current pkg-plist installs *.dist.properties configuration files upon installation. The administrator must manually copy the distributed config files over so that Serviio can start. Upon a future `pkg upgrade` the files get removed and don't get re-installed, requiring administrator attention once again to replace the files. Serviio's pkg-plist should account for putting default configuration files in place.

Fix: Fix the pkg-plist to place default config files in place in a similar manner to what is in the attached patch submission.

Patch attached with submission follows:
How-To-Repeat: Install or upgrade net/serviio.  It will need manual attention each time.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-10-05 20:30:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->netchild

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-10-14 20:50:40 UTC
Author: netchild
Date: Mon Oct 14 19:50:26 2013
New Revision: 330348
URL: http://svnweb.freebsd.org/changeset/ports/330348

Log:
  - give serviio a home (other than what is specified in the GECOS of the user)
  - generate a set of config files from the example ones, if no config file
    exists (on first install or if the config didn't change from the example
    one) [1]
  
  PR:		182711 [1]
  Submitted by:	Jason Unovitch <jason.unovitch@gmail.com> [1]

Modified:
  head/net/serviio/Makefile
  head/net/serviio/files/serviio.in
  head/net/serviio/files/serviiod.in
  head/net/serviio/pkg-plist

Modified: head/net/serviio/Makefile
==============================================================================
--- head/net/serviio/Makefile	Mon Oct 14 19:48:49 2013	(r330347)
+++ head/net/serviio/Makefile	Mon Oct 14 19:50:26 2013	(r330348)
@@ -3,7 +3,7 @@
 
 PORTNAME=	serviio
 PORTVERSION=	1.3.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	net multimedia java www
 MASTER_SITES=	http://download.serviio.org/releases/
 EXTRACT_SUFX=	-linux.tar.gz

Modified: head/net/serviio/files/serviio.in
==============================================================================
--- head/net/serviio/files/serviio.in	Mon Oct 14 19:48:49 2013	(r330347)
+++ head/net/serviio/files/serviio.in	Mon Oct 14 19:50:26 2013	(r330348)
@@ -24,7 +24,7 @@ if [ -n "${serviio_lang}" ]; then
 	export LANG=${serviio_lang}
 fi
 
-_dirs="/var/db/serviio /var/log/serviio"
+_dirs="/var/db/serviio /var/db/serviio/home /var/log/serviio"
 start_precmd="mkdir -p $_dirs; chown $serviio_user $_dirs"
 command_args="$serviio_args &"
 

Modified: head/net/serviio/files/serviiod.in
==============================================================================
--- head/net/serviio/files/serviiod.in	Mon Oct 14 19:48:49 2013	(r330347)
+++ head/net/serviio/files/serviiod.in	Mon Oct 14 19:50:26 2013	(r330348)
@@ -6,6 +6,7 @@
 ### ====================================================================== ###
 
 PATH=$PATH:%%PREFIX%%/bin
+HOME=/var/db/serviio/home
 SERVIIO_HOME=%%JAVAJARDIR%%/serviio
 SERVIIO_CLASS_PATH="$SERVIIO_HOME/serviio.jar"
 # Setup the classpath
@@ -16,7 +17,7 @@ done
 SERVIIO_CLASS_PATH="$SERVIIO_CLASS_PATH:%%ETCDIR%%"
 
 # Setup Serviio specific properties
-JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dderby.system.home=/var/db/serviio -Dserviio.home=$SERVIIO_HOME -Dffmpeg.location=%%LOCALBASE%%/bin/ffmpeg1"
+JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dderby.system.home=/var/db/serviio -Dserviio.home=$HOME -Dffmpeg.location=%%LOCALBASE%%/bin/ffmpeg1"
 JAVA_OPTS="${JAVA_OPTS} -Djcs.auxiliary.DC.attributes.DiskPath=/var/db/serviio"
 
 
@@ -31,4 +32,5 @@ do
 done
 
 # Execute the JVM in the foreground
+export HOME PATH
 exec java -Xmx512M -Xms20M -XX:+UseParNewGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 $JAVA_OPTS -classpath "$SERVIIO_CLASS_PATH" org.serviio.MediaServer "$@" 2>&1 >/dev/null

Modified: head/net/serviio/pkg-plist
==============================================================================
--- head/net/serviio/pkg-plist	Mon Oct 14 19:48:49 2013	(r330347)
+++ head/net/serviio/pkg-plist	Mon Oct 14 19:50:26 2013	(r330348)
@@ -41,6 +41,10 @@ bin/serviio-console
 @unexec cmp %D/%%ETCDIR%%/profiles.xml %D/%%ETCDIR%%/profiles.dist.xml && rm -f %D/%%ETCDIR%%/profiles.xml || echo Modified profiles.xml remains in %D/%%ETCDIR%%
 @unexec cmp %D/%%ETCDIR%%/log4j.xml %D/%%ETCDIR%%/log4j.dist.xml && rm -f %D/%%ETCDIR%%/log4j.xml || echo Modified log4j.xml remains in %D/%%ETCDIR%%
 @unexec cmp %D/%%ETCDIR%%/console-log4j.properties %D/%%ETCDIR%%/console-log4j.dist.properties && rm -f %D/%%ETCDIR%%/console-log4j.properties || echo Modified console-log4j.properties remains in %D/%%ETCDIR%%
+@exec [ -f %D/%%ETCDIR%%/application-profiles.xml ] || cp -v %D/%%ETCDIR%%/application-profiles.dist.xml %D/%%ETCDIR%%/application-profiles.xml
+@exec [ -f %D/%%ETCDIR%%/profiles.xml ] || cp -v %D/%%ETCDIR%%/profiles.dist.xml %D/%%ETCDIR%%/profiles.xml
+@exec [ -f %D/%%ETCDIR%%/log4j.xml ] || cp -v %D/%%ETCDIR%%/log4j.dist.xml %D/%%ETCDIR%%/log4j.xml
+@exec [ -f %D/%%ETCDIR%%/console-log4j.properties ] || cp -v %D/%%ETCDIR%%/console-log4j.dist.properties %D/%%ETCDIR%%/console-log4j.properties
 %%ETCDIR%%/profiles.dist.xml
 %%ETCDIR%%/log4j.dist.xml
 %%ETCDIR%%/application-profiles.dist.xml
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Alexander Leidinger freebsd_committer freebsd_triage 2013-10-14 20:51:33 UTC
State Changed
From-To: open->closed

Committed, thanks.