Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 0.8.16
-
Fix Version/s: 0.10.10
-
Component/s: None
-
Labels:None
-
Environment:
FreeBSD 8.0
Description
FreeBSd package provider does not support binary packages when there is no port tree on the node
For example :
package "vim" do
version "7.2.411"
action :install
end
should run pkg-add vim-7.2.411, or pkg-add -r vim-7.2.411. Currently, it tries to find the port to gather package name and version, which are forced by the recipe.
Fixed both cases (for installing from a local file as well as from a remote site) when no ports tree is present.
Pull Request #256: https://github.com/opscode/chef/pull/256
I have servers where there is no ports tree installed. This fix enables the package provider to:
1. install packages that are located in the filesystem (the version is parsed from the package name)
2. install packages that are at a PACKAGESITE or PACKAGEROOT (the version is irrelevant here, if not specified in the recipe, as FreeBSD binary package repositories take care of this through symlinks)
N.B. I'm aware of btm's comment to
CHEF-1413regarding PACKAGESITE vs. PACKAGEROOT; this is the patch that will parse the :source and do the right thing.:source "ftp://ftp3.FreeBSD.org" is handled as a PACKAGEROOT, i.e. 'pkg_add -r' uses automatic directory logic to build the full URL
:source "ftp://ftp3.FreeBSD.org/" is handled as a PACKAGESITE, and "#{package_name}.tbz" is tacked on to the end of this URL