Re: Documentation for building with meson - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Documentation for building with meson
Date
Msg-id 0517adcd-4fea-f20d-0a74-31f75627138e@enterprisedb.com
Whole thread Raw
In response to Re: Documentation for building with meson  (samay sharma <smilingsamay@gmail.com>)
Responses Re: Documentation for building with meson  (samay sharma <smilingsamay@gmail.com>)
List pgsql-hackers
 > [PATCH v8 1/5] Make minor additions and corrections to meson docs

The last hunk revealed that there is some mixing up between meson setup 
and meson configure.  This goes a bit further.  For example, earlier it 
says that to get a list of meson setup options, call meson configure 
--help and look at https://mesonbuild.com/Commands.html#configure, which 
are both wrong.  Also later throughout the text it uses one or the 
other.  I think this has the potential to be very confusing, and we 
should clean this up carefully.

The text about additional meson test options maybe should go into the 
regress.sgml chapter?


 > [PATCH v8 2/5] Add data layout options sub-section in installation
  docs

This makes sense.  Please double check your patch for correct title 
casing, vertical spacing of XML, to keep everything looking consistent.

This text isn't yours, but since your patch emphasizes it, I wonder if 
it could use some clarification:

+     These options affect how PostgreSQL lays out data on disk.
+     Note that changing these breaks on-disk database compatibility,
+     meaning you cannot use <command>pg_upgrade</command> to upgrade to
+     a build with different values of these options.

This isn't really correct.  What breaking on-disk compatibility means is 
that you can't use a server compiled one way with a data directory 
initialized by binaries compiled another way.  pg_upgrade may well have 
the ability to upgrade between one or the other; that's up to pg_upgrade 
to figure out but not an intrinsic property.  (I wonder why pg_upgrade 
cares about the WAL block size.)


 > [PATCH v8 3/5] Remove Anti-Features section from Installation from
  source docs

Makes sense.  But is "--disable-thread-safety" really a developer 
feature?  I think not.


 > [PATCH v8 4/5] Re-organize Miscellaneous section

This moves the Miscellaneous section after Developer Features.  I think 
Developer Features should be last.

Maybe should remove this section and add the options to the regular 
PostgreSQL Features section.

Also consider the grouping in meson_options.txt, which is slightly 
different yet.


 > [PATCH v8 5/5] Change Short Version for meson installation guide

+# create working directory
+mkdir postgres
+cd postgres
+
+# fetch source code
+git clone https://git.postgresql.org/git/postgresql.git src

This comes after the "Getting the Source" section, so at this point they 
already have the source and don't need to do "git clone" etc. again.

+# setup and enter build directory (done only first time)
+## Unix based platforms
+meson setup build src --prefix=$PWD/install
+
+## Windows
+meson setup build src --prefix=%cd%/install

Maybe some people work this way, but to me the directory structures you 
create here are completely weird.

+# Initialize a new database
+../install/bin/initdb -D ../data
+
+# Start database
+../install/bin/pg_ctl -D ../data/ -l logfile start
+
+# Connect to the database
+../install/bin/psql -d postgres

The terminology here needs to be tightened up.  You are using "database" 
here to mean three different things.




pgsql-hackers by date:

Previous
From: Juan José Santamaría Flecha
Date:
Subject: Re: Fix fseek() detection of unseekable files on WIN32
Next
From: Tomas Vondra
Date:
Subject: Re: logical decoding and replication of sequences, take 2