debian-forge-composer/cmd
Achilleas Koutsou 1c4d8f9988 dnfjson: use repo config hash as repo ID
Defined a Hash() method on rpmmd.RepoConfig that calculates a SHA-256 ID
for a repository based on its configuration.  Identical configurations
should produce the same ID.  The Name and ImageTypeTags of a repository
aren't taken into account.  These attributes affect a repository's
functional configuration.

This ID lets us change the way we handle repository configurations in a
few places:
- Preparing the depsolve job arguments is simpler since we have
  predictable IDs for the repository configurations.  We don't need to
  rely on the index of a RepoConfig in a list to identify or access it,
  which prevented us from building a list of all repository
  configurations, since we needed them to be placed in the list in a
  certain order.
- Associating packages from the depsolve result with the repository
  configuration (in depsToRPMMD) no longer relies on an ID string
  converted from and back to an integer index.  Repositories define
  their own IDs.
- Tests are a bit messier now but the changes simplify the main code, so
  it's an acceptable trade-off.
    - Fixtures need to change based on the repository configuration for
      the test.
    - We need to calculate the ID for the repository configuration for
      the temporary file server URL.
2022-06-01 11:36:52 +01:00
..
cloud-cleaner cloud-cleaner: clean up GCE instances in all regions and zones 2022-05-17 12:18:12 +02:00
mock-dnf-json dnfjson: use repo config hash as repo ID 2022-06-01 11:36:52 +01:00
osbuild-auth-tests osbuild-auth-tests: add a build constraint also to certificates.go 2021-12-18 11:56:17 +00:00
osbuild-composer Replace all rpmmd.Depsolve() calls with dnfjson 2022-06-01 11:36:52 +01:00
osbuild-composer-cli-tests gosec: G204 - Subproccess launched as function arg 2021-12-13 12:17:30 +02:00
osbuild-composer-dbjobqueue-tests jobqueue: introduce the concept of channels 2022-03-08 12:07:00 +01:00
osbuild-composer-image-definitions Tools: fetch image test case generation matrix from composer 2022-05-13 21:01:37 +03:00
osbuild-composer-manifest-tests Manifests test: ensure that every image type has test coverage 2022-05-13 21:01:37 +03:00
osbuild-dnf-json-tests dnfjson: remove single Depsolve function and command 2022-06-01 11:36:52 +01:00
osbuild-image-tests distro: housekeeping with cpu arch and arch.Name() 2022-05-10 19:53:41 +02:00
osbuild-koji koji: fix excessive logging & monitoring 2022-04-05 23:48:30 +02:00
osbuild-koji-tests gosec: G204 - Subproccess launched as function arg 2021-12-13 12:17:30 +02:00
osbuild-mock-openid-provider go.mod: Update openshift-online/ocm-sdk-go 2022-05-19 22:18:42 +02:00
osbuild-package-sets cmd: add osbuild-package-sets for printing package sets of an image 2022-03-29 11:36:52 +02:00
osbuild-pipeline dnfjson: remove single Depsolve function and command 2022-06-01 11:36:52 +01:00
osbuild-service-maintenance osbuild-service-maintenance: Move type conversion to config 2022-05-14 16:21:21 +02:00
osbuild-store-dump dnfjson: remove single Depsolve function and command 2022-06-01 11:36:52 +01:00
osbuild-upload-aws osbuild-service-maintenance: Clean up expired images 2021-12-03 00:14:09 +00:00
osbuild-upload-azure cmd/upload-azure: set storage account 2021-03-06 15:40:48 +00:00
osbuild-upload-gcp cmd/osbuild-upload-gcp: use ComputeImageInsert() 2022-04-14 19:07:31 +01:00
osbuild-upload-generic-s3 Upload to HTTPS S3 - Support self signed certificate 2022-05-26 13:46:00 +03:00
osbuild-upload-oci Add support for OCI upload provider 2022-01-28 15:16:47 +01:00
osbuild-worker dnfjson: remove single Depsolve function and command 2022-06-01 11:36:52 +01:00