Package: librep-dev
Version: 0.92.5-3
File: /usr/lib/x86_64-linux-gnu/rep/rules.mk
User: [email protected]
Usertags: rebootstrap
Control: affects -1 + src:sawfish

When installing librep-dev for a foreign architecture, rep/rules.mk does
not "work" properly. It tries to discover ${repcommonexecdir} using
pkg-config. Unfortunately, pkg-config is architecture-dependent and when
librep-dev comes from a foreign architecture, it won't find librep.pc.
Thus repcommonexecdir will be empty causing more breakage.

I see a number of ways to fix this.

1. Interpolate the repcommonexecdir assignment at build-time. There we
   know the desired value and can just hard code it into the file
   instead of determining it at runtime. Since rules.mk resides on an
   architecture-dependent path, making this file architecture-dependent
   is not a problem at all.

2. Since rep/rules.mk resides on an architecture-dependent path, we know
   which pkg-config is correct to call. Prefixing it with the host
   architecture gnu-triplet will make this work reliably.

3. One could also rely on consumers providing a PKG_CONFIG variable and
   reuse that. Though note that most consumers won't propagate
   PKG_CONFIG into their Makefiles as it is mainly useful at configure
   time. An example that doesn't is sawfish.

Do you have a preference? I'm happy to help.

Helmut

Reply via email to