vagrant-guests-clearlinux 1.0.14 → 1.0.16
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/Dockerfile +8 -0
- data/Gemfile +1 -1
- data/Makefile +32 -0
- data/README.md +20 -7
- data/lib/vagrant-guests-clearlinux/cap/configure_networks.rb +8 -18
- data/lib/vagrant-guests-clearlinux/cap/rsync.rb +16 -0
- data/lib/vagrant-guests-clearlinux/plugin.rb +10 -0
- data/lib/vagrant-guests-clearlinux/version.rb +1 -1
- metadata +6 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 609fd9b88b16df3d55a99e9f56da98347b77bb1df3dde71fa8f3c288bb3a98a4
         | 
| 4 | 
            +
              data.tar.gz: f2c777e1a75a20009fb1613366e31593e60a45475228e41f14dd68a02e82f81a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0e4fcf59185f259a778552b53f98950e8f1c0cab64b14cc56b91e8496db4e89775fcffd782f0e75c0747516516107ceb673a17aacda1812b40541a32a67656a5
         | 
| 7 | 
            +
              data.tar.gz: 70cacaae979289b26cbe36caee9dfa2fd4a901a887ed7a26042a587edbe452024908737dff8b267d6108c45a1018ec7e3dbddc2272bd4692e2a1cb5a351ed9ec
         | 
    
        data/Dockerfile
    ADDED
    
    
    
        data/Gemfile
    CHANGED
    
    | @@ -6,6 +6,6 @@ source 'https://rubygems.org' | |
| 6 6 | 
             
            gemspec
         | 
| 7 7 |  | 
| 8 8 | 
             
            group :development do
         | 
| 9 | 
            -
              gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git', :tag => 'v2.2. | 
| 9 | 
            +
              gem 'vagrant', :git => 'https://github.com/hashicorp/vagrant.git', :tag => 'v2.2.3'
         | 
| 10 10 | 
             
              gem 'coveralls', require: true
         | 
| 11 11 | 
             
            end
         | 
    
        data/Makefile
    ADDED
    
    | @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            .DEFAULT_GOAL := help
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            .PHONY: check-version help push local-install
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            PLUGIN := vagrant-guests-clearlinux
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            help:
         | 
| 8 | 
            +
            	@echo "available 'make' targets:"
         | 
| 9 | 
            +
            	@echo
         | 
| 10 | 
            +
            	@grep -E "^.*:.*?## .*$$" $(MAKEFILE_LIST) | \
         | 
| 11 | 
            +
            		grep -vE "(grep|BEGIN)" | awk \
         | 
| 12 | 
            +
            		'BEGIN {FS = ":.*?## "}; {printf "\t\033[36m%-30s\033[0m %s\n", $$1, $$2}' | \
         | 
| 13 | 
            +
            		VERSION=$(VERSION) envsubst
         | 
| 14 | 
            +
            	@echo
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            check-version:
         | 
| 17 | 
            +
            ifndef VERSION
         | 
| 18 | 
            +
            	$(error VERSION is undefined)
         | 
| 19 | 
            +
            endif
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            build: ## builds gem inside a docker container
         | 
| 22 | 
            +
            	docker run -it --rm --name gem-builder -v "$${PWD}":/usr/src/myapp \
         | 
| 23 | 
            +
            		-w /usr/src/myapp ruby:2.5 bash -c "bundle install; bundle exec rake build"
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            push: pkg/$(PLUGIN)-${VERSION}.gem ## pushes gem to rubygems.org
         | 
| 26 | 
            +
            	gem push pkg/$(PLUGIN)-${VERSION}.gem
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            pkg/$(PLUGIN)-${VERSION}.gem: check-version build
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            local-install: pkg/$(PLUGIN)-${VERSION}.gem ## installs plugin locally for testing
         | 
| 31 | 
            +
            	vagrant plugin uninstall $(PLUGIN)
         | 
| 32 | 
            +
            	vagrant plugin install pkg/$(PLUGIN)-${VERSION}.gem
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            # vagrant-guests-clearlinux
         | 
| 2 2 |  | 
| 3 | 
            -
            This is a [Vagrant](http://www.vagrantup.com/) | 
| 3 | 
            +
            This is a [Vagrant](http://www.vagrantup.com/)
         | 
| 4 | 
            +
            [plugin](http://docs.vagrantup.com/v2/plugins/index.html)
         | 
| 4 5 | 
             
            that adds [Clear Linux](https://clearlinux.org) guest support.
         | 
| 5 6 | 
             
            Once it gets feature complete and rock solid work will start
         | 
| 6 7 | 
             
            in order to get its functionality merged in upstream Vagrant.
         | 
| @@ -11,28 +12,40 @@ in order to get its functionality merged in upstream Vagrant. | |
| 11 12 | 
             
            $ vagrant plugin install vagrant-guests-clearlinux
         | 
| 12 13 | 
             
            ```
         | 
| 13 14 |  | 
| 15 | 
            +
            ## Updading
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            ```
         | 
| 18 | 
            +
            $ vagrant plugin update vagrant-guests-clearlinux
         | 
| 19 | 
            +
            ```
         | 
| 20 | 
            +
             | 
| 14 21 | 
             
            ## Development
         | 
| 15 | 
            -
             | 
| 22 | 
            +
             | 
| 23 | 
            +
            To build, install or modify the plugin directly from this repository:
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            > NOTE: commands bellow assume you have a working docker environment.
         | 
| 16 26 |  | 
| 17 27 | 
             
            ```
         | 
| 18 | 
            -
            $  | 
| 19 | 
            -
            $  | 
| 20 | 
            -
            $ vagrant plugin install pkg/vagrant-guests-clearlinux-1.0.14.gem
         | 
| 28 | 
            +
            $ make build
         | 
| 29 | 
            +
            $ make local-install VERSION=...
         | 
| 21 30 | 
             
            ```
         | 
| 22 31 |  | 
| 32 | 
            +
            where `VERSION` is whatever is being set in `lib/vagrant-guests-clearlinux/version.rb`
         | 
| 33 | 
            +
             | 
| 23 34 | 
             
            You can run RSpec with:
         | 
| 24 35 |  | 
| 25 36 | 
             
            ```
         | 
| 26 37 | 
             
            $ bundle install
         | 
| 27 38 | 
             
            $ bundle exec rake
         | 
| 28 39 | 
             
            ```
         | 
| 40 | 
            +
             | 
| 29 41 | 
             
            ## Compatible Vagrant boxes
         | 
| 30 42 |  | 
| 31 43 | 
             
            You can find matching Vagrant boxes on [here](https://app.vagrantup.com/AntonioMeireles/boxes/ClearLinux).
         | 
| 32 44 |  | 
| 33 45 | 
             
            ## Acknowledgments
         | 
| 34 46 |  | 
| 35 | 
            -
            This  | 
| 47 | 
            +
            This started based on early work of [Fabio Rapposelli](https://github.com/frapposelli) on
         | 
| 36 48 | 
             
            [vagrant-guests-photon](https://github.com/vmware/vagrant-guests-photon) and
         | 
| 37 | 
            -
            [Alex Sorkin](https://github.com/alexsorkin) on | 
| 49 | 
            +
            [Alex Sorkin](https://github.com/alexsorkin) on
         | 
| 50 | 
            +
            [vagrant-guests-innovitable](https://github.com/alexsorkin/vagrant-guests-innovitable)
         | 
| 38 51 |  | 
| @@ -12,29 +12,18 @@ IPAddr.class_eval do | |
| 12 12 | 
             
              end
         | 
| 13 13 | 
             
            end
         | 
| 14 14 |  | 
| 15 | 
            -
             | 
| 15 | 
            +
            VAGRANT_NETWORK = <<EOF.freeze
         | 
| 16 16 | 
             
            #VAGRANT-BEGIN
         | 
| 17 17 | 
             
            # The contents below were automatically generated by Vagrant. Do not modify.
         | 
| 18 18 | 
             
            [Match]
         | 
| 19 19 | 
             
            Name=%s
         | 
| 20 20 |  | 
| 21 21 | 
             
            [Network]
         | 
| 22 | 
            -
             | 
| 22 | 
            +
            DHCP=%s
         | 
| 23 23 | 
             
            %s
         | 
| 24 24 | 
             
            #VAGRANT-END
         | 
| 25 25 | 
             
            EOF
         | 
| 26 26 |  | 
| 27 | 
            -
            DHCP_NETWORK = <<EOF.freeze
         | 
| 28 | 
            -
            #VAGRANT-BEGIN
         | 
| 29 | 
            -
            # The contents below were automatically generated by Vagrant. Do not modify.
         | 
| 30 | 
            -
            [Match]
         | 
| 31 | 
            -
            Name=%s
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            [Network]
         | 
| 34 | 
            -
            DHCP=ipv4
         | 
| 35 | 
            -
            #VAGRANT-END
         | 
| 36 | 
            -
            EOF
         | 
| 37 | 
            -
             | 
| 38 27 | 
             
            module VagrantPlugins
         | 
| 39 28 | 
             
              module GuestClearLinux
         | 
| 40 29 | 
             
                module Cap
         | 
| @@ -57,15 +46,16 @@ module VagrantPlugins | |
| 57 46 | 
             
                        unit_name = format('50-vagrant-%s.network', device)
         | 
| 58 47 |  | 
| 59 48 | 
             
                        if network[:type] == :static
         | 
| 49 | 
            +
                          leased = "no"
         | 
| 60 50 | 
             
                          cidr = IPAddr.new(network[:netmask]).to_cidr
         | 
| 61 | 
            -
                           | 
| 62 | 
            -
                           | 
| 63 | 
            -
                          gateway = "Gateway=#{network[:gateway]}" if network[:gateway]
         | 
| 64 | 
            -
                          unit_file = format(STATIC_NETWORK, device, address, gateway)
         | 
| 51 | 
            +
                          body = "Address=#{network[:ip]}/#{cidr}"
         | 
| 52 | 
            +
                          body += "\nGateway=#{network[:gateway]}" if network[:gateway]
         | 
| 65 53 | 
             
                        elsif network[:type] == :dhcp
         | 
| 66 | 
            -
                           | 
| 54 | 
            +
                          leased = "yes"
         | 
| 55 | 
            +
                          body = ""
         | 
| 67 56 | 
             
                        end
         | 
| 68 57 |  | 
| 58 | 
            +
                        unit_file = format(VAGRANT_NETWORK, device, leased, body)
         | 
| 69 59 | 
             
                        temp = Tempfile.new('vagrant')
         | 
| 70 60 | 
             
                        temp.binmode
         | 
| 71 61 | 
             
                        temp.write(unit_file)
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            module VagrantPlugins
         | 
| 2 | 
            +
              module GuestClearLinux
         | 
| 3 | 
            +
                module Cap
         | 
| 4 | 
            +
                  class RSync
         | 
| 5 | 
            +
                    def self.rsync_installed(machine)
         | 
| 6 | 
            +
                      machine.communicate.test("test -f /usr/bin/rsync")
         | 
| 7 | 
            +
                    end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                    def self.rsync_install(machine)
         | 
| 10 | 
            +
                      # until it is available as a pundle...
         | 
| 11 | 
            +
                      machine.communicate.sudo("swupd bundle-add network-basic")
         | 
| 12 | 
            +
                    end
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
            end
         | 
| @@ -33,6 +33,16 @@ module VagrantPlugins | |
| 33 33 | 
             
                    require_relative 'cap/nfs_client'
         | 
| 34 34 | 
             
                    Cap::NFS
         | 
| 35 35 | 
             
                  end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                  guest_capability(:clearlinux, :rsync_install) do
         | 
| 38 | 
            +
                    require_relative "cap/rsync"
         | 
| 39 | 
            +
                    Cap::RSync
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  guest_capability(:clearlinux, :rsync_installed) do
         | 
| 43 | 
            +
                    require_relative "cap/rsync"
         | 
| 44 | 
            +
                    Cap::RSync
         | 
| 45 | 
            +
                  end
         | 
| 36 46 | 
             
                end
         | 
| 37 47 | 
             
              end
         | 
| 38 48 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: vagrant-guests-clearlinux
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.16
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - António Meireles
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2019-01-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -105,14 +105,17 @@ files: | |
| 105 105 | 
             
            - ".rubocop.yml"
         | 
| 106 106 | 
             
            - ".ruby-version"
         | 
| 107 107 | 
             
            - ".travis.yml"
         | 
| 108 | 
            +
            - Dockerfile
         | 
| 108 109 | 
             
            - Gemfile
         | 
| 109 110 | 
             
            - LICENSE
         | 
| 111 | 
            +
            - Makefile
         | 
| 110 112 | 
             
            - README.md
         | 
| 111 113 | 
             
            - Rakefile
         | 
| 112 114 | 
             
            - lib/vagrant-guests-clearlinux.rb
         | 
| 113 115 | 
             
            - lib/vagrant-guests-clearlinux/cap/change_host_name.rb
         | 
| 114 116 | 
             
            - lib/vagrant-guests-clearlinux/cap/configure_networks.rb
         | 
| 115 117 | 
             
            - lib/vagrant-guests-clearlinux/cap/nfs_client.rb
         | 
| 118 | 
            +
            - lib/vagrant-guests-clearlinux/cap/rsync.rb
         | 
| 116 119 | 
             
            - lib/vagrant-guests-clearlinux/guest.rb
         | 
| 117 120 | 
             
            - lib/vagrant-guests-clearlinux/plugin.rb
         | 
| 118 121 | 
             
            - lib/vagrant-guests-clearlinux/version.rb
         | 
| @@ -141,8 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 141 144 | 
             
                - !ruby/object:Gem::Version
         | 
| 142 145 | 
             
                  version: '0'
         | 
| 143 146 | 
             
            requirements: []
         | 
| 144 | 
            -
             | 
| 145 | 
            -
            rubygems_version: 2.7.7
         | 
| 147 | 
            +
            rubygems_version: 3.0.1
         | 
| 146 148 | 
             
            signing_key: 
         | 
| 147 149 | 
             
            specification_version: 4
         | 
| 148 150 | 
             
            summary: Clear Linux Guest Plugin for Vagrant
         |