Closed reubenmiller closed 1 year ago
By default the Debian package name is taken from the package.name
field in the Cargo.toml
. It can be overridden in the package.metadata.deb
section (as per the docs).
It is also important that the [package.metadata.deb].replaces
field is also set to facilitate a smooth upgrade path between the renamed packages.
Below is a snippet from a modified Cargo.toml
(note: some fields have been left out for demonstration purposes only)
[package]
name = "tedge_agent"
[package.metadata.deb]
name = "tedge-agent"
replaces = "tedge_agent"
pre-depends = "tedge-mapper"
After experimenting with a Debian repository, I can confirm that packages which use an underscore _
in their name are NOT installable via apt
. The apt packages lists somehow just ignore any package that does not confirm to the naming convention.
# This does not work!
apt-get install tedge_agent
So the packages names will definitely need to be changed before we can offer the tedge
packages via apt
.
Describe the bug
The released
.deb
packages do not conform to the Debian package naming conventions as it uses underscores_
in the package names (e.g. thePackage
field in the Debian control file).This causes downstream problems when trying to use any of the packages with naming convention violations with other package building tooling like equivs-build.
The Debian standard states that following under the package naming convention:
Affected packages
c8y_configuration_plugin
c8y_log_plugin
tedge_agent
tedge_apama_plugin
tedge_mapper
tedge_watchdog
To Reproduce
The Debian control file (which includes the package meta information) can be viewed from any of the releases'
.deb
artefacts by executing the following commands:Example output (from Debian control)
Expected behavior
The
Package
field in the Debian control files should use a minus-
instead of underscore_
.Recommended packages names
Screenshots
Not applicable
Environment (please complete the following information):
Additional context
Not applicable