[PATCH 00/13] Replace mongoose with civetweb.
Amar Takhar
amar at rtems.org
Mon May 2 13:08:11 UTC 2016
On 2016-05-02 09:57 +0200, Christian Mauderer wrote:
>
> Just two thoughts on the tools. Both doesn't need instant answers.
> Please note that I don't intend to contradict the tools.
>
> I just took a quick glance on the linked pages but from that it seems
> that both tools are quite git-centered. Not everything we might want to
> pack is available in a maintained git repository. Some projects might
> use other version control systems (hg, svn, ...) or just use plain
> .tar.gz files with releases. How would we handle these?
The tools I pointed are focused on the RCS we use at RTEMS which is Git.
Upstream can be whatever is required. Git has support for both svn and CVS
naively which makes things easier. for a tar.gz we simply unpack it in the
vendor directory and add it while tracking any additions/removals.
We can choose to preserve any upstream commit logs if we want. This can be
useful for some projects in others it produces too much noise.
> If special tools are used: Are these tools only necessary if you want to
> change the sources or would you need them too to use the repository? In
> other words: Would every user have to install them or just someone who
> wants to supply patches to the repository?
They are only used for vendor imports. If you have project 'abc' that is
tracked locally then only when we import a new upstream 'abc' are the tools
required. Users will never need these only RTEMS developers.
> Like I already said in my other mail, it wasn't my intention to sabotage
> this work. I'm sorry if I gave that impression. I just didn't see
> another way how to move civetweb out of RTEMS and not loose the test
> without putting a lot of time into building a new structure.
No of course not it's fine. :) I was trying to say there are greater concerns
about the testsuite. I'm working on a full, ground up rewrite of the entire
test suite that will give us more indepth testing and tracking. For this to
work the entire testsuite needs to be in one place. If it is a test that is not
RTEMS centric then they should be upstreamed. We will be running upstream
testsuites for tools and libraries we use as well. It's a matter of the
appropriate place to put them.
> I'm not sure, if I understand you correctly here: On the one hand, we
> should keep all tests together. On the other hand we should keep the
> tests together with the tested code. And we are currently discussing how
> to split up some of the code. So wouldn't we have to split up the tests too?
The tested code in this case is 'RTEMS'. If this is a test that requires RTEMS
to run then it needs to be with RTEMS. If it is a test that is for the software
package only it must be upstreamed. If we run into the situation where upstream
tests do not exist or they do not accept ours then they should go in with the
RTEMS testsuite. The vast majority of tests are for RTEMS if we have a few that
are not strictly related it is not a big deal. The system will keep tabs on
them just the same.
> I would expect that the current discussion leads to the following structure:
> - one RTEMS core repository containing the tests that test the RTEMS
> core system
> - one RTEMS vendor repository containing vendor libs and apps like
> civetweb and tests for these apps
>
> Did I interpret that wrong?
This is exactly what I am suggesting we do. The testsuite will stay in the
RTEMS repository (rtems.git) then we create a separate repository and
consolidate *all* our externals. We will want to come up with a manageable
hierarchy to keep things organised. Eg:
rtems-vendor.git
network/stack1
network/stack2
network/stack3
lib/liba
lib/libb
lib/libc
daemon/server1
daemon/server2
daemon/server3
...
vendor/network/stack1
vendor/network/stack2
vendor/network/stack3
vendor/lib/liba
vendor/lib/libb
vendor/lib/libc
vendor/daemon/server1
vendor/daemon/server2
vendor/daemon/server3
We also have the option if we wish to have an rtems-vendor.git and
rtems-vendor-src.git. If we are afraid of bloat it is not a big deal to put the
/vendor/* directories in their own repository.
We should start a separate thread and list out what will be consolidated, the
layout frequency of release and do a rough calculation. It should be just fine
to keep it all together in one repo.
Amar.
More information about the devel
mailing list