Skip to content
Snippets Groups Projects
  1. Dec 24, 2019
    • Peter Josef Scheibel's avatar
      Mirrors: fix cosmetic symlink targets · 98b498c6
      Peter Josef Scheibel authored
      The targets for the cosmetic paths in mirrrors were being calculated
      incorrectly as of fb3a3ba9: the symlinks used relative paths as targets,
      and the relative path was computed relative to the wrong directory.
      Unverified
      98b498c6
    • Peter Josef Scheibel's avatar
      Allow repeated invocations of 'mirror create' · 64209dda
      Peter Josef Scheibel authored
      When creating a cosmetic symlink for a resource in a mirror, remove
      it if it already exists. The symlink is removed in case the logic to
      create the symlink has changed.
      Unverified
      64209dda
    • Paul Ferrell's avatar
      mirror bug fixes: symlinks, duplicate patch names, and exception handling (#13789) · c15e55c6
      Paul Ferrell authored
      * Some packages (e.g. mpfr at the time of this patch) can have patches
        with the same name but different contents (which apply to different
        versions of the package). This appends part of the patch hash to the
        cache file name to avoid conflicts.
      * Some exceptions which occur during fetching are not a subclass of
        SpackError and therefore do not have a 'message' attribute. This
        updates the logic for mirroring a single spec (add_single_spec)
        to produce an appropriate error message in that case (where before
        it failed with an AttributeError)
      * In various circumstances, a mirror can contain the universal storage
        path but not a cosmetic symlink; in this case it would not generate
        a symlink. Now "spack mirror create" will create a symlink for any
        package that doesn't have one.
      Unverified
      c15e55c6
  2. Dec 05, 2019
  3. Dec 02, 2019
  4. Nov 17, 2019
  5. Nov 15, 2019
  6. Nov 14, 2019
  7. Nov 05, 2019
  8. Nov 04, 2019
    • Omar Padron's avatar
      bugfix: fetch prefers to fetch local mirrors over remote resources (#13545) · edf95483
      Omar Padron authored
      - [x] insert at beginning of list so fetch grabs local mirrors before remote resources
      - [x] update the S3FetchStrategy so that it throws a SpackError if the fetch fails.  
            Before, it was throwing URLError, which was not being caught in stage.py.
      - [x] move error handling out of S3FetchStrategy and into web_util.read_from_url()
      - [x] pass string instead of URLError to SpackWebError
      Unverified
      edf95483
  9. Nov 03, 2019
    • Greg Becker's avatar
      environments: only write when necessary (#13546) · 7cdb241f
      Greg Becker authored
      This changes Spack environments so that the YAML file associated with the environment is *only* written when necessary (i.e., if it is changed *by spack*).  The lockfile is still written out as before.
      
      There is a larger question here of which part of Spack should be responsible for setting defaults in config files, and how we can get rid of empty lists and data structures currently cluttering files like `compilers.yaml`.  But that probably requires a rework of the default-setting validator in `spack.config`, as well as the code that uses `spack.config`.  This will at least help for `spack.yaml`.
      Unverified
      7cdb241f
  10. Nov 01, 2019
  11. Oct 31, 2019
  12. Oct 26, 2019
    • Todd Gamblin's avatar
    • Todd Gamblin's avatar
      version bump: 0.13.0 · 8eeb6409
      Todd Gamblin authored
      Unverified
      8eeb6409
    • Todd Gamblin's avatar
      tutorial: move tutorial to standalone site (#13450) · 847703c1
      Todd Gamblin authored
      * docs: add a spack environment for building the docs
      
      * docs: remove tutorial and link to spack-tutorial.readthedocs.io
      
      The tutorial now has its own standalone website, versioned by instances
      of the tutorial.  Link to that instead of versioning it directly with Spack.
      Unverified
      847703c1
    • Peter Scheibel's avatar
      `mirror create --all` can mirror everything (#12940) · 4af44872
      Peter Scheibel authored
      Support mirroring all packages with `spack mirror create --all`.
      
      In this mode there is no concretization:
      
      * Spack pulls every version of every package into the created mirror.
      * It also makes multiple attempts for each package/version combination
        (if there is a temporary connection failure).
      * Continues if all attempts fail. i.e., this makes its best effort to
        fetch evrerything, even if all attempts to fetch one package fail.
      
      This also changes mirroring logic to prefer storing sources by their hash
      or by a unique name derived from the source.  For example:
      
      * Archives with checksums are named by the sha256 sum, i.e.,
        `archive/f6/f6cf3bd233f9ea6147b21c7c02cac24e5363570ce4fd6be11dab9f499ed6a7d8.tar.gz`
        vs the previous `<package-name>-package-version>.tar.gz`
      * VCS repositories are stored by a path derived from their URL,
        e.g. `git/google/leveldb.git/master.tar.gz`.
      
      The new mirror layout allows different packages to refer to the same
      resource or source without duplicating that download in the
      mirror/cache. This change is not essential to mirroring everything but is
      expected to save space when mirroring packages that all use the same
      resource.
      
      The new structure of the mirror is:
      
      ```
      <base directory>/
        _source-cache/   <-- the _source-cache directory is new
          archive/       <-- archives/resources/patches stored by hash
            00/          <-- 2-letter sha256 prefix
              002748bdd0319d5ab82606cf92dc210fc1c05d0607a2e1d5538f60512b029056.tar.gz
            01/
              0154c25c45b5506b6d618ca8e18d0ef093dac47946ac0df464fb21e77b504118.tar.gz
              0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea.tar.gz
              ...
          git/
            OpenFAST/
              openfast.git/
                master.tar.gz     <-- repo by branch name
            PHASTA/
              phasta.git/
                11f431f2d1a53a529dab4b0f079ab8aab7ca1109.tar.gz  <-- repo by commit
            ...
          svn/      <-- each fetch strategy has its own subdirectory
            ...
        openmpi/   <-- the remaining package directories have the old format
          openmpi-1.10.1.tar.gz  <-- human-readable name is symlink to _source-cache
      ```
      
      In addition to the archive names as described above, `mirror create` now
      also creates symlinks with the old format to help users understand which
      package each mirrored archive is associated with, and to allow mirrors to
      work with old spack versions. The symlinks are relative so the mirror
      directory can still itself be archived.
      
      Other improvements:
      
      * `spack mirror create` will not re-download resources that have already
        been placed in it.
      
      * When creating a mirror, the resources downloaded to the mirror will not
        be cached (things are not stored twice).
      4af44872
    • Adam J. Stewart's avatar
      Add py-twine package (#13449) · 5582de83
      Adam J. Stewart authored
      Unverified
      5582de83
Loading