On Thu, 07 Feb 2008, Szakáts Viktor wrote: > Before I read through your mail, let me note this is group > work, and while I'm familiar with some parts of it, I'm > not with some others, and no such implications (namely > the tie in between lib name and dir name in core) were > visible (or noticed by anyone), before the fact. I don't > think killing anyone would solve anything, but before you > jump to my throat notice that I haven't touched any central > GNU make (.cf) files, _only_ 'Makefile's LIBNAME line. > I doubt the file loss was the result of that.
Viktor, I know that it was not intentional and I only express my bad feeling. Sorry if you take this part personally. In fact the dangerous modification was done by Ryszard but such things may happen when you are forcing deepd modification in "last minute". I though that e agree that only things which are well tested and will not break release process should be commited. If sth cannot be done in safe way it should not be commited. AFAIR when few weeks (months) ago we want to release binaries you also have some "fixes" on the last minutes. Just for you information - I know some real bugs which have to be fixed but I do not commit anything because I'm waiting for the end of release process. This bugs are not citical, only few peope knows aboout them and in few cases it's a risk that I'll start some long process of fixes. Please release the new version ASAP. It will make many people happy and open the doors for developers for farther modifications. I have no doubts that next Harbour version will beat the older one even if it will have to introduced some fundamental modifications in core API. I'm usually quite pedantic in code I make public but it's not my life goal but the result of some practice. I hate bugs which are results of nested bad design decisions. In longer terms programmers have to spend more time on bug fixes then on productive work. But I've never wrote a code (probably with only one exception written directly in machine code even without any assembler) and I was happy with it and I couldn't say that nothing can be improved. If we agree that it's time to make release then it's compromise - common group decisions. It was possible to release version 1.0 half year ago. It's a time without any new extensions when all developers are waiting for a time when they can introduced new (often long waiting) features. And we do not even finished base modifications like MT mode which may stronlgy interact with existing API so even todays modifications may be temporary. It's normal and good because it means that Harbour is living project. > I'm sorry if the whole process resulted in file losses > for you :( Unfortunately bumps are expected, even if I > find it odd that our make system can be such a dangerous > beast. It was nothing more then a typo which can appear in any make file in any project. It's a risk of using development code. And this is the reason why such modifications should never be done in few hours before final release when we ask many people to make build tests. I thought that you are one of the last person who will do sth like that. > I had actually expected (but definitely hoped) you to take > part in this rename process because of your different > environment and skills, especially after you've agreed > and even gave input to it. I agreed only with a condition that you can make it well without breaking release process. I simply though that you will change library names synced with directory names. > About a "simple file rename" I don't know what you > meant, but if you had exposed this idea _before_ > or _when_ we've been discussing the rename stuff, > maybe could have a better solution. I'm not the original author of Harbour GNU make system. I know how it works because I invested some time to look at it and I though it was clear for every one. Especially for you because few weeks ago I send you a message about this problem when you were updating contrib libraries. > About GTI_ and HB_GTI. GTI_ violates one important > rule and nothing was removed, so either on C and > Harbour level everyone can still use GTI_, despite it > being an xhb compatibility set of #defines imported > to Harbour. So the path is there for the Harbour compliant > way, yet no one suffers from any drawbacks. Where do you > see a problem? Mix of functions and symbols which comes from Clipper and Harbour. The Harbour ones have HB_ prefix and the Clipper ones don't. Only people who perfectly knows all Clipper functions can understand why some things needs HB_ prefix and why some others don't. Why we have DBI_* and why HB_GTI_*. Not all Harbour users started with Clipper and even not all Clipper user knows Clipper enough to understand some things. If we will be too restrictive in some case then finally it will be necessary to rewrite all core functions with alternative name having HB_* prefix. Then finally someone will implement name space support (f.e. some initial version was created for xHarbour by Ron recently - it's not exactly what I want but perfectly shows the possibilities) and will ask us why we introduce such redundancy with HB_ prefix in all possible places which now cannot be removed due to backward compatibility. I do not want to allow to add anything to core code. xHarbour has many public functions which should never appear in core code with such general names like NetDbUse(), NetLock() because probably most of us has sth similar so they do not add anything valuable but are possible source of conflicts. But if I'm adding yet another ord*() functions then I do not want to call it hb_ord*(), f.e. ordCount(), ordWildSeek(), ordKeyRelPos() because it will not help anyone and only increase the problem with cleaning the code in the future. > >1. authors of these two libraries intentionally keep binary > > compatibility for years to avoid such problems so in this > > case you haven't help any one but only created new problem > > by removing them. > It's still not legal, and it still raises some other concerns, Brian, can you ask extended system if we can have ace.h in our SVN/CVS repositories? > and binary compatibility is by far not guaranteed, what happens > with the new functions added to ADS8 .h file, when someone is > using an ACE6 .dll with it? What happens when someone is passing > a non valid (later introduced) #define with an existing function? I do not know about any problems which may be cause by this header file in current code. Do you know any? > If someone wants to create a release (which supposes some > familiarity with both Harbour and it's contribs and make > systems), is it a very high expectation to set a few envvars > and to have these two packages installed? I believe you will find people for it. Good luck. > You still haven't answered what are the "serious problems" > these "missing" headers can cause. I'd really like to see them :( I was testing about 15 different builds of Harbour and braking this process is a serious problem. If I will have to hack each cross build test to pass new condtions then it will stop be real tests. But it's not longer a problem because I do not plan to make such test in the future. I've just created a repository for my own use so I do not plan to repeat such tests current official releases. > >2. when we finished release process then you can remove them. > > I will not be longer interested what will happen in the main > > branch because I plan to create new one only for development > > If you will find anything useful then you can borrow it to > > official branch. > I'm not exactly sure what do you mean by that? An internal fork? Call it as you want. Of course it was only a proposition. I do not have to public my work. I haven't ever had any incomes from Harbour or xHarbour other then using some part of my code in my business work. Now I plan to concentrate only on this last aspect and I plan to leave most of core code modifications for others. Only few things I started and I do not wast the invested time I want to commit. > >And please also look for someone who will continue release process. > >I'm afraid that I do not have more time for it. Now I have to restore > >many things I lost which are important for me. > :( > I feel our GNU make system is flawed or overcomplicated if it can > cause such things. It's not GNU make problem but result "last minute" modification. I can reach such results by small typo (one /) in non GNU make files too or by wrong setting some variables. It happened in GNU make system because it's for much more platforms and compilers then others so the risk of stupid mistake is much bigger. Finally: it's nothing personal to you or anyone - you made increadible and valuable job for this project. Just simply I think now it's a time to look for other people work (maybe I'll find sth interesting for me) and move focus to some other things. For sure I definitely do not want to be a person who will have to prepare new release anymore if I cannot control this process at all. Wake me up when 1.0 will be ready. Meanwhile maybe I'll help in some minor problems but I cannot promise. best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour