Re: More than 10% of all Fedora spec files are not POSIX sh compliant

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

 



[.all the comments.]

All replies are between "who cares?", "it is holy war/waste of time" to something like "be standards compliant is important" .. this thread is hilarious 😀
I'm observing all the comments under my post and (with full respect to all of you guys) looks like all of you guys are wrong why sticking to POSIX sh is important 😎

Literally all of you lost one very important fact that bash is not fastest sh interpreter which is possible to use and only kind of coincidence is that all those fastest are almost puritanically POSIX sh compliant!!! 😀

OK, so about what kind of performance difference in context of exact numbers we are talking about?
I've tested building gcc using mksh as /bin/sh.
Only one detail: on doing that test you will find small obstacle that you will be not able to measure whole build time because in the %install of the gcc.spec is used pushd/popd.
Warning: on looking on whole gcc %install please remember wearing welder mask because without it may hurt your brain (Yes, it is yet another my small pebble with name "badly maintained" thrown in direction of the gcc because it forces to do so many things outside pure "make install").

Checked my zabbix and here is the graph with CPU usage made during building gcc on 24 core box (48 CPUs with MT) when bash is used as /bin/sh:
image.png
As you can see on the graph ~+60% of whole gcc build time hangs on single thread/core serialised processes. Quite significant part of that time is spend in running sh scripts. Only in second half of the build is possible fully saturate potential of that particular HW (on running test suite).
Switching to other than bash sh interpreter allow reduce total gcc package build time by ~5%.
On my 24 physical CPU core HW it is about 10 minutes.

Guys just try to have look around and try to estimate how many Fedora packages are using autoconf/libtool and other POSIX sh based build frameworks or using /bin/sh.
As all those frameworks are using sh mostly they are running without parallelism how fast is /bin/sh is crucial.

No .. be POSIX sh compliant it is not about any kind of holly war!!! It is pure about performance and for people like me quite often time spend waiting until package X build will be finished. Some people cursing that waiting and calling it "PCtology" (waiting on the front of the PC until something will be finished).

BTW readline and bash: is there any particular reason why Fedora bash still is statically linked with readline generated out of the  own copy of readline code? That not changed from more than decade (if not +13y) so it must be some reason 🤔
IIRC readline is relatively high on the list of most frequently affected packages by various CVEs so in case of any new issue with readline someone must remember about that because ..

[tkloczko@domek SPECS.fedora]$ grep bundled bash.spec 
[tkloczko@domek SPECS.fedora]$ 

Someone must remember about that (somehow) because bash is used as /bin/sh which and is used almost everywhere(tm),  and by this attacking bash still is quite popular vector of many security related attacks.
Simpler /bin/sh -> lower probability of many security related issues from that angle.

Do you see now the subject in proper light?

kloczek
-- 
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux