Stage 2: completed, but: puppet is too much chattery, dude to Puppet::Type::Package::ProviderMacports not handling revisions and variants

Specifically:

1. initial invocation of macports is not quite correct:
debug: Puppet::Type::Package::ProviderMacports: Executing '/opt/local/bin/port -q installed', shoud be '/opt/local/bin/port -q installed active' . That will only get you the active ports installed.

The implementation of Puppet::Type::Package::ProviderMacports currently gets every package installed via macports and greps the (active) . that results in some chatter during a run, should the packages specified have variants applied to them. For example:

debug: Puppet::Type::Package::ProviderMacports: Executing '/opt/local/bin/port -q install libarchive @3.1.2_0'
notice: /Stage[main]/Libarchive/Package[libarchive]/ensure: ensure changed '3.1.2' to '3.1.2_0'

Class definition is the following:

class libarchive {

	package { 'libarchive':
		name		=> 'libarchive',
		provider	=> 'macports',
		ensure		=> '3.1.2_0',
	}
}

or

notice: /Stage[main]/Ffmpeg/Package[ffmpeg]/ensure: ensure changed '2.3.2' to '2.3.2+gpl2+gpl3+librtmp+nonfree'
debug: /Stage[main]/Ffmpeg/Package[ffmpeg]: The container Class[Ffmpeg] will propagate my refresh event

when class definition for ffmpeg is

class ffmpeg {

	package { 'ffmpeg':
		name		=> 'ffmpeg',
		provider	=> 'macports',
		ensure		=> '2.3.2+gpl2+gpl3+librtmp+nonfree',
	}
}

2. extra @ in notice

when class defintion is

class ffmpeg {

		package { 'ffmpeg':
		name		=> 'ffmpeg',
		provider	=> 'macports',
		ensure		=> '@2.3.2+gpl2+gpl3+librtmp+nonfree',
	}
}

(extra '@' at ensure => )

notice coming out is

notice: /Stage[main]/Ffmpeg/Package[ffmpeg]/ensure: ensure changed '2.3.2' to '@@2.3.2+gpl2+gpl3+librtmp+nonfree'
debug: /Stage[main]/Ffmpeg/Package[ffmpeg]: The container Class[Ffmpeg] will propagate my refresh event

Going to fill ticket with puppetlabs. Already forked puppet and patched the appropriate exec( ... , :install, :active , ... )
line. Need to account for variants and the code is set.

Also, I do not know how to set up testing for the code. I should as at #puppet-dev