Previously, we had a mixture of lower_case_name and mixedCaseName. Use
lower case names except where external APIs force us to do otherwise.
Signed-off-by: Nils Philippsen <nils@redhat.com>
Also, don't use `owner`, 'qacontact' for two purposes: first for the FAS
username, then for the email address of the same person.
Signed-off-by: Nils Philippsen <nils@redhat.com>
This allows to specify which projects to update instead of running on
all of them.
The project should be provided in form of namespace/name, for example:
``-p rpms/koji rpms/guake``.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
This adds the --add-config-file, --add-email-overrides-file options and
as a side effect allows to specify any number of either which will be
applied in order to the respective configuration objects.
Signed-off-by: Nils Philippsen <nils@redhat.com>
In the course, clean up how execution errors are processed, i.e. use
exceptions rather than integer return codes to indicate errors.
Signed-off-by: Nils Philippsen <nils@redhat.com>
This is doable for packages that are retired (and thus where the
assignee is orphan) as well as per product: Fedora vs Fedora EPEL being
the most common.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
Staging supports them now and if they don't we can now configure this
in the configuration file for staging anyway.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
- Add an --env variable to change the environment used via the CLI
- Drop the ProductCache object
- Introduce the DistgitBugzillaSync object which allows dropping global
variables to rely on attributes instead.
- Drop the pkgdb compatibility layer that was once introduced, pkgdb is
no longer a thing and it's time to move on
This changes a little bit the order in which projects are updated, it
used to be by products first (Fedora, Fedora EPEL...) then package,
now it's the opposite: by package first then product.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
An user could have no "bugzilla_email" set and a group no "mailing_list"
address set, both of which are expected to sync the ACLs to bugzilla.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
The dry-run now returns a much more comprehensible output of what is
being changed.
This commit also adds some timing information at the end of the script
for the time the different steps took, this is helping profiling what
is taking the most time and thus what should be worked on.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
This makes the code for people using the same logic as the code for
groups thus making it easier to read and review.
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
This allows as to have different functionality, e.g. handling
configuration, in their own separate modules.
Use relative imports for project-internal modules and remove shebangs
from them as they're not marked executable anyway. Instead, add
run-distgit-bugzilla-sync for testing from the repo worktree.
Signed-off-by: Nils Philippsen <nils@redhat.com>