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