Skip to content
Snippets Groups Projects
  1. Oct 05, 2018
  2. Oct 01, 2018
  3. Aug 09, 2018
  4. Jul 30, 2018
  5. Mar 26, 2018
  6. Mar 03, 2018
  7. Feb 06, 2018
  8. Aug 01, 2017
  9. Jul 19, 2017
  10. Dec 23, 2016
  11. Jul 20, 2016
    • Christopher J. Morrone's avatar
      LU-7643 build: Remove Linux version string from RPM release field · 28c17d40
      Christopher J. Morrone authored
      
      With the landing of the patch:
      
        "LU-5614 build: use %kernel_module_package in rpm spec"
      
      we neither need, nor desire, to tie a lustre build to a specific
      Linux kernel version.  Instead we want to allow the weak updates
      system to symlink the lustre modules into any and all kernel
      directories that are ABI compatible.
      
      Therefore, we remove the Linux version string from Lustre's
      RPM release field.
      
      Note that "%define krequires" is moved to a SLES-only section
      when the 0%{?build_src_rpm} conditional is removed.  This may
      seem like an odd place to put it at first glance.  But the
      next line is the only remaining consumer of krequires, so
      we are just moving it to the last place that it might be needed.
      This could perhaps be simplified further in a future commit.
      
      When removing the no longer needed %{fullrelease} from the Release
      field, we replace it with a 1 and with the %{?dist} string.
      %{?dist} is customary for Fedora, RHEL, and likely most rpm-based
      distros.
      
      Because the release field is no longer modified between the source
      rpm and binary rpm build steps, there is not longer a need for
      The build_src_rpm macro.  That is removed as well.
      
      Test-Parameters: trivial
      Change-Id: I8306f48d5bf0dffcae2888505ec7f0f63e47fc08
      Signed-off-by: default avatarChristopher J. Morrone <morrone2@llnl.gov>
      Reviewed-on: http://review.whamcloud.com/19954
      
      
      Tested-by: Jenkins
      Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
      Reviewed-by: default avatarJames Simmons <uja.ornl@yahoo.com>
      Reviewed-by: default avatarDmitry Eremin <dmitry.eremin@intel.com>
      Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
      28c17d40
  12. Jul 11, 2016
  13. Jun 27, 2016
    • Stephen Champion's avatar
      LU-5614 build: use %kernel_module_package in rpm spec · 3b7d27ea
      Stephen Champion authored
      
      Replace module packages definitions with calls to the vendor defined
      %kernel_module_package macro.  This results in many of the rpm packages
      changing names from what we are used to in the past.  Each Linux
      distribution may name the modules packages slightly differently, most
      notably RHEL and SLES choose different naming schemes.  The
      %kernel_module_package macro handles these details for us.
      
      For instance, on RHEL7 the packages that contain lustre's kernel modules
      become:
      
        kmod-lustre             (previously in "lustre-modules" package)
        kmod-lustre-osd-ldiskfs (previously in "lustre-osd-ldiskfs" package)
        kmod-lustre-osd-zfs     (previously in "lustre-osd-zfs" package)
        kmod-lustre-tests       (previously in "lustre-tests" package)
      
      On SLES12, the same packages are instead named:
      
        lustre-kmp-default
        lustre-osd-ldiskfs-kmp-default
        lustre-osd-zfs-kmp-default
        lustre-tests-kmp-default
      
      These kernel module packages give us what is known as "weak-updates".
      Instead of compiling Lustre for every minor kernel that is installed,
      the weak-updates will automatically symlink the Lustre modules into
      and kernel's modules subdirectories if that kernel offers the required
      kernel symbols with exactly the same symbol versions.
      
      In addition to changing the package names for all of the Lustre packages
      containing kernel modules, the location of the modules in /lib/modules
      changes as well.  Each package will put its modules in a subdirectory
      matching part of the package name itself (required by the macros on RHEL
      systems).  The path name is also different on RHEL and SLES systems
      (e.g. "extra" vs. "updates").
      
      Some further path examples are:
      
        RHEL7, kmod-lustre package:
          /lib/modules/3.10.0-327.18.2.el7_lustre.x86_64/extra/lustre/fs/ost.ko
      
        SLES12, lustre-kmp-default package:
          /lib/modules/3.12.57-60.35_lustre-default/updates/lustre/fs/ost.ko
      
        RHEL7, kmod-lustre-osd-ldiskfs package:
          /lib/modules/3.10.0-327.18.2.el7_lustre.x86_64/extra/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko
      
        SLES12, lustre-osd-ldiskfs-kmp-default package:
          /lib/modules/3.12.57-60.35_lustre-default/updates/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko
      
      Test-Parameters: trivial clientdistro=el6.7 mdsdistro=el6.7 ossdistro=el6.7
      Signed-off-by: default avatarStephen Champion <schamp@sgi.com>
      Signed-off-by: default avatarAlexander Boyko <alexander.boyko@seagate.com>
      Change-Id: Ic5351f4bda94eae80eaf349c8490a2c758b15c80
      Signed-off-by: default avatarMinh Diep <minh.diep@intel.com>
      Signed-off-by: default avatarChristopher J. Morrone <morrone2@llnl.gov>
      Reviewed-on: http://review.whamcloud.com/12063
      
      
      Tested-by: Jenkins
      Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
      Reviewed-by: default avatarJames Simmons <uja.ornl@yahoo.com>
      Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
      3b7d27ea
  14. May 02, 2016
  15. Apr 17, 2016
  16. Mar 28, 2016
  17. Mar 23, 2016
    • Christopher J. Morrone's avatar
      LU-7699 build: Replace version_tag.pl with LUSTRE-VERSION-GEN · ee813dba
      Christopher J. Morrone authored
      
      This patch overhauls how version numbers are handled.
      
      The biggest change is removing the two independent
      places where versions were being generated (LB_BUILDID and
      lustre_tag*.pl) with a single script named LUSTRE-VERSION-GEN
      at the top level of the tree.  LUSTRE-VERSION-GEN is based
      on the GIT-VERSION-GEN script that git's own source code build
      system uses.
      
      LUSTRE-VERSION-GEN generates the lustre version string from
      either git, or if git is not available from the LUSTRE-VERSION-FILE
      file, or if _that_ is not available, its own internal DEFAULT_VERSION
      default version number.  This allows building the lustre code under
      all reasonable conditions.
      
      The new method uses LUSTRE-VERSION-GEN to supply the correct
      full lustre version (which may contain git --describe information)
      to AC_INIT.  This means that the autotools actually know the
      correct version number.  Some benefits of this are:
      
      * We can use standard {AC_}PACKAGE_VERSION macros and variables
        instead of inventing our own
      * ./configure --version and other commands will list the correct
        version of Lustre
      * The lustre tarball created by "make dist" will contain the full
        version number
      
      The lustre/autoconf/lustre-version.ac file was replaced with
      a new config/lustre-version.m4 file.  We no longer need to work
      with m4-only macros prefore AC_INIT is called, so the new
      file defines a LUSTRE_VERSION_VARIABLES function for us to call
      from configure.ac.  The new lustre-version.m4 derives the
      derive LUSTRE_{MAJOR,MINOR,PATCH,FIX} from AC_PACKAGE_VERSION
      rather than being yet another source of version numbers.
      
      The LUSTRE_VER_ALLOWED_OFFSET and LUSTRE_CLI_VER_OFFSET_WARN
      m4 macros were dropped, and the OBD_OCD_VERSION strings stored
      directly in lustre_ver.h.in instead.
      
      LB_CHECK_VERSION was removed (no longer necessary).
      
      AC_LUSTRE_VERSION_STRING was drop.  It is no longer necessary
      now that we can set LUSTRE_VERSION_STRING directly to
      @PACKAGE_VERSION@ in lustre_ver.h.in.
      
      The DOWNSTREAM_RELEASE configure argument is deprecated and all
      related code removed.
      
      The lustre/doc/VERSIONING documenation is relocated to
      Documentation/versioning.txt and updated to reflect the new versioning
      method and practices.
      
      The META file and BUILDID variables and related code are removed
      since they are no longer used under the new versioning method.
      
      Note that this patch makes lustre only look at the dotted version
      tags in git, so we can finally stop using three to five tags for
      every release.  Now we can just use one clear tag.  The tags
      with underscores are obsolete.
      
      Change-Id: I7196f92ed4975776cc8e73fd3ebf436b5921f83e
      Signed-off-by: default avatarChristopher J. Morrone <morrone2@llnl.gov>
      Reviewed-on: http://review.whamcloud.com/18107
      
      
      Tested-by: Jenkins
      Reviewed-by: default avatarJames Simmons <uja.ornl@yahoo.com>
      Reviewed-by: default avatarDmitry Eremin <dmitry.eremin@intel.com>
      Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
      Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
      ee813dba
  18. Mar 16, 2016
  19. Feb 09, 2016
  20. Jan 25, 2016
  21. Oct 29, 2015
    • Bruno Faccini's avatar
      LU-1032 build: DKMS RPM for Lustre Client modules · 549c57e7
      Bruno Faccini authored
      
      Permit Lustre Client (only) modules DKMS RPM creation.
      
      This patch is a follow on to the first set of patches for LU-1032
      that only allowed for the creation of Lustre Server (zfs only)
      modules DKMS RPM.
      
      It also changes original behavior by allowing to dynamically
      modify dkms.conf on-target. This particularly helps to change
      configure and list of modules to be built/installed list, like
      to configure with gss to build ptlrpc_gss.ko module when
      krb5_devel is present instead to have it been a mandatory
      required dependency.
      
      Also implements feature of DKMS RPM creation from Makefile
      (thanks to mjmac), now in 2 separate SRPM/RPM steps and for both
      Client and Server versions.
      
      Also use an auto-increment (Array[${#Array[@]}]=) operator in
      dkms.conf modules declarations to help for future changes when
      there will be a need to add/delete modules.
      
      Change in lustre/utils Makefile has been required to allow
      building of ptlrpc_gss module with --enable-gss and without the
      need to specify --enable-utils which was causing an unexpected
      zfs user-land dependency for DKMS Server build.
      
      To satisfy lustre rpm requirement of a package providing
      lustre-osd, provides has been added to DKMS Server RPM since
      it does actually generate osd-zfs module.
      
      Signed-off-by: default avatarMichael MacDonald <michael.macdonald@intel.com>
      Signed-off-by: default avatarBruno Faccini <bruno.faccini@intel.com>
      Change-Id: I278d50307a17fe49a06392351890946b7dd3557a
      Reviewed-on: http://review.whamcloud.com/12347
      
      
      Reviewed-by: default avatarDmitry Eremin <dmitry.eremin@intel.com>
      Tested-by: Jenkins
      Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
      Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
      549c57e7
  22. Sep 19, 2015
  23. Jul 29, 2015
  24. May 25, 2015
  25. May 01, 2015
  26. Mar 08, 2015
  27. Jan 07, 2015
  28. Sep 18, 2014
  29. May 30, 2014
  30. May 20, 2014
  31. Apr 24, 2014
  32. Feb 17, 2014
    • Christopher J. Morrone's avatar
      LU-4319 build: Clean up rpms/srpm Make targets · 666c7580
      Christopher J. Morrone authored
      
      The "rpms" and "srpm" targets were unnecessarily complicated.  The rpms
      target in particular has a very long shell script embedded in the
      autoMakefile, which is not especially desirable.  Because of the embedded
      shell script with its associated backslashes, we didn't use standard
      autoconf/automake macros because we didn't want shell comments to appear
      after line continuation.  To get around that, we need another layer of
      variables to convert autoconf/automake variables into Make variables.
      
      It gets rather difficult to read and modify.
      
      Instead we move the scripting into autoconf m4 files, where scripting
      is much easier (little line continuations necessary, far fewer escapes needed).
      We also have direct access to the original variables, so we don't need
      to hop through two or three files before we eventually find where
      a variable gets set.
      
      All of the decisions are made at configure time anyway, so constructing
      the command line options for rpmbuild at configure time is the Right Thing
      to do.
      
      A nice side effect of this change is that one can now easily look at
      the autoMakefile after running "./configure" and see exactly the command
      line that will be passed to rpmbuild.
      
      Change-Id: I10fcfa740d9e901805615c2262263cc1ea8552bf
      Signed-off-by: default avatarChristopher J. Morrone <morrone2@llnl.gov>
      Signed-off-by: default avatarDmitry Eremin <dmitry.eremin@intel.com>
      Reviewed-on: http://review.whamcloud.com/8426
      
      
      Tested-by: Jenkins
      Reviewed-by: default avatarJames Simmons <uja.ornl@gmail.com>
      Tested-by: default avatarMaloo <hpdd-maloo@intel.com>
      Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
      666c7580
  33. Feb 13, 2014
  34. Jan 29, 2014
  35. Jan 13, 2014
  36. Dec 18, 2013
  37. Dec 16, 2013
  38. Nov 18, 2013
Loading