Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-24 Thread Markus Elfring via evolution-hackers
> Evolution depends on the evolution-data-server, not only as a usual
> library dependency, but also because things are just split into the two
> projects and to fix a problem in Evolution can mean to touch the
> evolution-data-server code, sometimes only there, sometimes on both places.

Thanks for such background information.


> Thus when you develop for Evolution, you should build it into
> the same CMAKE_INSTALL_PREFIX as you built the evolution-data-server with.

Such a software build configuration can make the dependency resolution
a bit easier.
But I am trying to achieve that the service and client implementation
can be built separately.
There can be also several installation locations be considered for
required libraries on demand.


> It seems it's not understandable from the copy tutorial of
> "how to build from sources" for you for some reason, from a link I gave
> you I guess like tenth times:
> https://wiki.gnome.org/Apps/Evolution/Building
> Read it carefully. Follow it closely. Things will work.

This version of the installation instructions work only together with
some constraints.


> I said it to you elsewhere already: if you do nasty things (using the
> DESTDIR and expect that you can build against such "copied"
> (they are not *installed*,

The software components get installed into an alternative location.


> because DESTDIR != CMAKE_INSTALL_PREFIX) sources,

The software installation gets redirected to an other destination
(if such an environment variable is supported on a system).


> then you are in it on your own.

I hope that the software development attention and interests can grow
for this purpose.


>It doesn't mean the code base doesn't
> support other environments, it only means that there is no intention to
> make the Building page too complicated, to rise the barrier to the
> newcomers, from my point of view unnecessary.

I suggest to reconsider corresponding concerns.


> You do not seem to be a newbie,

That is right. - This can be easily determined from published development 
activities.


> you seem to be able to make things work on your own,

I am trying also to reduce limitations occasionally.


> with your nasty workarounds.

I am curious under which circumstances proper solutions will be applied.


> Which is good. For you.

I imagine that more people can benefit from the presentation of
an evolving build script adjustment.
Further implementation details can be improved accordingly, can't they?

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-24 Thread Milan Crha via evolution-hackers
Hi,

On Mon, 2020-11-23 at 21:00 +0100, Markus Elfring via evolution-hackers
wrote:
> This build parameter can trigger also further development challenges.

No, as long as you use it properly.

Evolution depends on the evolution-data-server, not only as a usual
library dependency, but also because things are just split into the two
projects and to fix a problem in Evolution can mean to touch the
evolution-data-server code, sometimes only there, sometimes on both
places. Thus when you develop for Evolution, you should build it into
the same CMAKE_INSTALL_PREFIX as you built the evolution-data-server
with.

That's all.

It seems it's not understandable from the copy tutorial of
"how to build from sources" for you for some reason, from a link I gave
you I guess like tenth times:
https://wiki.gnome.org/Apps/Evolution/Building
Read it carefully. Follow it closely. Things will work.

I said it to you elsewhere already: if you do nasty things (using the
DESTDIR and expect that you can build against such "copied" (they are
not *installed*, because DESTDIR != CMAKE_INSTALL_PREFIX) sources, then
you are in it on your own. It doesn't mean the code base doesn't
support other environments, it only means that there is no intention to
make the Building page too complicated, to rise the barrier to the
newcomers, from my point of view unnecessary. You do not seem to be a
newbie, you seem to be able to make things work on your own, with your
nasty workarounds. Which is good. For you.

Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-23 Thread Markus Elfring via evolution-hackers
> … Instead, use DESTDIR properly

I find that this happening here.


> (aka not at all,

I am using such an environment variable for intended purposes,


> because you are not a packager,

Such a view can be appropriate at the moment.


> and configure the project properly,

Such an expectation can be fine (in principle).


> by using expected CMAKE_INSTALL_PREFIX, not some artificial.

This build parameter can trigger also further development challenges.

The chosen installation approach influences which storage locations
can be reused for libraries from the GNOME Evolution data service,
doesn't it?


> That's at least my understanding from this lengthy thread.

Our software usage seems to differ in specific aspects.

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-23 Thread Milan Crha via evolution-hackers
On Mon, 2020-11-23 at 17:15 +0100, Markus Elfring via evolution-hackers
wrote:
> How do you think about to take further software extension
> possibilities into account here?

Hi,
no, I'm sorry. Instead, use DESTDIR properly (aka not at all, because
you are not a packager, you are not building a package) and configure
the project properly, by using expected CMAKE_INSTALL_PREFIX, not some
artificial. That's at least my understanding from this lengthy thread.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-23 Thread Markus Elfring via evolution-hackers
> In file included from 
> /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/e-util.h:266,
>  from 
> /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/test-proxy-preferences.c:18:
> /home/elfring/Projekte/Gnome/Evolution/lokal/src/e-util/e-webdav-browser.h:26:10:
>  fatal error: libedataserverui/libedataserverui.h: No such file or directory
>26 | #include 
>   |  ^
> compilation terminated.
> ninja: build stopped: subcommand failed.
>
>
> Now I imagine that the header file inclusion parameters can be extended 
> somehow.
> Would you like to clarify corresponding adjustment possibilities?
>
> How should a path like the following be automatically chosen to resolve
> such a software dependency?
> ~/Projekte/Test/Evolution/Service/current/home/elfring/Projekte/Test/Evolution/Service/current/include/evolution-data-server/libedataserverui/libedataserverui.h

Now I suggest to extend a build script like the following.
https://gitlab.gnome.org/GNOME/evolution/-/blob/d1f4010751c65a3ac5de3919905e2f14f5f4744f/CMakeLists.txt#L271

add_printable_variable(EVOLUTION_DATA_SERVER_LIBRARY_SUBDIR
   "Choose a subdirectory for library files of the GNOME 
Evolution data server on demand"
   "evolution-data-server")
add_printable_variable_path(EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX
"Choose an installation prefix for the GNOME 
Evolution data server on demand"
"${CMAKE_INSTALL_PREFIX}")

if(EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX)
if(PKG_CONFIG_USE_CMAKE_PREFIX_PATH OR CMAKE_VERSION 
VERSION_GREATER_EQUAL 3.1)
option(EVOLUTION_DATA_SERVER_USE_STATIC_LIBRARIES
   "Should a configuration be used according to static 
libraries from the GNOME Evolution data server?"
   ON)
cmake_policy(SET CMP0057 NEW)
set(EVOLUTION_DATA_SERVER_INSTALLATION_DIR

"${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}${CMAKE_BINARY_DIR}")

if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST 
CMAKE_PREFIX_PATH)
list(APPEND CMAKE_PREFIX_PATH 
"${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}")
endif()

if(CMAKE_HOST_SYSTEM_NAME EQUAL "Darwin")
if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST 
CMAKE_FRAMEWORK_PATH)
list(APPEND CMAKE_FRAMEWORK_PATH 
"${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}")
endif()

