Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkg_deb is breaking Debian package policy. Only Description should be multiline. #572

Closed
smu-ggl opened this issue Apr 6, 2022 · 1 comment

Comments

@smu-ggl
Copy link
Contributor

smu-ggl commented Apr 6, 2022

Description of the problem / feature request:

make_deb.py breaks multiple generated header fields into multiline fields. While this is allowed in source packages (for readability), dpkg --gencontrol reformats them into single-line entries for the binary packages.

https://www.debian.org/doc/debian-policy/ch-controlfields.html only defines the Description field as multiline. Tooling can (and some do) ignore any but the first line and/or stop processing the package.

Feature requests: what underlying problem are you trying to solve with this feature?

Ensure that generated packages adhere to Debian policy on the package format.

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Use a long Depends, Suggests, Provides, ... line and have it broken up into multiple lines.

What operating system are you running Bazel on?

Linux - http://storage.googleapis.com/bazel-apt/pool/jdk1.8/b/bazel/bazel_5.1.0_amd64.deb is a broken package in this regard :D

What's the output of bazel info release?

5.1.0, I'd assume, I haven't tried.

Have you found anything relevant by searching the web?

See above for Debian policy link.

Any other information, logs, or outputs that you want to share?

Example tool broken by this:
dose-debcheck from Debian testing (part of dose3 source package):

Fatal error in module dose_deb.packages:

[...]
Parser Error in Package (bazel-5.0.0,5.0.0,amd64)
Suggests : Field Suggests has a wrong value (character 57-58: character 57-58: Unexpected token : '
'.. (vpkgformula)): 'google-jdk | java8-sdk-headless | java8-jdk | java8-sdk |
oracle-java8-installer, bash-completion'
@aiuto aiuto transferred this issue from bazelbuild/bazel Apr 6, 2022
@aiuto aiuto changed the title make_deb is breaking Debian package policy. Only Description should be multiline. pkg_deb is breaking Debian package policy. Only Description should be multiline. Apr 6, 2022
smu-ggl added a commit to smu-ggl/rules_pkg that referenced this issue Apr 7, 2022
bazelbuild#572 - Debian policy only allows the Description field to be multiline.
aiuto pushed a commit that referenced this issue Apr 7, 2022
#572 - Debian policy only allows the Description field to be multiline.
@aiuto
Copy link
Collaborator

aiuto commented Apr 8, 2022

This is fixed here by #573 and the 0.7.0 release.
bazelbuild/bazel#15201 addresses updating Bazel

@aiuto aiuto closed this as completed Apr 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants