Shall "dmake clean" also remove "$INPATH.pro" directories?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Shall "dmake clean" also remove "$INPATH.pro" directories?

Arrigo Marchiori
Dear All,

we recently fixed the "dmake clean" problem that deleted the whole
source tree, in certain condition, instead of the $INPATH directories
[1].

Shall the command also delete the "$INPATH.pro" directories?  On my
system, they are:

./main/apache-commons/unxlngx6.pro
./main/solenv/unxlngx6.pro
./main/stlport/unxlngx6.pro
./main/test/unxlngx6.pro
./main/mythes/unxlngx6.pro
./ext_libraries/apr/unxlngx6.pro
./ext_libraries/coinmp/unxlngx6.pro
./ext_libraries/gtest/unxlngx6.pro
./ext_libraries/apr-util/unxlngx6.pro
...and many more.

If anyone can confirm this would be a desirable behavior, I can fix it
in the trunk branch. I am still struggling to understand the build
system.

Best regards.

References:

1: https://github.com/apache/openoffice/pull/113
   and incidentally: https://bz.apache.org/ooo/show_bug.cgi?id=124263
--
Arrigo

http://rigo.altervista.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Shall "dmake clean" also remove "$INPATH.pro" directories?

Peter Kovacs-3
Hi

On 01.01.21 18:41, Arrigo Marchiori wrote:

> Dear All,
>
> we recently fixed the "dmake clean" problem that deleted the whole
> source tree, in certain condition, instead of the $INPATH directories
> [1].
>
> Shall the command also delete the "$INPATH.pro" directories?  On my
> system, they are:
>
> ./main/apache-commons/unxlngx6.pro
> ./main/solenv/unxlngx6.pro
> ./main/stlport/unxlngx6.pro
> ./main/test/unxlngx6.pro
> ./main/mythes/unxlngx6.pro
> ./ext_libraries/apr/unxlngx6.pro
> ./ext_libraries/coinmp/unxlngx6.pro
> ./ext_libraries/gtest/unxlngx6.pro
> ./ext_libraries/apr-util/unxlngx6.pro
> ...and many more.
>
> If anyone can confirm this would be a desirable behavior, I can fix it
> in the trunk branch. I am still struggling to understand the build
> system.

removing this bit is desirable. I do not want to claim I understand it,
but I what happens is that each module (apache-commons, solenv, stport, ...)

will be "independently" build in its folder. In the end there is a
deliverabe step which copies everything into the final structure.

The Idea behind this construct is to speed up development time. Lets say
you want to work on one module. Then youcreate a complete build of
OpenOffice.

Afterwards you CD into your module you want to work on, chenge your
stuff, and then simply rebuild only the module. However since the
dependants may break

the build is more a pragmatic approach to the long build times instead.
Just think in the past they were even longer.

Check incompatible and compatible builds on
https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO for
more details.


HTH

Peter

--
This is the Way! http://www.apache.org/theapacheway/index.html

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Shall "dmake clean" also remove "$INPATH.pro" directories?

Arrigo Marchiori
On Wed, Jan 06, 2021 at 08:40:51PM +0100, Peter Kovacs wrote:

> Hi
>
> On 01.01.21 18:41, Arrigo Marchiori wrote:
> > Dear All,
> >
> > we recently fixed the "dmake clean" problem that deleted the whole
> > source tree, in certain condition, instead of the $INPATH directories
> > [1].
> >
> > Shall the command also delete the "$INPATH.pro" directories?  On my
> > system, they are:
> >
> > ./main/apache-commons/unxlngx6.pro
> > ./main/solenv/unxlngx6.pro
> > ./main/stlport/unxlngx6.pro
> > ./main/test/unxlngx6.pro
> > ./main/mythes/unxlngx6.pro
> > ./ext_libraries/apr/unxlngx6.pro
> > ./ext_libraries/coinmp/unxlngx6.pro
> > ./ext_libraries/gtest/unxlngx6.pro
> > ./ext_libraries/apr-util/unxlngx6.pro
> > ...and many more.
> >
> > If anyone can confirm this would be a desirable behavior, I can fix it
> > in the trunk branch. I am still struggling to understand the build
> > system.
>
> removing this bit is desirable. I do not want to claim I understand it, but
> I what happens is that each module (apache-commons, solenv, stport, ...)
> will be "independently" build in its folder. In the end there is a
> deliverabe step which copies everything into the final structure.
>
> The Idea behind this construct is to speed up development time. Lets say you
> want to work on one module. Then youcreate a complete build of OpenOffice.
>
> Afterwards you CD into your module you want to work on, chenge your stuff,
> and then simply rebuild only the module. However since the dependants may
> break
> the build is more a pragmatic approach to the long build times instead. Just
> think in the past they were even longer.
>
> Check incompatible and compatible builds on
> https://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO for more
> details.

