* URI is was not really a functional feature since
the uri was the element that the pkgrepo functions
used as a base for matching internally. it is essentially
a new source definition if the URI changes, so the best
bet is to .absent the repo and add a new one.
* added in ability to manage repo keys to the APT .managed module
and by nature of how .manage calls apt.mod_repo, the pkg.mod_repo
can also now add GPG keys for the apt repositories
* added "consolidate" option. This will smash down the apt repositories
into as few lines as possible. It should do some basic cleanup. This
function helps (when enabled) to ensure that salt doesn't miss a repo
when it's not the "first" matched in the .get_repo function for a
.managed state.
* changed pkgrepo to watch for exceptions from .mod_repo so that if
there is an error (exception) that is raised (intentionally or
unintentionally) the error is displayed to the user.
* updated documentation for apt pkgrepo to reflect these changes
If git is not installed, the stderr output from the shell out to 'which
git' is printed to the console whenever a salt CLI command is run. This
commit sends it to the subprocess pipe to keep it away from the console.
Also, I replaced the call to 'which git' with the POSIX-compliant
'command -v git'. The 'which' command should be avoided as it is not
POSIX-compliant, and doesn't set a nonzero return code on all platforms.
See below for an example of how which does not work as expected on
Solaris. I believe the MacOS version of which also has this problem. On
these platforms, if git was not found, the call to
subprocess.Popen.poll() would not find a nonzero exit status and salt
would therefore continue trying to obtain the current git commit ID.
$ uname -a
SunOS foo.tld 5.10 Generic_139556-08 i86pc i386 i86pc
$ which foo
no foo in /usr/pkg/bin /usr/pkg/sbin /usr/sfw/bin /usr/sfw/sbin /sbin
/usr/sbin /usr/ccs/bin /usr/bin
$ echo $?
0
$ command -v foo
-bash: command: foo: not found
$ echo $?
1
* the aptitude repo manager needs the name to be the complete
entry from the sources.list file. Documentation modified to
make this clear (compared to say the YUM version)
* removed a superfluous reference to "deb" in the uri section
The crypto design docs have not yet been finalized, this document
is not entirely accurate and was written early on for the zeromq
team just as an abstract on the crypto routine
I realize why I did it the way I did, originally I did not use
a poll in the zeromq process, and the result was that the actual
gathering of the command got dropped when the signal inturuped
the zeromq recv wait, but we should be fine now that we are using
poll.
This may still be a problem though, so we will need to watch this closely