allow ~/.mpd/mpd.conf as alternate config file
mpd uses some additional files to work, such as pid_file, state_file, db_file, etc. when running mpd as non-root user, it is often that those files end in ~/.mpd in that case, we end up with 2 entries in a user's home, .mpdconf and .mpd - which clutters homedirs. this patch allows ~/.mpd/mpd.conf as an alternative to ~/.mpdconf, allowing for a cleaner homedir
This commit is contained in:
parent
642b861526
commit
ae5517b0b3
5
INSTALL
5
INSTALL
@ -162,8 +162,9 @@ Run
|
|||||||
|
|
||||||
$ mpd <config file>
|
$ mpd <config file>
|
||||||
|
|
||||||
First default is ~/.mpdconf then /etc/mpd.conf. If neither of these exist
|
First default is ~/.mpdconf then ~/.mpd/mpd.conf then /etc/mpd.conf. If
|
||||||
a mpd configuration file must be specified at runtime. A
|
neither of these exist a mpd configuration file must be specified at
|
||||||
|
runtime.
|
||||||
|
|
||||||
A sample config file is included with the source of MPD, mpdconf.example.
|
A sample config file is included with the source of MPD, mpdconf.example.
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
mpd.conf \- Music Player Daemon configuration file
|
mpd.conf \- Music Player Daemon configuration file
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBmpd.conf\fP is the configuration file for mpd(1). If not specified on the
|
\fBmpd.conf\fP is the configuration file for mpd(1). If not specified on the
|
||||||
command line, MPD first searches for it at \fB~/.mpdconf\fP and then in
|
command line, MPD first searches for it at \fB~/.mpdconf\fP then at
|
||||||
\fB/etc/mpd.conf\fP.
|
\fB~/.mpd/mpd.conf\fP and then in \fB/etc/mpd.conf\fP.
|
||||||
|
|
||||||
Lines beginning with a "#" character are comments. All other non-empty lines
|
Lines beginning with a "#" character are comments. All other non-empty lines
|
||||||
specify parameters and their values. These lines contain the parameter name
|
specify parameters and their values. These lines contain the parameter name
|
||||||
|
@ -33,7 +33,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#define SYSTEM_CONFIG_FILE_LOCATION "/etc/mpd.conf"
|
#define SYSTEM_CONFIG_FILE_LOCATION "/etc/mpd.conf"
|
||||||
#define USER_CONFIG_FILE_LOCATION ".mpdconf"
|
#define USER_CONFIG_FILE_LOCATION1 ".mpdconf"
|
||||||
|
#define USER_CONFIG_FILE_LOCATION2 ".mpd/mpd.conf"
|
||||||
|
|
||||||
G_GNUC_NORETURN
|
G_GNUC_NORETURN
|
||||||
static void version(void)
|
static void version(void)
|
||||||
@ -134,16 +135,22 @@ void parseOptions(int argc, char **argv, Options *options)
|
|||||||
|
|
||||||
if (argc <= 1) {
|
if (argc <= 1) {
|
||||||
/* default configuration file path */
|
/* default configuration file path */
|
||||||
char *path;
|
char *path1;
|
||||||
|
char *path2;
|
||||||
|
|
||||||
path = g_build_filename(g_get_home_dir(),
|
path1 = g_build_filename(g_get_home_dir(),
|
||||||
USER_CONFIG_FILE_LOCATION, NULL);
|
USER_CONFIG_FILE_LOCATION1, NULL);
|
||||||
if (g_file_test(path, G_FILE_TEST_IS_REGULAR))
|
path2 = g_build_filename(g_get_home_dir(),
|
||||||
readConf(path);
|
USER_CONFIG_FILE_LOCATION2, NULL);
|
||||||
|
if (g_file_test(path1, G_FILE_TEST_IS_REGULAR))
|
||||||
|
readConf(path1);
|
||||||
|
else if (g_file_test(path2, G_FILE_TEST_IS_REGULAR))
|
||||||
|
readConf(path2);
|
||||||
else if (g_file_test(SYSTEM_CONFIG_FILE_LOCATION,
|
else if (g_file_test(SYSTEM_CONFIG_FILE_LOCATION,
|
||||||
G_FILE_TEST_IS_REGULAR))
|
G_FILE_TEST_IS_REGULAR))
|
||||||
readConf(SYSTEM_CONFIG_FILE_LOCATION);
|
readConf(SYSTEM_CONFIG_FILE_LOCATION);
|
||||||
g_free(path);
|
g_free(path1);
|
||||||
|
g_free(path2);
|
||||||
} else if (argc == 2) {
|
} else if (argc == 2) {
|
||||||
/* specified configuration file */
|
/* specified configuration file */
|
||||||
readConf(argv[1]);
|
readConf(argv[1]);
|
||||||
|
Loading…
Reference in New Issue
Block a user