Thank you very much for your detailed answer.  It helped me to
understand that "dmake clean" already deletes what it should, as I
confused the INPATH and OUTPATH variables (the formed ends in ".pro",
the latter not, but it is never used).

Sorry for the noise,
--
Arrigo

http://rigo.altervista.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Shall "dmake clean" also remove "$OUTPATH" directories?

Arrigo Marchiori
In reply to this post by Arrigo Marchiori
Hello All,

I could finally make sense of my own message from January 1st.

Please see below.

On Fri, Jan 01, 2021 at 06:41:33PM +0100, Arrigo Marchiori wrote:

> Dear All,
>
> we recently fixed the "dmake clean" problem that deleted the whole
> source tree, in certain condition, instead of the $INPATH directories
> [1].
>
> Shall the command also delete the "$INPATH.pro" directories?  On my
> system, they are:
>
[...]

dmake clean does already wipe the $INPATH directories away, and that
is right. On my system, $INPATH is "unxlngx6.pro"

The directories that are _not_ wiped away, and should be deleted as
well, are those named $OUTPATH, that is $INPATH without the ending
".pro".

The script solenv/bin/download_external_dependencies.pl that is called
by bootstrap, in function ProvideSpecialTarball searches for the epm
and dmake executables in $SOLARENV/$OUTPATH

This is enough IMHO to justify wiping $OUTPATH directories as well as
$INPATH directories.

I will open a PR and merge it after a few days if no one objects.

Best regards,
--
Arrigo

http://rigo.altervista.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Shall "dmake clean" also remove "$OUTPATH" directories?

Arrigo Marchiori
Hello All,

this is the last message to myself, I promise ;-)

On Wed, Jan 20, 2021 at 10:18:43PM +0100, Arrigo Marchiori wrote:

> Hello All,
>
> I could finally make sense of my own message from January 1st.
>
> Please see below.
>
> On Fri, Jan 01, 2021 at 06:41:33PM +0100, Arrigo Marchiori wrote:
>
> > Dear All,
> >
> > we recently fixed the "dmake clean" problem that deleted the whole
> > source tree, in certain condition, instead of the $INPATH directories
> > [1].
> >
> > Shall the command also delete the "$INPATH.pro" directories?  On my
> > system, they are:
> >
> [...]
>
> dmake clean does already wipe the $INPATH directories away, and that
> is right. On my system, $INPATH is "unxlngx6.pro"
>
> The directories that are _not_ wiped away, and should be deleted as
> well, are those named $OUTPATH, that is $INPATH without the ending
> ".pro".
>
> The script solenv/bin/download_external_dependencies.pl that is called
> by bootstrap, in function ProvideSpecialTarball searches for the epm
> and dmake executables in $SOLARENV/$OUTPATH
>
> This is enough IMHO to justify wiping $OUTPATH directories as well as
> $INPATH directories.
>
> I will open a PR and merge it after a few days if no one objects.
>
> Best regards,

I found the culprit.

The configure script sets $INPATH and $OUTPATH to the same value when
it receives the parameter "--enable-dbgutil". In such case, on my
system, everything goes into directory unxlngx6 instead of
unxlngx6.pro
(what actually happens, is that the variable $PROEXT is set to an
empty string)

For this reason, it makes perfectly sense to clean up both $INPATH and
$OUTPATH because it is possible that the current tree contains
leftover artifacts from a previous debug build.

I will now merge PR 119.

Best regards,
--
Arrigo

http://rigo.altervista.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Shall "dmake clean" also remove "$OUTPATH" directories?

Peter Kovacs-3

On 30.01.21 14:48, Arrigo Marchiori wrote:
>
> The configure script sets $INPATH and $OUTPATH to the same value when
> it receives the parameter "--enable-dbgutil". In such case, on my
> system, everything goes into directory unxlngx6 instead of
> unxlngx6.pro
Does this make sense? why would I want to write everything into a
different folder to a normal build?
--
This is the Way! http://www.apache.org/theapacheway/index.html

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Shall "dmake clean" also remove "$OUTPATH" directories?

Arrigo Marchiori
Hello Peter,

On Sat, Jan 30, 2021 at 03:46:19PM +0100, Peter Kovacs wrote:

> On 30.01.21 14:48, Arrigo Marchiori wrote:
> >
> > The configure script sets $INPATH and $OUTPATH to the same value when
> > it receives the parameter "--enable-dbgutil". In such case, on my
> > system, everything goes into directory unxlngx6 instead of
> > unxlngx6.pro
> Does this make sense? why would I want to write everything into a different
> folder to a normal build?

The only reason that comes into my mind at the moment, is that it
would allow developers to switch ``quickly'' between product- and
non-product-builds, if they are testing a new feature. They would not
have to rebuild everything when switching the type of build.

But it does not makes much sense to me and has rather been a source of
problems in my experience. That is why I applied the change to the
makefile.

Best regards,
--
Arrigo

http://rigo.altervista.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]