Issue #15629 has been updated by eric sorenson.

Status changed from Unreviewed to Code Insufficient
Assignee set to jayendren maduray

Hi Jayendren, thanks for the patch.

It looks like your patch is reversed and it has no documentation or tests, so 
it needs a little work. Could you add tests and submit it as a pull request on 
github? See this doc for more help:

http://projects.puppetlabs.com/projects/puppet/wiki/Development_Lifecycle
----------------------------------------
Feature #15629: puppet package provider portupgrade -> install_options support
https://projects.puppetlabs.com/issues/15629#change-69173

Author: jayendren maduray
Status: Code Insufficient
Priority: Normal
Assignee: jayendren maduray
Category: package
Target version: 2.7.x
Affected Puppet version: 2.7.16
Keywords: freebsd portupgrade.rb install_options
Branch: 


<ins>class entry:</ins>

    package { 'dns/unbound':
    ensure          => 'installed',
    provider        => 'portupgrade',
    install_options => '-m "CONFIGURE_ARGS=--with-ssl=/usr/local" -m 
"CONFIGURE_ARGS=--with-ldns-builtin" -m "CONFIGURE_ARGS=--disable-gost" -m 
"CONFIGURE_ARGS=--with-libevent=/usr/local"'
    }

<ins>puppet log:</ins>
    info: /Package[dns/unbound]: Provider portupgrade does not support features 
install_options; not managing attribute install_options

<ins>patch:</ins>
    --- portupgrade.rb  2012-07-20 11:15:00.000000000 +0200
    +++ /root/portupgrade.rb    2012-07-20 11:10:35.000000000 +0200
    @@ -9,7 +9,7 @@
    for the portupgrade port."
    ## has_features is usually autodetected based on defs below.
    -   has_features :installable, :uninstallable, :upgradeable, 
:install_options
    +  # has_features :installable, :uninstallable, :upgradeable
    commands :portupgrade   => "/usr/local/sbin/portupgrade",
    :portinstall   => "/usr/local/sbin/portinstall",
    @@ -35,7 +35,7 @@
    # regex to match output from pkg_info
    regex = %r{^(\S+)-([^-\s]+):(\S+)$}
    # Corresponding field names
    -    fields = [:portname, :ensure, :portorigin, :install_options]
    +    fields = [:portname, :ensure, :portorigin]
    # define Temporary hash used, packages array of hashes
    hash = Hash.new
    packages = []
    @@ -63,7 +63,6 @@
    # Set :provider to this object name
    hash[:name] = hash[:portorigin]
    hash[:provider] = self.name
    -        hash[:options] = hash[:install_options]
    # Add to the full packages listing
    packages << new(hash)
    @@ -82,7 +81,7 @@
    def install
    Puppet.debug "portupgrade.install() - Installation call on 
#{@resource[:name]}"
    # -M: yes, we're a batch, so don't ask any questions
    -    cmdline = ["-M BATCH=yes", @resource[:name], 
@resource[:install_options]]
    +    cmdline = ["-M BATCH=yes", @resource[:name]]
    # FIXME: it's possible that portinstall prompts for data so locks up.
    begin

<ins>puppet log:</ins>
    debug: Puppet::Type::Package::ProviderPortupgrade: Executing 
'/usr/local/sbin/portinstall -M BATCH=yes dns/unbound -m 
"CONFIGURE_ARGS=--with-ssl=/usr/local" -m "CONFIGURE_ARGS=--with-ldns-builtin" 
-m "CONFIGURE_ARGS=--disable-gost" -m 
"CONFIGURE_ARGS=--with-libevent=/usr/local"'
    notice: 
/Stage[main]//Node[freebsd_anycast_dns_server_unbound]/Package[dns/unbound]/ensure:
 created
<ins>unbound:</ins>
    # unbound -h
    usage:  unbound [options]
    start unbound daemon DNS resolver.
    -h  this help
    -c file     config file to read instead of 
/usr/local/etc/unbound/unbound.conf
    file format is described in unbound.conf(5).
    -d  do not fork into the background.
    -v  verbose (more times to increase verbosity)
    Version 1.4.17
    linked libs: libevent 1.4.14b-stable (it uses kqueue), ldns 1.6.13, OpenSSL 
0.9.8q 2 Dec 2010
    linked modules: validator iterator
    configured for amd64-portbld-freebsd9.0 on Fri Jul 20 11:15:56 SAST 2012 
with options: '--with-ssl=/usr' '--disable-gost' '--disable-ecdsa' 
'--with-libevent=/usr/local' '--prefix=/usr/local' '--mandir=/usr/local/man' 
'--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd9.0'
    BSD licensed, see LICENSE in source package for details.
    Report bugs to [email protected]


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to