debian-forge-composer/internal
Achilleas Koutsou 4b289ce861 New package: dnfjson
This package is meant to serve as the interface between osbuild-composer
and the (new, upcoming) dnf-json.  It defines structures and functions
for calling the dnf-json commands ("depsolve" and "dump").  The package
uses the rpmmd types to interface with osbuild-composer and converts
them to the necessary representations (for dnf-json) internally.  New
types aren't made public unless necessary.

A lot of the functions and types are copied or adapted from the rpmmd
package and those will eventually be removed.  The rpmmd package will
remain to manage RPM package representations and conversion functions.

The FetchMetadata() function sorts the packages it will return, as does
the original implementation in rpmmd, but now the sort key is the NVR.
This is to make package order stable when multiple packages have the
same name (multiple version of the same package).  This way, the
'builds' arrays of the resulting package infos will also have a stable
order.

The request and result structures differ from the current implementation
of dnf-json.  The change is meant to simplify handling multiple
depsolves with the same dnf.Base object and the new dnf-json tool will
be made to handle this request structure.

The dnf-json command is configurable and supports command line arguments
if necessary.

Signed-off-by: Achilleas Koutsou <achilleas@koutsou.net>
2022-06-01 11:36:52 +01:00
..
auth go.mod: Update openshift-online/ocm-sdk-go 2022-05-19 22:18:42 +02:00
blueprint blueprint: sanitize user home directories 2022-03-28 14:08:57 +02:00
boot distro: housekeeping with cpu arch and arch.Name() 2022-05-10 19:53:41 +02:00
client client: Add Cancel function and tests 2022-02-18 09:31:07 +01:00
cloud Upload to HTTPS S3 - Support self signed certificate 2022-05-26 13:46:00 +03:00
cloudapi cloudapi: Drop bucket from composer config 2022-06-01 12:03:12 +02:00
common internal/common: introduce function to convert data sizes 2021-11-02 18:32:47 +01:00
crypt crypt: add automatic darwin support 2020-07-17 07:48:22 +02:00
disk disk: test minimum directory size calculations 2022-04-29 08:55:36 +02:00
distro distro/rhel90: enable and configure NetworkManager-cloud-setup 2022-05-31 10:22:22 +01:00
distroregistry distro/fedora: refactor based on RHEL 9.0 code 2022-05-09 12:25:21 +02:00
dnfjson New package: dnfjson 2022-06-01 11:36:52 +01:00
jobqueue test: use T.TempDir to create temporary test directory 2022-04-05 09:27:43 +02:00
jsondb test: use T.TempDir to create temporary test directory 2022-04-05 09:27:43 +02:00
kojiapi kojiapi: use DepsolvePackageSets instead of Depsolve 2022-04-28 14:42:49 +02:00
mocks rpmmd: introduce DepsolvePackageSets() to the RPMMD interface 2022-04-28 14:42:49 +02:00
osbuild1 osbuild1: support VMDK subformat in QEMU assembler 2022-05-04 16:22:29 +02:00
osbuild2 distro/rhel86: ignore SRIOV interface via new udev rule on azure-rhui 2022-05-16 15:46:46 +02:00
ostree ostree: rename errors and introduce ParameterComboError 2022-02-23 11:08:24 +01:00
prometheus prometheus/job: measure time spent pending rather than queued 2022-05-14 17:47:38 +01:00
reporegistry reporegistry: remove unused ReposByArch() function 2022-03-09 23:22:06 +00:00
rhsm internal/rhsm: implement fallback to the previous mechanism 2021-08-09 12:40:23 +02:00
rpmmd rpmmd: introduce DepsolvePackageSets() to the RPMMD interface 2022-04-28 14:42:49 +02:00
store distro/fedora: refactor based on RHEL 9.0 code 2022-05-09 12:25:21 +02:00
target Upload to HTTPS S3 - Support self signed certificate 2022-05-26 13:46:00 +03:00
test internal/test: add small library for tests 2022-03-08 12:07:00 +01:00
upload koji: fix excessive logging & monitoring 2022-04-05 23:48:30 +02:00
weldr weldr: move test responses to separate file 2022-06-01 11:36:52 +01:00
worker prometheus/job: measure time spent pending rather than queued 2022-05-14 17:47:38 +01:00
tools.go go: vendor the oapi-codegen cmd 2021-02-01 15:32:58 +01:00