bug-ncurses
[Top][All Lists]
Advanced

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

Re: poll() check and bootstrapping


From: Tomáš Čech
Subject: Re: poll() check and bootstrapping
Date: Thu, 8 Oct 2015 13:48:33 +0200
User-agent: Mutt/1.5.24 (2015-08-30)

On Tue, Oct 06, 2015 at 08:34:46PM -0400, Thomas Dickey wrote:
On Tue, Oct 06, 2015 at 01:55:45PM +0200, Tomáš Čech wrote:
Hello,

I'm trying to clean the openSUSE spec file (recipe for build or RPM
package) and I found some workarounds which I believe should get fixed
in upstream instead.

1] I found that we're running whole build in screen to correctly pass poll() 
test
  ("checking if poll really works")

I asked our ncurses maintainer to patch the configure instead
involving terminal emulator in the build but I believe that it is
something other distribution may benefit from.

Would that be acceptable to add something like

  --have-working-poll=(yes|no)

to override the test?

Not really - suggestions for reliably testing the system without a
terminal are welcome.  I wrote the test a while back due to a broken
implementation on Linux...

(Options such as that suggested only lead to new bug reports...)

I'm afraid I can't agree.

1] This test is helpful only if the build machine has similar
  conditions as the machine where the binary will run which is not
  always that case (like for many binary distributions).

2] The result of this test will prefer usage of select() instead of
  poll() so if there would be any problem with poll(), we won't see it
  and we won't fix it because ncurses will hide the problem and use
  select() instead.

I'm attaching patch which can this option in case you change your mind
and until then I'll modify openSUSE spec file.



2] it seems that build fails when submitting
  --with-fallbacks='some,terms,here' and when tic is not present in the
  system

It's been a documented requirement of the option for a long time, in the
INSTALL file:

        In order to support operation of ncurses programs before the terminfo
        tree is accessible (that is, in single-user mode or at OS installation
        time) the ncurses library can be compiled to include an array of
        pre-fetched fallback entries.  This must be done on a machine which
        has ncurses' infocmp and terminfo database installed (as well as
        ncurses' tic and infocmp programs).

I know it is not common situation and you usually have older version
of ncurses available but sometimes you need to build everything from
scratch.

But building from build-copy of tic has always been an option for a
packager simply by properly setting the $PATH variable (and possibly
LD_LIBRARY_PATH, depending on your build configuration).  There's no
need to do two builds.

As I understand, only when --with-fallbacks list is empty. Otherwise
there is circular dependency.

Maintainer had to generate fallback.c with FALLBACK_LIST="" (not to
involve tic), build tinfo and tic to be able to build correct
fallback.c to continue with the build.

I think this can be considered as bug.

no - it's intentionally made simple...

'Intentionally made simple' like not worth of effort or like solution
is far more complicated than problem?

IOW - would you accept patch which would modify Makefile.in (and
possibly configure.in) to prepare tic, infocmp and terminfo tree for
building ncurses without those binaries available in system?


Best regards,

Tomas Cech

Attachment: force-working-poll-result.patch
Description: Text Data

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]