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
[SR-15515] Initial Swift Toolchain DEB package testing for Official Debian/Ubuntu repository compliance. #57820
Comments
Updated Test OutputI have rebuilt the test package using /usr/lib/ as an install location. lintian -i -v swiftlang_5.5.1-02-ubuntu-focal_amd64.deb
N: Using profile ubuntu/main.
N: Starting on group swiftlang/5.5.1
N: Unpacking packages in group swiftlang/5.5.1
N: Finished processing group swiftlang/5.5.1
N: ----
N: Processing binary package swiftlang
N: (version 5.5.1, arch amd64) ...
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/bin/lldb /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
N:
N: The binary or shared library sets RPATH or RUNPATH. This overrides the
N: normal library search path, possibly interfering with local policy and
N: causing problems for multilib, among other issues.
N:
N: The only time a binary or shared library in a Debian package should set
N: RPATH or RUNPATH is if it is linked to private shared libraries in the
N: same package. In that case, place those private shared libraries in
N: /usr/lib/<package>. Libraries used by binaries in other packages should
N: be placed in /lib or /usr/lib as appropriate, with a proper SONAME, in
N: which case RPATH/RUNPATH is unnecessary.
N:
N: To fix this problem, look for link lines like:
N: gcc test.o -o test -Wl,--rpath,/usr/local/lib
N: or
N: gcc test.o -o test -R/usr/local/lib
N: and remove the -Wl,--rpath or -R argument. You can also use the chrpath
N: utility to remove the RPATH.
N:
N: Refer to https://wiki.debian.org/RpathIssue for details.
N:
N: Severity: error
N:
N: Check: binaries
N:
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/bin/lldb-argdumper /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/bin/lldb-server /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/bin/plutil /home/build-user/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.memprof-x86_64.so /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swift/usr/lib/liblldb.so.10.0.0git /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: changelog-file-missing-in-native-package
N:
N: Each Debian package (which provides a /usr/share/doc/<pkg> directory)
N: has to install a changelog file. Since this package seems to be a native
N: Debian package (i.e., there is no upstream source), the file should
N: usually be installed as /usr/share/doc/<pkg>/changelog.gz
N:
N: Note that Lintian may emit this tag if the changelog exists, but it does
N: not look like a Debian changelog.
N:
N: Refer to Debian Policy Manual section 12.7 (Changelog files and release
N: notes) for details.
N:
N: Severity: error
N:
N: Check: debian/changelog
N:
E: swiftlang: embedded-library usr/lib/swift/usr/bin/sourcekit-lsp: libyaml
N:
N: The given ELF object appears to have been statically linked to a
N: library. Doing this is strongly discouraged due to the extra work needed
N: by the security team to fix all the extra embedded copies or trigger the
N: package rebuilds, as appropriate.
N:
N: If the package uses a modified version of the given library it is highly
N: recommended to coordinate with the library's maintainer to include the
N: changes on the system version of the library.
N:
N: Refer to Debian Policy Manual section 4.13 (Convenience copies of code)
N: for details.
N:
N: Severity: error
N:
N: Check: binaries
N:
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-build-sdk-interfaces: libyaml
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-build: libyaml
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-driver: libyaml
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-package-collection: libyaml
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-package: libyaml
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-run: libyaml
E: swiftlang: embedded-library usr/lib/swift/usr/bin/swift-test: libyaml
E: swiftlang: no-copyright-file
N:
N: Each binary package has to include a plain file
N: /usr/share/doc/<pkg>/copyright
N:
N: Refer to Debian Policy Manual section 12.5 (Copyright information) for
N: details.
N:
N: Severity: error
N:
N: Check: debian/copyright
N:
E: swiftlang: package-installs-python-pycache-dir usr/lib/swift/usr/lib/python3/dist-packages/lldb/__pycache__/
N:
N: The package installs a __pycache__ directory, which is normally only
N: used to store compiled Python source files. Compiled Python source files
N: must not be included in the package, instead they should be generated at
N: installation time in the postinst.
N:
N: Note this tag is issues even if the directory is empty.
N:
N: Refer to Debian Python Policy section 3.7 (Modules Byte-Compilation) for
N: details.
N:
N: Severity: error
N:
N: Check: languages/python
N:
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libicui18nswift.so.65.1 0755
N:
N: Shared libraries should be mode 0644.
N:
N: Refer to Debian Policy Manual section 8.1 (Run-time shared libraries)
N: for details.
N:
N: Severity: error
N:
N: Check: shared-libs
N:
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libicuucswift.so.65.1 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libswiftCore.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libswiftGlibc.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libswiftRemoteMirror.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libswiftSwiftOnoneSupport.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libswift_Concurrency.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swift/usr/lib/swift/linux/libswift_Differentiation.so 0755
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/clang-10
N:
N: The package installs an unstripped binary or object file.
N:
N: Please note, that shared libraries have to be stripped with the
N: --strip-unneeded option.
N:
N: Refer to Debian Policy Manual section 10.1 (Binaries) and Debian Policy
N: Manual section 10.2 (Libraries) for details.
N:
N: Severity: error
N:
N: Check: binaries
N:
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/clangd
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/lld
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/lldb
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/lldb-argdumper
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/lldb-server
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/llvm-cov
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/llvm-profdata
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/plutil
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/repl_swift
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/sourcekit-lsp
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-build
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-build-sdk-interfaces
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-build-tool
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-demangle
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-driver
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-frontend
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-help
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-package
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-package-collection
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-run
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/bin/swift-test
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.dyndd-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.hwasan-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.memprof-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.scudo-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.scudo_minimal-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/clang/10.0.0/lib/linux/libclang_rt.ubsan_standalone-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/libIndexStore.so.10git
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/liblldb.so.10.0.0git
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/libsourcekitdInProc.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/libswiftDemangle.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libBlocksRuntime.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libFoundation.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libFoundationNetworking.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libFoundationXML.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libXCTest.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/lib_InternalSwiftScan.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/lib_InternalSwiftSyntaxParser.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libdispatch.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libicudataswift.so.65.1
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libicui18nswift.so.65.1
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libicuucswift.so.65.1
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswiftCore.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswiftDispatch.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswiftGlibc.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswiftRemoteMirror.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswiftSwiftOnoneSupport.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswift_Concurrency.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/linux/libswift_Differentiation.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/pm/ManifestAPI/libPackageDescription.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/pm/PluginAPI/libPackagePlugin.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/pm/llbuild/libllbuild.so
E: swiftlang: unstripped-binary-or-object usr/lib/swift/usr/lib/swift/pm/llbuild/libllbuildSwift.so
W: swiftlang: executable-not-elf-or-script usr/lib/swift/usr/lib/swift_static/linux/libicudataswift.a
N:
N: This executable file is not an ELF format binary, and does not start
N: with the #! sequence that marks interpreted scripts. It might be a sh
N: script that fails to name /bin/sh as its shell, or it may be incorrectly
N: marked as executable. Sometimes upstream files developed on Windows are
N: marked unnecessarily as executable on other systems.
N:
N: If you are using debhelper to build your package, running dh_fixperms
N: will often correct this problem for you.
N:
N: Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N: Severity: warning
N:
N: Check: scripts
N:
W: swiftlang: executable-not-elf-or-script usr/lib/swift/usr/lib/swift_static/linux/libicui18nswift.a
W: swiftlang: executable-not-elf-or-script usr/lib/swift/usr/lib/swift_static/linux/libicuucswift.a
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/clang-10
N:
N: This package provides an ELF executable that was not compiled as a
N: position independent executable (PIE).
N:
N: In Debian, since version 6.2.0-7 of the gcc-6 package GCC will compile
N: ELF binaries with PIE by default. In most cases a simple rebuild will be
N: sufficient to remove this tag.
N:
N: PIE is required for fully enabling Address Space Layout Randomization
N: (ASLR), which makes "Return-oriented" attacks more difficult.
N:
N: Historically, PIE has been associated with noticeable performance
N: overhead on i386. However, GCC >= 5 has implemented an optimization that
N: can reduce the overhead significantly.
N:
N: If you use dpkg-buildflags with hardening=+all,-pie in
N: DEB_BUILD_MAINT_OPTIONS, remove the -pie.
N:
N: Refer to https://wiki.debian.org/Hardening,
N: https://gcc.gnu.org/gcc-5/changes.html, and
N: https://software.intel.com/en-us/blogs/2014/12/26/new-optimizations-for-x86-in-upcoming-gcc-50-32bit-pic-mode
N: for details.
N:
N: Severity: warning
N:
N: Check: binaries
N:
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/clangd
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/lld
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/lldb
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/lldb-argdumper
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/lldb-server
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/llvm-cov
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/llvm-profdata
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/repl_swift
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/swift-build-tool
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/swift-demangle
W: swiftlang: hardening-no-pie usr/lib/swift/usr/bin/swift-frontend
W: swiftlang: shared-lib-without-dependency-information usr/lib/swift/usr/lib/swift/linux/libicudataswift.so.65.1
N:
N: The listed shared library doesn't include information about which other
N: libraries the library was linked against. (When running "ldd foo.so" ldd
N: should report about these other libraries. In your case, ldd just
N: reports "statically linked".)
N:
N: To fix this, you should explicitly specify the libraries which are used
N: (e.g., "-lc") when building the shared library with "ld".
N:
N: If you have questions about this, please contact
N: debian-devel@lists.debian.org.
N:
N: Severity: warning
N:
N: Check: binaries
N:
|
If I understand the first error correctly, it should be fixed by installing it into a directory with the name of the package. I.e. /usr/lib/swiftlang instead of /usr/lib/swift |
Updated Test OutputI have rebuilt the test package using /usr/lib/swiftlang as an install location. There was no change in the rpath error. It seems strange that we are seeing references to the original build directory here - '/home/build-user/build/buildbot_linux/' ~/deb_package_tests/NEW$ lintian -i -v swiftlang_5.5.1-TEST7-ubuntu-focal_amd64.deb
N: Using profile ubuntu/main.
N: Starting on group swiftlang/5.5.1-TEST7-ubuntu-focal
N: Unpacking packages in group swiftlang/5.5.1-TEST7-ubuntu-focal
N: Finished processing group swiftlang/5.5.1-TEST7-ubuntu-focal
N: ----
N: Processing binary package swiftlang
N: (version 5.5.1-TEST7-ubuntu-focal, arch amd64) ...
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/bin/lldb /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
N:
N: The binary or shared library sets RPATH or RUNPATH. This overrides the
N: normal library search path, possibly interfering with local policy and
N: causing problems for multilib, among other issues.
N:
N: The only time a binary or shared library in a Debian package should set
N: RPATH or RUNPATH is if it is linked to private shared libraries in the
N: same package. In that case, place those private shared libraries in
N: /usr/lib/<package>. Libraries used by binaries in other packages should
N: be placed in /lib or /usr/lib as appropriate, with a proper SONAME, in
N: which case RPATH/RUNPATH is unnecessary.
N:
N: To fix this problem, look for link lines like:
N: gcc test.o -o test -Wl,--rpath,/usr/local/lib
N: or
N: gcc test.o -o test -R/usr/local/lib
N: and remove the -Wl,--rpath or -R argument. You can also use the chrpath
N: utility to remove the RPATH.
N:
N: Refer to https://wiki.debian.org/RpathIssue for details.
N:
N: Severity: error
N:
N: Check: binaries
N:
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/bin/lldb-argdumper /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/bin/lldb-server /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/bin/plutil /home/build-user/build/buildbot_linux/swift-linux-x86_64/lib/swift/linux
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.memprof-x86_64.so /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: binary-or-shlib-defines-rpath usr/lib/swiftlang/lib/liblldb.so.10.0.0git /home/build-user/build/buildbot_linux/llvm-linux-x86_64/lib
E: swiftlang: debian-changelog-file-missing-or-wrong-name
N:
N: Each Debian package (which provides a /usr/share/doc/<pkg> directory)
N: must install a Debian changelog file in
N: /usr/share/doc/<pkg>/changelog.Debian.gz
N:
N: A common error is to name the Debian changelog like an upstream
N: changelog (/usr/share/doc/<pkg>/changelog.gz); therefore, Lintian will
N: apply further checks to such a file if it exists even after issuing this
N: error.
N:
N: Refer to Debian Policy Manual section 12.7 (Changelog files and release
N: notes) for details.
N:
N: Severity: error
N:
N: Check: debian/changelog
N:
E: swiftlang: embedded-library usr/lib/swiftlang/bin/sourcekit-lsp: libyaml
N:
N: The given ELF object appears to have been statically linked to a
N: library. Doing this is strongly discouraged due to the extra work needed
N: by the security team to fix all the extra embedded copies or trigger the
N: package rebuilds, as appropriate.
N:
N: If the package uses a modified version of the given library it is highly
N: recommended to coordinate with the library's maintainer to include the
N: changes on the system version of the library.
N:
N: Refer to Debian Policy Manual section 4.13 (Convenience copies of code)
N: for details.
N:
N: Severity: error
N:
N: Check: binaries
N:
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-build-sdk-interfaces: libyaml
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-build: libyaml
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-driver: libyaml
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-package-collection: libyaml
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-package: libyaml
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-run: libyaml
E: swiftlang: embedded-library usr/lib/swiftlang/bin/swift-test: libyaml
E: swiftlang: extended-description-is-empty
N:
N: The extended description (the lines after the first line of the
N: "Description:" field) is empty.
N:
N: Refer to Debian Policy Manual section 3.4 (The description of a package)
N: for details.
N:
N: Severity: error
N:
N: Check: fields/description
N:
E: swiftlang: no-copyright-file
N:
N: Each binary package has to include a plain file
N: /usr/share/doc/<pkg>/copyright
N:
N: Refer to Debian Policy Manual section 12.5 (Copyright information) for
N: details.
N:
N: Severity: error
N:
N: Check: debian/copyright
N:
E: swiftlang: package-installs-python-pycache-dir usr/lib/swiftlang/lib/python3/dist-packages/lldb/__pycache__/
N:
N: The package installs a __pycache__ directory, which is normally only
N: used to store compiled Python source files. Compiled Python source files
N: must not be included in the package, instead they should be generated at
N: installation time in the postinst.
N:
N: Note this tag is issues even if the directory is empty.
N:
N: Refer to Debian Python Policy section 3.7 (Modules Byte-Compilation) for
N: details.
N:
N: Severity: error
N:
N: Check: languages/python
N:
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libicudataswift.so.65.1 0755
N:
N: Shared libraries should be mode 0644.
N:
N: Refer to Debian Policy Manual section 8.1 (Run-time shared libraries)
N: for details.
N:
N: Severity: error
N:
N: Check: shared-libs
N:
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libicui18nswift.so.65.1 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libicuucswift.so.65.1 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libswiftCore.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libswiftGlibc.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libswiftRemoteMirror.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libswiftSwiftOnoneSupport.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libswift_Concurrency.so 0755
E: swiftlang: shlib-with-executable-bit usr/lib/swiftlang/lib/swift/linux/libswift_Differentiation.so 0755
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/clang-10
N:
N: The package installs an unstripped binary or object file.
N:
N: Please note, that shared libraries have to be stripped with the
N: --strip-unneeded option.
N:
N: Refer to Debian Policy Manual section 10.1 (Binaries) and Debian Policy
N: Manual section 10.2 (Libraries) for details.
N:
N: Severity: error
N:
N: Check: binaries
N:
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/clangd
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/lld
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/lldb
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/lldb-argdumper
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/lldb-server
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/llvm-cov
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/llvm-profdata
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/plutil
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/repl_swift
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/sourcekit-lsp
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-build
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-build-sdk-interfaces
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-build-tool
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-demangle
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-driver
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-frontend
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-help
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-package
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-package-collection
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-run
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/bin/swift-test
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.dyndd-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.hwasan-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.memprof-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.scudo-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.scudo_minimal-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.ubsan_minimal-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/clang/10.0.0/lib/linux/libclang_rt.ubsan_standalone-x86_64.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/libIndexStore.so.10git
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/liblldb.so.10.0.0git
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/libsourcekitdInProc.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/libswiftDemangle.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libBlocksRuntime.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libFoundation.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libFoundationNetworking.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libFoundationXML.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libXCTest.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/lib_InternalSwiftScan.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/lib_InternalSwiftSyntaxParser.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libdispatch.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libicudataswift.so.65.1
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libicui18nswift.so.65.1
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libicuucswift.so.65.1
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswiftCore.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswiftDispatch.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswiftGlibc.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswiftRemoteMirror.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswiftSwiftOnoneSupport.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswift_Concurrency.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/linux/libswift_Differentiation.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/pm/ManifestAPI/libPackageDescription.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/pm/PluginAPI/libPackagePlugin.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/pm/llbuild/libllbuild.so
E: swiftlang: unstripped-binary-or-object usr/lib/swiftlang/lib/swift/pm/llbuild/libllbuildSwift.so
W: swiftlang: description-synopsis-starts-with-article
N:
N: The first line of the "Description:" should omit any initial indefinite
N: or definite article: "a", "an", or "the". A good heuristic is that it
N: should be possible to substitute the package name and synopsis into this
N: formula:
N:
N: The package name provides {a,an,the,some} synopsis.
N:
N: Refer to Debian Developer's Reference section 6.2.2 (The package
N: synopsis, or short description) for details.
N:
N: Severity: warning
N:
N: Check: fields/description
N:
W: swiftlang: executable-not-elf-or-script usr/lib/swiftlang/lib/swift_static/linux/libicudataswift.a
N:
N: This executable file is not an ELF format binary, and does not start
N: with the #! sequence that marks interpreted scripts. It might be a sh
N: script that fails to name /bin/sh as its shell, or it may be incorrectly
N: marked as executable. Sometimes upstream files developed on Windows are
N: marked unnecessarily as executable on other systems.
N:
N: If you are using debhelper to build your package, running dh_fixperms
N: will often correct this problem for you.
N:
N: Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N: Severity: warning
N:
N: Check: scripts
N:
W: swiftlang: executable-not-elf-or-script usr/lib/swiftlang/lib/swift_static/linux/libicui18nswift.a
W: swiftlang: executable-not-elf-or-script usr/lib/swiftlang/lib/swift_static/linux/libicuucswift.a
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/clang-10
N:
N: This package provides an ELF executable that was not compiled as a
N: position independent executable (PIE).
N:
N: In Debian, since version 6.2.0-7 of the gcc-6 package GCC will compile
N: ELF binaries with PIE by default. In most cases a simple rebuild will be
N: sufficient to remove this tag.
N:
N: PIE is required for fully enabling Address Space Layout Randomization
N: (ASLR), which makes "Return-oriented" attacks more difficult.
N:
N: Historically, PIE has been associated with noticeable performance
N: overhead on i386. However, GCC >= 5 has implemented an optimization that
N: can reduce the overhead significantly.
N:
N: If you use dpkg-buildflags with hardening=+all,-pie in
N: DEB_BUILD_MAINT_OPTIONS, remove the -pie.
N:
N: Refer to https://wiki.debian.org/Hardening,
N: https://gcc.gnu.org/gcc-5/changes.html, and
N: https://software.intel.com/en-us/blogs/2014/12/26/new-optimizations-for-x86-in-upcoming-gcc-50-32bit-pic-mode
N: for details.
N:
N: Severity: warning
N:
N: Check: binaries
N:
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/clangd
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/lld
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/lldb
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/lldb-argdumper
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/lldb-server
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/llvm-cov
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/llvm-profdata
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/repl_swift
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/swift-build-tool
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/swift-demangle
W: swiftlang: hardening-no-pie usr/lib/swiftlang/bin/swift-frontend
W: swiftlang: package-contains-timestamped-gzip usr/share/doc/swiftlang/changelog.gz 2022-01-25T00:29:03
N:
N: The package contains a gzip-compressed file that has timestamps. Such
N: files make the packages unreproducible, because their contents depend on
N: the time when the package was built.
N:
N: Please consider passing the "-n" flag to gzip to avoid this.
N:
N: Refer to https://wiki.debian.org/ReproducibleBuilds for details.
N:
N: Severity: warning
N:
N: Check: files/compressed/gz
N:
W: swiftlang: shared-lib-without-dependency-information usr/lib/swiftlang/lib/swift/linux/libicudataswift.so.65.1
N:
N: The listed shared library doesn't include information about which other
N: libraries the library was linked against. (When running "ldd foo.so" ldd
N: should report about these other libraries. In your case, ldd just
N: reports "statically linked".)
N:
N: To fix this, you should explicitly specify the libraries which are used
N: (e.g., "-lc") when building the shared library with "ld".
N:
N: If you have questions about this, please contact
N: debian-devel@lists.debian.org.
N:
N: Severity: warning
N:
N: Check: binaries
N: |
Additional Detail from JIRA
md5: 146a1bc497b75232bf01671f3a236418
Issue Description:
A test DEB package was created from the official Swift.org Ubuntu/Focal toolchain release.
Details here - swift-installer-scripts #62
The package was then tested using the debian package testing tool Lintian.
Test Output
The text was updated successfully, but these errors were encountered: