Hello Eric, czw., 4 mar 2021 o 10:31 Eric Bollengier <e...@baculasystems.com> napisał(a):
> > and the Debian is using readline only for Bacula: > > Debian folks had a long "battle" because readline was GPL and not > compatible with non-pure-GPL software, something like that. I don't know > what was the final result of this, but it's nice to be able to use a BSD > version of the readline, they are compatible. > You should be right as I can find: libreadline-dev/oldstable,now 7.0-3 amd64 [installed] GNU readline and history libraries, development files libreadline-gplv2-dev/oldstable 5.2+dfsg-3+b1 amd64 GNU readline and history libraries, development files > > Also, I now remember that on some system, they had multiple versions of > readline (something like readline4, readline5 and readline6) at the same > time. My guess is that all these versions were in different directories, > probably include/readline5/, include/readline6, etc... > Unfortunate, no. There is a single libreadline-dev version allowed: libreadline-gplv2-dev : Conflicts: libreadline-dev but 7.0-3 is to be installed Conflicts: libreadline6-dev So it seems that no multiple development headers are supported here. > I was developing on Debian mostly at that time, and it can be a pretty > good explanation why the current system is like this. If tomorrow > readline8 is not compatible with readline7, the same situation may > happen again. > > I do not understand it. > > So, if we want to support Bacula with editline as the replacement for > > readline then we should extend our detection code and add a proper > > compilation option. > > This is my humble opinion. > > The actual system supports editline, but without a specific detection > code in the configure process. > > I disagree. The current code is unable to properly use a properly installed editline library without configure tricks. I call it no-support. # dpkg -l|grep libedit ii libedit-dev:amd64 3.1-20181209-1 amd64 BSD editline and history libraries (development files) ii libedit2:amd64 3.1-20181209-1 amd64 BSD editline and history libraries ii libeditline-dev 1.12-6.1 amd64 development files for libeditline ii libeditline0 1.12-6.1 amd64 line editing library similar to readline # grep READLINE src/config.h /* #undef HAVE_READLINE */ /* #undef HAVE_READLINE */ BTW. I'm not sure why there are two HAVE_READLINE definitions in config.h? > If you are sure that the editline library is a drop-in replacement to > > readline then it is trivial to add this library detection and start to > > support it officially. > > If users are using it and report an error or a patch, I think we would > accept them, readline is part of the system, so, we have the right to > link against it even if it's GPL. > In my opinion: - any library external to the project should be used with #include <...>. - readline library should be used with <readline/readline.h> etc. as this is a proper way designed by readline developers - the macro READLINE_LIBRARY should be removed as it is an internal/unofficial api (for example, it is not used by editline anymore) - editline library support should be added explicitly - this all clean the code I hope you agree. -- Radosław Korzeniewski rados...@korzeniewski.net
_______________________________________________ Bacula-devel mailing list Bacula-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-devel