]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Allow customising the example config directory at build time.
authorPeter Powell <petpow@saberuk.com>
Wed, 3 Jul 2019 09:53:21 +0000 (10:53 +0100)
committerPeter Powell <petpow@saberuk.com>
Wed, 3 Jul 2019 09:53:21 +0000 (10:53 +0100)
Fixes #1626.

configure
make/template/main.mk

index 63da8d6cdb3320d8934556c6b09e24b32a03683a..6d729292fd5bf7d29bb72a91eaff42bb6931040b 100755 (executable)
--- a/configure
+++ b/configure
@@ -55,6 +55,7 @@ my ($opt_binary_dir,
     $opt_disable_auto_extras,
     $opt_disable_interactive,
     $opt_distribution_label,
+    $opt_example_dir,
     $opt_gid,
     $opt_log_dir,
     $opt_manual_dir,
@@ -86,6 +87,7 @@ exit 1 unless GetOptions(
        'disable-auto-extras'  => \$opt_disable_auto_extras,
        'disable-interactive'  => \$opt_disable_interactive,
        'distribution-label=s' => \$opt_distribution_label,
+       'example-dir=s'        => \$opt_example_dir,
        'gid=s'                => \$opt_gid,
        'log-dir=s'            => \$opt_log_dir,
        'manual-dir=s'         => \$opt_manual_dir,
@@ -122,6 +124,7 @@ our $interactive = !(
        defined $opt_disable_auto_extras ||
        defined $opt_disable_interactive ||
        defined $opt_distribution_label ||
+       defined $opt_example_dir ||
        defined $opt_gid ||
        defined $opt_log_dir ||
        defined $opt_manual_dir ||
@@ -183,23 +186,25 @@ if (defined $opt_socketengine) {
 $config{SOCKETENGINE} = $opt_socketengine // $socketengines[0];
 
 if (defined $opt_system) {
-       $config{BASE_DIR}   = $opt_prefix     // '/var/lib/inspircd';
-       $config{BINARY_DIR} = $opt_binary_dir // '/usr/sbin';
-       $config{CONFIG_DIR} = $opt_config_dir // '/etc/inspircd';
-       $config{DATA_DIR}   = $opt_data_dir   // '/var/inspircd';
-       $config{LOG_DIR}    = $opt_log_dir    // '/var/log/inspircd';
-       $config{MANUAL_DIR} = $opt_manual_dir // '/usr/share/man/man1';
-       $config{MODULE_DIR} = $opt_module_dir // '/usr/lib/inspircd';
-       $config{SCRIPT_DIR} = $opt_script_dir // '/usr/share/inspircd'
+       $config{BASE_DIR}    = $opt_prefix      // '/var/lib/inspircd';
+       $config{BINARY_DIR}  = $opt_binary_dir  // '/usr/sbin';
+       $config{CONFIG_DIR}  = $opt_config_dir  // '/etc/inspircd';
+       $config{DATA_DIR}    = $opt_data_dir    // '/var/inspircd';
+       $config{EXAMPLE_DIR} = $opt_example_dir // '/usr/share/doc/inspircd';
+       $config{LOG_DIR}     = $opt_log_dir     // '/var/log/inspircd';
+       $config{MANUAL_DIR}  = $opt_manual_dir  // '/usr/share/man/man1';
+       $config{MODULE_DIR}  = $opt_module_dir  // '/usr/lib/inspircd';
+       $config{SCRIPT_DIR}  = $opt_script_dir  // '/usr/share/inspircd'
 } else {
-       $config{BASE_DIR}   = $opt_prefix     // $config{BASE_DIR}   // rel2abs 'run';
-       $config{BINARY_DIR} = $opt_binary_dir // $config{BINARY_DIR} // rel2abs $config{BASE_DIR} . '/bin';
-       $config{CONFIG_DIR} = $opt_config_dir // $config{CONFIG_DIR} // rel2abs $config{BASE_DIR} . '/conf';
-       $config{DATA_DIR}   = $opt_data_dir   // $config{DATA_DIR}   // rel2abs $config{BASE_DIR} . '/data';
-       $config{LOG_DIR}    = $opt_log_dir    // $config{LOG_DIR}    // rel2abs $config{BASE_DIR} . '/logs';
-       $config{MANUAL_DIR} = $opt_manual_dir // $config{MANUAL_DIR} // rel2abs $config{BASE_DIR} . '/manuals';
-       $config{MODULE_DIR} = $opt_module_dir // $config{MODULE_DIR} // rel2abs $config{BASE_DIR} . '/modules';
-       $config{SCRIPT_DIR} = $opt_script_dir // $config{SCRIPT_DIR} // $config{BASE_DIR};
+       $config{BASE_DIR}    = $opt_prefix      // $config{BASE_DIR}    // rel2abs 'run';
+       $config{BINARY_DIR}  = $opt_binary_dir  // $config{BINARY_DIR}  // rel2abs $config{BASE_DIR} . '/bin';
+       $config{CONFIG_DIR}  = $opt_config_dir  // $config{CONFIG_DIR}  // rel2abs $config{BASE_DIR} . '/conf';
+       $config{DATA_DIR}    = $opt_data_dir    // $config{DATA_DIR}    // rel2abs $config{BASE_DIR} . '/data';
+       $config{EXAMPLE_DIR} = $opt_example_dir // $config{EXAMPLE_DIR} // $config{CONFIG_DIR} . '/examples';
+       $config{LOG_DIR}     = $opt_log_dir     // $config{LOG_DIR}     // rel2abs $config{BASE_DIR} . '/logs';
+       $config{MANUAL_DIR}  = $opt_manual_dir  // $config{MANUAL_DIR}  // rel2abs $config{BASE_DIR} . '/manuals';
+       $config{MODULE_DIR}  = $opt_module_dir  // $config{MODULE_DIR}  // rel2abs $config{BASE_DIR} . '/modules';
+       $config{SCRIPT_DIR}  = $opt_script_dir  // $config{SCRIPT_DIR}  // $config{BASE_DIR};
 }
 
 # Parse --gid=123 or --gid=foo and extract the group id.
@@ -410,14 +415,15 @@ for my $file (<src/modules/m_*>) {
 print_format <<"EOM";
 
 <|GREEN Paths:|>
-  <|GREEN Base:|>   $config{BASE_DIR}
-  <|GREEN Binary:|> $config{BINARY_DIR}
-  <|GREEN Config:|> $config{CONFIG_DIR}
-  <|GREEN Data:|>   $config{DATA_DIR}
-  <|GREEN Log:|>    $config{LOG_DIR}
-  <|GREEN Manual:|> $config{MANUAL_DIR}
-  <|GREEN Module:|> $config{MODULE_DIR}
-  <|GREEN Script:|> $config{SCRIPT_DIR}
+  <|GREEN Base:|>    $config{BASE_DIR}
+  <|GREEN Binary:|>  $config{BINARY_DIR}
+  <|GREEN Config:|>  $config{CONFIG_DIR}
+  <|GREEN Data:|>    $config{DATA_DIR}
+  <|GREEN Example:|> $config{EXAMPLE_DIR}
+  <|GREEN Log:|>     $config{LOG_DIR}
+  <|GREEN Manual:|>  $config{MANUAL_DIR}
+  <|GREEN Module:|>  $config{MODULE_DIR}
+  <|GREEN Script:|>  $config{SCRIPT_DIR}
 
 <|GREEN Execution Group:|> $config{GROUP} ($config{GID})
 <|GREEN Execution User:|>  $config{USER} ($config{UID})
index e39a24f87b27a082413efaed844f1aa67b6c3791..d77d59fa5313c5948f15f8d567da38b65baf0896 100644 (file)
@@ -38,14 +38,17 @@ CORECXXFLAGS = -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -pipe -Iinc
 LDLIBS = -lstdc++
 CORELDFLAGS = -rdynamic -L.
 PICLDFLAGS = -fPIC -shared -rdynamic
-BASE = "$(DESTDIR)@BASE_DIR@"
+
+BASE    = "$(DESTDIR)@BASE_DIR@"
+BINPATH = "$(DESTDIR)@BINARY_DIR@"
 CONPATH = "$(DESTDIR)@CONFIG_DIR@"
+DATPATH = "$(DESTDIR)@DATA_DIR@"
+EXAPATH = "$(DESTDIR)@EXAMPLE_DIR@"
+LOGPATH = "$(DESTDIR)@LOG_DIR@"
 MANPATH = "$(DESTDIR)@MANUAL_DIR@"
 MODPATH = "$(DESTDIR)@MODULE_DIR@"
-LOGPATH = "$(DESTDIR)@LOG_DIR@"
-DATPATH = "$(DESTDIR)@DATA_DIR@"
-BINPATH = "$(DESTDIR)@BINARY_DIR@"
 SCRPATH = "$(DESTDIR)@SCRIPT_DIR@"
+
 INSTALL ?= install
 INSTMODE_DIR ?= 0755
 INSTMODE_BIN ?= 0755
@@ -204,11 +207,12 @@ finishmessage: target
 
 install: target
        @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(BASE)
+       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(BINPATH)
+       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(CONPATH)
        @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(DATPATH)
+       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(EXAPATH)/services
+       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(EXAPATH)/sql
        @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(LOGPATH)
-       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(BINPATH)
-       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(CONPATH)/examples/services
-       @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(CONPATH)/examples/sql
        @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(MANPATH)
        @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(MODPATH)
        @-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(SCRPATH)
@@ -225,9 +229,9 @@ endif
        -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) @CONFIGURE_DIRECTORY@/inspircd.1 $(MANPATH) 2>/dev/null
        -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) @CONFIGURE_DIRECTORY@/inspircd-genssl.1 $(MANPATH) 2>/dev/null
        -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_BIN) tools/genssl $(BINPATH)/inspircd-genssl 2>/dev/null
-       -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) docs/conf/*.example $(CONPATH)/examples
-       -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) docs/conf/services/*.example $(CONPATH)/examples/services
-       -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) docs/sql/*.sql $(CONPATH)/examples/sql
+       -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) docs/conf/*.example $(EXAPATH)
+       -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) docs/conf/services/*.example $(EXAPATH)/services
+       -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_TXT) docs/sql/*.sql $(EXAPATH)/sql
        -$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_PRV) *.pem $(CONPATH) 2>/dev/null
        @echo ""
        @echo "*************************************"
@@ -241,7 +245,7 @@ endif
        @echo '  Data:' $(DATPATH)
        @echo 'To start the ircd, run:' $(SCRPATH)/inspircd start
        @echo 'Remember to create your config file:' $(CONPATH)/inspircd.conf
-       @echo 'Examples are available at:' $(CONPATH)/examples/
+       @echo 'Examples are available at:' $(EXAPATH)
 
 GNUmakefile: make/template/main.mk src/version.sh configure @CONFIGURE_CACHE_FILE@
        ./configure --update