9 Commits

Author SHA1 Message Date
Jack Nagel
c84c8b1d0e Set patch name on initialization 2014-03-15 22:40:14 -05:00
Jack Nagel
251bd707a2 Remove use of Forwardable from ExternalPatch 2014-03-14 16:16:53 -05:00
Jack Nagel
72e0d9806b Ensure patch cache path is unique even when checksum is missing 2014-03-14 12:38:06 -05:00
Jack Nagel
c91c2c10d8 Add inspect methods to patch classes 2014-03-13 21:35:41 -05:00
Jack Nagel
a5a78ce3c6 Drop version from cached patch filenames 2014-03-13 21:35:41 -05:00
Jack Nagel
4f051abc3e Teach audit about new patches implementation 2014-03-13 21:35:41 -05:00
Jack Nagel
86cdd812a2 Teach fetch to download patches 2014-03-13 21:35:41 -05:00
Jack Nagel
665b14c4a4 Enable new patch implementation with compatibility layer 2014-03-13 21:35:41 -05:00
Jack Nagel
bc6e4a1894 New patch implementation and DSL
This commit introduces a new patch implementation that supports
checksums and caching.

Patches are declared in blocks:

  patch do
    url ...
    sha1 ...
  end

A strip level of -p1 is assumed. It can be overridden using a symbol
argument:

  patch :p0 do
    url ...
    sha1 ...
  end

Patches can be declared in stable, devel, and head blocks. This form is
preferred over using conditionals.

  stable do
    # ...

    patch do
      url ...
      sha1 ...
    end
  end

Embedded (__END__) patches are declared like so:

  patch :DATA
  patch :p0, :DATA

Patches can also be embedded by passing a string. This makes it possible
to provide multiple embedded patches while making only some of them
conditional.

  patch :p0, "..."
2014-03-13 21:35:41 -05:00