Merge pull request #14543 from groxxda/fix/minidlna

minidlna: logging via journalctl, use systemd runtimedirectory, install manpages
This commit is contained in:
Franz Pletz 2016-04-10 01:14:48 +02:00
commit b667040c7c
2 changed files with 13 additions and 10 deletions

View File

@ -58,9 +58,9 @@ in
services.minidlna.config = services.minidlna.config =
'' ''
port=${toString port} port=${toString port}
friendly_name=NixOS Media Server friendly_name=${config.networking.hostName} MiniDLNA
db_dir=/var/cache/minidlna db_dir=/var/cache/minidlna
log_dir=/var/log/minidlna log_level=warn
inotify=yes inotify=yes
${concatMapStrings (dir: '' ${concatMapStrings (dir: ''
media_dir=${dir} media_dir=${dir}
@ -83,21 +83,18 @@ in
preStart = preStart =
'' ''
mkdir -p /var/cache/minidlna /var/log/minidlna /run/minidlna mkdir -p /var/cache/minidlna
chown minidlna /var/cache/minidlna /var/log/minidlna /run/minidlna chown -R minidlna:minidlna /var/cache/minidlna
''; '';
# FIXME: log through the journal rather than
# /var/log/minidlna. The -d flag does that, but also raises
# the log level to debug...
serviceConfig = serviceConfig =
{ User = "minidlna"; { User = "minidlna";
Group = "nogroup"; Group = "minidlna";
PermissionsStartOnly = true; PermissionsStartOnly = true;
Type = "forking"; RuntimeDirectory = "minidlna";
PIDFile = "/run/minidlna/pid"; PIDFile = "/run/minidlna/pid";
ExecStart = ExecStart =
"@${pkgs.minidlna}/sbin/minidlnad minidlnad -P /run/minidlna/pid" + "${pkgs.minidlna}/sbin/minidlnad -S -P /run/minidlna/pid" +
" -f ${pkgs.writeText "minidlna.conf" cfg.config}"; " -f ${pkgs.writeText "minidlna.conf" cfg.config}";
}; };
}; };

View File

@ -16,6 +16,12 @@ stdenv.mkDerivation {
buildInputs = [ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite gettext ]; buildInputs = [ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite gettext ];
postInstall = ''
mkdir -p $out/share/man/man{5,8}
cp minidlna.conf.5 $out/share/man/man5
cp minidlnad.8 $out/share/man/man8
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Media server software"; description = "Media server software";
longDescription = '' longDescription = ''