I've had a little time to look at this. What looks to be happening is that
the URI class adds a hard leading slash to ftp:// uri path components which
fetch(1) doesn't handle well.
You can work around this by setting the package resource's 'source'
parameter to use the http:// scheme. Set it globally using a resource
default in your site.pp.
if $operatingsystem == 'FreeBSD' {
$majorversion = regsubst($kernelversion, '^([0-9]+)\.([0-9]+)$', '\1')
$scheme = 'http'
$host = 'ftp2.us.freebsd.org'
$urlpath =
"/pub/FreeBSD/ports/${hardwareisa}/packages-${majorversion}-stable/"
Package { source => "${scheme}://${host}/${urlpath}" }
}
On Tuesday, August 20, 2013 12:15:38 PM UTC-7, joel johnston wrote:
>
> So I think the core issue at this point is that no matter where I try
> to set PACKAGESITE (on the server via rc, on the client via rc, on the
> shell via overrides) the path to the ftp server always returns:
>
> Error: /Stage[main]/Rsync/Package[net/rsync]/ensure: change from
> absent to present failed: Execution of '/usr/sbin/pkg_add -f
>
> ftp://ftp.freebsd.org/%2Fpub/FreeBSD/ports/amd64/packages-9-stable/All/rsync-3.0.9_3.tbz'
>
>
> returned 1: pkg_add: unable to fetch 'ftp://ftp.freebsd.org/
>
> The url is bad/wrong. For some reason it is injecting this %2F in
> front of pub where it SHOULD just be /pub/....
>
> How and where is this getting set and how can I change it?
>
>
> On Mon, Aug 12, 2013 at 5:54 PM, badgerious
> <[email protected]<javascript:>>
> wrote:
> > I should disclaim that I'm not a huge FreeBSD guy, but do have a couple
> of
> > FreeBSD boxes around. I've been content getting all packages with
> 'pkg_add
> > -r' (which seems to work fine with the unpatched freebsd provider); no
> idea
> > about the interactions with ports you've mentioned.
> >
> > Couple of others things regarding the patch (semi tangential):
> >
> > 1) If you do an install of puppet 3.2.3 from ports with ruby 1.9.3, you
> get
> > piles of warnings during puppet runs due to some class variable use in
> the
> > freebsd provider. This is fixed in vanilla puppet 3.2.3, but undone by
> the
> > patch.
> >
> > 2) If the freebsd provider is broken, seems like it should be going back
> > upstream rather than patching in the port (forgive my ignorance if this
> is
> > in fact happening and the patch is interim).
> >
> > Eric
> >
> >
> > On Monday, August 12, 2013 3:35:41 PM UTC-5, Russell Jackson wrote:
> >>
> >> The standard provider doesn't work with packages that have multiple
> >> origins (the apache ports for instance) because the package name
> doesn't
> >> match was is recorded in the package database. So, what will happen is
> that
> >> puppet will think the package isn't installed on every run and attempt
> to
> >> install it.
> >>
> >> The only sane way around that was to use the package origin as a key
> and
> >> duplicated the '-r' functionality in the provider; this is what the
> patch
> >> does. Passing '-f' to pkg_add was questionable, but I remember there
> being
> >> problems without it.
> >>
> > --
> > You received this message because you are subscribed to a topic in the
> > Google Groups "Puppet Users" group.
> > To unsubscribe from this topic, visit
> > https://groups.google.com/d/topic/puppet-users/1CqH0u84u6g/unsubscribe.
> > To unsubscribe from this group and all its topics, send an email to
> > [email protected] <javascript:>.
> > To post to this group, send email to
> > [email protected]<javascript:>.
>
> > Visit this group at http://groups.google.com/group/puppet-users.
> > For more options, visit https://groups.google.com/groups/opt_out.
> >
> >
>
>
>
> --
> ___________________
> Joel Johnston
> 760.437.5116
> www.metaband.net
> www.j03l.com
>
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.