Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-15940

Add a dependency for libmount by default when building Lustre rpm/deb packages

Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0, Lustre 2.15.1
    • None
    • None
    • 9223372036854775807

    Description

      The Lustre client utilities (mount/umount) have an optional dependency on libmount, providing some minor improvements. It's however easy to miss when building it, and the rpm/deb package builds don't depend on it either. libmount was introduced in util-linux 2.18 in 2010, and with a stable API and ABI as of util-linux 2.19 in 2011. CentOS 6 which was AFAICS the last long time support distro with an older version of util-linux was EOL'ed in 2020, and Lustre itself doesn't support such old distros anymore either. Avoiding a dependency on libmount doesn't help much, since the "standard" mount/umount commands also depend on it, so if libmount is missing the OS is likely more or less completely broken.

      So could usage of libmount be made unconditional (or at least the default)? That would entail for the rpm/deb building at least:

      • ./lustre.spec.in: Add BuildRequires on libmount-devel and Require on libmount for the utils package
      • ./debian/{control,control.main}: Add Build-Depends on libmount-dev and for lustre-{client,server}-utils add Depends on libmount1.

      And possibly removing separate "#ifdef HAVE_LIBMOUNT #else ..." code and modifying configure logic slightly, if one wants to entirely remove the possibility of compiling without libmount.

      Attachments

        Activity

          [LU-15940] Add a dependency for libmount by default when building Lustre rpm/deb packages

          Thanks @Jian Yu!

          kilian Kilian Cavalotti added a comment - Thanks @Jian Yu!
          yujian Jian Yu added a comment -

          Hi kilian,
          Thank you for pointing this out. The issue is being addressed in https://review.whamcloud.com/49183.

          yujian Jian Yu added a comment - Hi kilian , Thank you for pointing this out. The issue is being addressed in https://review.whamcloud.com/49183 .

          Shouldn't that dependency be added to `lustre-dkms.spec.in` as well?

          It should probably even be added as a `Requires:` (not just `BuildRequires:` since compilation will happen on the fly when the `lustre-client-dkms` package is installed.

          Cheers,

          Kilian

          srcc Stanford Research Computing Center added a comment - Shouldn't that dependency be added to `lustre-dkms.spec.in` as well? It should probably even be added as a `Requires:` (not just `BuildRequires:` since compilation will happen on the fly when the `lustre-client-dkms` package is installed. Cheers, – Kilian

          "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/47759/
          Subject: LU-15940 build: add a required dependency for libmount
          Project: fs/lustre-release
          Branch: b2_15
          Current Patch Set:
          Commit: 84e48b7279e674cb659efe48a3a9f60aaecc11f0

          gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/47759/ Subject: LU-15940 build: add a required dependency for libmount Project: fs/lustre-release Branch: b2_15 Current Patch Set: Commit: 84e48b7279e674cb659efe48a3a9f60aaecc11f0

          "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/47619/
          Subject: LU-15940 build: add a required dependency for libmount
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: f21b9441275bd0d8b0d56cf8441aa67bede37ddc

          gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/47619/ Subject: LU-15940 build: add a required dependency for libmount Project: fs/lustre-release Branch: master Current Patch Set: Commit: f21b9441275bd0d8b0d56cf8441aa67bede37ddc

          "Jian Yu <yujian@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/47759
          Subject: LU-15940 build: add a required dependency for libmount
          Project: fs/lustre-release
          Branch: b2_15
          Current Patch Set: 1
          Commit: 764bc8d8b75bf25c77dc9a9c83e4df275376c879

          gerrit Gerrit Updater added a comment - "Jian Yu <yujian@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/47759 Subject: LU-15940 build: add a required dependency for libmount Project: fs/lustre-release Branch: b2_15 Current Patch Set: 1 Commit: 764bc8d8b75bf25c77dc9a9c83e4df275376c879

          "Jian Yu <yujian@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/47619
          Subject: LU-15940 build: add a required dependency for libmount
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 3fb7cfe1e264aa3cedc7649930cb8e8d3f3dc44c

          gerrit Gerrit Updater added a comment - "Jian Yu <yujian@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/47619 Subject: LU-15940 build: add a required dependency for libmount Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 3fb7cfe1e264aa3cedc7649930cb8e8d3f3dc44c

          People

            yujian Jian Yu
            yujian Jian Yu
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: