Opened 10 months ago

Closed 8 months ago

Last modified 8 months ago

#19943 closed enhancement (fixed)

Add a space after "-D" for cmake and meson

Reported by: Xi Ruoyao Owned by: anyblfseditcandothis
Priority: low Milestone: 12.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

Let's make it consistent for the next release.

Change History (14)

comment:1 by Xi Ruoyao, 10 months ago

In abseil-cpp we have -GNinja which should be better -G Ninja as well.

And in various places we have -DXXX and -DXXX=yyy in CPPFLAGS. For example in Sqlite:

./configure --prefix=/usr     \
            --disable-static  \
            --enable-fts{4,5} \
            CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1 \
                      -DSQLITE_ENABLE_UNLOCK_NOTIFY=1   \
                      -DSQLITE_ENABLE_DBSTAT_VTAB=1     \
                      -DSQLITE_SECURE_DELETE=1"         &&
make

Adding a space after -D will also work but I'm not sure if we want to change them as well.

comment:2 by Bruce Dubbs, 10 months ago

Priority: normallow

Lets just do this as packages get updated. The space is optional, but I do think it makes the option more readable.

Changing to low priority.

comment:3 by Xi Ruoyao, 10 months ago

Owner: changed from blfs-book to anyblfseditcandothis

comment:4 by Xi Ruoyao, 9 months ago

Note that we should also update command explanations when we edit the command.

comment:5 by Bruce Dubbs, 9 months ago

Resolution: fixed
Status: newclosed

Searching with grep -rl ' -D[A-Z]' found the files that needed to be updated. It wasn't too hard, but a bit tedious. I left some entries in sendmail because I was not sure it would work properly with the spaces.

Closing as fixed.

comment:6 by rhubarbpieguy, 9 months ago

The following differ from the subject of this ticket as they're not about adding a space to the Installation options. Instead, they report inconsistently between the Installation options and Command Explanations. The Installation section options show a space after -D while the Command Explanations section does not.

I originally posted this in ticket #20072 but it was suggested I add it as a comment here.

general/highway.html
   -DBUILD_TESTING=OFF
   -DBUILD_SHARED_LIBS=ON
   
general/qca.html
   -DCMAKE_BUILD_TYPE=Release
   -DQT6=ON
   -DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man

general/qcoro.html
   -DCMAKE_BUILD_TYPE=Release

general/spirv-llvm-translator.html
   -DCMAKE_SKIP_INSTALL_RPATH=ON
   
kde/frameworks6.html
   -DCMAKE_PREFIX_PATH=$QT6DIR
   -DCMAKE_BUILD_TYPE=Release
   -DBUILD_TESTING=OFF

multimedia/gst10-plugins-bad.html
   -Dgpl=enabled

multimedia/mpv.html
   -Dx11=enabled
   -Ddvdnav=enabled # note - This isn't in the installation section but should it be -D dvdnav=enabled?
   -Dcdda=enabled # note - This isn't in the installation section but should it be -D cdda=enabled?
   -Dsdl2=enabled # note - This isn't in the installation section but should it be -D sdl2=enabled?

postlfs/gedit.html
   -Dgtk_doc=false

x/pango.html
   -Dintrospection=disabled # note - This isn't in the installation section but should it be -D introspection=disabled?

Adding a space after the -D's in the Command Explanations would make them identical.

comment:7 by Bruce Dubbs, 9 months ago

Thanks, I've fixed those. I'll note that it is a lot easier for editors to fix these things is you use the .xml files and not the .html files.

git clone https://git.linuxfromscratch.org/blfs.git blfs.git

then as needed from the cloned directory: git pull

Note blfs.git is updated virtually every day.

comment:8 by rhubarbpieguy, 8 months ago

The following is another Command Explanation that differs from the command in the Installation section:

networking/netutils/networkmanager.xml
   -Dselinux=false

in reply to:  8 comment:9 by Bruce Dubbs, 8 months ago

Replying to rhubarbpieguy:

The following is another Command Explanation that differs from the command

