Attention is currently required from: lynxis lazus.

osmith has posted comments on this change by lynxis lazus. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39234?usp=email )

Change subject: RFC: add support to create a shallow copy
......................................................................


Patch Set 2:

(1 comment)

Patchset:

PS1:
Thanks for making this!

As I understand, the purpose is avoiding configure's error that one must run 
`make distclean` before being able to do an out-of-tree build with 
osmo-dev/testenv, if one ran `autoreconf -fi && ./configure` inside the source 
tree before (prepared an in-tree build)?

If that is the case, then this is something I'd like to avoid as well and it 
seems in any case that patch would allow this. If not, then please explain what 
your motivation for this is :)

> I think ttcn-hacks are still required to mount writeable, but we could also 
> use such shallow copy for it as well.

The source files from osmo-ttcn3-hacks [get copied to a cache directory with 
rsync](https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/commit/d05a3a0eab9cb7c8880cfff4cb8e26982d66c258/_testenv/testenv/testsuite.py#L32-L752)
 (without deleting existing target files, so it keeps already built binary 
objects, and with excluding the .git dir). This happens outside of podman, and 
then only the cache directory gets mounted when running podman. This is mostly 
a workaround because we can't do an out-of-tree build with the current 
osmo-ttcn3-hacks buildsystem (and if we did another in-tree build then we would 
have potentially incompatible binary objects from compiling in podman vs. 
outside of podman). But this also has the effect that the source directory is 
not touched at all, like a read-only option.

> Should I follow and add an argument for the main program? It would be also 
> possible to use this without podman, however i'm using it with podman.

I would prefer if we make this the default instead of opt-in (to avoid the 
"make distclean" error by default). But this also requires that it doesn't 
behave unexpected for users in other ways, some problems I currently see:

* This does not handle dirty trees (modified/added/removed files that are not 
committed). Maybe it would make sense to add similar rsync logic instead, so 
this is handled as well?
* I suggest we make it so that it runs on only exactly on the repositories we 
currently need for a build instead of all repositories. Also it shouldn't break 
when osmo-dev has just cloned a new repository because the user is building a 
project for which the git repos were not cloned yet. Therefore I think this 
logic needs to be moved to osmo-dev, as optional extra step before running 
`autoreconf -fi` / `configure` / compiling sources for each repository. testenv 
would then call osmo-dev with an argument to enable this feature.
* (I found the term shallow copy for this a bit confusing, as I understand it 
usually means using [git clone 
--depth=](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt-code--depthltdepthgtcode))

@[email protected]: so did I understand the motivation for this patch right and do 
you agree with my suggestion for moving this to osmo-dev etc.? If you prefer, I 
could also take this over.



-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/39234?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0f1ac8852218f158ece14c176f05574f60d9d1f7
Gerrit-Change-Number: 39234
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: osmith <[email protected]>
Gerrit-CC: pespin <[email protected]>
Gerrit-Attention: lynxis lazus <[email protected]>
Gerrit-Comment-Date: Tue, 14 Jan 2025 14:38:58 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: lynxis lazus <[email protected]>

Reply via email to