Mailinglist Archive: opensuse-factory (1324 mails)

< Previous Next >
Re: [opensuse-factory] Re: ncurses spec
  • From: Tomáš Čech <sleep_walker@xxxxxxxxxxxx>
  • Date: Mon, 5 Oct 2015 14:42:24 +0200
  • Message-id: <20151005124224.GP22126@venom>
On Mon, Oct 05, 2015 at 12:29:55PM +0200, Dr. Werner Fink wrote:
On Sat, Oct 03, 2015 at 08:02:35AM +0200, Tomáš *ech wrote:
Hi,

first, this is no attempt for trolling or wasting your precious
time. I only see room for improvement and can't really understand why
you handle ncurses in so complicated and "messy" way.

I was looking recently into ncurses spec file and I was more than confused:

1] why do you use screen during build? is that still valid requirement
or it is some remnant of old dark ages?

The configuration of ncurses dependes on having a working terminal.
the screen utility is not from old dark ages but is still relevant.
Is you declare screen as old dark age and you declare ncurses
as old dark age.

Can you tell me which part depends? It sounds a bit crazy that library
to create access to terminals independent depends on terminal during
configuration.

Also, I haven't seen that in other distributions.

2] is really necesary to probe options through cflags()? Are these
options still required? How can one find that `-Wl,--hash-size=8599'
is the right value?

I do this to speed up the load of the libncurses by the runtime
linker. And this speeds up a lot, more that 8599 is not worth
AFAIHS from my last tests.

I see, I'm afraid that it answers only the third question and still
some comment in the spec could help.

Probing compiler capabilities sounds useful in some corner cases
outside (open)SUSE.



3] do we really want backward compatibility with ncurses 5.4 in
Factory/Tumbleweed/Leap? If so, why don't we use %ifarch for the
check?

We do! The API of ABI 6 is different and there will programs
which requires ole ABI 5.

But recent ncurses 5 version is 5.9 (2011-04-04), version 5.4 is
from 2004-02-08.

http://invisible-island.net/ncurses/announce-5.9.html


4] what security benefit is in wiping TMPDIR?

What is wrong with this? Remember that there are people which
building their own ncurses in their local setup.

How can one feel more secure after wiping TMPDIR full of public source
code and it's compiled objects?

5] gpm-devel library is not changing that frequently to have there
heuristics to find proper location

There are people which let system libraries move fro, /lib(64) to
/usr/lib(64)

So it is for people, who builds locally ncurses outside chroot and who
moves gpm library from /usr/lib(|64) to /lib(|64). I guess they can
handle themselves and we don't need to be prepared for them in spec.


6] what is 'correct fallback.c'?

Depends on the architecture. Do you have understood what fallback.c does?

No, I was working with the spec, not with the fallback.c. I'd add comment there.

It provides the fallback of the most common terminals if e.g.
/usr/share/terminfo
can not accessed due broken disk or in initrd.

Sounds like really nice thing to have. Upstream didn't accept that?


7] is there any effect of applying the same configure options multiple times?

Yes, it overrides the already applied configure options.

Yes, apparently. I should state my question better - is it required to build
properly?

8] why do we still build narrow character variant of libraries (in
Factory/Tumbleweed/Leap)?

Ask the people out there.

They take packages from Base:System - the change must start here.

9] what about generating two separate packages with separated ABI
version (ncurses5, ncurses6)?

NO

Why, we're doing that for other packages and it is nice way how to
specify which version you need.

Provide ncurses-devel from ncurses5-devel and ncurses6-devel, but you
can still specify ncurses5-devel if your application is not compatible
with recent changes...


10] why do we use different tack source? Are you aware of problems tack
author see in openSUSE?

http://invisible-island.net/ncurses/tack.html (License versus Packaging)

Tack is not part of ncurses and Tack has a different License.
Discuss this with Thomas E. Dickey and not with me.

There is tack tarball added to ncurses package (replacing the one in
ncurses). If it is not part of ncurses, why it is not in separate
package? It would also have correct license and give Dickey creadit
for this package at the same time...




11] we do have patches guidelines, they may help understand why we
keep patches for months and why that patches were not pushed to
upstream

https://en.opensuse.org/openSUSE:Packaging_Patches_guidelines

Do you want become maintainer of ncurses?

If it is the only way to do the clean up, yes, I don't mind.


With kind regards

Thank you for all your answers.

Best regardsm

Tomas Cech
< Previous Next >
Follow Ups