> I have a seemingly working patch for curl-config that basically makes it use
> pkg-config internally (I had to patch libcurl.pc as well for the --configure
> thing, but it's not that much of a problem). This means that the -dev packages
> now depend on pkg-config as well, but pkg-config gets installed already anyway
> because of libidn11-dev.
Depending on pkg-config is, I think, a step backwards. If you have
pkg-config:amd64 installed, then (in the absence of environment
variables) pkg-config will only search for amd64 libraries. So that
will only work if you have libcurl4-*-dev:amd64 (possibly in addition
to other architectures.)
So (ignoring for the moment the fact that pkg-config currently isn't
multi-arch at all) depending on "any" pkg-config is wrong (unless
libcurl.pc is moved to /usr/share/pkgconfig, which is also arguably
wrong) and depending on "same-arch" pkg-config prevents
co-installation.
In contrast, if curl-config is a simple arch-independent script, it
will Just Work for any architecture. As for pkg-config, you can set
up an 'i386-linux-gnu-pkg-config' wrapper, which most configure
scripts can be made to honor.
> Incidentally, pkg-config is not multi-arch ready yet (#726598) (and possibly
> many of the -dev dependencies of libcurl -dev packages), so this whole
> exercise
> wouldn't lead to any actual benefit until those are fixed as well.
So I have to wonder how many of those are actually needed for
compiling and linking with libcurl, and whether they could be
downgraded to recommendations.
In any case, I briefly looked through all of the -dev packages that
libcurl4-*-dev depends on.
The following packages are already marked as "Multi-Arch: same".
libldap2-dev
zlib1g-dev
The following packages already appear to be multi-arch compatible.
(All except krb5-multidev contain .pc files, but those .pc files do
not depend on the architecture except for $libdir. Since pkg-config
automatically removes "-L/usr/lib/<triplet>", that means the --cflags
and --libs are arch-independent.)
krb5-multidev
comerr-dev
librtmp-dev
libssh2-1-dev
libssl-dev
libidn11-dev (ignoring the dependency on pkg-config)
The following packages are already multi-arch compatible except that
they install scripts similar to curl-config in /usr/bin. These
scripts could be adapted without much difficulty to be
arch-independent.
libkrb5-dev
libnss3-dev
libnspr4-dev
libgnutls-dev is already multi-arch compatible except for some
weirdness in gnutls.pc ("-R/usr/lib/<triplet> -lgpg-error", which is
probably a bug.)
libgcrypt11-dev and libgpg-error-dev both include binaries in
/usr/bin, which I guess would need to be moved to a separate package.
Both of these packages also include -config scripts.
libtasn1-3-dev is already multi-arch compatible, except that some
anchor names in the generated HTML documentation appear to be
dependent on the build system (a gtk-doc bug?)
libp11-kit-dev has some arch-specific stuff in its .pc file
(p11_module_path and proxy_module).
Benjamin
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]