Util-Linux package development
 help / color / mirror / Atom feed
From: Joel Holdsworth <joel@airwebreathe.org.uk>
To: Karel Zak <kzak@redhat.com>,
	Bernhard Voelker <mail@bernhard-voelker.de>,
	util-linux@vger.kernel.org
Cc: Joel Holdsworth <joel.holdsworth@vcatechnology.com>
Subject: Re: [PATCH] build-sys: cal requires both ncurses and tinfo
Date: Fri, 24 Jul 2015 18:33:37 +0100	[thread overview]
Message-ID: <55B276F1.5070706@airwebreathe.org.uk> (raw)
In-Reply-To: <20150724075612.GE3432@ws.net.home>

On 24/07/15 08:56, Karel Zak wrote:
> On Fri, Jul 24, 2015 at 08:23:51AM +0200, Bernhard Voelker wrote:
>> On 07/24/2015 12:56 AM, Joel Holdsworth wrote:
>>> This fixes a bug in the build system when building without ncurses
>>> and tinfo. When cal is linked, it depends on both these libraries
>>> and will fail to link if either of them is not available.
>>>
>>> This patch resolves the issue by explicitly declaring these
>>> dependencies in the confgure.ac.
>>
>> wouldn't this invalidate configure's --without-ncurses option?
> 
> No, from this point of view the patch is correct
> 
>  UL_BUILD_INIT([cal], [check])
> 
> specifies the util as optional, so
> 
>  UL_REQUIRES_HAVE([cal], [ncurses], [ncurses library])
> 
> checks for the library and if not found then print WARNING and disable
> the util. 
> 
>  UL_BUILD_INIT([cal], [yes]) 
>  
> specifies that the util is strictly required.
> 
> 
> Anyway from my point of view the patch is unnecessary as cal.c should
> be possible to compile without curses and tinfo at all.
> 
>     Karel
> 

Ok, so cal can build without ncurses and/or tinfo - fine ok.

The problem I have is with misc-utils/Makemodule.am:14

https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/misc-utils/Makemodule.am?h=stable%2Fv2.26#n14

...this is making it link with -ltinfo, which fails because I'm not
providing it. Would it be more correct to make NCURSES_LIBS and
TINFO_LIBS become empty when they're not available? Is this how it's
meant to work? Did it ever work this way previously?

I'm slightly suspicious of my cross-build setup if configure is picking
up "-ltinfo" dependencies from the host system, but even with
'--disable-tinfo', TINFO_LIBS is still not set to "".

Also having UL_BUILD_INIT([cal], [yes]) to force cal to always be built
seem ridiculous; in fact why should any of the tools be forced? The user
should be able to mix and match whatever programs they want to have.

Another related issue is that I was hoping to be able to do
'--disable-all-programs', then '--enable-XXX' the ones I need one by one
- but the disable-all flag seems to take precedence right now.

Can someone suggest what a patch to fix this should be like?

Joel

  reply	other threads:[~2015-07-24 18:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23 22:56 [PATCH] build-sys: cal requires both ncurses and tinfo Joel Holdsworth
2015-07-24  6:23 ` Bernhard Voelker
2015-07-24  7:56   ` Karel Zak
2015-07-24 17:33     ` Joel Holdsworth [this message]
2015-07-24 20:09       ` Karel Zak
2015-07-27  9:55       ` Karel Zak
2015-07-24  7:51 ` Karel Zak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55B276F1.5070706@airwebreathe.org.uk \
    --to=joel@airwebreathe.org.uk \
    --cc=joel.holdsworth@vcatechnology.com \
    --cc=kzak@redhat.com \
    --cc=mail@bernhard-voelker.de \
    --cc=util-linux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox