puppet-modulebuilder 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +15 -0
- data/.travis.yml +2 -8
- data/CHANGELOG.md +17 -0
- data/Gemfile +19 -16
- data/README.md +1 -1
- data/appveyor.yml +8 -3
- data/lib/puppet/modulebuilder/builder.rb +43 -9
- data/lib/puppet/modulebuilder/version.rb +1 -1
- data/puppet-modulebuilder.gemspec +3 -3
- metadata +15 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: caf535563497b6e0a7bd98c749821dd30c60e33174497449459c754fc8ebffd1
|
4
|
+
data.tar.gz: e72590d578145ced4d745cab78f32ea581208e537022b9d68ce6856bb3950664
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d3d125ef17ee7c5598ead12a03c8cd210435d9dd11ee89289233f51ff2231d7dd46ddd2901f4301550a889eac540e8f8ece5ff43610a313f312b9563854261f
|
7
|
+
data.tar.gz: 16e26fef2258fbc132962aeb8bce6c0ede396fcd0d498778be63450e4df3b10ec9a2870e3043e8a11d2e16a1dcf42bd551dbd62e82d46ae7054f401f8178486f
|
@@ -0,0 +1,15 @@
|
|
1
|
+
version: 2
|
2
|
+
updates:
|
3
|
+
- package-ecosystem: bundler
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: daily
|
7
|
+
time: "13:00"
|
8
|
+
open-pull-requests-limit: 10
|
9
|
+
ignore:
|
10
|
+
- dependency-name: rake
|
11
|
+
versions:
|
12
|
+
- ">= 13.a, < 14"
|
13
|
+
- dependency-name: rubocop
|
14
|
+
versions:
|
15
|
+
- "> 0.68"
|
data/.travis.yml
CHANGED
@@ -7,11 +7,5 @@ env:
|
|
7
7
|
jobs:
|
8
8
|
include:
|
9
9
|
- rvm: 2.7
|
10
|
-
- rvm: 2.5
|
11
|
-
|
12
|
-
- rvm: 2.4.9
|
13
|
-
before_install: gem install bundler -v 2.1.4
|
14
|
-
- rvm: 2.1.9
|
15
|
-
script: "bundle exec rake spec # don't try to run rubocop on ancient ruby"
|
16
|
-
env:
|
17
|
-
- SIMPLECOV=no
|
10
|
+
- rvm: 2.5
|
11
|
+
- rvm: 2.4
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,23 @@
|
|
3
3
|
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
|
4
4
|
|
5
5
|
|
6
|
+
## [v0.3.0](https://github.com/puppetlabs/puppet-modulebuilder/tree/v0.3.0) (2021-05-17)
|
7
|
+
|
8
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-modulebuilder/compare/v0.2.1...v0.3.0)
|
9
|
+
|
10
|
+
**Implemented enhancements:**
|
11
|
+
|
12
|
+
- Refresh dependency matrix; drop ruby 2.3 and earlier [\#35](https://github.com/puppetlabs/puppet-modulebuilder/pull/35) ([DavidS](https://github.com/DavidS))
|
13
|
+
- Use Puppet 7 in development on Ruby 2.7+ [\#32](https://github.com/puppetlabs/puppet-modulebuilder/pull/32) ([ekohl](https://github.com/ekohl))
|
14
|
+
- Add a setter for release\_name [\#31](https://github.com/puppetlabs/puppet-modulebuilder/pull/31) ([ekohl](https://github.com/ekohl))
|
15
|
+
- Preserve directory mtimes [\#27](https://github.com/puppetlabs/puppet-modulebuilder/pull/27) ([ekohl](https://github.com/ekohl))
|
16
|
+
- Use match\_path instead of match\_paths [\#26](https://github.com/puppetlabs/puppet-modulebuilder/pull/26) ([ekohl](https://github.com/ekohl))
|
17
|
+
|
18
|
+
**Fixed bugs:**
|
19
|
+
|
20
|
+
- Use correct source variable when warning about symlinks [\#36](https://github.com/puppetlabs/puppet-modulebuilder/pull/36) ([DavidS](https://github.com/DavidS))
|
21
|
+
- Ignore all hidden files in the root dir [\#29](https://github.com/puppetlabs/puppet-modulebuilder/pull/29) ([ekohl](https://github.com/ekohl))
|
22
|
+
|
6
23
|
## [v0.2.1](https://github.com/puppetlabs/puppet-modulebuilder/tree/v0.2.1) (2020-06-08)
|
7
24
|
|
8
25
|
[Full Changelog](https://github.com/puppetlabs/puppet-modulebuilder/compare/v0.2.0...v0.2.1)
|
data/Gemfile
CHANGED
@@ -6,25 +6,28 @@ source 'https://rubygems.org'
|
|
6
6
|
gemspec
|
7
7
|
|
8
8
|
group :development do
|
9
|
+
ruby_version = Gem::Version.new(RUBY_VERSION)
|
10
|
+
|
9
11
|
gem 'rake', '~> 12.0'
|
10
12
|
gem 'rspec', '~> 3.0'
|
11
|
-
if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')
|
12
|
-
gem 'rubocop', ['~> 0.68', '< 0.82.0']
|
13
|
-
gem 'rubocop-rspec', '~> 1.38'
|
14
|
-
|
15
|
-
gem 'codecov', '~> 0.1'
|
16
|
-
gem 'github_changelog_generator', '~> 1.15', require: false
|
17
|
-
gem 'simplecov', '~> 0.18'
|
18
|
-
gem 'simplecov-console', '~> 0.6'
|
19
|
-
end
|
20
13
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
14
|
+
gem 'rubocop', ['~> 0.68', '< 0.82.0']
|
15
|
+
gem 'rubocop-rspec', '~> 1.38'
|
16
|
+
|
17
|
+
gem 'codecov', '~> 0.1'
|
18
|
+
gem 'github_changelog_generator', '~> 1.15', require: false
|
19
|
+
gem 'simplecov', '~> 0.18'
|
20
|
+
gem 'simplecov-console', '~> 0.6'
|
21
|
+
|
22
|
+
puppet_version = if ruby_version >= Gem::Version.new('2.7.0')
|
23
|
+
'~> 7.0'
|
24
|
+
elsif ruby_version >= Gem::Version.new('2.5.0')
|
25
|
+
'~> 6.0'
|
26
|
+
else
|
27
|
+
'~> 5.0'
|
28
|
+
end
|
29
|
+
|
30
|
+
gem 'puppet', puppet_version
|
28
31
|
end
|
29
32
|
|
30
33
|
# Evaluate Gemfile.local and ~/.gemfile if they exist
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[](https://travis-ci.com/puppetlabs/puppet-modulebuilder) [](https://ci.appveyor.com/project/puppetlabs/puppet-modulebuilder/branch/main)
|
2
2
|
|
3
3
|
# Puppet::Modulebuilder
|
4
4
|
|
data/appveyor.yml
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
---
|
2
|
+
environment:
|
3
|
+
matrix:
|
4
|
+
- RUBY_VERSION: 25-x64
|
5
|
+
- RUBY_VERSION: 24-x64
|
6
|
+
|
2
7
|
install:
|
3
|
-
- set PATH=C:\
|
8
|
+
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
|
4
9
|
- set SIMPLECOV=yes
|
5
10
|
- gem install bundler -v 2.1.4
|
6
11
|
- bundle -v
|
@@ -10,7 +15,7 @@ build: off
|
|
10
15
|
|
11
16
|
branches:
|
12
17
|
only:
|
13
|
-
-
|
18
|
+
- main
|
14
19
|
|
15
20
|
before_test:
|
16
21
|
- bundle env
|
@@ -22,4 +27,4 @@ test_script:
|
|
22
27
|
# Uncomment this block to enable RDP access to the AppVeyor test instance for
|
23
28
|
# debugging purposes.
|
24
29
|
# on_finish:
|
25
|
-
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
30
|
+
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
@@ -6,7 +6,7 @@ module Puppet::Modulebuilder
|
|
6
6
|
# Class to build Puppet Modules from source
|
7
7
|
class Builder
|
8
8
|
DEFAULT_IGNORED = [
|
9
|
-
'
|
9
|
+
'/.*',
|
10
10
|
'/pkg/',
|
11
11
|
'~*',
|
12
12
|
'/coverage',
|
@@ -53,7 +53,9 @@ module Puppet::Modulebuilder
|
|
53
53
|
end
|
54
54
|
|
55
55
|
# Return the path to the temporary build directory, which will be placed
|
56
|
-
# inside the target directory and match the release name
|
56
|
+
# inside the target directory and match the release name
|
57
|
+
#
|
58
|
+
# @see #release_name
|
57
59
|
def build_dir
|
58
60
|
@build_dir ||= File.join(build_context[:parent_dir], build_context[:build_dir_name])
|
59
61
|
end
|
@@ -72,7 +74,9 @@ module Puppet::Modulebuilder
|
|
72
74
|
def stage_module_in_build_dir
|
73
75
|
require 'find'
|
74
76
|
|
75
|
-
|
77
|
+
directories = [source]
|
78
|
+
|
79
|
+
staged = Find.find(source) do |path|
|
76
80
|
next if path == source
|
77
81
|
|
78
82
|
if ignored_path?(path)
|
@@ -80,9 +84,18 @@ module Puppet::Modulebuilder
|
|
80
84
|
Find.prune
|
81
85
|
else
|
82
86
|
logger.debug("Staging #{path} for the build")
|
87
|
+
directories << path if file_directory?(path)
|
83
88
|
stage_path(path)
|
84
89
|
end
|
85
90
|
end
|
91
|
+
|
92
|
+
# Reset directory mtimes. This must happen after the files have been
|
93
|
+
# copied since that modifies a directory's mtime
|
94
|
+
directories.each do |directory|
|
95
|
+
copy_mtime(directory)
|
96
|
+
end
|
97
|
+
|
98
|
+
staged
|
86
99
|
end
|
87
100
|
|
88
101
|
# Stage a file or directory from the module into the build directory.
|
@@ -112,6 +125,17 @@ module Puppet::Modulebuilder
|
|
112
125
|
end
|
113
126
|
end
|
114
127
|
|
128
|
+
def copy_mtime(path)
|
129
|
+
require 'pathname'
|
130
|
+
|
131
|
+
relative_path = Pathname.new(path).relative_path_from(Pathname.new(source))
|
132
|
+
dest_path = File.join(build_dir, relative_path)
|
133
|
+
|
134
|
+
validate_path_encoding!(relative_path.to_path)
|
135
|
+
|
136
|
+
fileutils_touch(dest_path, mtime: file_stat(path).mtime)
|
137
|
+
end
|
138
|
+
|
115
139
|
# Check if the given path matches one of the patterns listed in the
|
116
140
|
# ignore file.
|
117
141
|
#
|
@@ -121,7 +145,7 @@ module Puppet::Modulebuilder
|
|
121
145
|
def ignored_path?(path)
|
122
146
|
path = path.to_s + '/' if File.directory?(path)
|
123
147
|
|
124
|
-
|
148
|
+
ignored_files.match_path(path, source)
|
125
149
|
end
|
126
150
|
|
127
151
|
# Warn the user about a symlink that would have been included in the
|
@@ -134,9 +158,9 @@ module Puppet::Modulebuilder
|
|
134
158
|
require 'pathname'
|
135
159
|
|
136
160
|
symlink_path = Pathname.new(path)
|
137
|
-
module_path = Pathname.new(
|
161
|
+
module_path = Pathname.new(source)
|
138
162
|
|
139
|
-
logger.warn
|
163
|
+
logger.warn 'Symlinks in modules are not supported and will not be included in the package. Please investigate symlink %{from} -> %{to}.' % {
|
140
164
|
from: symlink_path.relative_path_from(module_path),
|
141
165
|
to: symlink_path.realpath.relative_path_from(module_path),
|
142
166
|
}
|
@@ -299,10 +323,14 @@ module Puppet::Modulebuilder
|
|
299
323
|
file_exists?(package_file)
|
300
324
|
end
|
301
325
|
|
302
|
-
#
|
303
|
-
#
|
326
|
+
# The release name is used for the build directory and resulting package
|
327
|
+
# file.
|
328
|
+
#
|
329
|
+
# The default combines the module name and version into a Forge-compatible
|
330
|
+
# dash separated string. Unless you have an unusual use case this isn't set
|
331
|
+
# manually.
|
304
332
|
#
|
305
|
-
# @return [String]
|
333
|
+
# @return [String]
|
306
334
|
def release_name
|
307
335
|
@release_name ||= [
|
308
336
|
metadata['name'],
|
@@ -310,6 +338,8 @@ module Puppet::Modulebuilder
|
|
310
338
|
].join('-')
|
311
339
|
end
|
312
340
|
|
341
|
+
attr_writer :release_name
|
342
|
+
|
313
343
|
# Checks if the path length will fit into the POSIX.1-1998 (ustar) tar
|
314
344
|
# header format.
|
315
345
|
#
|
@@ -408,6 +438,10 @@ module Puppet::Modulebuilder
|
|
408
438
|
FileUtils.mkdir_p(dir, **options)
|
409
439
|
end
|
410
440
|
|
441
|
+
def fileutils_touch(list, **options)
|
442
|
+
FileUtils.touch(list, **options)
|
443
|
+
end
|
444
|
+
|
411
445
|
def file_stat(*args)
|
412
446
|
File.stat(*args)
|
413
447
|
end
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
|
14
14
|
spec.metadata['homepage_uri'] = spec.homepage
|
15
15
|
spec.metadata['source_code_uri'] = 'https://github.com/puppetlabs/puppet-modulebuilder'
|
16
|
-
spec.metadata['changelog_uri'] = 'https://github.com/puppetlabs/puppet-modulebuilder/blob/
|
16
|
+
spec.metadata['changelog_uri'] = 'https://github.com/puppetlabs/puppet-modulebuilder/blob/main/CHANGELOG.md'
|
17
17
|
|
18
18
|
# Specify which files should be added to the gem when it is released.
|
19
19
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -24,6 +24,6 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
25
|
spec.require_paths = ['lib']
|
26
26
|
# minitar and pathspec is required for building Puppet modules
|
27
|
-
spec.add_runtime_dependency 'minitar', '~> 0.
|
28
|
-
spec.add_runtime_dependency 'pathspec', '
|
27
|
+
spec.add_runtime_dependency 'minitar', '~> 0.9'
|
28
|
+
spec.add_runtime_dependency 'pathspec', '>= 0.2.1', '< 2.0.0'
|
29
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-modulebuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sheena
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitar
|
@@ -17,28 +17,34 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '0.
|
20
|
+
version: '0.9'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '0.
|
27
|
+
version: '0.9'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: pathspec
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: 0.2.1
|
35
|
+
- - "<"
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 2.0.0
|
35
38
|
type: :runtime
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
38
41
|
requirements:
|
39
|
-
- - "
|
42
|
+
- - ">="
|
40
43
|
- !ruby/object:Gem::Version
|
41
44
|
version: 0.2.1
|
45
|
+
- - "<"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.0.0
|
42
48
|
description:
|
43
49
|
email:
|
44
50
|
- sheena@puppet.com
|
@@ -48,6 +54,7 @@ extensions: []
|
|
48
54
|
extra_rdoc_files: []
|
49
55
|
files:
|
50
56
|
- ".github/CODEOWNERS"
|
57
|
+
- ".github/dependabot.yml"
|
51
58
|
- ".gitignore"
|
52
59
|
- ".rspec"
|
53
60
|
- ".rubocop.yml"
|
@@ -68,7 +75,7 @@ licenses: []
|
|
68
75
|
metadata:
|
69
76
|
homepage_uri: https://github.com/puppetlabs/puppet-modulebuilder
|
70
77
|
source_code_uri: https://github.com/puppetlabs/puppet-modulebuilder
|
71
|
-
changelog_uri: https://github.com/puppetlabs/puppet-modulebuilder/blob/
|
78
|
+
changelog_uri: https://github.com/puppetlabs/puppet-modulebuilder/blob/main/CHANGELOG.md
|
72
79
|
post_install_message:
|
73
80
|
rdoc_options: []
|
74
81
|
require_paths:
|
@@ -84,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
91
|
- !ruby/object:Gem::Version
|
85
92
|
version: '0'
|
86
93
|
requirements: []
|
87
|
-
rubygems_version: 3.
|
94
|
+
rubygems_version: 3.0.3
|
88
95
|
signing_key:
|
89
96
|
specification_version: 4
|
90
97
|
summary: A gem to set up puppet-modulebuilder
|