Bug#1011049: freetype: breaks architecture bootstrap by depending on librsvg2-dev
Source: freetype
Version: 2.12.1+dfsg-1
Severity: important
User: helmutg@debian.org
Usertags: rebootstrap
X-Debbugs-Cc: debian-cross@lists.debian.org
freetype participates in architecture bootstrap. As such, it must be
careful about its Build-Depends. It now added librsvg2-dev, which is
built from librsvg, which Build-Depends on rustc, which pulls llvm. This
totally breaks architecture cross bootstrap.
Beyond breaking practical architecture bootstrap, it also breaks
theoretical architecture bootstrap, because librsvg Build-Depends on
libfreetype-dev. This poses a cycle that cannot be solved.
As such, I request that you temporarily revert the librsvg2-dev
dependency. Given that this breaks bootstrap ci, I ask for urgency here.
If you lack time, I can offer NMUing it. As the udeb package is already
built without rsvg, the same should be applicable to the main package.
Then, we should cooperatively figure out a way to meet freetype's need.
It is a bit unclear to me why freetype needs rsvg. Can you shed some
light on that part?
Depending on the answer to that question, multiple options are
available:
* If it is only used for testing, it can be annotated <!nocheck> and is
thus removed from any bootstrap issues.
* Judging the changlog, it could be demos that need rsvg without having
the main library actually use rsvg. In that case, it would be easy to
hide freetype2-demos behind a build profile (say
pkg.freetype.nodemos) and conditionalize the dependency to that
profile.
* Possibly, the need is more unconditional and we need to solve the
loop in some other package.
At this time, a quick, temporary revert and coordination is needed.
Helmut
Reply to: