users to push/pull/search for profiles in remote
repositories. It is not fully functional at the
moment (the official repository is down) but I'd
like to get feedback on the basic usage. The
options for
push/pull/search/status/getconfig/setconfig
are working (usage/help below). I think the next
step could be a basic gtk UI to give users a
decent UI to manage profiles/repositories.
Feedback welcomed about the usage model -
would a graphical tool make sense?
--------------------------------------------------------
aa-repo.pl --command args
--search [author=XXX] [prog=XXX] [id=XXX]
Search the repository for profiles matching the search criteria
and return the results.
NOTE: One --search switch per option
--verbose|v
Verbosity level. Supply either one or two switches. Two switches
adds full profile text in returned search results.
--push [--profile=XXX|all] [--changelog=XXX]
Push local profiles to repository, uses configured user and upon
overwrite of an existing profile in the repository then prompt
user with a diff for confirmation XXX the name of the application
whose profile should be uploaded or "all" to upload all
profiles. Multiple --profile switches may be passed to supply
multiple profile names
e.g. --push --profile /usr/sbin/mdnsd --profile /usr/sbin/ftp
e.g. --push --profile all
--pull [--author=XXX] [--profile=XXX] or [--id=XXX] [--mode=complain]
pull remote profiles and install on local system
If operation will change local profiles then prompt user with
diff for confirmation
NOTE: One --pull switch per option and there are three acceptable
combinations
--pull --author=XXX
* pull all profiles in the repo for the author
--pull --author=XXX --profile=XXXX
* pull the profile for prog owned by author
--pull --id=XXXX
* pull the profile with id
--pull --mode=complain
* set the profile(s) to complain mode when installed
Profiles are checked for conflicts with currently installed
profiles and presented as a list to the user to confirm and view.
--sync [--up] [--down] [--noconfirm]
Synchronize local profile set with the repository - showing
changes and allowing prompting the user with the diffs and
suggest the newest version to be activated. If the --all option
is passed then treat profiles not marked as remote as new
profiles that will be uploaded to the repository.
--status
Show the current status of the local profile set. This operation
is similar to sync but does not prompt the user to up|down load
changes
--setconfig [url=xxx] [username=xxxx] [password=xxxx] [enabled=(yes|no)]
[upload=(yes|no)]
Set the configuration options for the repository.
NOTE: One --setconfig switch per option
--getconfig|c
Print the current configuration for the repsository
--quiet|q Don't prompt user - assume that all changes should be made.
routines into a standalone perl module.
Factor out the config file reading/writing into a
standalone perl module. The goal here was to
start to break out some of the basic routines
that the tools use into their own independent
modules.
repository. This makes the repository agnostic to profile mode
(complain/enforce) - users must manage this locally via
aa-complain/aa-enforce.
Addresses novell bug: https://bugzilla.novell.com/show_bug.cgi?id=328033
- processing an unknown hat/execute rejection if its not already in the profile
- at the start of processing all the remain events for the profile
Addresses novell bug: https://bugzilla.novell.com/show_bug.cgi?id=328707
logprof.conf generating undefined value errors, repository code
prompting user even if no configuration is present that specifies a
default repository.
<mathiaz@ubuntu.com> [Message-ID: <20070813201254.GD11381@mathias.mathiaz.net>]
Added comments to both file-skipping locations referencing the other
location that needs to be modified.
(The ideal solution would be for this information to be stored in one
commonly referenced location, configurable by distributors and
administratrors.)
- Ask Me Later option for enabling the repository not working
- Cleanup the syncronization code with the repository - ensure that
mofications are presented correctly as adds/changes to the users profile
set
- Correct bug in marking profiles as NEVERSUBMIT
- Fix bug in serlializing profiles with hats (was adding the globals
#include above each hat - ick)
- Added dialog and config handling code to enable user to choose the mode of
usage of the profile repository: download only or upload new/changed
profiles - so that they user isn't repeatedly prompted to sign in to the
repository
- Set default configuration for the repository to apparmor.test.opensuse.org
- use ENV{PAGER}
- chmod use changes to prevent races writing config files
- add preferred user (NOVELL) as config option in logprof.conf and sort
profiles from repo so that preferred user is the default and first in
the list