networking/netutils/networkmanager.xml

-Dselinux=false

I'll get it in my next commit.

comment:10 by Xi Ruoyao, 8 months ago

Resolution: fixed
Status: closedreopened
$ grep -l ' -D[a-zA-Z]' $(find -name \*.xml)
./general/sysutils/accountsservice.xml
./general/sysutils/systemd.xml
./general/sysutils/elogind.xml
./general/sysutils/power-profiles-daemon.xml
./general/sysutils/colord.xml
./general/sysutils/upower.xml
./general/prog/cbindgen.xml
./general/prog/dtc.xml
./general/prog/lua52.xml
./general/prog/apache-ant.xml
./general/genlib/libxkbcommon.xml
./general/genlib/libxmlb.xml
./general/genlib/libuv.xml
./general/genlib/appstream.xml
./general/genlib/libgusb.xml
./general/genlib/libportal.xml
./general/genlib/wayland.xml
./general/genlib/glib2.xml
./general/genutils/shared-mime-info.xml
./general/graphlib/gegl.xml
./multimedia/audioutils/pavucontrol.xml
./multimedia/libdriv/wireplumber.xml
./multimedia/libdriv/pulseaudio.xml
./multimedia/libdriv/gst10-plugins-ugly.xml
./multimedia/libdriv/opus.xml

... matches in archive/ trimmed ...

./gnome/applications/gnome-system-monitor.xml
./gnome/applications/gucharmap.xml
./gnome/applications/file-roller.xml
./gnome/platform/vte.xml
./gnome/platform/libshumate.xml
./gnome/platform/gnome-online-accounts.xml
./gnome/platform/libgdata.xml
./gnome/platform/libgweather.xml
./gnome/platform/libsecret.xml
./gnome/platform/tracker3.xml
./gnome/platform/gnome-autoar.xml
./gnome/platform/gvfs.xml
./gnome/platform/nautilus.xml
./gnome/platform/mutter.xml
./gnome/platform/gnome-shell.xml
./gnome/platform/gnome-session.xml
./gnome/platform/libpeas.xml
./gnome/platform/gnome-settings-daemon.xml
./gnome/platform/gcr4.xml
./gnome/platform/gcr.xml
./gnome/platform/geocode-glib.xml
./gnome/platform/rest.xml
./gnome/platform/gexiv2.xml
./gnome/platform/grilo.xml
./gnome/platform/xdg-desktop-portal-gnome.xml
./postlfs/security/mitkrb.xml
./networking/netutils/network-manager-applet.xml
./networking/netlibs/libnma.xml
./networking/netlibs/glib-networking.xml
./networking/netlibs/libsoup3.xml
./networking/netlibs/geoclue2.xml
./networking/netlibs/libsoup.xml
./server/mail/sendmail.xml
./pst/ps/epdfview.xml
./x/lib/glu.xml
./x/lib/libgedit-gtksourceview.xml
./x/lib/libgedit-amtk.xml
./x/lib/at-spi2-core.xml
./x/lib/libnotify.xml
./x/lib/cairomm-1.16.xml
./x/lib/qt5-components.xml
./x/lib/libdrm.xml
./x/lib/colord-gtk.xml
./x/lib/gtk4.xml
./x/lib/cairomm-1.0.xml
./x/lib/cairo.xml
./x/lib/libadwaita.xml
./x/lib/tepl.xml
./x/lib/gdk-pixbuf.xml
./x/lib/qt6.xml
./x/dm/gdm.xml
./x/installing/libevdev.xml
./x/installing/xorg-server.xml

There may be false positives but I'm pretty sure most of them are real inconsistencies.

Last edited 8 months ago by Xi Ruoyao (previous) (diff)

comment:11 by Bruce Dubbs, 8 months ago

Resolution: fixed
Status: reopenedclosed

Fixed over several commits. Now the command

grep -r ' -D[a-zA-Z]' |grep -v /archive|grep -v Dm6| grep -v Dm7

returns no hits.

comment:12 by rhubarbpieguy, 8 months ago

More examples of commands written differently on the same page.


networking/netutils/networkmanager.xml
 I               note - If you have not passed the -Ddocs=true option
                 note - If you have not used -Ddocs=true, the pregenerated
 Command Explanations - -D docs=true: Use this switch to enable building man pages

general/genlib/libical.xml
 Installation of libical - -D ICAL_BUILD_DOCS=false
                    note - -DICAL_BUILD_DOCS=false
 Command Explanations    - -D ICAL_BUILD_DOCS=false This switch prevents building

general/genlib/libwacom.xml
 Installation of libwacom - -D tests=disabled
                     note - -Dtests=disabled" option from the meson line
 Command Explanations     - -D tests=disabled

comment:13 by Xi Ruoyao, 8 months ago

general/genlib/libsigc++3.xml:      <option>-Dbuild-documentation=true</option>: Use this switch if
general/genlib/umockdev.xml:      <option>-Dgtk_doc=true</option>: Use this switch if you have
general/genlib/libsigc++.xml:      <option>-Dbuild-documentation=true</option>: Use this switch if
general/genlib/libcloudproviders.xml:      <option>-Denable-gtk-doc</option>: Use this switch if you have
general/genlib/libgudev.xml:      <option>-Dgtk_doc=true</option>: Use this option if GTK-Doc is installed
general/genlib/json-glib.xml:      <option>-Dgtk_doc=disabled</option>: Add this option if you have
general/graphlib/glm.xml:      <command>-DCMAKE_INSTALL_LIBDIR=lib ..</command>: Although no compiled
general/graphlib/harfbuzz.xml:      <parameter>-Dcpp_std=c++17</parameter>: This switch ensures compiling
gnome/applications/seahorse.xml:        <option>-Dldap-support=false</option>: Add this switch if you have not
gnome/applications/gnome-color-manager.xml:      <parameter>-Dexiv=false</parameter>: This switch is used to disable
gnome/platform/gnome-desktop.xml:      <option>-Dgnome_distributor="Some Name"</option>: Use this
gnome/platform/gnome-desktop.xml:      <option>-Dgtk_doc=true</option>: Use this
gnome/platform/gnome-desktop.xml:      <option>-Dinstalled_tests=true</option>: Use this
gnome/platform/gnome-control-center.xml:      <option>-Dibus=false</option>: Use this switch if you have not
gnome/platform/gjs.xml:      <option>-Dprofiler=disabled</option>: prevents building the profiler
networking/netutils/networkmanager.xml:      <parameter>-Dsystemdsystemunitdir=/lib/systemd/system</parameter>:
xfce/core/libwnck.xml:      <option>-Dgtk_doc=true</option>: Use this option
x/lib/gtksourceview4.xml:      <option>-Dgtk_doc=true</option>: This option is normally
x/lib/webkitgtk.xml:        the only difference is the setting of <command>-DUSE_GTK4</command>
x/lib/gtksourceview5.xml:      <option>-Ddocumentation=true</option>: Use this switch if you have
x/lib/gtksourceview5.xml:      <option>-Dsysprof=true</option>: Use this switch if you have
x/lib/graphene.xml:      <option>-Dgtk_doc=true</option>: Use this switch if you have
x/lib/libepoxy.xml:      <option>-Ddocs=true</option>: If you have <xref linkend="doxygen"/>
x/lib/gtk-vnc.xml:      <option>-Dwith-vala=false</option>: This switch disables
x/lib/libhandy1.xml:      <option>-Dgtk_doc=true</option>: Use this option if you have
x/lib/gtkmm3.xml:      <option>-Dbuild-documentation=true</option>: If you have installed
x/lib/gtkmm4.xml:      <option>-Dbuild-documentation=true</option>: If you have installed
x/installing/xorgproto.xml:      <option>-Dlegacy=true</option>: Installs legacy headers needed

in reply to:  13 comment:14 by Xi Ruoyao, 8 months ago

The matches in comment:13 are fixed at r12.1-1526-gd6fab8292e.

Note: See TracTickets for help on using tickets.