Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2021-07-24 20:39:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Sat Jul 24 20:39:07 2021 rev:311 rq:908067 version:20210723.7e5bacec Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2021-07-23 23:41:23.797817160 +0200 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1899/openSUSE-release-tools.changes 2021-07-24 20:39:16.116407545 +0200 @@ -1,0 +2,19 @@ +Fri Jul 23 07:29:40 UTC 2021 - opensuse-releaset...@opensuse.org + +- Update to version 20210723.7e5bacec: + * Fix README.md reference to docs/processes.md + * Fix a few gocd links + * Update more tools status + * Update some tools status + * Add some info about obsolete tools + * Update gocd links + * Mark sync-rebuild as obsolete + * Extend container_cleanup description + * Apply suggestions from the review to the inventory + * Apply suggestions from the review to the inventory + * Fix a few typos + * Make clear that systemd units are not used by bots anymore + * Fix a few typos + * Add a document describing the contents of the repository + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20210722.9d1e9c24.obscpio New: ---- openSUSE-release-tools-20210723.7e5bacec.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.VnjMJL/_old 2021-07-24 20:39:16.708406858 +0200 +++ /var/tmp/diff_new_pack.VnjMJL/_new 2021-07-24 20:39:16.712406854 +0200 @@ -20,7 +20,7 @@ %define source_dir openSUSE-release-tools %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20210722.9d1e9c24 +Version: 20210723.7e5bacec Release: 0 Summary: Tools to aid in staging and release work for openSUSE/SUSE License: GPL-2.0-or-later AND MIT ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.VnjMJL/_old 2021-07-24 20:39:16.748406811 +0200 +++ /var/tmp/diff_new_pack.VnjMJL/_new 2021-07-24 20:39:16.748406811 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param> - <param name="changesrevision">97f57b205f5844e373def012387e0cffa9f50723</param> + <param name="changesrevision">7e5bacec144b38e1f37116ad9e7ad943a324f02f</param> </service> </servicedata> ++++++ openSUSE-release-tools-20210722.9d1e9c24.obscpio -> openSUSE-release-tools-20210723.7e5bacec.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20210722.9d1e9c24/CONTENTS.md new/openSUSE-release-tools-20210723.7e5bacec/CONTENTS.md --- old/openSUSE-release-tools-20210722.9d1e9c24/CONTENTS.md 1970-01-01 01:00:00.000000000 +0100 +++ new/openSUSE-release-tools-20210723.7e5bacec/CONTENTS.md 2021-07-23 09:28:59.000000000 +0200 @@ -0,0 +1,426 @@ +# Contents + +This document describes in detail the contents of this repository. It is still a *work in progress*, +but do not hesitate to report if something is missing. + +## Overview + +The repository contains a set of tools to aid in the process of building, testing and releasing +(open)SUSE based distributions. The [Tools](#tools) section enumerates and describes all these +tools, including links to documentation, source code and some information about where they are used. + +Apart from these tools, the repository includes: + +* Some documentation in the [docs](docs) directory. +* A Python module called [osclib](osclib) which includes code that is shared by several tools. They + are available in the `osclib` package. +* A Docker-based [tests suite](tests). The Docker manifests and the Docker Compose files are + located in the [dist](dist) directory. +* [GoCD](https://www.gocd.org) configuration files in [gocd](gocd). GoCD is an open source CI/CD + server that is used to deploy the bots on OBS. +* A set of [Tampermonkey](https://www.tampermonkey.net) scripts (see [userscript](userscript) + directory) to extend OBS features when using the web interface. +* Several [systemd](systemd) units: the Metrics and OBS Operator tools make use of + them. + +## Tools + +Most of these tools are available as packages for several distributions. Check the [spec file in +this repository](dist/package/openSUSE-release-tools.spec) or the [devel +project](https://build.opensuse.org/package/show/openSUSE:Tools/openSUSE-release-tools) for further +information. + +For the time being, we have classified them into three different groups: *command line tools*, *OBS +bots* and *osc plugins*. Bear in mind that the information in the following list might be wrong and +incomplete. + +### Command Line Tools + + Usually, the executables are renamed as `osrt-NAME` (e.g., `osrt-announcer`). + +#### announcer + +Generates email diffs summaries to announce product releases. + +* Sources: [factory-package-news/announcer.py](factory-package-news/announcer.py) +* Documentation: [factory-package-news/README.asciidoc](factory-package-news/README.asciidoc) +* Package: openSUSE-release-tools-announcer +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+announcer) + +#### pkglistgen + +Generates and updates OBS products for openSUSE and SLE. It generates package lists based on +`000package-groups` and puts them in `000product` (resulting kiwi files) and `000release-packages` +(release package spec files). + +* Sources: [pkglistgen.py](pkglistgen.py) +* Documentation: [docs/pkglistgen.md](docs/pkglistgen.md) +* Package: openSUSE-release-tools-pkglistgen +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+pkglistgen) + +#### container_cleaner + +Clean old containers from a given project like +[openSUSE:Containers:Tumbleweed](https://build.opensuse.org/project/show/openSUSE:Containers:Tumbleweed). +Only those containers providing binaries to the latest five versions for each architecture are kept. + +* Sources: [container_cleaner.py](container_cleaner.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+container_cleaner) + +#### metrics + +Generates insightful metrics from relevant OBS and annotation data, based on InfluxDB and Grafana. +See <https://metrics.opensuse.org/>. + +* Sources: [metrics.py](metrics.py) +* Documentation: [docs/metrics.md](./docs/metrics.md) +* Package: openSUSE-release-tools-metrics +* Usage: ? + +#### metrics-access + +Ingests `download.opensuse.org` Apache access logs and generates metrics. It is composed of a PHP +script and a set of [systemd units](systemd). + +* Sources: [metrics/access/aggregate.php](metrics/access/aggregate.php) +* Documentation: [docs/metrics.md](./docs/metrics.md) +* Package: openSUSE-release-tools-metrics-access +* Usage: ? + +#### totest-manager + +Releases distribution snapshots to openQA and publishes if the result is positive. + +* Sources: [totest-manager.py](totest-manager.py) and [ttm](ttm) +* Documentation: [ttm/README.md](ttm/README.md) +* Package: openSUSE-release-tools +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+totest-manager) + +#### unmaintained + +Finds unmaintained binaries sourced from SLE. + +* Sources: [unmaintained.py](unmaintained.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete + +#### sync-rebuild + +Syncs openSUSE:Factory and openSUSE:Factory:Rebuild. This feature was already +merged into the [accept +command](https://github.com/openSUSE/openSUSE-release-tools/commit/87c891662015f14421c2315210c248e712e697c8) +of the staging projects plug-in. + +* Sources: [sync-rebuild.py](sync-rebuild.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete + +#### bugowner + +Manages bugowner information + +* Sources: [bugowner.py](bugowner.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ? + +#### bs_mirrorfull + +Mirrors repositories from the build service to a local directory. + +* Souces: [bs_mirrorfull](bs_mirrorfull) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: Used by other tools like `pkglistgen` or `repocheck` + +#### biarchtool + +Manages biarch packages + +* Source: [biarchtool.py](biarchtool.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ? + +#### build-fail-reminder + +Sends e-mails about packages failing to build for a long time. + +* Sources: [build-fail-reminder.py](build-fail-reminder.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+build-fail-reminder) + +#### checknewer + +Checks if all packages in a repository are newer than all other repositories. + +* Sources: [checknewer.py](checknewer.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ? + +#### deptool + +Assists in debugging dependencies + +* Sources: [deptool.py](deptool.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ? + +#### requestfinder + +Allows to retrieve requests from OBS with quite elaborated queries. + +* Sources: [requestfinder.py](requestfinder.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ? + +#### update_crawler (obsoleted by [origin-manager](#origin-manager)) + +Create SRs for Leap. + +* Sources: [update_crawler.py](update_crawler.py) and [script](script). +* Documentation: -- +* Package: openSUSE-release-tools-leaper +* Usage: obsolete (by origin-manager) + +#### create_staging + +Scripts and templates to create staging projects. + +* Sources: [staging_templates](staging_templates) +* Documentation: -- +* Package: -- +* Usage: ? + +### Bots + +#### check_maintenance_incidents + +Handles maintenance incident requests + +* Sources: [check_maintenance_incidents.py](check_maintenance_incidents.py) +* Documentation: [docs/maintbot.asciidoc](docs/maintbot.asciidoc) +* Package: openSUSE-release-tools-maintenance +* Usage: obsolete (by origin-manager) + +#### leaper + +Implements Leap-style services for non-Factory projects (whatever that means). + +* Sources: [leaper.py](leaper.py) +* Documentation: -- +* Package: openSUSE-release-tools-leaper +* Usage: obsolete + +#### origin-manager + +Keeps track of from what project a package originates, submit updates, review requests to detect origin changes, and enforce origin specific policies like adding appropriate reviews + +* Sources: [origin-manager.py](origin-manager.py) and [web](web) +* Documentation: [docs/origin-manager.md](docs/origin-manager.md) +* Package: openSUSE-release-tools-origin-manager +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+origin-manager) + +#### staging-bot + +Assists in management of staging projects. + +* Sources: [devel-project.py][devel-project], [staging-report.py](staging-report.py), [suppkg_rebuild.py](suppkg_rebuild.py). +* Documentation: -- +* Package: openSUSE-release-tools-staging-bot +* Usage: gocd ([staging-report.py](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+staging-report) +[suppkg_rebuild.py](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+suppkg_rebuild), etc.) + +#### legal-auto + +Makes automatic legal reviews based on the legaldb API + +* Sources: [legal-auto.py](legal-auto.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+legal-auto) + +#### check_tags_in_requests + +Checks that a submit request has correct tags specified. + +* Sources: [check_tags_in_requests.py](check_tags_in_requests.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+check_tags_in_requests) + +#### abichecker + +Checks ABI compatibility in OBS requests. + +* Sources: [abichecker](abichecker) +* Documentation: -- +* Package: openSUSE-release-tools-abichecker +* Usage: gocd? + +#### check_source_in_factory + +Checks if the sources of a submission are either in Factory or a request for Factory with the same +sources exist. + +* Sources: [check_source_in_factory.py](check_source_in_factory.py) +* Documentation: [docs/factory-source.asciidoc](docs/factory-source.asciidoc) +* Package: openSUSE-release-tools +* Usage: obsolete + +#### openqa-maintenance + +OpenQA stuff, not sure about the details. + +* Sources: [openqa-maintenance.py](openqa-maintenance.py) and [oqamaint](oqamaint) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+openqa-maintenance) + +#### repo-checker + +Inspects built RPMs from staging projects. + +* Sources: [project-installcheck.py](project-installcheck.py), + [staging-installcheck.py](staging-installcheck.py), + [maintenance-installcheck.py](maintenance-installcheck.py), + [findfileconflicts](findfileconflicts), [write_repo_susetags_file.pl](write_repo_susetags_file.pl) +* Documentation: -- +* Package: openSUSE-release-tools-repo-checker +* Usage: gocd ([project-installcheck.py](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+project-installcheck), [staging-installcheck](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+staging-installcheck) and [maintenance-installcheck.py](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+maintenance-installcheck) + +#### manager_42.py + +Maintains `00Meta/lookup.yml`. + +* Sources: [manager_42.py](manager_42.py) +* Documentation: -- +* Package: openSUSE-release-tools-leaper +* Usage: obsolete (by origin-manager) + +### OSC Plugins + +#### osc-check_source.py + +Checks for usual mistakes and problems in the source packages submitted by users. Used also as +review bot that assigns reviews (?). + +* Sources: [check_source.py](check_source.py) and [check_source.pl](check_source.pl) +* Documentation: [docs/check_source.asciidoc](docs/check_source.asciidoc) +* Package: openSUSE-release-tools-check-source +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+check_source) + +#### osc-origin.py + +Tools for working with origin information. + +* Sources: [osc-origin.py](osc-origin.py) +* Documentation: [docs/origin-manager.md](docs/origin-manager.md) +* Package: openSUSE-release-tools-origin-manager +* Usage: [gocd](https://github.com/openSUSE/openSUSE-release-tools/search?q=path%3A%2Fgocd+osc-origin) + +#### osc-cycle.py + +Helps with OBS build cycles visualization. See the [openSUSE:Factory/standard example](https://build.opensuse.org/project/repository_state/openSUSE:Factory/standard). + +* Sources: [osc-cycle.py](osc-cycle.py) +* Documentation: -- +* Package: -- +* Usage: used to debug problems. See https://github.com/openSUSE/openSUSE-release-tools/pull/992 as an example. + +#### compare_pkglist.py + +Compares packages status between two projects. It determines which project has the newer version of a package, +shows the diff, etc. Additionally, it is able to create a submit request from SOURCE to TARGET in case packages +are different. + +* Sources: [compare_pkglist.py](compare_pkglist.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ??? + +#### staging + +Manages staging projects. + +* Sources: [osc-staging.py](osc-staging.py) +* Documentation: [docs/staging.asciidoc](docs/staging.asciidoc) and [docs/testing.asciidoc](docs/testing.asciidoc) +* Package: osc-plugin-staging +* Usage: staging projects management + +#### status.py + +Checks the status of the staging workflow bots. + +* Sources: [status.py](status.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete (it still checks for the status of some bots that are already retired, like leaper) + +#### fcc_submitter.py + +The FactoryCandidates projects are used to determine whether a new package in Factory does build in +the Leap version under development (see +[openSUSE:Leap:15.2:FactoryCandidates](https://build.opensuse.org/project/show/openSUSE:Leap:15.2:FactoryCandidates) +as example). This tool helps to manage this project by creating/updating project links for new +packagers and creating SR from FactoryCandidates to the Leap project on successful builds. + +* Sources: [fcc_submitter.py](fcc_submitter.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: manually + +#### issue-diff.py + +Compares packages from a project against factory for differences in referenced issues and presents +changes to allow whitelisting before creating Bugzilla entries. + +* Sources: [issue-diff.py](issue-diff.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: ??? + +#### obs-clone.py + +Clones projects and dependencies between OBS instances. + +* Sources: [obs_clone.py](obs_clone.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete (initially added for testing, but it was replaced with a container-based approach) + +#### obs-operator + +Performs staging operations as a service instead of requiring the osc staging plugin to be utilized +directly. + +* Sources: [obs_operator.py](obs_operator.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete + +#### scan_baselibs.py + +Verifies 32bit binaries were imported properly towards a project. + +* Sources: [scan_baselibs.py](scan_baselibs.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete (after https://github.com/openSUSE/open-build-service/pull/7662 was introduced in OBS) + +#### k8s-secret.py + +Applies kubernetes secrets for OSRT tool osc configuration. + +* Sources: [k8s-secret.py](k8s-secret.py) +* Documentation: -- +* Package: openSUSE-release-tools +* Usage: obsolete diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20210722.9d1e9c24/README.md new/openSUSE-release-tools-20210723.7e5bacec/README.md --- old/openSUSE-release-tools-20210722.9d1e9c24/README.md 2021-07-22 12:02:20.000000000 +0200 +++ new/openSUSE-release-tools-20210723.7e5bacec/README.md 2021-07-23 09:28:59.000000000 +0200 @@ -6,7 +6,8 @@ This repository contains a set of tools to aid in the process of building, testing and releasing (open)SUSE based distributions and their corresponding maintenance updates. You can find more -information in the [docs/processes.md](docs/processes.md). +information in [docs/processes.md](docs/processes.md). The [CONTENTS.md](CONTENTS.md) file contains +a list of the tools that are included in the repository. ![Rethink release tooling presentation overview](docs/res/workflow-overview.svg) ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.VnjMJL/_old 2021-07-24 20:39:17.384406074 +0200 +++ /var/tmp/diff_new_pack.VnjMJL/_new 2021-07-24 20:39:17.388406069 +0200 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20210722.9d1e9c24 -mtime: 1626948140 -commit: 9d1e9c24a6fd2a9df4697f882b8b63b9c572a14e +version: 20210723.7e5bacec +mtime: 1627025339 +commit: 7e5bacec144b38e1f37116ad9e7ad943a324f02f