> 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]

Reply via email to