djmount: add debian patches: manpage and fstab support.
This commit is contained in:
parent
8b066915bf
commit
b94bee6819
4 changed files with 239 additions and 2 deletions
105
srcpkgs/djmount/patches/000_djmount.1.diff
Normal file
105
srcpkgs/djmount/patches/000_djmount.1.diff
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
#
|
||||||
|
# Description: Adds djmount.1 manpage which isn't included in original sources.
|
||||||
|
# Forwarded: http://sourceforge.net/tracker/index.php?func=detail&aid=2834139&group_id=142039&atid=751320
|
||||||
|
# Author: Dario Minnucci <midget@debian.org>
|
||||||
|
# Last-Update: 2010-01-24
|
||||||
|
#
|
||||||
|
--- djmount.1 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ djmount.1 2009-08-31 19:38:36.289425318 +0200
|
||||||
|
@@ -0,0 +1,96 @@
|
||||||
|
+.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
+.\" First parameter, NAME, should be all caps
|
||||||
|
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
|
+.\" other parameters are allowed: see man(7), man(1)
|
||||||
|
+.TH DJMOUNT 1 "August 31, 2009"
|
||||||
|
+.\" Please adjust this date whenever revising the manpage.
|
||||||
|
+.\"
|
||||||
|
+.\" Some roff macros, for reference:
|
||||||
|
+.\" .nh disable hyphenation
|
||||||
|
+.\" .hy enable hyphenation
|
||||||
|
+.\" .ad l left justify
|
||||||
|
+.\" .ad b justify to both left and right margins
|
||||||
|
+.\" .nf disable filling
|
||||||
|
+.\" .fi enable filling
|
||||||
|
+.\" .br insert line break
|
||||||
|
+.\" .sp <n> insert n+1 empty lines
|
||||||
|
+.\" for manpage-specific macros, see man(7)
|
||||||
|
+.SH NAME
|
||||||
|
+djmount \- file system client for mounting network media servers
|
||||||
|
+.SH SYNOPSIS
|
||||||
|
+.B djmount
|
||||||
|
+.RI [ options ] " mountpoint"
|
||||||
|
+.br
|
||||||
|
+.SH DESCRIPTION
|
||||||
|
+This manual page describes briefly the
|
||||||
|
+.B djmount
|
||||||
|
+command.
|
||||||
|
+.PP
|
||||||
|
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||||
|
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||||
|
+.\" respectively.
|
||||||
|
+This package provides a client for Universal Plug'n'Play (UPnP) Audio-Visual MediaServers. It discovers all compatible UPnP AV devices on the network automatically and mounts their media content as a file system using FUSE.
|
||||||
|
+
|
||||||
|
+.SH OPTIONS
|
||||||
|
+This program follows the usual GNU command line syntax, with long
|
||||||
|
+options starting with two dashes (`-').
|
||||||
|
+A summary of options is included below.
|
||||||
|
+For a complete description, see the Info files.
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+.B \-d[levels]
|
||||||
|
+enable debug output (implies \-f)
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+.B \-f
|
||||||
|
+foreground operation (default: daemonized)
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+.B \-h, \-\-help
|
||||||
|
+print this help, then exit
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+.B \-\-version
|
||||||
|
+print version number, then exit
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+.B \-o [options]
|
||||||
|
+mount options (see below)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+Mount options (one or more comma separated options):
|
||||||
|
+
|
||||||
|
+ iocharset=<charset> filenames encoding (default: from environment)
|
||||||
|
+ playlists use playlists for AV files, instead of plain files
|
||||||
|
+ search_history=<size> number of remembered searches (default: 100)
|
||||||
|
+ (set to 0 to disable search)
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+See FUSE documentation for the following mount options:
|
||||||
|
+
|
||||||
|
+ default_permissions enable permission checking by kernel
|
||||||
|
+ allow_other allow access to other users
|
||||||
|
+ allow_root allow access to root
|
||||||
|
+ kernel_cache cache files in kernel
|
||||||
|
+ nonempty allow mounts over non-empty file/dir
|
||||||
|
+ fsname=NAME set filesystem name in mtab
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
+Debug levels are one or more comma separated words:
|
||||||
|
+
|
||||||
|
+ upnperr, upnpall: increasing level of UPnP traces
|
||||||
|
+ error, warn, info, debug: increasing level of djmount traces
|
||||||
|
+ fuse: activates FUSE traces
|
||||||
|
+ leak, leakfull: enable talloc leak reports at exit
|
||||||
|
+ '\-d' alone defaults to 'upnpall, debug, fuse, leak' which is all traces.
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+.SH SEE ALSO
|
||||||
|
+.BR fusermount (1)
|
||||||
|
+.SH AUTHOR
|
||||||
|
+djmount was written by Rémi Turboult <r3mi@users.sourceforge.net>.
|
||||||
|
+.PP
|
||||||
|
+This manual page was written by Dario Minnucci <midget@debian.org>,
|
||||||
|
+for the Debian project (and may be used by others).
|
31
srcpkgs/djmount/patches/001-libupnp-1.6.6.diff
Normal file
31
srcpkgs/djmount/patches/001-libupnp-1.6.6.diff
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#
|
||||||
|
# Description: Update libupnp API for 1.6.x.
|
||||||
|
# Between libupnp2 and libupnp3 (pupnp 1.4.x and 1.6.x) the function
|
||||||
|
# SetLogFileNames was renamed to UpnpSetLogFileNames.
|
||||||
|
# Author: nick@leverton.org
|
||||||
|
# Bug-Debian: 581879
|
||||||
|
#
|
||||||
|
--- djmount/fuse_main.c 2010-05-16 21:40:56.000000000 +0100
|
||||||
|
+++ djmount/fuse_main.c 2010-05-16 21:43:55.000000000 +0100
|
||||||
|
@@ -616,7 +616,7 @@
|
||||||
|
}
|
||||||
|
Log_Colorize (true);
|
||||||
|
#if UPNP_HAVE_DEBUG
|
||||||
|
- SetLogFileNames ("/dev/null", "/dev/null");
|
||||||
|
+ UpnpSetLogFileNames ("/dev/null", "/dev/null");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -710,10 +710,10 @@
|
||||||
|
Log_SetMaxLevel (LOG_ERROR);
|
||||||
|
#if UPNP_HAVE_DEBUG
|
||||||
|
} else if (strcmp (s, "upnperr") == 0) {
|
||||||
|
- SetLogFileNames ("/dev/stdout",
|
||||||
|
+ UpnpSetLogFileNames ("/dev/stdout",
|
||||||
|
"/dev/null");
|
||||||
|
} else if (strcmp (s, "upnpall") == 0) {
|
||||||
|
- SetLogFileNames ("/dev/stdout",
|
||||||
|
+ UpnpSetLogFileNames ("/dev/stdout",
|
||||||
|
"/dev/stdout");
|
||||||
|
#endif
|
||||||
|
} else {
|
96
srcpkgs/djmount/patches/003-support-fstab-mounting.diff
Normal file
96
srcpkgs/djmount/patches/003-support-fstab-mounting.diff
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
Description: Support /etc/fstab mounting
|
||||||
|
Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3514280&group_id=142039&atid=751317
|
||||||
|
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660098
|
||||||
|
Author: Kevin Vargo <vargok@yahoo.com>
|
||||||
|
Last-Update: 2012-04-02
|
||||||
|
--- djmount/fuse_main.c 2006-08-27 16:12:20.000000000 -0400
|
||||||
|
+++ djmount/fuse_main.c 2011-12-23 15:39:29.000000000 -0500
|
||||||
|
@@ -529,6 +529,7 @@
|
||||||
|
" --version print version number, then exit\n"
|
||||||
|
" -o [options] mount options (see below)\n"
|
||||||
|
" -d[levels] enable debug output (implies -f)\n"
|
||||||
|
+ " -s sloppy -- ignore unknown options\n"
|
||||||
|
" -f foreground operation (default: daemonized)\n"
|
||||||
|
"\n"
|
||||||
|
"Mount options (one or more comma separated options) :\n"
|
||||||
|
@@ -538,6 +539,7 @@
|
||||||
|
" playlists use playlists for AV files, instead of plain files\n"
|
||||||
|
" search_history=<size> number of remembered searches (default: %d)\n"
|
||||||
|
" (set to 0 to disable search)\n"
|
||||||
|
+ " sloppy ignore unknown options (e.g., for /etc/fstab)\n"
|
||||||
|
"\n", DEFAULT_SEARCH_HISTORY_SIZE);
|
||||||
|
fprintf
|
||||||
|
(stream,
|
||||||
|
@@ -635,6 +637,9 @@
|
||||||
|
Log_Printf (LOG_DEBUG, " Fuse option = %s", fuse_argv[fuse_argc]); \
|
||||||
|
fuse_argc++
|
||||||
|
|
||||||
|
+ //Ignore unknown options "sloppy" -- mount -s
|
||||||
|
+ bool options_sloppy = false;
|
||||||
|
+
|
||||||
|
int opt = 1;
|
||||||
|
char* o;
|
||||||
|
while ((o = argv[opt++])) {
|
||||||
|
@@ -646,6 +651,9 @@
|
||||||
|
|
||||||
|
} else if (strcmp(o, "-f") == 0) {
|
||||||
|
background = false;
|
||||||
|
+
|
||||||
|
+ } else if (strcmp(o, "-s") == 0) {
|
||||||
|
+ options_sloppy = true;
|
||||||
|
|
||||||
|
} else if (*o != '-') {
|
||||||
|
// mount point
|
||||||
|
@@ -657,6 +665,10 @@
|
||||||
|
char* options_copy = strdup (options);
|
||||||
|
char* tokptr = 0;
|
||||||
|
char* s;
|
||||||
|
+
|
||||||
|
+ char** unknown_options = talloc_size(tmp_ctx, sizeof(char) * strlen(options_copy));
|
||||||
|
+ int unknown_ptr = -1;
|
||||||
|
+
|
||||||
|
for (s = strtok_r (options_copy, ",", &tokptr);
|
||||||
|
s != NULL;
|
||||||
|
s = strtok_r (NULL, ",", &tokptr)) {
|
||||||
|
@@ -669,16 +681,39 @@
|
||||||
|
} else if (strncmp(s, "search_history=", 15)
|
||||||
|
== 0) {
|
||||||
|
search_history_size = atoi (s+15);
|
||||||
|
+ //check for '-s|-o sloppy' -- ignore unknown options
|
||||||
|
+ } else if (strncmp(s, "sloppy", 15) == 0 ||
|
||||||
|
+ (strlen(s) == 1 && strncmp(s, "s", 1) == 0)) {
|
||||||
|
+ options_sloppy = true;
|
||||||
|
} else if (strncmp(s, "fsname=", 7) == 0 ||
|
||||||
|
strstr (FUSE_ALLOWED_OPTIONS, s)) {
|
||||||
|
FUSE_ARG ("-o");
|
||||||
|
FUSE_ARG (talloc_strdup (tmp_ctx, s));
|
||||||
|
} else {
|
||||||
|
+ //Record unknown options for analysis, after we're sure
|
||||||
|
+ //we don't see '-o sloppy'
|
||||||
|
+ unknown_options[++unknown_ptr] = strdup(s);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ //Now, we should know if we have invalid option(s), or can
|
||||||
|
+ //ignore:
|
||||||
|
+ if (unknown_ptr >= 0) {
|
||||||
|
+ //If debug...
|
||||||
|
+ int i = 0;
|
||||||
|
+ for (i = 0; i <= unknown_ptr; i++) {
|
||||||
|
+ Log_Printf (LOG_WARNING, "Found unknown option = %s%s",
|
||||||
|
+ unknown_options[i], (options_sloppy ? "; ignoring" : ""));
|
||||||
|
+ }
|
||||||
|
+ //If 'sloppy' is not enabled...
|
||||||
|
+ if (! options_sloppy) {
|
||||||
|
bad_usage (argv[0],
|
||||||
|
- "unknown mount option '%s'",
|
||||||
|
- s); // ---------->
|
||||||
|
+ "unknown mount option '%s' (and [-s|-o sloppy] not provided)",
|
||||||
|
+ unknown_options[0]); // ---------->
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ talloc_free(unknown_options);
|
||||||
|
+
|
||||||
|
free (options_copy);
|
||||||
|
Log_Printf (LOG_INFO, " Mount options = %s", options);
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# Template file for 'djmount'
|
# Template file for 'djmount'
|
||||||
pkgname=djmount
|
pkgname=djmount
|
||||||
version=0.71
|
version=0.71
|
||||||
revision=1
|
revision=2
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--with-external-libupnp --with-external-talloc"
|
configure_args="--with-external-libupnp --with-external-talloc"
|
||||||
hostmakedepends="pkg-config"
|
hostmakedepends="pkg-config"
|
||||||
makedepends="fuse-devel talloc-devel libupnp-devel"
|
makedepends="fuse-devel talloc-devel libupnp-devel readline-devel"
|
||||||
short_desc="Mount MediaServers content as a Linux file system"
|
short_desc="Mount MediaServers content as a Linux file system"
|
||||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
|
@ -19,6 +19,11 @@ long_desc="
|
||||||
tree. All shared files (e.g. Audio or Video files) are directly visible and
|
tree. All shared files (e.g. Audio or Video files) are directly visible and
|
||||||
can be played using your favorite media player."
|
can be played using your favorite media player."
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
vinstall djmount/djmount 755 usr/bin
|
||||||
|
vinstall djmount.1 644 usr/share/man/man1
|
||||||
|
}
|
||||||
|
|
||||||
djmount_package() {
|
djmount_package() {
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmove all
|
vmove all
|
||||||
|
|
Loading…
Reference in a new issue