[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: static linking



What's the preferred way to set Built-Using: http://sources.debian.net/src/chromium-browser/42.0.2311.135-2/debian/control/?hl=82#L82 , http://sources.debian.net/src/binutils/2.25-7/debian/rules/?hl=998#L998 , or something else?

The existing statically-linked-binary / shared-lib-without-dependency-information check appears to catch only _totally_ static linking, while my (few) packages suggest "dynamically link common libraries such as libc, statically link (or embed) more unusual libraries" is the more common problem. (E.g. upstream beignet defaults to dynamic libc/libdrm/libx11/libxext/libxfixes, static libllvm/libclang. The current packaging makes libllvm dynamic, but leaves libclang static due to #698247, and doesn't trigger the warning.)

We could check for partially-static linking with something like "if source build-depends on lib(.*?)-dev and \1 not in [ ghc-.*, .*-ocaml, boost1.[0-9]* /*any more common static-only/headers-only libs? can use overrides for the rare ones*/ ], at least one binary should depend on lib\1[0-9.-]*" (which will also catch totally-unused build-dependencies, but I guess we don't want those either), but I haven't tested that.


Reply to: