kstartupconfig5

David Faure faure at kde.org
Sun Feb 23 10:37:05 UTC 2014


On Thursday 20 February 2014 11:22:54 Alex Merry wrote:
> On 19/02/14 18:07, Jaime wrote:
> >   I've looked in the bin directory and there is no kstartupconfig5.
> >   I've done a grep in the source and it is included in kde-workspace,
> > 
> > but aparently, it is only for BSD.
> > 
> > if(LIBBSD_FOUND)
> > 
> >     ecm_optional_add_subdirectory(
> > 
> > kstartupconfig)
> > else()
> > 
> >     message(STATUS "LibBSD was not found, kstartupconfig will not be
> >     built")
> > 
> > endif()
> 
> Note that glibc provides a "libbsd", which is its BSD compatibility
> library.  In fact, the reason kstartupconfig5 links against appears to
> be its use of strlcpy and strlcat.  So this is not aimed at BSD-ish
> systems (I don't even know whether BSD-ish systems have a libbsd...).

Urgh, this is some strange evolution we're seeing there.

1) kstartupconfig is supposed to be built for everyone, this if() is wrong.

2) in the kdelibs4 world, strlcpy and strlcat were provided by "kdefakes" - 
header installed by kdecore, symbols in kdecore itself, on platforms where the 
functionality didn't exist.

3) in KF5 we cleaned up kdefakes and ported KF5 away from it, but maybe we 
omitted the fact that things like kstartupconfig might need to use it too.

==>

I would suggest doing like in KCrash, which inherited the "strlcpy fake" from 
kdefake, since we thought it was the only user of it.
Copy config-strlcpy.h.cmake and strlcpy-fake.c and the configure check.

And remove the LIBBSD stuff, it makes no sense at all.

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5



More information about the Kde-frameworks-devel mailing list