Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 24 additions & 5 deletions types/deb-definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,42 @@
},
"namespace_definition": {
"native_name": "vendor",
"is_case_sensitve": false,
"case_sensitive": false,
"note": "The namespace is the \"vendor\" name such as \"debian\" or \"ubuntu\". It is not case sensitive and must be lowercased.",
"requirement": "required"
"requirement": "required",
"normalization_rules": [
"It is not case sensitive and must be lowercased."
]
},
"name_definition": {
"requirement": "required",
"native_name": "name",
"is_case_sensitve": false,
"note": "The name is not case sensitive and must be lowercased."
"case_sensitive": false,
"note": "The name is not case sensitive and must be lowercased.",
"normalization_rules": [
"It is not case sensitive and must be lowercased."
]
Comment on lines +23 to +27
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"case_sensitive": false,
"note": "The name is not case sensitive and must be lowercased.",
"normalization_rules": [
"It is not case sensitive and must be lowercased."
]
"case_sensitive": true

The name is case sensitive and must not be lowercased.

root@96d7edba8206:/# apt install COWSAY
Error: Unable to locate package COWSAY
root@96d7edba8206:/# apt install cowsay
Installing:
  cowsay

Installing dependencies:
  libgdbm-compat4t64  libgdbm6t64  libperl5.40  libtext-charwidth-perl  netbase  perl  perl-modules-5.40

Suggested packages:
  filters     gdbm-l10n       perl-doc                   | libterm-readline-perl-perl  libtap-harness-archive-perl
  cowsay-off  sensible-utils  libterm-readline-gnu-perl  make

Summary:
  Upgrading: 0, Installing: 8, Removing: 0, Not Upgrading: 0
  Download size: 7596 kB
  Space needed: 53.6 MB / 68.9 GB available

Continue? [Y/n]

},
"version_definition": {
"requirement": "required",
"native_name": "version",
"note": "The version is the version of the binary (or source) package."
},
"qualifiers_definition": [
{
"key": "arch",
"requirement": "optional",
"description": "arch is the qualifiers key for a package architecture. The special value arch=source identifies a Debian source package that usually consists of a Debian Source control file (.dsc) and corresponding upstream and Debian sources. The dpkg-query command can print the name and version of the corresponding source package of a binary package, e.g. dpkg-query -f ${source:Package} ${source:Version} -W <binary package name>"
},
{
"key": "distro",
"requirement": "optional",
"description": "The distribution name, codename, or suite."
},
Comment on lines +40 to +44
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The distribution name is already in the namespace. If there is going to be a distribution in the qualifier there needs to be a clear explanation of how these are different and what it means when there is or is not a value here.

{
"key": "repository_url",
"requirement": "optional",
"description": "Base URL for the package repository."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If apt is going to have a repository URL description then it should have more definition than this because the way packages are arranged is more complicated than in other package types. If a package is in http://deb.debian.org/debian-security suite trixie-security, what is the value for repository_url? Where does the trixie-security part go? Is that what's supposed to go in distro? If that's the distro value then either it needs very clear disambiguation or it needs to be renamed to not be distro so people don't put "debian" or "ubuntu" (what people typically think of as a Linux distro) there.

}
],
"examples": [
Expand All @@ -36,4 +55,4 @@
"pkg:deb/debian/attr@1:2.4.47-2?arch=source",
"pkg:deb/debian/attr@1:2.4.47-2%2Bb1?arch=amd64"
]
}
}