1. 05 Mar, 2019 1 commit
  2. 18 Sep, 2018 2 commits
  3. 11 Apr, 2018 1 commit
  4. 06 Oct, 2017 1 commit
  5. 14 Jul, 2017 1 commit
  6. 05 Jul, 2017 1 commit
  7. 06 Feb, 2017 1 commit
  8. 16 May, 2015 1 commit
  9. 04 Feb, 2014 1 commit
  10. 24 Aug, 2013 1 commit
  11. 10 Apr, 2013 1 commit
  12. 08 Apr, 2013 1 commit
  13. 27 Aug, 2012 1 commit
  14. 23 Aug, 2012 1 commit
  15. 27 Feb, 2012 1 commit
    • Brian Behlendorf's avatar
      Cleanly support debug packages · 3c208a54
      Brian Behlendorf authored
      Allow a source rpm to be rebuilt with debugging enabled.  This
      avoids the need to have to manually modify the spec file.  By
      default debugging is still largely disabled.  To enable specific
      debugging features use the following options with rpmbuild.
      
        '--with debug'               - Enables ASSERTs
        '--with debug-log'           - Enables the internal debug log
        '--with debug-kmem'          - Enables basic memory accounting
        '--with debug-kmem-tracking' - Enables detailed memory tracking
      
        # For example:
        $ rpmbuild --rebuild --with debug spl-modules-0.6.0-rc6.src.rpm
      Signed-off-by: 's avatarBrian Behlendorf <behlendorf1@llnl.gov>
      3c208a54
  16. 15 Dec, 2011 1 commit
    • Prakash Surya's avatar
      Add make rule for building Arch Linux packages · c2dceb5c
      Prakash Surya authored
      Added the necessary build infrastructure for building packages
      compatible with the Arch Linux distribution. As such, one can now run:
      
          $ ./configure
          $ make pkg     # Alternatively, one can run 'make arch' as well
      
      on an Arch Linux machine to create two binary packages compatible with
      the pacman package manager, one for the spl userland utilties and
      another for the spl kernel modules. The new packages can then be
      installed by running:
      
          # pacman -U $package.pkg.tar.xz
      
      In addition, source-only packages suitable for an Arch Linux chroot
      environment or remote builder can also be built using the 'sarch' make
      rule.
      
      NOTE: Since the source dist tarball is created on the fly from the head
      of the build tree, it's MD5 hash signature will be continually influx.
      As a result, the md5sum variable was intentionally omitted from the
      PKGBUILD files, and the '--skipinteg' makepkg option is used. This may
      or may not have any serious security implications, as the source tarball
      is not being downloaded from an outside source.
      Signed-off-by: 's avatarPrakash Surya <surya1@llnl.gov>
      Signed-off-by: 's avatarBrian Behlendorf <behlendorf1@llnl.gov>
      Closes: #68
      c2dceb5c
  17. 06 Sep, 2010 1 commit
    • Brian Behlendorf's avatar
      Support custom build directories · a7958f7e
      Brian Behlendorf authored
      One of the neat tricks an autoconf style project is capable of
      is allow configurion/building in a directory other than the
      source directory.  The major advantage to this is that you can
      build the project various different ways while making changes
      in a single source tree.
      
      For example, this project is designed to work on various different
      Linux distributions each of which work slightly differently.  This
      means that changes need to verified on each of those supported
      distributions perferably before the change is committed to the
      public git repo.
      
      Using nfs and custom build directories makes this much easier.
      I now have a single source tree in nfs mounted on several different
      systems each running a supported distribution.  When I make a
      change to the source base I suspect may break things I can
      concurrently build from the same source on all the systems each
      in their own subdirectory.
      
      wget -c http://github.com/downloads/behlendorf/spl/spl-x.y.z.tar.gz
      tar -xzf spl-x.y.z.tar.gz
      cd spl-x-y-z
      
      ------------------------- run concurrently ----------------------
      <ubuntu system>  <fedora system>  <debian system>  <rhel6 system>
      mkdir ubuntu     mkdir fedora     mkdir debian     mkdir rhel6
      cd ubuntu        cd fedora        cd debian        cd rhel6
      ../configure     ../configure     ../configure     ../configure
      make             make             make             make
      make check       make check       make check       make check
      
      This is something the project has almost supported for a long time
      but finishing this support should save me lots of time.
      a7958f7e
  18. 02 Sep, 2010 1 commit
    • Brian Behlendorf's avatar
      Move vendor check to spl-build.m4 · 73fc084e
      Brian Behlendorf authored
      This check was previously done with a hack in config.guess.
      However, since a new config.guess is copied in to place when
      forcing a full autoreconf this change was easily lost and
      never a good idea.  This commit also updates all of the
      autoconf style support scripts in config.
      73fc084e
  19. 27 Jul, 2010 1 commit
    • Brian Behlendorf's avatar
      Add Debian and Slackware style packaging via alien · 287b2fb1
      Brian Behlendorf authored
      The long term fix for Debian and Slackware style packaging is
      to add native support for building these packages.  Unfortunately,
      that is a large chunk of work I don't have time for right now.
      That said it would be nice to have at least basic packages for
      these distributions.
      
      As a quick short/medium term solution I've settled on using alien
      to convert the RPM packages to DEB or TGZ style packages.  The
      build system has been updated with the following build targets
      which will first build RPM packages and then convert them as
      needed to the target package type:
      
        make rpm: Create .rpm packages
        make deb: Create .deb packages
        make tgz: Create .tgz packages
        make pkg: Create the right package type for your distribution
      
      The solution comes with lot of caveats and your mileage may vary.
      But basically the big limitations are that the resulting packages:
      
        1) Will not have the correct dependency information.
        2) Will not not include the kernel version in the release.
        3) Will not handle all differences between distributions.
      
      But the resulting packages should be easy to install and remove
      from your system and take care of running 'depmod -a' and such.
      As I said at the top this is not the right long term solution.
      If any of the upstream distribution maintainers want to jump in
      and help do this right for their distribution I'd love the help.
      287b2fb1
  20. 01 Jul, 2010 1 commit
    • Brian Behlendorf's avatar
      Only make compiler warnings fatal with --enable-debug · c950d148
      Brian Behlendorf authored
      While in theory I like the idea of compiler warnings always being
      fatal.  In practice this causes problems when small harmless errors
      cause build failures for end users.  To handle this I've updated
      the build system such that -Werror is only used when --enable-debug
      is passed to configure.  This is how I always build when developing
      so I'll catch all build warnings and end users will not get stuck
      by minor issues.
      c950d148
  21. 21 May, 2010 1 commit
  22. 17 May, 2010 1 commit
    • Brian Behlendorf's avatar
      Public Release Prep · 716154c5
      Brian Behlendorf authored
      Updated AUTHORS, COPYING, DISCLAIMER, and INSTALL files.  Added
      standardized headers to all source file to clearly indicate the
      copyright, license, and to give credit where credit is due.
      716154c5
  23. 26 Mar, 2010 1 commit
    • Brian Behlendorf's avatar
      Add support for 'make -s' silent builds · 8934764e
      Brian Behlendorf authored
      The cleanest way to do this is to set AM_LIBTOOLFLAGS = --silent.  However,
      AM_LIBTOOLFLAGS is not honored by automake-1.9.6-2.1 which is what I have
      been using.  To cleanly handle this I am updating to automake-1.11-3 which
      is why it looks like there is a lot of churn in the Makefiles.
      8934764e
  24. 22 Mar, 2010 1 commit
    • Brian Behlendorf's avatar
      Allow spl_config.h to be included by dependant packages (updated) · 16b719f0
      Brian Behlendorf authored
      We need dependent packages to be able to include spl_config.h to
      build properly.  This was partially solved in commit 0cbaeb11 by using
      AH_BOTTOM to #undef common #defines (PACKAGE, VERSION, etc) which
      autoconf always adds and cannot be easily removed.  This solution
      works as long as the spl_config.h is included before your projects
      config.h.  That turns out to be easier said than done.  In particular,
      this is a problem when your package includes its config.h using the
      -include gcc option which ensures the first thing included is your
      config.h.
      
      To handle all cases cleanly I have removed the AH_BOTTOM hack and
      replaced it with an AC_CONFIG_HEADERS command.  This command runs
      immediately after spl_config.h is written and with a little awk-foo
      it strips the offending #defines from the file.  This eliminates
      the problem entirely and makes header safe for inclusion.
      
      Also in this change I have removed the few places in the code where
      spl_config.h is included.  It is now added to the gcc compile line
      to ensure the config results are always available.
      
      Finally, I have also disabled the verbose kernel builds.  If you
      want them back you can always build with 'make V=1'.  Since things
      are working now they don't need to be on by default.
      16b719f0
  25. 08 Jan, 2010 1 commit
  26. 01 Jul, 2009 1 commit
  27. 16 Jun, 2009 1 commit
  28. 17 Mar, 2009 1 commit
    • Brian Behlendorf's avatar
      Allow spl_config.h to be included by dependant packages · 0cbaeb11
      Brian Behlendorf authored
      We need dependent packages to be able to include spl_config.h so they
      can leverage the configure checks the SPL has done.  This is important
      because several of the spl headers need the results of these checks to
      work properly.  Unfortunately, the autoheader build product is always
      private to a particular build and defined certain common things.
      (PACKAGE, VERSION, etc).  This prevents other packages which also use
      autoheader from being include because the definitions conflict.  To
      avoid this problem the SPL build system leverage AH_BOTTOM to include
      a spl_unconfig.h at the botton of the autoheader build product.  This
      custom include undefs all known shared symbols to prevent the confict.
      This does however mean that those definition are also not availble
      to the SPL package either.  The SPL package therefore uses the
      equivilant SPL_META_* definitions.
      0cbaeb11
  29. 09 Mar, 2009 1 commit
    • Brian Behlendorf's avatar
      Build system and packaging (RPM support) · c5f70460
      Brian Behlendorf authored
      An update to the build system to properly support all commonly
      used Makefile targets these include:
      
        make all        # Build everything
        make install    # Install everything
        make clean	  # Clean up build products
        make distclean  # Clean up everything
        make dist       # Create package tarball
        make srpm       # Create package source RPM
        make rpm        # Create package binary RPMs
        make tags       # Create ctags and etags for everything
      
      Extra care was taken to ensure that the source RPMs are fully
      rebuildable against Fedora/RHEL/Chaos kernels.  To build binary
      RPMs from the source RPM for your system simply run:
      
        rpmbuild --rebuild spl-x.y.z-1.src.rpm
      
      This will produce two binary RPMs with correct 'requires'
      dependencies for your kernel.  One will contain all spl modules
      and support utilities, the other is a devel package for compiling
      additional kernel modules which are dependant on the spl.
      
        spl-x.y.z-1_<kernel version>.x86_64.rpm
        spl-devel-x.y.2-1_<kernel version>.x86_64.rpm
      c5f70460
  30. 12 Feb, 2009 1 commit
    • Brian Behlendorf's avatar
      Build system update · f6c5d4ff
      Brian Behlendorf authored
      - Added default build flags:
        -Wall -Wstrict-prototypes -Werror -Wshadow
      - Added missing Makefile's for include/ subdirectories.
      f6c5d4ff
  31. 26 Nov, 2008 3 commits
  32. 02 Jun, 2008 1 commit
    • behlendo's avatar
      Breaking the world for a little bit. If anyone is going to continue · 57d86234
      behlendo authored
      working on this branch for the next few days I suggested you work
      off of the 0.3.1 tag.  The following changes are fairly extensive
      and are designed to make the SPL compatible with all kernels in
      the range of 2.6.18-2.6.25.  There were 13 relevant API changes
      between these releases and I have added the needed autoconf tests
      to check for them.  However, this has not all been tested extensively.
      I'll sort of the breakage on Fedora Core 9 and RHEL5 this week.
      
      SPL_AC_TYPE_UINTPTR_T
      SPL_AC_TYPE_KMEM_CACHE_T
      SPL_AC_KMEM_CACHE_DESTROY_INT
      SPL_AC_ATOMIC_PANIC_NOTIFIER
      SPL_AC_3ARGS_INIT_WORK
      SPL_AC_2ARGS_REGISTER_SYSCTL
      SPL_AC_KMEM_CACHE_T
      SPL_AC_KMEM_CACHE_CREATE_DTOR
      SPL_AC_3ARG_KMEM_CACHE_CREATE_CTOR
      SPL_AC_SET_SHRINKER
      SPL_AC_PATH_IN_NAMEIDATA
      SPL_AC_TASK_CURR
      SPL_AC_CTL_UNNUMBERED
      
      
      
      git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@119 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
      57d86234
  33. 01 Mar, 2008 1 commit
  34. 27 Feb, 2008 1 commit