Show capability list with --version option
Simple help output corrections.
Refactor command-line parsing.

Refactor command-line parsing to better utilize GOptionContext.  This
eliminates most of the manual parsing and global options are now shown
in the help output.

Some of the changes here are not strictly necessary for rpm-ostree,
but are done for consistency with ostree's command-line parsing.

The "rpm" subcommand needs some extra attention, so that's been split
into a separate commit.
Refactor command-line parsing for "rpm" command.

Similar to the previous commit, but the "rpm" command needed some extra
attention.

I stopped short of splitting the subcommands into separate files (like
for "compose"), but refactored the parsing as though they were separate.
Remove some unnecessary function parameters

Starting with pkg_yumdb_strdup(), the GError parameter is unused and
therefore (arguably) the GCancellable parameter is also not needed.
Remove them both, and clean up other functions that now have unused
parameters as a result.

Note that none of the callers of these functions were checking for
errors anyway.
RpmOstreeCommand: Remove unused 'flags' member

There are currently no command flags defined, but if we need any they
would likely be passed to the custom GOptionContext parse function as
in OSTree.
Merge pull request #61 from mbarnes/parsing

Thanks for the invite!
Rename "rpm" command to "db"

Eliminates some confusion between "rpm-ostree rpm" (or "atomic rpm")
commands versus actual "rpm" commands.

The "rpm" subcommand is retained as a hidden alias for the "db"
subcommand for backward-compatibility.  It is not listed in --help
output.

Fixes #22
Split up rpmostree-builtin-db.c

As a followup to renaming the "rpm" command to "db", split the "db"
subcommands into separate source files in the style of "ostree admin"
and "rpm-ostree compose".

Also create rpmostree-rpm-util.[ch] as a place for common rpm-related
functions needed by the "db" subcommands.

No intentional functional changes here, just a bunch of copy-n-paste
and minor cleanup.
Merge pull request #64 from mbarnes/rpm2db
treecompose: Add initramfs-args to treefile

We're building generic initramfs images on the server side, but dracut
has logic to pick up some things from the host, like filesystems.

In the absence of host-specific initramfs images, it needs to be up to
the generating system what kernel modules end up in the initramfs.
Provide a generic option to passthrough dracut arguments.
db list: Fix command line parsing regression

This broke with https://github.com/projectatomic/rpm-ostree/pull/64 I
believe.

The argument parsing here was rather hairy, and I think this patch
clarifies things, in addition to fixing the bug.
postprocess: Write preserved groups to *both* /etc/group and /usr/lib/group

Otherwise, upgraded systems which have modified /etc/group (by e.g.
adding a human user), will actually see the group drop out with bad
consequences.

It's harmless to have it in both, /etc will override /usr.

Fixes #67
Release 2014.114
compose: Add --check-passwd/group options, fails compose if uids/gids change
[fixup] Some style/flow changes, check dirs/symlinks

- rename internal functions like _string_in_ptr_array0 to the
  more common OBJECT_VERB_NOUN style, like:
  "ptrarray_contains_str"

- Fix GError handling - we need a distinct output boolean, it's
  not allowed by convention to check *error

- Also verify uid/gid on directories and symlinks; I can see
  security sensitivity here

- Use gs_file_enumerator_iterate() as it's more convenient

- Some control flow tweaks to clarify things
[fixup] Don't do checks unless options are passed
[fixup] Add msg when user/group is removed with no files
passwd: Default no passed args. (just files now) to previous commit for ref
passwd: Fix handling of non-error failures from gs_file_enumerator_iterate