[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Few questions about shaderc packaging



Hello,

I created the shaderc package (see
https://salsa.debian.org/phsw/shaderc) and its almost ready for upload
(and RFS!). Yet, I have few questions:

* Copyright

Upstream has several files describing copyrights of the project [1-4].
In d/copyright, I licensed the whole project with Apache 2.0, with
"Google Inc." as copyright holder. Should I detail more? Here is what I
get with a simple grep in upstream source files:

find . -type f -exec head -n 1 {} \; | grep -a "Copy" | sort | uniq -c
     23 # Copyright 2015 The Shaderc Authors. All rights reserved.
     49 // Copyright 2015 The Shaderc Authors. All rights reserved.
      6 # Copyright 2016 The Shaderc Authors. All rights reserved.
      7 // Copyright 2016 The Shaderc Authors. All rights reserved.
      4 # Copyright 2017 The Shaderc Authors. All rights reserved.
      3 // Copyright 2017 The Shaderc Authors. All rights reserved.
      6 # Copyright 2018 The Shaderc Authors. All rights reserved.
      4 // Copyright 2018 The Shaderc Authors. All rights reserved.
      5 # Copyright 2019 The Shaderc Authors. All rights reserved.
      2 // Copyright 2019 The Shaderc Authors. All rights reserved.
     17 # Copyright 2020 The Shaderc Authors. All rights reserved.
     29 # Copyright (C) 2017 Google Inc.
      4 :: Copyright (C) 2017 Google Inc.
      1 # Copyright (c) 2017 Pierre Moreau
      1 # Copyright (C) 2018 Google Inc.
      2 # Copyright (C) 2020 Google Inc.


* Building on ARM

The crossbuilding for arm64 fails on Salsa-CI, because of unavailable
dependencies:

The following packages have unmet dependencies:
 builddeps:.:arm64 : Depends: asciidoctor:arm64
                 Depends: ruby-pygments.rb:arm64 but it is not installable

Since asciidoctor is only used at build time to generate the manpage, is
it possible to specify in d/control that asciidoctor doesn't have to be
available on arm? Indeed, the version for the host architecture will be
enough to build the package and won't be required to install the package.


* Library name

The name of the shared library generated by upstream source code is
libshaderc_shared.so.1, but the suffix "shared" seems to be used just to
emphasize the shared aspect of the library. The following files are also
installed:

/usr/lib/x86_64-linux-gnu/libshaderc_shared.so
/usr/lib/x86_64-linux-gnu/libshaderc.a
/usr/lib/x86_64-linux-gnu/libshaderc_combined.a
/usr/lib/x86_64-linux-gnu/pkgconfig/shaderc.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/shaderc_combined.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/shaderc_static.pc

I named the library package libshader1. Is it a correct situation? Or
should I rather rename the shared library to libshaderc.so? or the
package to libshaderc-shared1?


* Symbol file

As stated in [5], I didn't include a symbols file in the package, since
the library is in C++ (I generated it, and even unmangled, it will be
hard to maintain). Is it correct for this package?


Any additional review of the packaging would be warmly welcomed! :)

Thanks,

Philippe.


[1]
https://github.com/google/shaderc/blob/7ea834ecc59258a5c13c3d3e6fa0582bdde7c543/AUTHORS

[2]
https://github.com/google/shaderc/blob/7ea834ecc59258a5c13c3d3e6fa0582bdde7c543/CONTRIBUTORS

[3]
https://github.com/google/shaderc/blob/7ea834ecc59258a5c13c3d3e6fa0582bdde7c543/LICENSE

[4] https://github.com/google/shaderc/blob/main/license-checker.cfg

[5] https://wiki.debian.org/UsingSymbolsFiles#C.2B-.2B-_libraries


Reply to: