Hello Norman, Christian,
On 01/15/19 13:11, Norman Feske wrote:
Hello Guido,
your posting does not bode well with me.
My sincere apologies if my previous email came across as too harsh. I never had the intention to be rude. I think it came from lack of knowledge on my side to correctly understand your view.
Your latest response provided lots of background so I think I know where our misunderstanding came from.
... using an analogy: There is a country road that enters a village. At the side of the road, just in front of the school, there is a warning sign. The sign is meant to raise attention, to prompt drivers to decelerate, to get conscious about the situation, and - if everything is clear - to slowly accelerate again.
You drive this road for the first time. You see the sign, you get conscious of the situation, but at this time, no children are crossing the road. So your conclusion is to remove the warning sign to make the traffic run smoother though the village. I hope you agree that this wouldn't be a positive contribution to society. ;-)
I like the analogy, it fits well:
It was my first time on that road. But what you designed as a warning sign, felt like a road block to me: I could not build the package to the point that I could test it works. I was completely stuck, without any road signs (documentation, release notes, emails, blogs) on how to navigate around it. So I tried to remove the road block, not to kill children, just to get moving :-)
From the earlier responses, I understood that it is possible to leave internal symbols in the ABI-file but it seemed you gravitated to make the warning/road-block enforced. Being stuck behind it, I wanted to prevent that from happening. Hence my request for convenience. But I failed in articulating my view of the road-block.
When I filtered out the blacklist in abi_symbols, I could compile my depot package. After some evenings of fruitless struggle, it felt like a victory to me. That's when I made the PR. It solved my problem, so I assumed it could be of value to you.
[...]
Someone who offers a library should pay attention to the ABI in order to catch errors of library users at linking time, not at runtime.
Agree. But I wasn't yet at the stage of offering it to anyone. I still needed to compile it.
It took me some iterations to get the recipe files correct. Having to review at every cycle - and losing my review work when changing the recipes - did not seem attractive to me. So I wanted to postpone the ABI-cleanup until my test code could compile against the package.
So I end with a plea to make that warning easily bypassed during package development. Not just for me but also for others who start packaging.
Regards, Guido.