• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cossacklabs / themis / #7837
88%
master: 83%

Build:
Build:
LAST BUILD BRANCH: release/0.15.0
DEFAULT BRANCH: master
Ran 12 Aug 2020 02:28PM UTC
Jobs 1
Files 73
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Aug 2020 01:56PM UTC coverage: 87.851%. Remained the same
#7837

push

travis-ci

web-flow
Use virtual package mechanism for BoringSSL package (#686)

* Use virtual package mechanism for BoringSSL package

Why alternative packages are not good
-------------------------------------

Alternative package dependencies are great, but they have several issues
for the use case we need. First of all, 'boolean package dependencies'
are not supported on CentOS 7 which we need to support. RPM >= 4.13 is
required to build *and* install such packages correctly [1].
Unfortunately, CentOS 7 uses RPM 4.11 so we're out of luck here.

[1]: https://rpm.org/user_doc/boolean_dependencies.html

The second issue is that if some other package previously depended on,
say, "libthemis (>= 0.13)", the new "libthemis-boringssl" cannot satisfy
that depenency. It is able to, but the package manager will not allow it
to be installed for it is not "libthemis".

What is the alternative to them? (heh)
--------------------------------

Alternative (boolean) package dependencies may work for our packages
since we make them to, but they won't work for other packages.

In fact, alternative dependencies are not the best solution here. We
would like the BoringSSL flavor to be able to stand in for the OpenSSL
flavor because it provides the same API and ABI. dpkg and RPM have a
mechanism for this -- the "Provides" field in the package specs.

"Provides", "Conflicts", and "Replaces"
---------------------------------------

If BoringSSL package *provides* "libthemis" then it can satify the need
for "libthemis" of any other package, like "libthemis-jni", for example.
Similarly, "libthemis-boringssl-dev" provides "libthemis-dev".

Note, however, that "libthemis" and "libthemis-boringssl" are still
mutually exclusive so they need to conflict with each other. In fact,
all flavors of "libthemis" conflict with each other and the same is true
for the development packages as well.

In addition to that, if we declare them as *replacing* one other, the
... (continued)

3789 of 4313 relevant lines covered (87.85%)

19273.12 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #7837.1 12 Aug 2020 02:28PM UTC 0
87.85
Source Files on build #7837
Detailed source file information is not available for this build.
  • Back to Repo
  • 960f0003 on github
  • Prev Build on HEAD
  • Next Build on HEAD
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc