1. 19 Oct, 2012 2 commits
  2. 10 Oct, 2012 1 commit
    • Iustin Pop's avatar
      Improve Haskell configure options and detection · 21a5e56c
      Iustin Pop authored
      
      
      This patch cleans up  the Haskell library detection and defaults.
      
      First, it makes the base compiler/libraries required, per the email discussion.
      
      It then adds two new small autoconf macros, on to check for a required
      Haskell library and one to do custom action based on test results. We
      use these macros to cleanup and simplify a bit the module detection:
      
      - rapi, confd, and split query are auto detected and enabled if _all_
        required libraries are present
      - unittests are enabled if _all_ required libraries are present
      
      The patch also updates the documentation regarding required libraries.
      
      After this patch, base Ganeti fully buildable on Debian Squeeze/Ubuntu
      Lucid.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      21a5e56c
  3. 01 Oct, 2012 1 commit
  4. 28 Aug, 2012 1 commit
    • Iustin Pop's avatar
      Switch Haskell test harness to test-framework · 95f6c931
      Iustin Pop authored
      This patch replaces our home-grown, and quite limited, test runner
      infrastructure with test-framework
      (http://batterseapower.github.com/test-framework/
      
      ). The rationale for
      doing so is as follows:
      
      - we will need to add support for HUnit tests, so either we add more
        custom code or we switch to an existing library
      - test-framework is mature and already packaged, at least in
        Debian/Ubuntu
      - it supports more features: parallel test running, better test
        selection, etc.
      
      As you can see, the changes are trivial, and don't touch the tests at
      all; if/when we split the QC.hs file into per-module files, then we
      could drop QCHelper too, and replace it with test-framework-th, which
      does the same, but even more automated (auto-discovery, without having
      to list the tests at all).
      
      Dependencies are updated in devnotes.rst; note that I've already added
      the hunit dependencies since we're going to use that soon.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarAgata Murawska <agatamurawska@google.com>
      95f6c931
  5. 23 Aug, 2012 1 commit
    • Iustin Pop's avatar
      Bump pep8 version to 1.2 · 5ae4945a
      Iustin Pop authored
      
      
      Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's:
      
      - bump version in the docs
      - silence some new checks that are wrong due to our indent=2 instead of 4
      - fix lots of errors in the code where the indentation was wrong by 1
        or 2 spaces
      - fix a few cases of == True, False, None and replace with 'is'
      - re-indent some cases where the code is OK, but pep8 complains
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      5ae4945a
  6. 06 Jul, 2012 1 commit
  7. 27 Mar, 2012 1 commit
  8. 16 Jan, 2012 1 commit
  9. 08 Dec, 2011 1 commit
    • Iustin Pop's avatar
      Cleanup hlint errors · 3603605a
      Iustin Pop authored
      
      
      First, we update the recommended hlint version to what I used to get a
      clean output (1.8.15). Most of the changes are:
      
      - remove unneeded parentheses
      - some simplifications (intercalate " " → unwords, maybe … id →
        fromMaybe, etc.)
      - removal of some duplicate code (in previous patches)
      
      There are still some warnings which I didn't clean out but plain
      ignored:
      
      - 'Eta reduce' in some specific files, because the type inference
        specialises the function on the first call, and annotating the type
        properly would be too verbose
      - use of 'first', 'comparing', and 'on', since these don't seem to be
        widely or consistently used (outside ganeti/htools, I mean)
      - use of Control.Exception.catch, as we only care about I/O errors; at
        one point yes, we will need to transition to this new API
      - 'Reduce duplication', since hlint warns even for 3 duplicate lines,
        and abstracting that away seems overkill to me
      
      After this patch, make hlint is clean and doesn't exit with an error
      anymore; we could enable it automatically on 'make lint' if hlint is
      detected (future patch).
      
      Note that we explicitly skip the THH.hs file from checking because it
      seems that hlint doesn't parse correctly for now the splice notation.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarAgata Murawska <agatamurawska@google.com>
      3603605a
  10. 14 Oct, 2011 1 commit
    • Iustin Pop's avatar
      Document some useful Haskell tips · ef958f2a
      Iustin Pop authored
      
      
      This improves devnotes.rst with some tricks for Haskell development,
      and additionally it does two Makefile improvements:
      
      - properly document lib/_vcsversion.py as a requirement for
        Constants.hs (but do not require rebuild when updated)
      - move HEXTRA at the end of the GHC invocation, so any command line
        options will indeed override the built-in ones (especially -osuf)
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      ef958f2a
  11. 26 Aug, 2011 1 commit
  12. 21 Jul, 2011 1 commit
  13. 28 Jun, 2011 1 commit
    • Iustin Pop's avatar
      htools: Switch to QuickCheck 2.x · 8e4f6d56
      Iustin Pop authored
      
      
      Since current distros don't package anymore QuickCheck 1.x, let's move
      to 2.x.
      
      This requires also a few changes to the code:
      
      - Test.QuickCheck.Batch doesn't exist anymore, so we need to write some
        scaffolding code to replace it
      - the way test sizes are generated has changed, and we need to restrict
        (in some tests) the cluster size, as our code is not yet ready for
        hundreds of thousands of nodes in a cluster and we run out of stack
        (which could be a bug somewhere by itself, needs investigation)
      - at least with GHC 7, floating point errors make a perfect cluster
        score even bigger, so we need to bump up the max. rounding error
        allowed
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      8e4f6d56
  14. 30 Mar, 2011 1 commit
  15. 23 Mar, 2011 1 commit
  16. 15 Nov, 2010 1 commit
  17. 15 Oct, 2010 1 commit
  18. 02 Jun, 2010 1 commit
  19. 23 Feb, 2010 1 commit
  20. 13 Nov, 2009 3 commits
  21. 24 Sep, 2009 1 commit
  22. 15 Sep, 2009 1 commit
  23. 12 May, 2009 1 commit
    • Iustin Pop's avatar
      Switch the documentation to sphinx · d17e74b4
      Iustin Pop authored
      This big patch converts the documentation build system to sphinx
      (http://sphinx.pocoo.org/
      
      ). Since that uses reStructuredText sources
      too, there is no change (yet) in the documents themselves, just in the
      build system.
      
      As before, the docs are pre built by the maintainer, and the end-user
      doesn't need sphinx or other rst tools to build the docs. Note that we
      are not distributing PDFs, so building that will require the tools.
      
      The docs will be stored under doc/html and the build system also need an
      extra directory doc/build. These are considered (by automake)
      maintainer-related objects and are removed at maintainer-clean time.
      
      The patch also fixes some small issues: add a docpng variable, add
      doc/api (also generated by maintainer) in maintainer-clean-local, etc.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      d17e74b4
  24. 07 Apr, 2009 1 commit
    • Iustin Pop's avatar
      Distribute built documentation · 2ab2b9f5
      Iustin Pop authored
      This patch changes the way documentation is built in order to distribute
      the generated output in the 'dist' archive, and thus no longer
      requiring the presence of the docbook/rst toolchains during build time.
      This will lower the requirements for installation and also makes the
      build time insignificant.
      
      First, we remove the docbook2pdf rules and variables, since we no longer
      build this kind of docs. Furthermore, the rst source files are not
      (today) processed via replace_vars_sed, so the whole .in rules for doc/
      go away.
      
      Next, we change the ".sgml|.rst -> replace_vars_sed -> .in -> processor
      -> final file" processing to ".sgml|.rst -> generator -> .in ->
      replace_vars_sed -> final file"; this means we first process the file
      using the formatter, with the @VARIABLE@ entries in it, and save the
      output as .in; this output we distribute, and on the user side, the
      replace_vars_sed will use the new configure flags to transform the
      (almost final .in form) to the final form, without needing the
      toolchain.
      
      In configure.ac we also change from ERROR to WARN for the documentation
      generators, and extra tests in Makefile.am check that the programs have
      been found.
      
      This was tested with distcheck and works as expected.
      
      Reviewed-by: ultrotter
      2ab2b9f5
  25. 16 Feb, 2009 1 commit
  26. 16 Nov, 2008 1 commit
    • Iustin Pop's avatar
      Add a cluster architecture diagram · f86e82ef
      Iustin Pop authored
      This adds a simple diagram for the cluster architecture and also adds a
      dependency on graphviz (both doc and in configure).
      
      Reviewed-by: imsnah
      f86e82ef
  27. 30 Sep, 2008 1 commit
  28. 25 Aug, 2008 1 commit
  29. 11 Jul, 2008 1 commit
    • Michael Hanselmann's avatar
      Fix rapi documentation · 081242d8
      Michael Hanselmann authored
      As a nice side-effect this also fixes "make distcheck".
      
      The way used to include the generated rapi-resources.sgml file only
      works if it's built in the same directory. That's not the case during
      "make distcheck". The patch changes the sed script used for variables
      to include the file using its absolute path.
      
      Reviewed-by: iustinp
      081242d8
  30. 10 Oct, 2007 1 commit