Thread (37 messages) 37 messages, 4 authors, 2025-06-16

Re: [PATCH 3/5] meson: correct path to system config/attribute files

From: Ramsay Jones <hidden>
Date: 2025-05-09 15:26:33


On 09/05/2025 09:51, Patrick Steinhardt wrote:
On Thu, May 08, 2025 at 05:44:37PM +0100, Ramsay Jones wrote:
quoted
diff --git a/meson.build b/meson.build
index 48f31157a0..106cb17612 100644
--- a/meson.build
+++ b/meson.build
@@ -757,8 +757,6 @@ endif
 libgit_c_args = [
   '-DBINDIR="' + get_option('bindir') + '"',
   '-DDEFAULT_GIT_TEMPLATE_DIR="' + get_option('datadir') / 'git-core/templates' + '"',
-  '-DETC_GITATTRIBUTES="' + get_option('gitattributes') + '"',
-  '-DETC_GITCONFIG="' + get_option('gitconfig') + '"',
   '-DFALLBACK_RUNTIME_PREFIX="' + get_option('prefix') + '"',
   '-DGIT_HOST_CPU="' + host_machine.cpu_family() + '"',
   '-DGIT_HTML_PATH="' + get_option('datadir') / 'doc/git-doc"',
@@ -769,6 +767,18 @@ libgit_c_args = [
   '-DSHELL_PATH="' + fs.as_posix(target_shell.full_path()) + '"',
 ]
 
+system_attributes = get_option('gitattributes')
+if system_attributes != ''
+  libgit_c_args += '-DETC_GITATTRIBUTES="' + system_attributes + '"'
+else
+  libgit_c_args += '-DETC_GITATTRIBUTES="' + get_option('sysconfdir') + '/gitattributes"'
+endif
+system_config = get_option('gitconfig')
+if system_config != ''
+  libgit_c_args += '-DETC_GITCONFIG="' + system_config + '"'
+else
+  libgit_c_args += '-DETC_GITCONFIG="' + get_option('sysconfdir') + '/gitconfig"'
Instead of `get_option('sysconfdir') + '/gitconfig'` you can say
`get_option('sysconfdir') / 'gitconfig'`. It's a bit pointless in this
case and not really needed, but '/' has some special magic for handling
absolute and relative paths.
OK, TIL. I just looked this up ([0]) and I am not sure such 'magic' is
always a good thing. ;)

[0] https://mesonbuild.com/Syntax.html#string-path-building
quoted
+endif
 editor_opt = get_option('default_editor')
 if editor_opt != '' and editor_opt != 'vi'
   libgit_c_args += '-DDEFAULT_EDITOR="' + editor_opt + '"'
Nit: let's maybe add an empty newline after each of these blocks to make
it a bit easier to see where handling for each specific option stops.
OK, will do.
quoted
diff --git a/meson_options.txt b/meson_options.txt
index 8547c0eb47..4d78d4c7ac 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,9 +3,9 @@ option('default_pager', type: 'string', value: 'less',
   description: 'Fall-back pager.')
 option('default_editor', type: 'string', value: 'vi',
   description: 'Fall-back editor.')
-option('gitconfig', type: 'string', value: '/etc/gitconfig',
+option('gitconfig', type: 'string',
   description: 'Path to the global git configuration file.')
-option('gitattributes', type: 'string', value: '/etc/gitattributes',
+option('gitattributes', type: 'string',
   description: 'Path to the global git attributes file.')
 option('pager_environment', type: 'string', value: 'LESS=FRX LV=-c',
   description: 'Environment used when spawning the pager')
Makes sense. Should we maybe document the default values here now that
they aren't immediately obvious anymore?
good idea.

Thanks!

ATB,
Ramsay Jones

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help