:: Re: [devuan-dev] Sources unbuildabl…
Top Page
Delete this message
Reply to this message
Author: Olaf Meeuwissen
Date:  
To: devuan-dev
Subject: Re: [devuan-dev] Sources unbuildable on Devuan
Hi,

Following up to self because I spoke from a fading recollection of how
autoconf works.

Olaf Meeuwissen <paddy-hack@???> writes:

> Hi,
>
> Mark Hindley <mark@???> writes:
>
>> I have just built src:dummy-systemd-dev for experimental.
>>
>> The binary contains a single file[1] extracted from Debian's systemd binary
>> package. The file enables other package builds to query installation paths using
>> pkg-config(1).
>>
>> Whilst I have not tested all of the Build-Depends: systemd sources in our
>> archive, manual installation of dummy-systemd-dev has enabled compilation of
>> alsa-utils and pipewire. Further testing is welcome. There may still be packages
>> for which this is insufficient.
>
> Based on the thread content, I get the distinct impression that that
> Build-Depends: is really a "Build-Configure-Depends:" where the project
> uses autoconf, CMake or similar with a bit of code to check for the
> presence of systemd related header files and/or libraries. If so, I
> would sort of expect those projects to do the Right Thing and disable
> anything that really depends on systemd or fail to configure.
>
> If it doesn't do either of those and bombs partway through the build,
> that'd be a bug, in my dictionary.
>
> Assuming it does, any Debian "systemd-dev" kind of package should, for
> Devuan purposes, *not* include header files and/or libraries. It should
> only contain the bare minimum to let projects pass its configure stage,
> note the fact that there is no systemd support and do the Right Thing.
>
> # For autoconf/automake projects, you shouldn't really need that *.pc
> # file # if, and that's becoming a bigger if as time progresses, the
> build # uses an upstream provided source tarball.


Correction, you need that *.pc file anyway even if the upstream source
tarball includes a configure script. The autoconf machinery will deal
with inlining the shell commands behind the PKG_* autoconf macros but
those will invoke the pkg-config utility. That, in turn, will look for
those *.pc files.

> # If builds consume a git # repository that does not include generated
> files like configure, you # will need that *.pc file just to create a
> configure script. For CMake # based projects, I think you actually
> need that *.pc file even with a # source tarball.


Hope this helps,
--
Olaf Meeuwissen                    FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join