Evaluation of the gitlab package registry, with regards to storing and using the elos subproject debian packages.¶
Evaluation of the debian package registry¶
The creation of the debian package registry in gitlab, using the official documentation worked as specified by the documentation. But uploading an debian package did not.
Uploading using dput¶
Evaluating the debian dput command was not possible, since the command requires a debian packages .change file, which is not created when building the .deb file using cpack
Uploading using curl¶
The documentation specifies the following command to upload a .deb file to the registry when no .change file is available:
curl --request PUT --user "user:token" --get --data "distribution=registry" --data "component=main" "https://gitlabintern.emlix.com/api/v4/projects/62/packages/debian" --upload-file packages/cmocka_extensions_0.42.3_amd64.deb
This command failed with ‘{“error”:”The provided content-type ‘’ is not supported.”}’
Explicitly stating a content type, as in:
curl --request PUT --user "user:token" --get --data "distribution=registry" --data "component=main" "https://gitlabintern.emlix.com/api/v4/projects/62/packages/debian" --upload-file packages/cmocka_extensions_0.42.3_amd64.deb --header "CONTENT-TYPE: binary"
results in the error message ‘An error has occurred and reported in the system’s low-level error handler.’ All current attempts to debug this error further were not successful
Generic repository¶
No creation of a repository is necessary, and uploading a debian file using
curl --header "PRIVATE-TOKEN: token" --upload-file $(pwd)/cmocka_extensions_0.42.3_amd64.deb "https://gitlabintern.emlix.com/api/v4/projects/62/packages/generic/corbos_tools/0.42.3/cmocka_extensions_0.42.3_amd64.deb"
works.
Creating a debian repository inside the generic repository¶
It is possible to upload a debian Repositories Package file to the generic repository. However, it seemed not possible to the access the registry as a debian repository using the command
add-apt-repository "[trusted=yes] https://gitlabintern.emlix.com/api/v4/projects/62/packages/generic/corbos_tools/0.42.3"
Trying to add the repository without the ‘trusted=yes’ does work, but then accessing
the repository using apt update
resulted in an error since the repository is not
a signed official one.
Downloading debian files¶
Downloading a debian file from the generic repository works using the command
curl --header "PRIVATE-TOKEN: token" "https://gitlabintern.emlix.com/api/v4/projects/62/packages/generic/corbos_tools/0.42.3/cmocka_extensions_0.42.3_amd64.deb" --output cmocka_extensions.deb
This file can the be installed using dpkg