Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-3953 lustre build system improvments
  3. LU-7645

Stop controlling the RPM Release field from Lustre's build system

Details

    • Technical task
    • Resolution: Done
    • Major
    • Lustre 2.9.0
    • None
    • 9223372036854775807

    Description

      We need to stop trying to control the RPM Release field from instide Lustre's build system (where "build system" means autogen.sh/configure/autoconf/automake/libtool, not anything to do with lbuild).

      Lustre is open source software, and there are many subreleases created by various organizations that need to be uniquely versioned. Some of these releases are small and have little distribution, some are major and part of a vendor's product line. What they all have in common is that we need some way to tell them apart when they are installed in the wild.

      We have gone through a couple rounds of trying to address this problem. In the most recent round we created the configure --downstream-release option that allows us to specify an additional version string at configure time. This string is inserted by the current Lustre build and packaging scripts into the RPM Release field.

      I myself was involved in this recent design, so I share the blame for this approach. But now I'm older, wiser, and balder. We should not be doing this.

      The RPM Release field is not the correct place to put versioning information about the source code. configuration time isn't really the right time to specify the versioning either, except maybe for one-off build information like a commit number for debug and testing fields. But even when configuration time is acceptable to add version information, that should go in the Version field, not the Release field.

      It is clear to me now that the Release field needs to be left unmolested by Lustre's build system. The Release field is the sole domain of the packager. Right now the concepts of building and packaging are pretty intertwined in the lustre tree, but we need to work to make a clearer separation.

      The first step is to stop using the Release field. That is not in Lustre's domain to use for its versioning purposes. Lustre's versioning should only appear in the Version field.

      Attachments

        Issue Links

          Activity

            [LU-7645] Stop controlling the RPM Release field from Lustre's build system

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/19958/
            Subject: LU-7645 build: Remove unused --with-release configure option
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: b2ee26bb78ccea8616b3fc94cc1c5fc258831207

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/19958/ Subject: LU-7645 build: Remove unused --with-release configure option Project: fs/lustre-release Branch: master Current Patch Set: Commit: b2ee26bb78ccea8616b3fc94cc1c5fc258831207

            With LU-5614 close to landing, I rebased this issues' patch. It is ready to go through the normal review process.

            morrone Christopher Morrone (Inactive) added a comment - With LU-5614 close to landing, I rebased this issues' patch. It is ready to go through the normal review process.

            Christopher J. Morrone (morrone2@llnl.gov) uploaded a new patch: http://review.whamcloud.com/19958
            Subject: LU-7645 build: Remove unused --with-release configure option
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 34198af768631badb46e3c0790ffeadc19c6f90b

            gerrit Gerrit Updater added a comment - Christopher J. Morrone (morrone2@llnl.gov) uploaded a new patch: http://review.whamcloud.com/19958 Subject: LU-7645 build: Remove unused --with-release configure option Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 34198af768631badb46e3c0790ffeadc19c6f90b

            There are several patches under LU-7699 that overhaul lustre's versioning. The first patch(http://review.whamcloud.com/18107) partly addresses this issue by moving third-party versions (what used to be --downstream-release) and git --describe type information out of the release field and into the version proper.

            Now we just need to stop putting the kernel's verion string into the release field (LU-7643).

            morrone Christopher Morrone (Inactive) added a comment - There are several patches under LU-7699 that overhaul lustre's versioning. The first patch( http://review.whamcloud.com/18107 ) partly addresses this issue by moving third-party versions (what used to be --downstream-release) and git --describe type information out of the release field and into the version proper. Now we just need to stop putting the kernel's verion string into the release field ( LU-7643 ).

            People

              mdiep Minh Diep
              morrone Christopher Morrone (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: