summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: print locking dirZdenek Kabelac2023-04-061-50/+42
| | | | | | | | | Correcting output results from configure script when printing locking dir. Shuffle dmfilemapd close to dmeventd option and tracing. Couple indent changes.
* configure.ac: use pkg-config to detect static libsRobin H. Johnson2023-02-231-2/+13
| | | | | | | | | | | Add some Gentoo based patches for better support of static linking. This are not tested nor supported by upstream developers. Usage requires presence of several libraries in their static form which is however not commonly available. Selinux modified by zkabelac to still work on older sofrware which did not provided libselinux.pc at a time - see keep the old check present and use pkg-config only when possible.
* configure.ac: add STATIC_LDFLAGSDavid Seifert2023-02-231-0/+2
| | | | Add support for specif STATIC_LDFLAGS when linking static binaries.
* configure.ac: miscZdenek Kabelac2023-02-231-63/+59
|
* configure.ac: fail configure for missing librariesZdenek Kabelac2023-02-231-5/+5
| | | | | | When user enables lockd libraris, code needs to fail, when then are missing. Also when notify-dbus support if enabled, and libsystemd is missing, abort configuration.
* configure.ac: update dlm checkZdenek Kabelac2023-02-231-1/+7
| | | | | | Check for pkg-config --libs libdlm_lt and test if the returned value contains word 'pthread' - if so, it's likely a buggy result from incorrect config file and use directly -ldlm_lt for this case.
* configure.ac: various minor updatesZdenek Kabelac2023-02-171-11/+3
|
* configure.ac: remove unneded vars and settingsZdenek Kabelac2023-02-171-33/+0
|
* configure.ac: fix incorrect check for valid configurationZdenek Kabelac2023-02-171-1/+1
|
* configure.ac: use standardized LIBS and CFLAGSZdenek Kabelac2023-02-171-10/+7
| | | | | | | | Convert lvmlockd to use configure _LIBS and _CFLAGS for discovered libraries. TODO: ATM we ignore discovered libdlm and use libdlm_lt instead. Also libseagate_ilm is hard to find unicorn for testing.
* configure.ac: use LIBSYSTEMDZdenek Kabelac2023-02-171-1/+1
| | | | | | | Convert naming SYSTEMD_CFLAGS/LIB -> LIBSYSTEMD_CFLAGS/LIBS to better fit library check for libsystemd. Build lvmlockd with SD_NOTIFY when we have defined LIBSYSTEMD_LIBS.
* configure.ac: more cleanupZdenek Kabelac2023-02-131-30/+22
| | | | | Some variable simplification, correct messages with PATH_SBIN.
* configure.ac: remove UDEV_SYSTEMD_BACKGROUND_JOBSZdenek Kabelac2023-02-131-1/+0
| | | | Missed to go with 042fbd43d25f4cc69ceec1aea4d0658bec54b6e3.
* configure.ac: fix support for LOCKDIDMZdenek Kabelac2023-02-131-0/+1
| | | | | | | | | | Commit 7a8b7b4adde5c31c79aee8b0792cd8369652afc6 introducing lockidm support missed to use AC_SUBST() for a variable and provide it only in prebuilt configure, so with the next autoreconf this variable was lost and IDM support was no longer compiled. Fixes: https://github.com/lvmteam/lvm2/issues/98 Reported-by: Tom Prohofsky
* configure.ac: check for blkid when requiredZdenek Kabelac2023-02-101-8/+10
| | | | | | We still need to support build without any blkid present, so use PKG_CHECK_EXISTS() instead of direct failure from PKG_CHECK_MODULES for too old version.
* configure.ac: support systemd-run binary pathZdenek Kabelac2023-02-101-0/+14
| | | | | | | | | Allow users to specify their path to systemd-run binary: configure --with-systemd-run=/my/path/system-run By defaults it autodetected in $PATH and fallbacks to: /usr/bin/systemd-run.
* configure.ac: better blkid testZdenek Kabelac2023-02-101-3/+2
| | | | | | | | Previous commit e67ebc5c40948bcbea536fd407535009a76ede00 used incorrect check for blkid version. Fix it by always checking for at least version 2.24, as we can't use older version anyway. Added BLKID_SUBLKS_FSINFO is present in newer version.
* configure.ac: misc updatesZdenek Kabelac2023-02-101-234/+234
| | | | | Use literal assignments with "" for better visibility in text editor. Use more [] for AC_ macro args.
* configure.ac: remove some lvmetad leftoversZdenek Kabelac2023-02-101-24/+0
| | | | Remove unused parts of configure and udev rules since lvmetad is gone.
* lvresize: better detection of BLKID_SUBLKS_FSINFOZdenek Kabelac2023-02-101-1/+24
| | | | | | | | | Use configure detection instead of trying to directly include blkid.h inside lvresize.c - where we do not pass in BLKID_CFLAGS and since we actually do not need to use blkid there, introeduce test variable HAVE_BLKID_SUBLKS_FSINFO and avoid trying to use blkid.h in this place - this also fixes builing problem for systems without blkid.h.
* configure.ac: only use `AS_CASE` for conditional blocksDavid Seifert2023-02-101-122/+91
| | | | | Like `AS_IF([...])`, `AS_CASE` bubbles nested `AC_REQUIRE()` to the top-level.
* configure.ac: only use `AS_IF` for conditional blocksDavid Seifert2023-02-101-239/+237
| | | | | | | | | | | | | | | `AS_IF([...])` is more portable, as it respects macro expansions of `AC_REQUIRE()`. This is recommended Autoconf best practice, since in nested conditionals, it is generally unknowable whether some macro invokes `AC_REQUIRE()` deep down: https://www.gnu.org/software/autoconf/manual/autoconf-2.71/html_node/Common-Shell-Constructs.html#index-AS_005fIF-1 As a result, the hacky `pkg_config_init` function is not needed anymore, since any `PKG_*` invocation will ensure that `PKG_PROG_PKG_CONFIG` will have been called, due to the fact that `AC_REQUIRE()` will trickle up.
* configure.ac: use only portable POSIX shellDavid Seifert2023-02-101-8/+7
| | | | | | | | | | | | | `[[ ... ]]` only works in bash, and not in POSIX sh, specifically dash fails on this, which is a popular alternative to bash for running configure scripts. test's `-a` and `-o` options are considered obsolescent by POSIX, because they interact badly with expressions and can become ambiguous depending on string arguments: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html `==` only works in bash.
* configure: allow for overriding of `readelf`David Seifert2022-11-251-0/+1
| | | | | | | This allows users to use e.g. `llvm-readelf` on systems with binutils as default. Bug: https://bugs.gentoo.org/840628
* configure: update use_devicesfile in example.confZdenek Kabelac2022-11-021-0/+1
| | | | | Example.conf missed to properly replace default value for use_devicesfile setting and left there @VAR@.
* lvresize: add new options and defaults for fs handlingDavid Teigland2022-09-131-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new option "--fs String" for lvresize/lvreduce/lvextend controls the handling of file systems before/after resizing the LV. --resizefs is the same as --fs resize. The new option "--fsmode String" can be used to control mounting and unmounting of the fs during resizing. Possible --fs values: checksize Only applies to reducing size; does nothing for extend. Check the fs size and reduce the LV if the fs is not using the affected space, i.e. the fs does not need to be shrunk. Fail the command without reducing the fs or LV if the fs is using the affected space. resize Resize the fs using the fs-specific resize command. This may include mounting, unmounting, or running fsck. See --fsmode to control mounting behavior, and --nofsck to disable fsck. resize_fsadm Use the old method of calling fsadm to handle the fs (deprecated.) Warning: this option does not prevent lvreduce from destroying file systems that are unmounted (or mounted if prompts are skipped.) ignore Resize the LV without checking for or handling a file system. Warning: using ignore when reducing the LV size may destroy the file system. Possible --fsmode values: manage Mount or unmount the fs as needed to resize the fs, and attempt to restore the original mount state at the end. nochange Do not mount or unmount the fs. If mounting or unmounting is required to resize the fs, then do not resize the fs or the LV and fail the command. offline Unmount the fs if it is mounted, and resize the fs while it is unmounted. If mounting is required to resize the fs, then do not resize the fs or the LV and fail the command. Notes on lvreduce: When no --fs or --resizefs option is specified: . lvextend default behavior is fs ignore. . lvreduce default behavior is fs checksize (includes activating the LV.) With the exception of --fs resize_fsadm|ignore, lvreduce requires the recent libblkid fields FSLASTBLOCK and FSBLOCKSIZE. FSLASTBLOCK*FSBLOCKSIZE is the last byte used by the fs on the LV, which determines if reducing the fs is necessary.
* configure: remove some obsolete or duplicate checksZdenek Kabelac2022-08-301-7/+3
| | | | As autoupdate suggested, drop unneeded checks.
* configure: check for mallinfo2Zdenek Kabelac2022-08-301-1/+1
|
* configure: fix typoMarian Csontos2022-08-091-1/+1
|
* configure.ac: remove unused partZdenek Kabelac2021-10-181-23/+6
| | | | | | | As we are not using 'enable-compat' for anything, remove this section. Also remove duplicated check for blkid. Move setting of some AC_ARG_ENABLE defaults into the macro so it's always defined.
* configure: fix use of withvalZdenek Kabelac2021-10-151-1/+1
| | | | Newly added option --with-default-use-devices-file needs to use withval.
* configure.ac: enhance systemd testingZdenek Kabelac2021-10-151-26/+31
| | | | | | | | | | | Enhance logic for checking supported systemd version, while doing only a single check for systemd package. For version checking use PKG_CHECK_EXISTS() macro. Also use one pkg check for blkid. Avoid checking version for thin/cache_check when tools are not present on system.
* configure: bash var typoZdenek Kabelac2021-10-151-1/+1
|
* configure: missed bracesZdenek Kabelac2021-10-151-2/+3
| | | | | Missed [] around AS_IF internals, Also missed to call pkg_config_init prior PKG_CHECK_MODULES().
* configure.ac: improvementZdenek Kabelac2021-10-141-26/+58
| | | | | | | | | | | | | | | | | Handle automatically new setttings --disable-systemd-journal --disable-appmachineid Both setting will check presence of apropriate header files. In case they are present, build will try to automatically build with them (adding systemd dependency) User can anytime disabled them and drop systemd dependency. Also add --with-default-use-devices-file configure option to select automatically default value for this option. For this moment keep default upstream as 0
* system_id: new appmachineid optionDavid Teigland2021-10-071-0/+20
| | | | | | | The new system_id_source="appmachineid" will cause lvm to use an lvm-specific derivation of the machine-id, instead of the machine-id directly. This is now recommended in place of using machineid.
* configure: replace AC_HELP_STRING with AS_Zdenek Kabelac2021-09-271-98/+98
| | | | | Upgrade to newer autoconf setup is approaching... Will cause large set of configure changes.
* configure: check ffs __builtin_ffs versionsortZdenek Kabelac2021-09-271-1/+2
| | | | Check for presence of ffs(), __builtin_ffs() and versionsort().
* vdo: rename vdoimport to lvm_import_vdoZdenek Kabelac2021-08-261-9/+9
| | | | Missed bits in previous rename commits.
* vdo: Rename vdoimport to lvm_import_vdo.Marian Csontos2021-08-261-4/+4
|
* vdo: add vdoimport supportZdenek Kabelac2021-07-091-0/+15
| | | | | | | | | | | | | Add tool 'vdoimport' to support easy conversion of an existing VDO manager managed VDO volumes into lvm2 managed VDO LV. When physical converted volume is already a logical volume, conversion happens with the VG itself, just with validation for extent_size, so the virtually sized logical VDO volume size can be expressed in extents. Example of basic simple usage: vdoimport --name vg/vdolv /dev/mapper/vdophysicalvolume
* lvmlockd: idm: Introduce new locking schemeLeo Yan2021-05-201-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alongside the existed locking schemes of DLM and sanlock, this patch is to introduce new locking scheme: In-Drive-Mutex (IDM). With the IDM support in the drive, the locks are resident in the drive, thus, the locking lease is maintained in a central place: the drive firmware. We can consider this is a typical client-server model, every host (or node) in the server cluster launches the request for leasing mutex to a drive firmware, the drive firmware works as an arbitrator to grant the mutex to a requester and it can reject other applicants if the mutex has been acquired. To satisfy the LVM activation for different modes, IDM supports two locking modes: exclusive and shareable. Every IDM is identified with two IDs, one is the host ID and another is the resource ID. The resource ID is a unique identifier for what the resource it's protected, in the integration with lvmlockd, the resource ID is combined with VG's UUID and LV's UUID; for the global locking, the bytes in resource ID are all zeros, and for the VG locking, the LV's UUID is set as zero. Every host can generate a random UUID and use it as the host ID for the SCSI command, this ID is used to clarify the ownership for mutex. For easily invoking the IDM commands to drive, like other locking scheme (e.g. sanlock), a daemon program named IDM lock manager is created, so the detailed IDM SCSI commands are encapsulated in the daemon, and lvmlockd uses the wrapper APIs to communicate with the daemon program. This patch introduces the IDM locking wrapper layer, it forwards the locking requests from lvmlockd to the IDM lock manager, and returns the result from drives' responding. One thing should be mentioned is the IDM's LVB. IDM supports LVB to max 7 bytes when stores into the drive, the most significant byte of 8 bytes is reserved for control bits. For this reason, the patch maps the timestamp in macrosecond unit with its cached LVB, essentially, if any timestamp was updated by other nodes, that means the local LVB is invalidate. When the timestamp is stored into drive's LVB, it's possbile to cause time-going-backwards issue, which is introduced by the time precision or missing synchronization acrossing over multiple nodes. So the IDM wrapper fixes up the timestamp by increment 1 to the latest value and write back into drive. Currently LVB is used to track VG changes and its purpose is to notify lvmetad cache invalidation when detects any metadata has been altered; but lvmetad is not used anymore for caching metadata, LVB doesn't really work. It's possible that the LVB functionality could be useful again in the future, so let's enable it for IDM in the first place. Signed-off-by: Leo Yan <leo.yan@linaro.org>
* man: with internal build install cache, thin, vdoZdenek Kabelac2021-04-191-0/+2
| | | | | Do not install .7 man pages when building --without internal segtype support for types: cache, thin, vdo.
* configure: make aio optionalZdenek Kabelac2021-04-121-3/+12
| | | | | | Add support for external AIO_CFLAGS and AIO_LIBS so user can point to his own build - this might be useful when user wants to use own libaio library.
* configure: better support for use of --withoutZdenek Kabelac2021-04-121-18/+20
| | | | | | | When --with-... option is used as --without-... it gets assigned value 'no' - so support it better where we can. Also remove 'shared' from help as it's not supported.
* configure: support builds without versioningZdenek Kabelac2021-03-301-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Not all libc (like musl, uclibc dietlibc) libraries support full symbol version resolution in runtime like glibc. Add support to not generate symbol versions when compiling against them. Additionally libdevmapper.so was broken when compiled against uclibc. Runtime linker loader caused calling dm_task_get_info_base() function recursively, leading to segmentation fault. Introduce --with-symvers=STYLE option, which allows to choose between gnu and disabled symbol versioning. By default gnu symbol versioning is used. __GNUC__ check is replaced now with GNU_SYMVER. Additionally ld version script is included only in case of gnu option, which slightly reduces output size. Providing --without-symvers to configure script when building against uclibc library fixes segmentation fault error described above, due to lack of several versions of the same symbol in libdevmapper.so library. Based on: https://patchwork.kernel.org/project/dm-devel/patch/20180831144817.31207-1-m.niestroj@grinn-global.com/ Suggested-by: Marcin Niestroj <m.niestroj@grinn-global.com>
* lvm: Fix editline compilationMarian Csontos2021-03-221-2/+2
|
* lvmlockctl: replace popen and systemDavid Teigland2021-03-031-2/+0
| | | | | | | | | with fork and exec to avoid use of shell. largely copied from lib/misc/lvm-exec.c require lvmlockctl_kill_command to be full path use lvm config instead of lvmconfig to avoid need for LVM_DIR
* lvmlockctl: use lvm.conf lvmlockctl_kill_commandDavid Teigland2021-03-031-0/+2
| | | | which specifies a command to run by lvmlockctl --kill.
* configure: use our ordered list of python namesZdenek Kabelac2020-10-021-0/+3
| | | | | Since it seems it's prefered now to use python3 in path name, prefer this name as first in the list.