"kde5" or "kf5" ?
Alexander Neundorf
neundorf at kde.org
Wed Feb 20 21:40:16 UTC 2013
On Monday 18 February 2013, Alexander Neundorf wrote:
> On Sunday 17 February 2013, David Faure wrote:
> > On Saturday 16 February 2013 17:23:46 Sune Vuorela wrote:
> > > On 2013-02-16, Alexander Neundorf <neundorf at kde.org> wrote:
> > > > _set_fancy(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/kde5/libexec")
> > >
> > > I still don't see a reason for a *shared* libexec directory. libexec is
> > > implementation details of specific libraries, just like one shouldn't
> > > mess around with each others private's in the code, one also shouldn't
> > > mess around with other's libexec bits.
> > >
> > > so libfoo's libexec should be lib_install_dir/foo/libexec
> >
> > I like this solution. It answers my long-lasting question about why there
> > isn't a standardized libexec path (so that
> > QStandardPaths::findExecutable) can look into it. If there isn't a
> > standard path, then we might as well split it per lib indeed.
> >
> > Any volunteer for porting the current uses of LIBEXEC_INSTALL_DIR
> > everywhere in kdelibs-frameworks (both in cmakelists.txt and in code)?
>
> I'll have a look (if nobody else is faster).
Ok, this is not a simple search-and-replace.
kinit.cpp has this code:
ByteArray execpath_avoid_loops( const QByteArray& exec, int envc,
const char* envs, bool avoid_loops )
{
QStringList paths;
const QRegExp pathSepRegExp(QString::fromLatin1("[:\b]"));
if( envc > 0 ) /* use the passed environment */
{
const char* path = get_env_var( "PATH=", envc, envs );
if( path != NULL )
{
paths = QFile::decodeName(path).split(pathSepRegExp);
}
}
else
{
paths = QString::fromLocal8Bit(qgetenv("PATH")).
split(pathSepRegExp, QString::KeepEmptyParts);
paths.prepend(QFile::decodeName(
CMAKE_INSTALL_PREFIX "/" LIBEXEC_INSTALL_DIR));
}
QString execpath = QStandardPaths::findExecutable(
QFile::decodeName(exec), paths);
...
return QFile::encodeName(execpath);
}
So it will find all executables installed into the same LIBEXEC_INSTALL_DIR.
(Having said that, it also assumes that LIBEXEC_INSTALL_DIR is a relative
path. It should be able to handle both).
If we don't have a common LIBEXEC_INSTALL_DIR anymore, what do we do then ?
Alex
More information about the Kde-frameworks-devel
mailing list