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

Existing .deb packages generate many warnings and errors from the linter #119

Open
atheriel opened this issue Apr 5, 2022 · 0 comments
Open

Comments

@atheriel
Copy link

atheriel commented Apr 5, 2022

For an unrelated experiment I ran Debian's official package linter -- lintian -- on one of the generated .deb files. This gives:

$ lintian output/ubuntu-2204/r-4.1.3_1_amd64.deb 
E: r-4.1.3: dir-or-file-in-opt opt/R/
E: r-4.1.3: dir-or-file-in-opt opt/R/4.1.3/
E: r-4.1.3: dir-or-file-in-opt opt/R/4.1.3/bin/
E: r-4.1.3: dir-or-file-in-opt ... use --no-tag-display-limit to see all (or pipe to a file/program)
E: r-4.1.3: extended-description-is-empty
E: r-4.1.3: malformed-contact Maintainer //github.com/rstudio/r-builds
E: r-4.1.3: malformed-contact Maintainer RStudio
E: r-4.1.3: no-copyright-file
E: r-4.1.3: too-many-contacts Maintainer RStudio, PBC https://github.com/rstudio/r-builds
E: r-4.1.3: unstripped-binary-or-object opt/R/4.1.3/bin/Rscript
E: r-4.1.3: unstripped-binary-or-object opt/R/4.1.3/lib/R/bin/Rscript
E: r-4.1.3: unstripped-binary-or-object opt/R/4.1.3/lib/R/bin/exec/R
E: r-4.1.3: unstripped-binary-or-object ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: r-4.1.3: executable-not-elf-or-script opt/R/4.1.3/lib/R/bin/BATCH
W: r-4.1.3: executable-not-elf-or-script opt/R/4.1.3/lib/R/bin/COMPILE
W: r-4.1.3: executable-not-elf-or-script opt/R/4.1.3/lib/R/bin/INSTALL
W: r-4.1.3: executable-not-elf-or-script ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: r-4.1.3: national-encoding opt/R/4.1.3/lib/R/doc/FAQ
W: r-4.1.3: package-contains-timestamped-gzip opt/R/4.1.3/lib/R/library/grDevices/afm/ArialMT-Bold.afm.gz 2022-04-05T21:05:12
W: r-4.1.3: package-contains-timestamped-gzip opt/R/4.1.3/lib/R/library/grDevices/afm/ArialMT-BoldItalic.afm.gz 2022-04-05T21:05:12
W: r-4.1.3: package-contains-timestamped-gzip opt/R/4.1.3/lib/R/library/grDevices/afm/ArialMT-Italic.afm.gz 2022-04-05T21:05:12
W: r-4.1.3: package-contains-timestamped-gzip ... use --no-tag-display-limit to see all (or pipe to a file/program)
W: r-4.1.3: package-installs-java-bytecode opt/R/4.1.3/lib/R/share/java/getsp.class
W: r-4.1.3: script-not-executable opt/R/4.1.3/lib/R/share/sh/echo.sh
W: r-4.1.3: syntax-error-in-debian-changelog line 5 "badly formatted trailer line"
W: r-4.1.3: syntax-error-in-debian-changelog line 5 "found eof where expected more change data or trailer"
W: r-4.1.3: unknown-field r-4.1.3_1_amd64.deb License
W: r-4.1.3: unknown-field r-4.1.3_1_amd64.deb Vendor
W: r-4.1.3: unknown-section default

Some of these clearly reflect the "opinionated" nature of this build system and others are an artifact of using fpm (including the "badly formatted" changelog it generates), but others I think we should fix:

  • Section could be made to match r-base by using universe/math.
  • We could embed the rest of the Description from r-base instead of using only the first line.
  • We could use something like RStudio PBC <https://github.com/rstudio/r-builds> as the maintainer.
  • We should probably fix the copyright file location to match Debian conventions (or whatever r-base does), because this error makes it seem like we're redistributing R without its license.
  • We should just drop the --vendor and --license arguments to fpm.

Finally, if we want to actually silence the remaining issues lintian allows packages to embed a set of overrides. Not sure that gives us much benefit, though.

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

1 participant