Closed mwilck closed 1 year ago
@xosevp for information.
@bmarzins, ping?
Sorry for the force-push, I made a stupid mistake.
@xosevp reported an issue with my patch "multipath-tools Makefile: fix compilation on Ubuntu trusty". (a file -.o
was created). Posting a fix.
On 12/5/22 12:29, Martin Wilck wrote:
@xosevp https://github.com/xosevp reported an issue with my patch "multipath-tools Makefile: fix compilation on Ubuntu trusty". (a file |-.o| was created). Posting a fix.
Tested-by: Xose Vazquez Perez @.***>
Hello @cvaroqui, hello @bmarzins,
here is yet another PR. The recent build issues reported (#50, #52) made me want to cleanup the Makefiles. While at it, I made a few changes that I'd wanted to make for some time.
The major changes are:
config.mk
andautoconfig.h
are generated early during build and reused. This way we don't need to test certain system properties over and over again. This is sort of a "poor-man's autoconf", or "poor man's meson", if you prefer. But I think it serves us quite well for now. autoconf is slow and over-engineered for our purposes, and switching to meson would be a major project; I'm not sure if it'd be worth the time, given that our Makefiiles contain quite a bit of complex logic that we'd need to recreate in meson. With this in place, we can consider switching to some other configuration mechanism in the future if we want.make V=1
(still less verbose than before, because lots of-D
options have been moved toautoconfig.h
)make
command line have changed.SYSTEMDPATH
andlibdir
are no more, instead we have nowsystemd_prefix
andplugindir
. In general, the paths are now set up more cleanly IMO. I added also some documentation inREADME.md
about this.rules.mk
file. A large part of the complex functions we used inmake
code has been moved to a separate Makefile, which is only used for creatingconfig.mk
. Makefiles have decreased in size.I believe that this PR is rather uninteresting for the general public on
dm-devel
(again, because it's just trivial fixes and Makefile stuff). Therefore I'm pusing it here. If anyone wishes that I post todm-devel
as well, please speak up.Update 2022-12-03: I have added another bunch of small patches on top of the previous PR. There was a small cleanup series by @bmarzins, some documentation fixes, and yet another round of Makefile improvements. There are also rather big changes for the GitHub workflow CI. We have a much larger matrix of test beds for compilation and unit tests now. You don't see these new workflows here yet, because by GitHub policy the workflows of the target repository are run for PRs. Check https://github.com/openSUSE/multipath-tools/actions to see how the new test matrix looks like. The containers for the test beds come from my ghcr.io repo now.
Update 2022-12-19: added 3 more patches from @bmarzins and one from @standby24x7, and bump version to 0.9.4
Regards Martin
@bmarzins (8): libmultipath: impove add_feature() variable names multipathd: don't initialize the field width in show_path() libmultipath: improve remove_feature() variable names multipath.conf(5): remove io-affinity information libmpathpersist: fix command keyword ordering libmpathutil: simplify set_value and validate_config_strvec libmultipath: don't leak memory on invalid strings libmutipath: validate the argument count of config strings
@mwilck (48): fixup! Makefile.inc: fix man and include paths (fix regression introduced by #50) multipath-tools: Makefile.inc: Fix paths for systemd (fix #52) multipath-tools: Makefile.inc: don't take values from environment multipath-tools: Makefile.inc: get rid of RUN multipath-tools: Makefile.inc: more compact code for LIB multipath-tools: Makefiles: simplify code for include dirs multipath-tools: Makefiles: use $(mandir) multipath-tools: Makefile.inc: simplify expression for SYSTEMD multipath-tools: Makefile.inc: untangle paths and source directories multipath-tools: Makefiles: replace $(libdir) by $(plugindir) multipath-tools: Makefile.inc: use simple make variables consistently multipath-tools: Makefile.inc: fix a log message multipath-tools: Makefile.inc: set systemd-specific flags multipathd: Makefile: fix compilation flags for libedit multipath-tools Makefiles: clean up executable Makefiles multipath-tools: Makefiles: use common code for libraries multipath-tools: Makefiles: move common code to rules.mk multipath-tools Makefiles: create config.mk multipath-tools Makefiles: enable quiet build multipath-tools: quiet build support for top-level Makefile GitHub workflows: use make -j8 -Orecurse README.md: Move section about libedit and libreadline README.md: Fix indentation in paragraph about device handlers README.md: document options for paths and optimization README.md: document how to customize build libmultipath: avoid -Warray-bounds error with gcc 12 and musl libc multipath: avoid NULL string in released_to_systemd() libmultipath: avoid NULL string in is_udev_ready() (2nd bunch) multipath.conf(5): remove deprecated note for san_path_err algorithm multipath.conf(5): improve documentation of dev_loss_tmo multipath-tools tests: Makefile: dump output in case of failure multipath-tools Makefile: fix compilation on Ubuntu trusty libdmmp: allow installing without perl multipath-tools Makefiles: fix variable passing to sub-make multipath-tools: create-config.mk: Test _FORTIFY_SOURCE=2, too multipath-tools: create-config.mk: fix logic for building autoconfig.h multipath-tools: README.md: document passing CFLAGS etc to the build process multipath-tools: tests/directio: fix failure wuith MUSL libc on s390x multipathd: fix compilation error on Centos 7 libmpmathutil: fix compilation issue for clock_gettime() libmultipath: fix call of udev_device_unref() for old libudev multipath-tools: detect presence of libjson-c GitHub workflows: use new build containers from ghcr.io GitHub workflows: disable fail-fast strategy GitHub workflows: multiarch.yaml: add i386 GitHub workflows: run tests for rolling distros on schedule fixup! multipath-tools Makefile: fix compilation on Ubuntu trusty GitHub workflows: multiarch.yaml: add i386 GitHub workflows: run tests for rolling distros on schedule fixup! multipath-tools Makefile: fix compilation on Ubuntu trusty libmultipath: bump version to 0.9.4
@standby24x7 (1): kpartx_id: Add missing 3rd option in usage (fixes #57)
@pkoetsier (1): libmultipath: fix 'show paths format' failure (fixes #49)
@xosevp (7): multipath-tools: add EF to rdac info multipath-tools: multipath.conf man page housekeeping multipath-tools: update hwtable text/info/comments multipath-tools: add PowerMax NVMe to hwtable multipath-tools: add more info for NetApp ontap prio multipath-tools: fix c&p error in install_keyword for deprecated pg_timeout multipath-tools: mailing list url was changed