Bug 313391 (MONO52227) - mono doesn't honors my sysconfdir wishes
Summary: mono doesn't honors my sysconfdir wishes
Status: RESOLVED INVALID
Alias: MONO52227
Product: Mono: Runtime
Classification: Mono
Component: misc (show other bugs)
Version: unspecified
Hardware: Other All
: P3 - Medium : Enhancement
Target Milestone: ---
Assignee: Mono Bugs
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2003-12-16 13:15 UTC by Marc Recht
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 18:22:09 UTC


---- Reported by recht@netbsd.org 2003-12-16 06:15:20 MST ----

Description of Problem:
mono's build always adds a "/mono" after the given sysconfdir. If I
configure mono eg. with --sysconfdir=/opt/etc/mono I end up with
/opt/etc/mono/mono.
For package systems like NetBSD's pkgsrc this is really undesirable.

The following patch makes mono fully respect the sysconfdir.

Steps to reproduce the problem:
build and install mono

Actual Results:
mono add /mono to the given sysconfdir

Expected Results:
mono respects my sysconfdir wishes without adding anything to it

How often does this happen? 
every time

Additional Information:
diff -ur mono-0.29.orig/data/Makefile.in mono-0.29/data/Makefile.in
--- mono-0.29.orig/data/Makefile.in 2003-11-30 13:29:55.000000000 +0100
+++ mono-0.29/data/Makefile.in   2003-12-16 12:14:05.000000000 +0100
@@ -117,7 +117,7 @@
 libgc_dir = @libgc_dir@
 libmono_cflags = @libmono_cflags@
 libmono_ldflags = @libmono_ldflags@
-monodir = $(sysconfdir)/mono
+monodir = $(sysconfdir)
 
 EXTRA_DIST = config.in machine.config DefaultWsdlHelpGenerator.aspx
 
diff -ur mono-0.29.orig/mono/metadata/icall.c mono-0.29/mono/metadata/icall.c
--- mono-0.29.orig/mono/metadata/icall.c  2003-11-26 19:33:10.000000000 +0100
+++ mono-0.29/mono/metadata/icall.c 2003-12-16 11:54:05.000000000 +0100
@@ -3958,7 +3958,7 @@
 
   MONO_ARCH_SAVE_REGS;
 
-  path = g_build_path (G_DIR_SEPARATOR_S, mono_cfg_dir, "mono",
"machine.config", NULL);
+  path = g_build_path (G_DIR_SEPARATOR_S, mono_cfg_dir, "machine.config",
NULL);
 
 #if defined (PLATFORM_WIN32)
   /* Avoid mixing '/' and '\\' */
diff -ur mono-0.29.orig/mono/metadata/mono-config.c
mono-0.29/mono/metadata/mono-config.c
--- mono-0.29.orig/mono/metadata/mono-config.c  2003-09-04
21:46:43.000000000 +0200
+++ mono-0.29/mono/metadata/mono-config.c 2003-12-16 11:53:51.000000000 +0100
@@ -258,7 +258,7 @@
 
   /* Ensure mono_cfg_dir gets a value */
   mono_install_get_config_dir ();
-  mono_cfg = g_build_filename (mono_cfg_dir, "mono", "config", NULL);
+  mono_cfg = g_build_filename (mono_cfg_dir, "config", NULL, NULL);
   mono_config_parse_file (mono_cfg);
   g_free (mono_cfg);



---- Additional Comments From miguel@ximian.com 2004-05-12 01:27:04 MST ----

This is a design feature, since most people use --sysconfdir=/etc


Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>NetBSD-current</cf_op_sys_details>
Skipping unknown keyword: portability.