if(NOT EVOLUTION_DATA_SERVER_INSTALLATION_DIR IN_LIST 
CMAKE_APPBUNDLE_PATH)
list(APPEND CMAKE_APPBUNDLE_PATH 
"${EVOLUTION_DATA_SERVER_INSTALLATION_DIR}")
endif()
endif()
endif()
endif()

pkg_check_modules(EVOLUTION_DATA_SERVER REQUIRED
camel-1.2>=${eds_minimum_version}
libebook-1.2>=${eds_minimum_version}
libecal-2.0>=${eds_minimum_version}
libedataserver-1.2>=${eds_minimum_version}
libedataserverui-1.2>=${eds_minimum_version}
libebackend-1.2>=${eds_minimum_version}
)

if(EVOLUTION_DATA_SERVER_INSTALLATION_DIR)
set(subdir "/${EVOLUTION_DATA_SERVER_LIBRARY_SUBDIR}")

if(EVOLUTION_DATA_SERVER_USE_STATIC_LIBRARIES)
set(pattern "(.*/include${subdir})")
list(TRANSFORM EVOLUTION_DATA_SERVER_INCLUDE_DIRS REPLACE
 "^${pattern}$" 
"${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}\\1"
 OUTPUT_VARIABLE x)
message(STATUS "Static transformation approach:\n${x}")
list(TRANSFORM EVOLUTION_DATA_SERVER_CFLAGS REPLACE
 "^-I${pattern}$" 
"-I${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}\\1"
 OUTPUT_VARIABLE y)
else()
set(pattern
#   
"(${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}.*/include(?!${subdir}))"
"(${EVOLUTION_DATA_SERVER_INSTALLATION_PREFIX}.*/include)"
   )
list(TRANSFORM EVOLUTION_DATA_SERVER_INCLUDE_DIRS REPLACE
 "^${pattern}$" "\\1${subdir}"
 OUTPUT_VARIABLE x)
message(STATUS "Dynamic transformation approach:\n${x}")
list(TRANSFORM EVOLUTION_DATA_SERVER_CFLAGS REPLACE
 "^-I${pattern}$" "-I\\1${subdir}"
 OUTPUT_VARIABLE y)
endif()

if(EVOLUTION_DATA_SERVER_INCLUDE_DIRS EQUAL x)
message(FATAL_ERROR "An adjustment approach failed for the 
variable “EVOLUTION_DATA_SERVER_INCLUDE_DIRS”.\nPlease check the corresponding 
dependencies once more.")
endif()

if(EVOLUTION_DATA_SERVER_CFLAGS EQUAL y)
message(FATAL_ERROR "An adjustment approach failed for the 
variable 

Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-16 Thread Markus Elfring via evolution-hackers
> When you tell the software that the files will be located in /a/b (in
> this case by using -DCMAKE_INSTALL_PREFIX=/a/b) and then you install it
> into /g/h (by using DESTDIR=/g/h make install) then it does exactly
> what you told it.

This part should usually be fine.


> b) you do not need to (mis-)use DESTDIR at all.

I am using this variable in the intended way.


> If you are going to object that you intentionally want to use different
> install directory in configure and then install files elsewhere and
> then you intentionally want to use the files from the other location
> than for which the software was configured, then you did not understand
> what the DESTDIR is for.

I am pointing out that there are further development and configuration
challenges to consider for reuse of such installed data.
The build scripts can be extended to look for software dependencies
in additional storage locations according to related applications.

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-16 Thread Milan Crha via evolution-hackers
On Mon, 2020-11-16 at 15:45 +0100, Markus Elfring via evolution-hackers
wrote:
> It seems that this is not directly supported so far with the provided
> version.

Hi,
no, no, no, I do not think so.

When you tell the software that the files will be located in /a/b (in
this case by using -DCMAKE_INSTALL_PREFIX=/a/b) and then you install it
into /g/h (by using DESTDIR=/g/h make install) then it does exactly
what you told it.

Use -DCMAKE_INSTALL_PREFIX=/g/h and:
a) you'll install files where you want them to be installed
b) you do not need to (mis-)use DESTDIR at all.

If you are going to object that you intentionally want to use different
install directory in configure and then install files elsewhere and
then you intentionally want to use the files from the other location
than for which the software was configured, then you did not understand
what the DESTDIR is for. Or I did not understand it, but, from my point
of view, the [1] (for which I gave a link to earlier) tells its
intention very clearly.

I consider this "discussion" over.

Thanks and bye,
Milan

[1] https://www.gnu.org/prep/standards/html_node/DESTDIR.html

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-16 Thread Markus Elfring via evolution-hackers
> I did not notice any limitation.

A build system configuration limitation was demonstrated by missing
a known header file which is available in another selected storage location.


>> I would like to reuse software components directly from a “staged”
>> (test) installation.
>
> Sure, then do configure it as such.

It seems that this is not directly supported so far with the provided version.
Thus I am also trying again to make you more aware of possible adjustments
for affected build scripts.

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-16 Thread Milan Crha via evolution-hackers
On Mon, 2020-11-16 at 14:52 +0100, Markus Elfring via evolution-hackers
wrote:
> I noticed specific limitations.

Hi,
I did not notice any limitation.

> I would like to reuse software components directly from a “staged”
> (test) installation.

Sure, then do configure it as such.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-16 Thread Markus Elfring via evolution-hackers
> https://www.gnu.org/prep/standards/html_node/DESTDIR.html

I have read the document section “7.2.4 DESTDIR: Support for Staged Installs”
once more.


> Hint: You misuse the DESTDIR variable.

I got obviously an other impression.


> Hence, there's nothing to be changed in the build process.

I am still trying to propose extensions for the affected build scripts.


> I mean, on the project side. It works perfectly fine and as expected

I noticed specific limitations.
I would like to reuse software components directly from a “staged”
(test) installation.


> by the rest of the world.

I am curious if the corresponding expectations will evolve further.

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-16 Thread Milan Crha via evolution-hackers
On Fri, 2020-11-13 at 22:03 +0100, Markus Elfring via evolution-hackers
wrote:
> > Make sure you provide precise commands to reproduce the problem.
> 
> The provided build data show helpful information for the failure
> to include a special header file.

Hi,
pity you denied to do the above.

> (with the help of the environment variable “DESTDIR”).

Oh, here's a little tiny bit of requested information.
Please, read this:
https://www.gnu.org/prep/standards/html_node/DESTDIR.html
and think what you've done wrong. Hint: You misuse the DESTDIR
variable.

Hence, there's nothing to be changed in the build process. I mean, on
the project side. It works perfectly fine and as expected by the rest
of the world. There are things to be changed on your side, though.
Bye,
Milan

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-14 Thread Markus Elfring via evolution-hackers
> could you use bug tracker to fill bugs, please?

I hope that the clarification will be continued with the bug report
“Make selection of installation contexts configurable for software build 
components”.
https://gitlab.gnome.org/GNOME/evolution/-/issues/1226

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-13 Thread Andre Klapper via evolution-hackers
On Fri, 2020-11-13 at 22:32 +0100, Markus Elfring via evolution-hackers
wrote:
> > and also always provided actual problem descriptions and use cases
> > in
> > your GitLab tickets (as requested many times before).
>
> Do you find my experience report acceptable and reasonable for the
> desired
> clarification of a compilation failure?

See Milan's reply in this thread plus my previous replies.

Cheers,
andre
--
Andre Klapper  |  ak...@gmx.net
https://blogs.gnome.org/aklapper/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-13 Thread Markus Elfring via evolution-hackers
> and also always provided actual problem descriptions and use cases in
> your GitLab tickets (as requested many times before).

Do you find my experience report acceptable and reasonable for the desired
clarification of a compilation failure?

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-13 Thread Andre Klapper via evolution-hackers
On Fri, 2020-11-13 at 22:23 +0100, Markus Elfring via evolution-hackers
wrote:
> > Not if you finally decided to follow the scheme and guidelines in
> > https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
> > (as requested many times before).
>
> Would you get into the mood to achieve further improvements for the
> affected
> software build system

Possibly, if you finally decided to follow the scheme and guidelines in
https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
and also always provided actual problem descriptions and use cases in
your GitLab tickets (as requested many times before).

andre
--
Andre Klapper  |  ak...@gmx.net
https://blogs.gnome.org/aklapper/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-13 Thread Markus Elfring via evolution-hackers
> Not if you finally decided to follow the scheme and guidelines in
> https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
> (as requested many times before).

Would you get into the mood to achieve further improvements for the affected
software build system (eventually also without the questionable issue tracker)?

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-13 Thread Andre Klapper via evolution-hackers
On Fri, 2020-11-13 at 22:03 +0100, Markus Elfring via evolution-hackers
wrote:
>
> There can be a risk that the communication will evolve in ways
> so that such an issue would be locked again before a desirable result
> would be achieved.

Not if you finally decided to follow the scheme and guidelines in
https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
(as requested many times before).

Cheers,
andre
--
Andre Klapper  |  ak...@gmx.net
https://blogs.gnome.org/aklapper/


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Checking installation of header files for data service components

2020-11-13 Thread Markus Elfring via evolution-hackers
> could you use bug tracker to fill bugs, please?

I can register another clarification request also in an issue tracker.


> Apart of it being much easier to track the issues,

There can be a risk that the communication will evolve in ways
so that such an issue would be locked again before a desirable result
would be achieved.


> and the infrastructure being made to handle such things properly,

The known information system can be helpful to some degree.


> it's also much harder to lost track of such issues
> than when it's lost in a mailing list.

I hope that technical aspects can be clarified also here.


> Make sure you provide precise commands to reproduce the problem.

The provided build data show helpful information for the failure
to include a special header file.


> I do not see how this could fail.

A pattern can be identified here.

The development version of the software “GNOME Evolution Data Server”
was installed into the directory “~/Projekte/Test/Evolution/Service/current”
(with the help of the environment variable “DESTDIR”).
This detail was not preserved by the tool “pkgconf” for reuse then.
Will the build system need any further software extensions?

Regards,
Markus
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers