## Unprivileged Symlink Creation on Windows Chef can now create symlinks without privilege escalation, which allows for the creation of symlinks on Windows 10 Creator Update. ## nokogiri Gem The nokogiri gem is once again bundled with the omnibus install of Chef ## zypper_package Options It is now possible to pass additional options to the zypper in the zypper_package resource. This can be used to pass any zypper CLI option ### Example ```ruby zypper_package 'foo' do options '--user-provided' end ``` ## windows_task Improvements The `windows_task` resource now properly allows updating the configuration of a scheduled task when using the `:create` action. Additionally the previous `:change` action from the windows cookbook has been aliased to `:create` to provide backwards compatibility. ## apt_preference Resource The apt_preference resource has been ported from the apt cookbook. This resource allows for the creation of APT preference files controlling which packages take priority during installation. Further information regarding apt-pinning is available via and ### Actions - `:add`: creates a preferences file under /etc/apt/preferences.d - `:remove`: Removes the file, therefore unpin the package ### Properties - `package_name`: name attribute. The name of the package - `glob`: Pin by glob() expression or regexp surrounded by /. - `pin`: The package version/repository to pin - `pin_priority`: The pinning priority aka "the highest package version wins" ### Examples Pin libmysqlclient16 to version 5.1.49-3: ```ruby apt_preference 'libmysqlclient16' do pin 'version 5.1.49-3' pin_priority '700' end ``` Unpin libmysqlclient16: ```ruby apt_preference 'libmysqlclient16' do action :remove end ``` Pin all packages from dotdeb.org: ```ruby apt_preference 'dotdeb' do glob '*' pin 'origin packages.dotdeb.org' pin_priority '700' end ``` ## zypper_repository Resource The zypper_repository resource allows for the creation of Zypper package repositories on SUSE Enterprise Linux and openSUSE systems. This resource maintains full compatibility with the resource in the existing [zypper](https://supermarket.chef.io/cookbooks/zypper) cookbooks ### Actions - `:add` - adds a repo - `:delete` - removes a repo ### Properties - `repo_name` - repository name if different from the resource name (name property) - `type` - the repository type. default: 'NONE' - `description` - the description of the repo that will be shown in `zypper repos` - `baseurl` - the base url of the repo - `path` - the relative path from the `baseurl` - `mirrorlist` - the url to the mirrorlist to use - `gpgcheck` - should we gpg check the repo (true/false). default: true - `gpgkey` - location of repo key to import - `priority` - priority of the repo. default: 99 - `autorefresh` - should the repository be automatically refreshed (true/false). default: true - `keeppackages` - should packages be saved (true/false). default: false - `refresh_cache` - should package cache be refreshed (true/false). default: true - `enabled` - should this repository be enabled (true/false). default: true - `mode` - the file mode of the repository file. default: "0644" ### Examples Add the Apache repository for openSUSE Leap 42.2 ```ruby zypper_repository 'apache' do baseurl 'http://download.opensuse.org/repositories/Apache' path '/openSUSE_Leap_42.2' type 'rpm-md' priority '100' end ``` ## Ohai 13.3 ### Additional Platform Support Ohai now properly detects the [F5 Big-IP](https://www.f5.com/) platform and platform_version. - platform: bigip - platform_family: rhel